LyoKCUNvcHlyaWdodCAoYykgMjAwNC0yMDA2LCBUaGUgRG9qbyBGb3VuZGF0aW9uCglBbGwgUmlnaHRzIFJlc2VydmVkLgoKCUxpY2Vuc2VkIHVuZGVyIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgdmVyc2lvbiAyLjEgb3IgYWJvdmUgT1IgdGhlCgltb2RpZmllZCBCU0QgbGljZW5zZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gRG9qbyBsaWNlbnNpbmcsIHNlZToKCgkJaHR0cDovL2Rvam90b29sa2l0Lm9yZy9jb21tdW5pdHkvbGljZW5zaW5nLnNodG1sCiovCgpkb2pvLnByb3ZpZGUoIm5scy5kb2pvX3poIik7ZG9qby5wcm92aWRlKCJkb2pvLmkxOG4uY2FsZW5kYXIubmxzLmdyZWdvcmlhbiIpO2Rvam8uaTE4bi5jYWxlbmRhci5ubHMuZ3JlZ29yaWFuLl9idWlsdD10cnVlO2Rvam8ucHJvdmlkZSgiZG9qby5pMThuLmNhbGVuZGFyLm5scy5ncmVnb3JpYW4uemgiKTtkb2pvLmkxOG4uY2FsZW5kYXIubmxzLmdyZWdvcmlhbi56aD17ImRheXMtc3RhbmRBbG9uZS1uYXJyb3ciOlsi5pelIiwi5LiAIiwi5LqMIiwi5LiJIiwi5ZubIiwi5LqUIiwi5YWtIl0sImVyYXMiOlsi5YWs5YWD5Yk/Iiwi5YWs5YWDIl0sImFtIjoi5LiK5T+IIiwibW9udGhzLWZvcm1hdC1hYmJyIjpbIuS4gOaciCIsIuS6jOaciCIsIuS4ieaciCIsIuWbm+aciCIsIuS6lOaciCIsIuWFreaciCIsIuS4g+aciCIsIuWFq+aciCIsIuS5P+aciCIsIuU/P+aciCIsIuU/P+S4gOaciCIsIuU/P+S6jOaciCJdLCJkYXlzLWZvcm1hdC1hYmJyIjpbIuWRqOaXpSIsIuWRqOS4gCIsIuWRqOS6jCIsIuWRqOS4iSIsIuWRqOWbmyIsIuWRqOS6lCIsIuWRqOWFrSJdLCJwbSI6IuS4i+U/iCIsIm1vbnRocy1mb3JtYXQtd2lkZSI6WyLkuIDmnIgiLCLkuozmnIgiLCLkuInmnIgiLCLlm5vmnIgiLCLkupTmnIgiLCLlha3mnIgiLCLkuIPmnIgiLCLlhavmnIgiLCLkuT/mnIgiLCLlPz/mnIgiLCLlPz/kuIDmnIgiLCLlPz/kuozmnIgiXSwibW9udGhzLXN0YW5kQWxvbmUtbmFycm93IjpbIjHmnIgiLCIy5pyIIiwiM+aciCIsIjTmnIgiLCI15pyIIiwiNuaciCIsIjfmnIgiLCI45pyIIiwiOeaciCIsIjEw5pyIIiwiMTHmnIgiLCIxMuaciCJdLCJkYXlzLWZvcm1hdC13aWRlIjpbIuaYn+acn+aXpSIsIuaYn+acn+S4gCIsIuaYn+acn+S6jCIsIuaYn+acn+S4iSIsIuaYn+acn+WbmyIsIuaYn+acn+S6lCIsIuaYn+acn+WFrSJdLCJmaWVsZC13ZWVrZGF5IjoiRGF5IG9mIHRoZSBXZWVrIiwiZGF0ZUZvcm1hdC1tZWRpdW0iOiJ5eXl5IE1NTSBkIiwiZmllbGQtc2Vjb25kIjoiU2Vjb25kIiwiZmllbGQtd2VlayI6IldlZWsiLCJ0aW1lRm9ybWF0LWZ1bGwiOiJISDptbTpzcyB6IiwiZmllbGQteWVhciI6IlllYXIiLCJmaWVsZC1taW51dGUiOiJNaW51dGUiLCJ0aW1lRm9ybWF0LW1lZGl1bSI6IkhIOm1tOnNzIiwiZmllbGQtaG91ciI6IkhvdXIiLCJkYXRlRm9ybWF0LWxvbmciOiJ5eXl5IE1NTU0gZCIsImZpZWxkLWRheSI6IkRheSIsImZpZWxkLWRheXBlcmlvZCI6IkRheXBlcmlvZCIsImZpZWxkLW1vbnRoIjoiTW9udGgiLCJkYXRlRm9ybWF0LXNob3J0IjoieXkvTU0vZGQiLCJmaWVsZC1lcmEiOiJFcmEiLCJ0aW1lRm9ybWF0LXNob3J0IjoiSEg6bW0iLCJ0aW1lRm9ybWF0LWxvbmciOiJISDptbTpzcyB6IiwiZGF0ZUZvcm1hdC1mdWxsIjoiRUVFRSwgeXl5eSBNTU1NIGRkIiwiZmllbGQtem9uZSI6IlpvbmUifTtkb2pvLnByb3ZpZGUoImRvam8uaTE4bi5jYWxlbmRhci5ubHMuZ3JlZ29yaWFuRXh0cmFzIik7ZG9qby5pMThuLmNhbGVuZGFyLm5scy5ncmVnb3JpYW5FeHRyYXMuX2J1aWx0PXRydWU7ZG9qby5wcm92aWRlKCJkb2pvLmkxOG4uY2FsZW5kYXIubmxzLmdyZWdvcmlhbkV4dHJhcy56aCIpO2Rvam8uaTE4bi5jYWxlbmRhci5ubHMuZ3JlZ29yaWFuRXh0cmFzLnpoPXsiZGF0ZUZvcm1hdC15ZWFyT25seSI6Inl5eXkn5bm0JyJ9O2Rvam8ucHJvdmlkZSgiZG9qby5pMThuLmNhbGVuZGFyLm5scy5ncmVnb3JpYW4iKTtkb2pvLmkxOG4uY2FsZW5kYXIubmxzLmdyZWdvcmlhbi5fYnVpbHQ9dHJ1ZTtkb2pvLnByb3ZpZGUoImRvam8uaTE4bi5jYWxlbmRhci5ubHMuZ3JlZ29yaWFuLnpoIik7ZG9qby5pMThuLmNhbGVuZGFyLm5scy5ncmVnb3JpYW4uemg9eyJkYXlzLXN0YW5kQWxvbmUtbmFycm93IjpbIuaXpSIsIuS4gCIsIuS6jCIsIuS4iSIsIuWbmyIsIuS6lCIsIuWFrSJdLCJlcmFzIjpbIuWFrOWFg+WJPyIsIuWFrOWFgyJdLCJhbSI6IuS4iuU/iCIsIm1vbnRocy1mb3JtYXQtYWJiciI6WyLkuIDmnIgiLCLkuozmnIgiLCLkuInmnIgiLCLlm5vmnIgiLCLkupTmnIgiLCLlha3mnIgiLCLkuIPmnIgiLCLlhavmnIgiLCLkuT/mnIgiLCLlPz/mnIgiLCLlPz/kuIDmnIgiLCLlPz/kuozmnIgiXSwiZGF5cy1mb3JtYXQtYWJiciI6WyLlkajml6UiLCLlkajkuIAiLCLlkajkuowiLCLlkajkuIkiLCLlkajlm5siLCLlkajkupQiLCLlkajlha0iXSwicG0iOiLkuIvlP4giLCJtb250aHMtZm9ybWF0LXdpZGUiOlsi5LiA5pyIIiwi5LqM5pyIIiwi5LiJ5pyIIiwi5Zub5pyIIiwi5LqU5pyIIiwi5YWt5pyIIiwi5LiD5pyIIiwi5YWr5pyIIiwi5Lk/5pyIIiwi5T8/5pyIIiwi5T8/5LiA5pyIIiwi5T8/5LqM5pyIIl0sIm1vbnRocy1zdGFuZEFsb25lLW5hcnJvdyI6WyIx5pyIIiwiMuaciCIsIjPmnIgiLCI05pyIIiwiNeaciCIsIjbmnIgiLCI35pyIIiwiOOaciCIsIjnmnIgiLCIxMOaciCIsIjEx5pyIIiwiMTLmnIgiXSwiZGF5cy1mb3JtYXQtd2lkZSI6WyLmmJ/mnJ/ml6UiLCLmmJ/mnJ/kuIAiLCLmmJ/mnJ/kuowiLCLmmJ/mnJ/kuIkiLCLmmJ/mnJ/lm5siLCLmmJ/mnJ/kupQiLCLmmJ/mnJ/lha0iXSwiZmllbGQtd2Vla2RheSI6IkRheSBvZiB0aGUgV2VlayIsImRhdGVGb3JtYXQtbWVkaXVtIjoieXl5eSBNTU0gZCIsImZpZWxkLXNlY29uZCI6IlNlY29uZCIsImZpZWxkLXdlZWsiOiJXZWVrIiwidGltZUZvcm1hdC1mdWxsIjoiSEg6bW06c3MgeiIsImZpZWxkLXllYXIiOiJZZWFyIiwiZmllbGQtbWludXRlIjoiTWludXRlIiwidGltZUZvcm1hdC1tZWRpdW0iOiJISDptbTpzcyIsImZpZWxkLWhvdXIiOiJIb3VyIiwiZGF0ZUZvcm1hdC1sb25nIjoieXl5eSBNTU1NIGQiLCJmaWVsZC1kYXkiOiJEYXkiLCJmaWVsZC1kYXlwZXJpb2QiOiJEYXlwZXJpb2QiLCJmaWVsZC1tb250aCI6Ik1vbnRoIiwiZGF0ZUZvcm1hdC1zaG9ydCI6Inl5L01NL2RkIiwiZmllbGQtZXJhIjoiRXJhIiwidGltZUZvcm1hdC1zaG9ydCI6IkhIOm1tIiwidGltZUZvcm1hdC1sb25nIjoiSEg6bW06c3MgeiIsImRhdGVGb3JtYXQtZnVsbCI6IkVFRUUsIHl5eXkgTU1NTSBkZCIsImZpZWxkLXpvbmUiOiJab25lIn07ZG9qby5wcm92aWRlKCJkb2pvLndpZGdldC5ubHMuVGltZVBpY2tlciIpO2Rvam8ud2lkZ2V0Lm5scy5UaW1lUGlja2VyLl9idWlsdD10cnVlO2Rvam8ucHJvdmlkZSgiZG9qby53aWRnZXQubmxzLlRpbWVQaWNrZXIuemgiKTtkb2pvLndpZGdldC5ubHMuVGltZVBpY2tlci56aD17ImFueSI6ImFueSJ9O2Rvam8ucHJvdmlkZSgiZG9qby53aWRnZXQubmxzLkRyb3Bkb3duVGltZVBpY2tlciIpO2Rvam8ud2lkZ2V0Lm5scy5Ecm9wZG93blRpbWVQaWNrZXIuX2J1aWx0PXRydWU7ZG9qby5wcm92aWRlKCJkb2pvLndpZGdldC5ubHMuRHJvcGRvd25UaW1lUGlja2VyLnpoIik7ZG9qby53aWRnZXQubmxzLkRyb3Bkb3duVGltZVBpY2tlci56aD17InNlbGVjdFRpbWUiOiJTZWxlY3QgdGltZSJ9O2Rvam8ucHJvdmlkZSgiZG9qby53aWRnZXQubmxzLkRyb3Bkb3duRGF0ZVBpY2tlciIpO2Rvam8ud2lkZ2V0Lm5scy5Ecm9wZG93bkRhdGVQaWNrZXIuX2J1aWx0PXRydWU7ZG9qby5wcm92aWRlKCJkb2pvLndpZGdldC5ubHMuRHJvcGRvd25EYXRlUGlja2VyLnpoIik7ZG9qby53aWRnZXQubmxzLkRyb3Bkb3duRGF0ZVBpY2tlci56aD17InNlbGVjdERhdGUiOiJTZWxlY3QgYSBkYXRlIn07