tango-app-ui-ticket-user 3.0.24-dev → 3.0.26-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -302,7 +302,7 @@ export class TicketsComponent {
302
302
  if (this.ticketInfo?.ticketDetails.issueStatus === 'notidentified' && data.length == 0 || this.ticketInfo?.ticketDetails.ticketType == 'refreshticket' && this.ticketInfo?.ticketDetails?.refreshTicketStatus === 'notidentified' && data.length == 0) {
303
303
  return this.toastService.getErrorToast("Please Select Issues");
304
304
  }
305
- else if (this.ticketInfo?.ticketDetails.issueStatus === 'identified' && this.comments == '' || this.ticketInfo?.ticketDetails.ticketType == 'refreshticket' && this.ticketInfo?.ticketDetails?.refreshTicketStatus === 'identified' && this.comments == 0) {
305
+ else if (this.ticketInfo?.ticketDetails.issueStatus === 'identified' && this.comments == '' || this.ticketInfo?.ticketDetails.ticketType == 'refreshticket' && this.ticketInfo?.ticketDetails?.refreshTicketStatus === 'identified' && this.comments == "") {
306
306
  return this.toastService.getErrorToast("Please Enter Comments");
307
307
  }
308
308
  }
@@ -507,4 +507,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
507
507
  type: HostListener,
508
508
  args: ['document:click', ['$event']]
509
509
  }] } });
510
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvdGlja2V0cy90aWNrZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90aWNrZXRzL3RpY2tldHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU96RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBc0RQO0lBQWdDO0lBQzFDO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUExRFQsV0FBVyxHQUFRLFFBQVEsQ0FBQztJQUM1QixhQUFhLEdBQVEsaUJBQWlCLENBQUM7SUFDdkMsZUFBZSxDQUFNO0lBQ3JCLFdBQVcsQ0FBTTtJQUNqQixRQUFRLEdBQVEsRUFBRSxDQUFDO0lBQ25CLGFBQWEsQ0FBTTtJQUNuQixhQUFhLEdBQVUsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZGLFdBQVcsR0FBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUE7SUFDdkgsV0FBVyxHQUFZLEtBQUssQ0FB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U0FDN0I7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzt1R0FsZ0JVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLDRUQ2pCN0IsOG5yREFnbUJNOzsyRkQva0JPLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO3dQQXNDQyxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ08sY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBK0IzQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsUmVmLCBOZ2JBY3RpdmVNb2RhbCwgTmdiVG9vbHRpcCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQ29udGFjdERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRha2VyZW1vdGVDb21wb25lbnQgfSBmcm9tICcuLi90YWtlcmVtb3RlL3Rha2VyZW1vdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGlja2V0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpY2tldHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90aWNrZXRzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBTZWxlY3RlZFRhYjogYW55ID0gJ3RpY2tldCc7XHJcbiAgc2VsZWN0ZWRJc3N1ZTogYW55ID0gJ0ludGVybmV0IElzc3Vlcyc7XHJcbiAgc2Vjb25kYXJ5SXNzdWVzOiBhbnk7XHJcbiAgaXNzdWVTdGF0dXM6IGFueTtcclxuICBjb21tZW50czogYW55ID0gJyc7XHJcbiAgcHJpbWFyeUlzc3VlczogYW55O1xyXG4gIGRyb3Bkb3duSXRlbXM6IGFueVtdID0gWydJbnRlcm5ldCBJc3N1ZXMnLCAnQ2FtZXJhIElzc3VlcycsICdTeXN0ZW0gSXNzdWVzJywgJ090aGVycyddO1xyXG4gIG90aGVyc0lzc3VlOiBhbnlbXSA9IFt7IG5hbWU6ICdQb3dlciBTaHV0ZG93bicgfSwgeyBuYW1lOiAnU3RvcmUgVGVtcG9yYXJpbHkgQ2xvc2VkJyB9LCB7IG5hbWU6ICdBcHBsaWNhdGlvbiBJc3N1ZXMnIH1dXHJcbiAgY2FtZXJhSXNzdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW1lcmFTZWxlY3RXb3JrOiBib29sZWFuID0gdHJ1ZTtcclxuICBzaG93U3VibWl0OiBib29sZWFuID0gdHJ1ZTtcclxuICBjYW1lcmFTZWxlY3Q6IGFueTtcclxuICBzdGF0ZTogYW55O1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlucHV0SGliZXJuYXRpb246IGFueSA9ICcwMCc7XHJcbiAgY291bnQ6IGFueSA9IDA7XHJcbiAgaXNDaGVja2VkOiBib29sZWFuW10gPSBbXTtcclxuICByZXNvbHZlZElzc3VlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZHJvcERvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICB0aWNrZXRJZDogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJbmZvOiBhbnk7XHJcbiAgYWN0aXZlVGlja2V0RGV0YWlsczogYW55O1xyXG4gIHN0b3JlQWRkcmVzczogYW55O1xyXG4gIHJlcGx5T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlcGxpZWRJc3N1ZTogYW55O1xyXG4gIHZpZXdUaWNrZXREYXRhOiBhbnk7XHJcbiAgY3VycmVudFRpbWU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIHRhcmdldFRpbWU6IERhdGVcclxuICBzZWxlY3RlZEZpbGVzOiBhbnkgPSBbXTtcclxuICBicmFuZExvZ286IHN0cmluZyB8IEFycmF5QnVmZmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbGFzdE1vZGlmaWVkRGF0ZVN0cmluZzogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IGFueTtcclxuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGVudCcpIHRvb2x0aXBDb250ZW50ITogTmdiVG9vbHRpcDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICAvLyBoZWFkZXJGaWx0ZXI6IGFueTtcclxuICB1c2VyOiBhbnk7XHJcbiAgdXBkYXRlZERhdGU6IERhdGU7XHJcbiAgaXNHcmVhdGVyVGhhbjVfMzBIb3VyczogYm9vbGVhbjtcclxuICBzdG9yZUlkOiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0b3JlRHJvcERvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZE9wdGlvbjogYW55O1xyXG4gIEhpYmVybmF0aW9uOiBhbnk7XHJcbiAgY2xpZW50SWQ6IGFueTtcclxuICBzaG93Y2FtSXNzdWU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGNhbWVyYUxpc3RJbWFnZXM6IGFueSA9IFtdO1xyXG4gIGZpbmFsQ2FtTGlzdDogYW55ID0gW107XHJcbiAgc3RvcmVOYW1lOiBhbnk7XHJcbiAgbm90d29ya2luZ0NhbWFyYWxpc3Q6IGFueSA9IFtdO1xyXG4gIHVzZXJUeXBlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgSW5mcmFJc3N1ZTogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc2VydmljZTogVGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnRpY2tldElkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3RpY2tldElkJyk7XHJcbiAgICB0aGlzLnN0b3JlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnc3RvcmVJZCcpO1xyXG4gICAgdGhpcy52aWV3VGlja2V0KGZhbHNlKVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0XHJcbiAgICAgIHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wRG93bicpKSB7XHJcbiAgICAgIHRoaXMuZHJvcERvd24gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5zdG9yZURyb3BEb3duJykpIHtcclxuICAgICAgdGhpcy5zdG9yZURyb3BEb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8IFwiXCIpXHJcbiAgICB0aGlzLnVzZXJUeXBlID0gdGhpcy51c2VyLnVzZXJUeXBlXHJcbiAgICB0aGlzLmFjdGl2ZVRpY2tldCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICB2aWV3VGlja2V0KHR5cGU6IGJvb2xlYW4pIHtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHRpY2tldElkOiB0aGlzLnRpY2tldElkXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLnZpZXdUaWNrZXQocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy50aWNrZXRJbmZvID0gcmVzPy5kYXRhXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRpY2tldEluZm8gPSByZXM/LmRhdGFcclxuICAgICAgICAgICAgdGhpcy5JbmZyYUlzc3VlID0gdGhpcy50aWNrZXRJbmZvPy50aWNrZXRBY3Rpdml0eS5maWx0ZXIoKGVsOiBhbnkpID0+IGVsPy5hY3Rpb25UeXBlID09ICdpc3N1ZVVwZGF0ZScpWzBdPy5yZWFzb25zWzBdPy5wcmltYXJ5SXNzdWU7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHM/Lmlzc3VlU3RhdHVzID09ICdub3RpZGVudGlmaWVkJyAmJiB0aGlzLnRpY2tldEluZm8uc3RhdHVzICE9PSAnY2xvc2VkJyB8fCB0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZSA9PSAncmVmcmVzaHRpY2tldCcgJiYgdGhpcy50aWNrZXRJbmZvLnN0YXR1cyAhPT0gJ2Nsb3NlZCcpIHtcclxuICAgICAgICAgICAgICB0aGlzLnByaW1hcnlSZWFzb24oKTtcclxuICAgICAgICAgICAgICB0aGlzLnNlY29uZGFyeVJlYXNvbih0aGlzLnNlbGVjdGVkSXNzdWUpO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZSA9PSAncmVmcmVzaHRpY2tldCcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlld1RpY2tldERhdGEgPSByZXMuZGF0YS50aWNrZXRBY3Rpdml0eS5zbGljZSgpLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LmNhbWVyYUxpc3Q/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgbGV0IG5vdHdvcmtpbmdDYW1lcmEgPSB0aGlzLnRpY2tldEluZm8uY2FtZXJhTGlzdC5maWx0ZXIoKGU6IGFueSkgPT4gZS5zdGF0dXMgIT0gXCJ3b3JraW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgICBpZiAobm90d29ya2luZ0NhbWVyYS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDYW1lcmFMaXN0KG5vdHdvcmtpbmdDYW1lcmEpXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMudmlld1RpY2tldERhdGEuZm9yRWFjaCgoZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGUudGltZVN0YW1wID0gdGhpcy5nZXRSZWxhdGl2ZVRpbWUoZS50aW1lU3RhbXApO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdUaWNrZXREYXRhID0gdGhpcy52aWV3VGlja2V0RGF0YS5maWx0ZXIoKGU6IGFueSkgPT4gZS5hY3Rpb25UeXBlICE9IFwic3RhdHVzQ2hlY2tcIik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMudmlld1RpY2tldERhdGEgPSByZXMuZGF0YS50aWNrZXRBY3Rpdml0eS5zbGljZSgpLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICB0aGlzLnZpZXdUaWNrZXREYXRhLmZvckVhY2goKGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZS50aW1lU3RhbXAgPSB0aGlzLmdldFJlbGF0aXZlVGltZShlLnRpbWVTdGFtcCk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy52aWV3VGlja2V0RGF0YSA9IHRoaXMudmlld1RpY2tldERhdGEuZmlsdGVyKChlOiBhbnkpID0+IGUuYWN0aW9uVHlwZSAhPSBcInN0YXR1c0NoZWNrXCIpO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LmNhbWVyYUxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IG5vdHdvcmtpbmdDYW1lcmEgPSB0aGlzLnRpY2tldEluZm8uY2FtZXJhTGlzdC5maWx0ZXIoKGU6IGFueSkgPT4gZS5zdGF0dXMgIT0gXCJ3b3JraW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vdHdvcmtpbmdDYW1lcmEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldENhbWVyYUxpc3Qobm90d29ya2luZ0NhbWVyYSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHJlcz8uZGF0YT8uc3RhdHVzID09ICdvcGVuJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzVXBkYXRlKClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG5cclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRDYW1lcmFMaXN0KG5vdHdvcmtpbmdDYW1lcmE6IGFueSkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgY2FtZXJhOiBub3R3b3JraW5nQ2FtZXJhXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0Q2FtZXJhTGlzdChwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5ub3R3b3JraW5nQ2FtYXJhbGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBjYW1lcmFTZWxlY3Rpb24oaW5kZXg6IGFueSwgdHlwZTogYW55KSB7XHJcbiAgICB0aGlzLmNhbWVyYUxpc3RJbWFnZXMubWFwKCh2YWx1ZTogYW55LCBpbmQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoaW5kID09PSBpbmRleCkge1xyXG4gICAgICAgIHZhbHVlLmNhbWVyYU51bWJlciA9IHR5cGVcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgdXBkYXRlQ2FtU3RhdHVzKCkge1xyXG4gICAgdGhpcy5zaG93Y2FtSXNzdWUgPSB0cnVlXHJcbiAgICB0aGlzLmZpbmFsQ2FtTGlzdCA9IFtdXHJcbiAgICB0aGlzLmNhbWVyYUxpc3RJbWFnZXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuZmluYWxDYW1MaXN0LnB1c2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgQ2FtaWQ6IGVsZW1lbnQuX2lkLFxyXG4gICAgICAgICAgQ2FtTmFtZTogZWxlbWVudC5jYW1lcmFOYW1lLFxyXG4gICAgICAgICAgc3RhdHVzOiBlbGVtZW50LmNhbWVyYU51bWJlcixcclxuICAgICAgICAgIHRodW1uYWlsSW1hZ2U6IFwiXCJcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG4gIGdldFJlbGF0aXZlVGltZSh0aW1lc3RhbXA6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSBjdXJyZW50RGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWUoKTtcclxuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2UgLyAxMDAwKTtcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XHJcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKTtcclxuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xyXG5cclxuICAgIGlmIChkYXlzID4gMCkge1xyXG4gICAgICByZXR1cm4gZGF5cyA9PT0gMSA/ICcxIGRheSBhZ28nIDogYCR7ZGF5c30gZGF5cyBhZ29gO1xyXG4gICAgfSBlbHNlIGlmIChob3VycyA+IDApIHtcclxuICAgICAgcmV0dXJuIGhvdXJzID09PSAxID8gJzEgaG91ciBhZ28nIDogYCR7aG91cnN9IGhvdXJzIGFnb2A7XHJcbiAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPiAwKSB7XHJcbiAgICAgIHJldHVybiBtaW51dGVzID09PSAxID8gJzEgbWludXRlIGFnbycgOiBgJHttaW51dGVzfSBtaW51dGVzIGFnb2A7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ0p1c3Qgbm93JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2ZVRpY2tldCgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlci5faWQsXHJcbiAgICAgIGlzc3VlVHlwZTogXCJpbmZyYVwiLFxyXG4gICAgICAvLyBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgLy8gdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5hY3RpdmVUaWNrZXQoZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVGlja2V0RGV0YWlscyA9IHJlcz8uZGF0YTtcclxuICAgICAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IHRoaXMuYWN0aXZlVGlja2V0RGV0YWlscz8uZGF0YT8uZmlsdGVyKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLnN0b3JlSWQgPT09IHRoaXMuc3RvcmVJZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IHRoaXMuc3RvcmVBZGRyZXNzWzBdO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG5cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRzdG9yZUFkZHJlc3MoZGV0YWlsczogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IGRldGFpbHNcclxuICAgIHRoaXMuc3RvcmVOYW1lID0gdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVOYW1lO1xyXG4gICAgdGhpcy5zdG9yZUlkID0gdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVJZFxyXG4gICAgdGhpcy5jbGllbnRJZCA9IHRoaXMuc3RvcmVBZGRyZXNzLmNsaWVudElkXHJcbiAgICB0aGlzLnN0b3JlRHJvcERvd24gPSBmYWxzZTtcclxuICAgIHRoaXMudGlja2V0SWQgPSBkZXRhaWxzLnRpY2tldElkXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGB0aWNrZXRzL3VzZXJzL3RpY2tldGluZm8vJHtkZXRhaWxzLnRpY2tldElkfS8ke2RldGFpbHMuc3RvcmVJZH1gKVxyXG4gICAgLy8gdGhpcy5hY3RpdmVUaWNrZXQoKTtcclxuICAgIHRoaXMudmlld1RpY2tldChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBQcmV2Um91dGUoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvdGlja2V0cy91c2Vycz90eXBlPWluZnJhJylcclxuICB9XHJcblxyXG4gIHByaW1hcnlSZWFzb24oKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBcIm5hbWVcIjogdGhpcy5zZWxlY3RlZElzc3VlLFxyXG4gICAgICBcIm9yZGVyXCI6IDJcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5wcmltYXJ5UmVhc29uKHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnByaW1hcnlJc3N1ZXMgPSByZXM7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZWNvbmRhcnlSZWFzb24odmFsdWU6IGFueSkge1xyXG4gICAgaWYodmFsdWUpe1xyXG4gICAgICBsZXQgcGFyYW1zID0geyBcInByaW1hcnlJc3N1ZVwiOiB2YWx1ZSB9XHJcbiAgICAgIHRoaXMuc2VydmljZS5zZWNvbmRhcnlSZWFzb24ocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kYXJ5SXNzdWVzID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcihlcnIpIHtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgIH1cclxuICAgXHJcbiAgfVxyXG5cclxuICB1cGRhdGVUaWNrZXQoKSB7XHJcbiAgICBsZXQgZGF0YSA9IFtdXHJcbiAgICBpZiAodGhpcy5zZWNvbmRhcnlJc3N1ZXMgJiYgdGhpcy5zZWNvbmRhcnlJc3N1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZElzc3VlID09ICdPdGhlcnMnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb24gPT09ICdBcHBsaWNhdGlvbiBJc3N1ZXMnKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSAnQXBwbGljYXRpb24gSXNzdWVzJztcclxuICAgICAgICAgIGRhdGEgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gJ1N0b3JlIE9wZXJhdGlvbiBJc3N1ZXMnO1xyXG4gICAgICAgICAgZGF0YSA9IFt0aGlzLnNlbGVjdGVkT3B0aW9uXVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBkYXRhID0gdGhpcy5vdGhlcnNJc3N1ZS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS5jaGVja2VkKS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhID0gdGhpcy5zZWNvbmRhcnlJc3N1ZXMuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0uY2hlY2tlZCkubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uICE9ICdBcHBsaWNhdGlvbiBJc3N1ZXMnKSB7XHJcbiAgICBpZiAodGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzLmlzc3VlU3RhdHVzID09PSAnbm90aWRlbnRpZmllZCcgJiYgZGF0YS5sZW5ndGggPT0gMCB8fCB0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZT09J3JlZnJlc2h0aWNrZXQnJiZ0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHM/LnJlZnJlc2hUaWNrZXRTdGF0dXMgPT09ICdub3RpZGVudGlmaWVkJyAmJiBkYXRhLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiUGxlYXNlIFNlbGVjdCBJc3N1ZXNcIilcclxuICAgIH0gZWxzZSBpZiAodGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzLmlzc3VlU3RhdHVzID09PSAnaWRlbnRpZmllZCcgJiYgdGhpcy5jb21tZW50cyA9PSAnJyB8fCB0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZT09J3JlZnJlc2h0aWNrZXQnJiZ0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHM/LnJlZnJlc2hUaWNrZXRTdGF0dXMgPT09ICdpZGVudGlmaWVkJyAmJiB0aGlzLmNvbW1lbnRzID09IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoXCJQbGVhc2UgRW50ZXIgQ29tbWVudHNcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gICAgbGV0IHRpY2tldERldGFpbHMgPSB7XHJcbiAgICAgIFwidGlja2V0SWRcIjogdGhpcy50aWNrZXRJZCxcclxuICAgICAgXCJwcmltYXJ5XCI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgICAgXCJzZWNvbmRhcnlcIjogZGF0YSxcclxuICAgICAgXCJjb21tZW50XCI6IHRoaXMuY29tbWVudHMsXHJcbiAgICAgICdoaWJlcm5hdGlvbkRheXMnOnRoaXMuY291bnQsXHJcbiAgICAgICdjYW1lcmFMaXN0JzogdGhpcy5maW5hbENhbUxpc3QubGVuZ3RoID4gMCA/IHRoaXMuZmluYWxDYW1MaXN0IDogW11cclxuICAgIH1cclxuIFxyXG4gICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZVRpY2tldCh0aWNrZXREZXRhaWxzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuY29tbWVudHMgPSAnJ1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gJydcclxuICAgICAgICAgIHRoaXMuc2Vjb25kYXJ5SXNzdWVzPVtdXHJcbiAgICAgICAgICAvLyB0aGlzLnN0YXRlLmlzc3VlU3RhdHVzID0gdGhpcy5zZWxlY3RlZElzc3VlO1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0KGZhbHNlKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KGVyci5FcnJvcilcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBzdGF0dXNVcGRhdGUoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgXCJ0aWNrZXRJZFwiOiB0aGlzLnRpY2tldElkLFxyXG4gICAgICBcInN0YXR1c1wiOiBcImlucHJvZ3Jlc3NcIlxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLnN0YXR1c1VwZGF0ZShkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2cocmVzKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYWRkQ29tbWVudCgpIHtcclxuICAgIHRoaXMuY29tbWVudHMgPSB0aGlzLmNvbW1lbnRzXHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2hvd1N1Ym1pdCA9IHRydWVcclxuICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZWNvbmRhcnlSZWFzb24odGhpcy5zZWxlY3RlZElzc3VlKVxyXG5cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkSXNzdWUgPT0gJ0NhbWVyYSBJc3N1ZXMnKSB7XHJcbiAgICAgIHRoaXMuY2FtZXJhTGlzdCh0aGlzLnN0b3JlSWQpXHJcbiAgICB9XHJcbiAgICB0aGlzLmRyb3BEb3duID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNhbWVyYUxpc3Qoc3RvcmVJZDogYW55KSB7XHJcbiAgICAvLyBzdG9yZUlkID0gXCIyMDEtMTI5XCJcclxuICAgIHRoaXMuc2VydmljZS5jYW1lcmFMaXN0KHN0b3JlSWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5jYW1lcmFMaXN0SW1hZ2VzID0gcmVzPy5kYXRhXHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgICAgaWYgKHRoaXMuY2FtZXJhTGlzdEltYWdlcyA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd2NhbUlzc3VlID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNob3djYW1Jc3N1ZSA9IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlKCkge1xyXG5cclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIG9wZW5SZW1vdGUoKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGFrZXJlbW90ZUNvbXBvbmVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgc2Nyb2xsYWJsZTogdHJ1ZSwgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZURldGFpbHMgPSB7XHJcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZUFkZHJlc3M/LnN0b3JlTmFtZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuc3RvcmVBZGRyZXNzLmNsaWVudElkLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlQWRkcmVzcz8uc3RvcmVJZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FtZXJhU2VsZWN0ZWQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jYW1lcmFTZWxlY3QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByb2NlZGRJbWFnZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTdWJtaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5jYW1lcmFJc3N1ZSA9IHRydWU7XHJcbiAgICB0aGlzLmNhbWVyYVNlbGVjdFdvcmsgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIFNlbGVjdGVkVGFicyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLlNlbGVjdGVkVGFiID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDaGVja2JveChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlY29uZGFyeUlzc3Vlc1tpbmRleF0uY2hlY2tlZCA9ICF0aGlzLnNlY29uZGFyeUlzc3Vlc1tpbmRleF0uY2hlY2tlZDtcclxuICB9XHJcbiAgdG9nZ2xlUmFkaW9ib3gob3RoZXJzOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvdGhlcnMubmFtZTtcclxuICB9XHJcbiAgZGVjcmVzZUNvdW50KCk6IGFueSB7XHJcbiAgICB0aGlzLmNvdW50IC09IDE7XHJcbiAgfVxyXG5cclxuICBpbmNyZWFzZUNvdW50KCk6IGFueSB7XHJcbiAgICB0aGlzLmNvdW50ICs9IDE7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29udGFjdCgpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDb250YWN0RGV0YWlsc0NvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudmFsdWUgPSB7XHJcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVOYW1lLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlQWRkcmVzcy5zdG9yZUlkLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5zdG9yZUFkZHJlc3MuY2xpZW50SWRcclxuICAgIH0sXHJcblxyXG4gICAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICB9KVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5kcm9wRG93biA9ICF0aGlzLmRyb3BEb3duO1xyXG4gIH1cclxuICBzdG9yZUNoYW5nZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnN0b3JlRHJvcERvd24gPSAhdGhpcy5zdG9yZURyb3BEb3duO1xyXG5cclxuICB9XHJcbiAgb3BlbkZpbGVJbnB1dCgpIHtcclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcbiAgZG93bmxvYWRpbWFnZSh1cmw6IGFueSkge1xyXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGEuaHJlZiA9IHVybDtcclxuICAgIGEuZG93bmxvYWQgPSB1cmw7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG4gIH1cclxuICBvbkZpbGVTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGxldCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzW2ldO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaW1nJywgZmlsZSk7XHJcbiAgICAgICAgaWYgKCFmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ09ubHkgaW1hZ2UgZmlsZXMgYXJlIGFsbG93ZWQhJztcclxuICAgICAgICAgIHJldHVybjsgLy8gU3RvcCBmdXJ0aGVyIHByb2Nlc3NpbmdcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcy5wdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICAgICAgICB1cmw6IGUudGFyZ2V0LnJlc3VsdCxcclxuICAgICAgICAgICAgbGFzdE1vZGlmaWVkRGF0ZVN0cmluZzogbmV3IERhdGUoZmlsZS5sYXN0TW9kaWZpZWQpLnRvTG9jYWxlU3RyaW5nKClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlcnZpY2UudXBsb2FkQXR0YWNobWVudHModGhpcy50aWNrZXRJZCwgZm9ybURhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnZpZXdUaWNrZXQodHJ1ZSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuXHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlVG9vbHRpcCgpIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBDb250ZW50KSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbnRlbnQuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dUb29sdGlwKCkge1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcENvbnRlbnQpIHtcclxuICAgICAgdGhpcy50b29sdGlwQ29udGVudC5vcGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWItNSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1jb250ZW50IGJnLXdoaXRlIHB4LTMgcHktMiBtZS0zIGN1cnNvci1wb2ludGVyXCIgc3R5bGU9XCJ3aWR0aDogZml0LWNvbnRlbnQ7XCIgKGNsaWNrKT1cIlByZXZSb3V0ZSgpXCI+IDxzdmdcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuODMyNyA2Ljk5OTM1SDEuMTY2MDJNMS4xNjYwMiA2Ljk5OTM1TDYuOTk5MzUgMTIuODMyN00xLjE2NjAyIDYuOTk5MzVMNi45OTkzNSAxLjE2NjAyXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBzdG9yZS1sYWJlbFwiPiB7e3N0b3JlSWR9fTwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJzdG9yZUFkZHJlc3M/LmFkZHJlc3NcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZ3LWJvbGQgc3RvcmUtbGFiZWxcIj4gfFxyXG4gICAgICAgICAgICB7e3N0b3JlQWRkcmVzcz8uYWRkcmVzc319IDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj4ge3thY3RpdmVUaWNrZXREZXRhaWxzPy5jb3VudH19IHt7c3RvcmVBZGRyZXNzPy5zdGF0dXN9fTwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgcHMtM1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic3RvcmVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3tzdG9yZUlkID8gc3RvcmVJZCA6IHN0b3JlQWRkcmVzcz8uc3RvcmVJZH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTNcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlRHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMSB6LTEgdy0yMDBweCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCBoLTMwMHB4IG92ZXJmbG93LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgZGV0YWlscyBvZiBhY3RpdmVUaWNrZXREZXRhaWxzPy5kYXRhXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInN0b3JlQWRkcmVzcz8uc3RvcmVJZCA9PT0gZGV0YWlscz8uc3RvcmVJZCA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwiZ2V0c3RvcmVBZGRyZXNzKGRldGFpbHMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlscz8uc3RvcmVJZH19PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbWItNSBweS0zIHB4LTVcIj5cclxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkVGFicygndGlja2V0JylcIj48YSBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0ndGlja2V0JyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGZzLTQgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+VGlja2V0PC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwiU2VsZWN0ZWRUYWJzKCdzdG9yZWluZm8nKVwiPlxyXG4gICAgICAgICAgICA8YSBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0nc3RvcmVpbmZvJyA/ICdhY3RpdmUnIDonJ1wiIGNsYXNzPVwibmF2LWxpbmsgZnMtNCBjdXJzb3ItcG9pbnRlciBtZS02XCI+U3RvcmVcclxuICAgICAgICAgICAgICAgIEluZm88L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIlNlbGVjdGVkVGFiID09PSd0aWNrZXQnXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTIgbXMtMyBmdy1zZW1pYm9sZFwiPnt7dGlja2V0SWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiSW5mcmFJc3N1ZVwiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiPnt7SW5mcmFJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBmdy1ib2xkIG1iLTIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPjxzdmcgY2xhc3M9XCJtZS0zXCJcclxuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODc3Xzk2NTUyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04IDFWM000IDFWM00xLjUgNUgxMC41TTIuNSAySDkuNUMxMC4wNTIzIDIgMTAuNSAyLjQ0NzcyIDEwLjUgM1YxMEMxMC41IDEwLjU1MjMgMTAuMDUyMyAxMSA5LjUgMTFIMi41QzEuOTQ3NzIgMTEgMS41IDEwLjU1MjMgMS41IDEwVjNDMS41IDIuNDQ3NzIgMS45NDc3MiAyIDIuNSAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4xXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4NzdfOTY1NTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+IENyZWF0ZWQgRGF0ZTp7eyB0aWNrZXRJbmZvPy5jcmVhdGVkQXR8Y3VzdG9tRGF0ZUZvcm1hdH19PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNWaWV3XCIgIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlbkNvbnRhY3QoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzg3N18xMDIyMDMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi41NDE1IDQuMTY2NTlDMTMuMzU1NSA0LjMyNTM5IDE0LjEwMzUgNC43MjM0NyAxNC42ODk5IDUuMzA5ODZDMTUuMjc2MyA1Ljg5NjI2IDE1LjY3NDQgNi42NDQzMSAxNS44MzMyIDcuNDU4MjVNMTIuNTQxNSAwLjgzMzI1MkMxNC4yMzI2IDEuMDIxMTIgMTUuODA5NSAxLjc3ODQgMTcuMDEzNCAyLjk4MDc2QzE4LjIxNzMgNC4xODMxMiAxOC45NzY1IDUuNzU5MDkgMTkuMTY2NSA3LjQ0OTkyTTE4LjMzMzIgMTQuMDk5OVYxNi41OTk5QzE4LjMzNDEgMTYuODMyIDE4LjI4NjYgMTcuMDYxNyAxOC4xOTM2IDE3LjI3NDRDMTguMTAwNiAxNy40ODcgMTcuOTY0MyAxNy42Nzc5IDE3Ljc5MzMgMTcuODM0OEMxNy42MjIyIDE3Ljk5MTcgMTcuNDIwMyAxOC4xMTEyIDE3LjIwMDUgMTguMTg1NUMxNi45ODA2IDE4LjI1OTkgMTYuNzQ3NyAxOC4yODc1IDE2LjUxNjUgMTguMjY2NkMxMy45NTIyIDE3Ljk4OCAxMS40ODkgMTcuMTExNyA5LjMyNDg2IDE1LjcwODNDNy4zMTEzOSAxNC40Mjg4IDUuNjA0MzEgMTIuNzIxNyA0LjMyNDg2IDEwLjcwODNDMi45MTY1MSA4LjUzNDI2IDIuMDQwMDcgNi4wNTkwOCAxLjc2NjUzIDMuNDgzMjVDMS43NDU3IDMuMjUyODEgMS43NzMwOSAzLjAyMDU1IDEuODQ2OTUgMi44MDEyN0MxLjkyMDggMi41ODE5OSAyLjAzOTUxIDIuMzgwNDkgMi4xOTU1IDIuMjA5NkMyLjM1MTUgMi4wMzg3MSAyLjU0MTM3IDEuOTAyMTggMi43NTMwMiAxLjgwODY5QzIuOTY0NjggMS43MTUyIDMuMTkzNDggMS42NjY4IDMuNDI0ODYgMS42NjY1OUg1LjkyNDg2QzYuMzI5MjggMS42NjI2IDYuNzIxMzYgMS44MDU4MiA3LjAyOCAyLjA2OTUzQzcuMzM0NjQgMi4zMzMyNCA3LjUzNDkzIDIuNjk5NDYgNy41OTE1MyAzLjA5OTkyQzcuNjk3MDUgMy44OTk5NyA3Ljg5Mjc0IDQuNjg1NTIgOC4xNzQ4NiA1LjQ0MTU5QzguMjg2OTggNS43Mzk4NiA4LjMxMTI1IDYuMDY0MDEgOC4yNDQ3OCA2LjM3NTY1QzguMTc4MzIgNi42ODcyOSA4LjAyMzkyIDYuOTczMzQgNy43OTk4NiA3LjE5OTkyTDYuNzQxNTMgOC4yNTgyNUM3LjkyNzgzIDEwLjM0NDUgOS42NTUyNCAxMi4wNzIgMTEuNzQxNSAxMy4yNTgzTDEyLjc5OTkgMTIuMTk5OUMxMy4wMjY0IDExLjk3NTkgMTMuMzEyNSAxMS44MjE1IDEzLjYyNDEgMTEuNzU1QzEzLjkzNTggMTEuNjg4NSAxNC4yNTk5IDExLjcxMjggMTQuNTU4MiAxMS44MjQ5QzE1LjMxNDMgMTIuMTA3IDE2LjA5OTggMTIuMzAyNyAxNi44OTk5IDEyLjQwODNDMTcuMzA0NyAxMi40NjU0IDE3LjY3NDQgMTIuNjY5MyAxNy45Mzg2IDEyLjk4MTJDMTguMjAyOSAxMy4yOTMxIDE4LjM0MzMgMTMuNjkxMiAxOC4zMzMyIDE0LjA5OTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzg3N18xMDIyMDNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+Q29udGFjdCBEZXRhaWxzPC9zcGFuPiA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzVmlld1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlblJlbW90ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9kZXNrdG9wLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdCBSZW1vdGVseTwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRpY2tldEluZm8/LnRpY2tldERldGFpbHMuaXNzdWVTdGF0dXMgPT09J25vdGlkZW50aWZpZWQnJiYoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0JiZ0aWNrZXRJbmZvPy5zdGF0dXMhPT0nY2xvc2VkJ3x8dGlja2V0SW5mbz8udGlja2V0RGV0YWlscy50aWNrZXRUeXBlPT09J3JlZnJlc2h0aWNrZXQnJiYoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0JiZ0aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzPy5yZWZyZXNoVGlja2V0U3RhdHVzPT09J25vdGlkZW50aWZpZWQnJiZ1c2VyVHlwZSA9PT0nY2xpZW50J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcGVuZWRpc3N1ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMSAxMkMyMSA3LjAyOTMgMTYuOTcwNyAzIDEyIDNDNy4wMjkzIDMgMyA3LjAyOTMgMyAxMkMzIDE2Ljk3MDcgNy4wMjkzIDIxIDEyIDIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjkgMy4wNDUwNEMxMi45IDMuMDQ1MDQgMTUuNiA2LjYwMDA0IDE1LjYgMTJMMTIuOSAzLjA0NTA0Wk0xMS4xIDIwLjk1NUMxMS4xIDIwLjk1NSA4LjQgMTcuNCA4LjQgMTJDOC40IDYuNjAwMDQgMTEuMSAzLjA0NTA0IDExLjEgMy4wNDUwNE0zLjU2NyAxNS4xNUgxMkgzLjU2N1pNMy41NjcgOC44NTAwNEgyMC40MzNIMy41NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwLjg5MTEgMTcuMzI1MkMyMS4zMzU3IDE3LjU5ODggMjEuMzA3OCAxOC4yNjM5IDIwLjg1MDYgMTguMzE2MUwxOC41NDAzIDE4LjU3OEwxNy41MDQ0IDIwLjY1ODhDMTcuMjk5MiAyMS4wNzE5IDE2LjY2NDcgMjAuODY5NCAxNi41NTk0IDIwLjM1ODJMMTUuNDI5OSAxNC44NTM4QzE1LjM0MDggMTQuNDIxOCAxNS43Mjk2IDE0LjE1IDE2LjEwNDkgMTQuMzgxM0wyMC44OTExIDE3LjMyNTJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwLjI1IDEyQzIwLjI1IDEyLjQxNDIgMjAuNTg1OCAxMi43NSAyMSAxMi43NUMyMS40MTQyIDEyLjc1IDIxLjc1IDEyLjQxNDIgMjEuNzUgMTJIMjAuMjVaTTEyIDIxLjc1QzEyLjQxNDIgMjEuNzUgMTIuNzUgMjEuNDE0MiAxMi43NSAyMUMxMi43NSAyMC41ODU4IDEyLjQxNDIgMjAuMjUgMTIgMjAuMjVWMjEuNzVaTTEzLjQ5NzMgMi41OTE0MkMxMy4yNDY3IDIuMjYxNTYgMTIuNzc2MiAyLjE5NzI1IDEyLjQ0NjQgMi40NDc3OEMxMi4xMTY1IDIuNjk4MyAxMi4wNTIyIDMuMTY4OCAxMi4zMDI3IDMuNDk4NjZMMTMuNDk3MyAyLjU5MTQyWk0xNC44NSAxMkMxNC44NSAxMi40MTQzIDE1LjE4NTggMTIuNzUgMTUuNiAxMi43NUMxNi4wMTQyIDEyLjc1IDE2LjM1IDEyLjQxNDMgMTYuMzUgMTJIMTQuODVaTTEwLjUwMjcgMjEuNDA4N0MxMC43NTMzIDIxLjczODUgMTEuMjIzOCAyMS44MDI4IDExLjU1MzYgMjEuNTUyM0MxMS44ODM1IDIxLjMwMTggMTEuOTQ3OCAyMC44MzEzIDExLjY5NzMgMjAuNTAxNEwxMC41MDI3IDIxLjQwODdaTTExLjY5NzMgMy40OTg2NkMxMS45NDc4IDMuMTY4OCAxMS44ODM1IDIuNjk4MyAxMS41NTM2IDIuNDQ3NzhDMTEuMjIzOCAyLjE5NzI1IDEwLjc1MzMgMi4yNjE1NiAxMC41MDI3IDIuNTkxNDJMMTEuNjk3MyAzLjQ5ODY2Wk0zLjU2NyAxNC40QzMuMTUyNzkgMTQuNCAyLjgxNyAxNC43MzU4IDIuODE3IDE1LjE1QzIuODE3IDE1LjU2NDMgMy4xNTI3OSAxNS45IDMuNTY3IDE1LjlWMTQuNFpNMTIgMTUuOUMxMi40MTQyIDE1LjkgMTIuNzUgMTUuNTY0MyAxMi43NSAxNS4xNUMxMi43NSAxNC43MzU4IDEyLjQxNDIgMTQuNCAxMiAxNC40VjE1LjlaTTMuNTY3IDguMTAwMDRDMy4xNTI3OSA4LjEwMDA0IDIuODE3IDguNDM1ODMgMi44MTcgOC44NTAwNEMyLjgxNyA5LjI2NDI2IDMuMTUyNzkgOS42MDAwNCAzLjU2NyA5LjYwMDA0VjguMTAwMDRaTTIwLjQzMyA5LjYwMDA0QzIwLjg0NzIgOS42MDAwNCAyMS4xODMgOS4yNjQyNiAyMS4xODMgOC44NTAwNEMyMS4xODMgOC40MzU4MyAyMC44NDcyIDguMTAwMDQgMjAuNDMzIDguMTAwMDRWOS42MDAwNFpNMjAuODkxMSAxNy4zMjUyTDIxLjI4NDIgMTYuNjg2NUwyMS4yODQgMTYuNjg2NEwyMC44OTExIDE3LjMyNTJaTTIwLjg1MDYgMTguMzE2MUwyMC45MzUxIDE5LjA2MTNMMjAuOTM1NyAxOS4wNjEzTDIwLjg1MDYgMTguMzE2MVpNMTguNTQwMyAxOC41NzhMMTguNDU1OCAxNy44MzI4TDE4LjA1MDYgMTcuODc4N0wxNy44Njg5IDE4LjI0MzhMMTguNTQwMyAxOC41NzhaTTE3LjUwNDQgMjAuNjU4OEwxNi44MzMgMjAuMzI0NkwxNi44MzI3IDIwLjMyNTJMMTcuNTA0NCAyMC42NTg4Wk0xNi41NTk0IDIwLjM1ODJMMTUuODI0NyAyMC41MDlMMTUuODI0OCAyMC41MDk1TDE2LjU1OTQgMjAuMzU4MlpNMTUuNDI5OSAxNC44NTM4TDE2LjE2NDYgMTQuNzAzTDE2LjE2NDQgMTQuNzAyM0wxNS40Mjk5IDE0Ljg1MzhaTTE2LjEwNDkgMTQuMzgxM0wxNS43MTE0IDE1LjAxOThMMTUuNzEyIDE1LjAyMDFMMTYuMTA0OSAxNC4zODEzWk0yMS43NSAxMkMyMS43NSA2LjYxNTA5IDE3LjM4NDkgMi4yNSAxMiAyLjI1VjMuNzVDMTYuNTU2NSAzLjc1IDIwLjI1IDcuNDQzNTEgMjAuMjUgMTJIMjEuNzVaTTEyIDIuMjVDNi42MTUwOSAyLjI1IDIuMjUgNi42MTUwOSAyLjI1IDEySDMuNzVDMy43NSA3LjQ0MzUxIDcuNDQzNTEgMy43NSAxMiAzLjc1VjIuMjVaTTIuMjUgMTJDMi4yNSAxNy4zODQ5IDYuNjE1MDkgMjEuNzUgMTIgMjEuNzVWMjAuMjVDNy40NDM1MSAyMC4yNSAzLjc1IDE2LjU1NjUgMy43NSAxMkgyLjI1Wk0xMi45IDMuMDQ1MDRDMTIuMzAyNyAzLjQ5ODY2IDEyLjMwMjYgMy40OTg0NiAxMi4zMDI0IDMuNDk4MjhDMTIuMzAyNCAzLjQ5ODIzIDEyLjMwMjMgMy40OTgwNiAxMi4zMDIyIDMuNDk3OTdDMTIuMzAyMSAzLjQ5Nzc5IDEyLjMwMiAzLjQ5NzY3IDEyLjMwMTkgMy40OTc2QzEyLjMwMTggMy40OTc0NiAxMi4zMDE5IDMuNDk3NTMgMTIuMzAyMSAzLjQ5NzgxQzEyLjMwMjUgMy40OTgzOCAxMi4zMDM2IDMuNDk5OCAxMi4zMDUzIDMuNTAyMDZDMTIuMzA4NiAzLjUwNjU4IDEyLjMxNDQgMy41MTQ0NyAxMi4zMjI1IDMuNTI1NjdDMTIuMzM4NyAzLjU0ODA5IDEyLjM2NDEgMy41ODM3NSAxMi4zOTczIDMuNjMyMjZDMTIuNDYzOCAzLjcyOTI5IDEyLjU2MTYgMy44Nzc1MiAxMi42ODA1IDQuMDczNjFDMTIuOTE4MyA0LjQ2NjA2IDEzLjIzOTMgNS4wNDg2MyAxMy41NjE0IDUuNzk0NzhDMTQuMjA2MSA3LjI4ODM3IDE0Ljg1IDkuNDI1MjYgMTQuODUgMTJIMTYuMzVDMTYuMzUgOS4xNzQ4MyAxNS42NDM5IDYuODM0MjIgMTQuOTM4NiA1LjIwMDMxQzE0LjU4NTcgNC4zODI3MSAxNC4yMzE3IDMuNzM5MDIgMTMuOTYzMyAzLjI5NjE2QzEzLjgyOSAzLjA3NDYgMTMuNzE1OSAyLjkwMjkxIDEzLjYzNDcgMi43ODQ0M0MxMy41OTQxIDIuNzI1MTggMTMuNTYxNSAyLjY3OTIgMTMuNTM4MSAyLjY0NjlDMTMuNTI2NSAyLjYzMDc1IDEzLjUxNzEgMi42MTgwMiAxMy41MTAyIDIuNjA4NzZDMTMuNTA2OCAyLjYwNDEzIDEzLjUwNCAyLjYwMDM2IDEzLjUwMTggMi41OTc0N0MxMy41MDA3IDIuNTk2MDIgMTMuNDk5OCAyLjU5NDggMTMuNDk5MSAyLjU5Mzc5QzEzLjQ5ODcgMi41OTMyOSAxMy40OTgzIDIuNTkyODQgMTMuNDk4IDIuNTkyNDRDMTMuNDk3OSAyLjU5MjI0IDEzLjQ5NzcgMi41OTE5OSAxMy40OTc2IDIuNTkxODlDMTMuNDk3NCAyLjU5MTY1IDEzLjQ5NzMgMi41OTE0MiAxMi45IDMuMDQ1MDRaTTExLjEgMjAuOTU1QzExLjY5NzMgMjAuNTAxNCAxMS42OTc0IDIwLjUwMTYgMTEuNjk3NiAyMC41MDE4QzExLjY5NzYgMjAuNTAxOSAxMS42OTc3IDIwLjUwMiAxMS42OTc4IDIwLjUwMjFDMTEuNjk3OSAyMC41MDIzIDExLjY5OCAyMC41MDI0IDExLjY5ODEgMjAuNTAyNUMxMS42OTgyIDIwLjUwMjYgMTEuNjk4MSAyMC41MDI2IDExLjY5NzkgMjAuNTAyM0MxMS42OTc1IDIwLjUwMTcgMTEuNjk2NCAyMC41MDAzIDExLjY5NDggMjAuNDk4QzExLjY5MTQgMjAuNDkzNSAxMS42ODU2IDIwLjQ4NTYgMTEuNjc3NSAyMC40NzQ0QzExLjY2MTMgMjAuNDUyIDExLjYzNTkgMjAuNDE2MyAxMS42MDI3IDIwLjM2NzhDMTEuNTM2MiAyMC4yNzA4IDExLjQzODQgMjAuMTIyNiAxMS4zMTk1IDE5LjkyNjVDMTEuMDgxNyAxOS41MzQgMTAuNzYwNyAxOC45NTE1IDEwLjQzODYgMTguMjA1M0M5Ljc5Mzg4IDE2LjcxMTcgOS4xNSAxNC41NzQ4IDkuMTUgMTJINy42NUM3LjY1IDE0LjgyNTMgOC4zNTYxMyAxNy4xNjU5IDkuMDYxNDIgMTguNzk5OEM5LjQxNDM0IDE5LjYxNzQgOS43NjgzMyAyMC4yNjExIDEwLjAzNjcgMjAuNzAzOUMxMC4xNzEgMjAuOTI1NSAxMC4yODQxIDIxLjA5NzIgMTAuMzY1MyAyMS4yMTU3QzEwLjQwNTkgMjEuMjc0OSAxMC40Mzg1IDIxLjMyMDkgMTAuNDYxOSAyMS4zNTMyQzEwLjQ3MzUgMjEuMzY5MyAxMC40ODI5IDIxLjM4MjEgMTAuNDg5OCAyMS4zOTEzQzEwLjQ5MzIgMjEuMzk2IDEwLjQ5NiAyMS4zOTk3IDEwLjQ5ODIgMjEuNDAyNkMxMC40OTkzIDIxLjQwNDEgMTAuNTAwMiAyMS40MDUzIDEwLjUwMDkgMjEuNDA2M0MxMC41MDEzIDIxLjQwNjggMTAuNTAxNyAyMS40MDczIDEwLjUwMiAyMS40MDc2QzEwLjUwMjEgMjEuNDA3OCAxMC41MDIzIDIxLjQwODEgMTAuNTAyNCAyMS40MDgyQzEwLjUwMjYgMjEuNDA4NCAxMC41MDI3IDIxLjQwODcgMTEuMSAyMC45NTVaTTkuMTUgMTJDOS4xNSA5LjQyNTI2IDkuNzkzODggNy4yODgzNyAxMC40Mzg2IDUuNzk0NzhDMTAuNzYwNyA1LjA0ODYzIDExLjA4MTcgNC40NjYwNiAxMS4zMTk1IDQuMDczNjFDMTEuNDM4NCAzLjg3NzUyIDExLjUzNjIgMy43MjkyOSAxMS42MDI3IDMuNjMyMjZDMTEuNjM1OSAzLjU4Mzc1IDExLjY2MTMgMy41NDgwOSAxMS42Nzc1IDMuNTI1NjdDMTEuNjg1NiAzLjUxNDQ3IDExLjY5MTQgMy41MDY1OCAxMS42OTQ4IDMuNTAyMDZDMTEuNjk2NCAzLjQ5OTggMTEuNjk3NSAzLjQ5ODM4IDExLjY5NzkgMy40OTc4MUMxMS42OTgxIDMuNDk3NTMgMTEuNjk4MiAzLjQ5NzQ2IDExLjY5ODEgMy40OTc2QzExLjY5OCAzLjQ5NzY3IDExLjY5NzkgMy40OTc3OSAxMS42OTc4IDMuNDk3OTdDMTEuNjk3NyAzLjQ5ODA2IDExLjY5NzYgMy40OTgyMyAxMS42OTc2IDMuNDk4MjhDMTEuNjk3NCAzLjQ5ODQ2IDExLjY5NzMgMy40OTg2NiAxMS4xIDMuMDQ1MDRDMTAuNTAyNyAyLjU5MTQyIDEwLjUwMjYgMi41OTE2NSAxMC41MDI0IDIuNTkxODlDMTAuNTAyMyAyLjU5MTk5IDEwLjUwMjEgMi41OTIyNCAxMC41MDIgMi41OTI0NEMxMC41MDE3IDIuNTkyODQgMTAuNTAxMyAyLjU5MzI5IDEwLjUwMDkgMi41OTM3OUMxMC41MDAyIDIuNTk0OCAxMC40OTkzIDIuNTk2MDIgMTAuNDk4MiAyLjU5NzQ3QzEwLjQ5NiAyLjYwMDM2IDEwLjQ5MzIgMi42MDQxMyAxMC40ODk4IDIuNjA4NzZDMTAuNDgyOSAyLjYxODAyIDEwLjQ3MzUgMi42MzA3NSAxMC40NjE5IDIuNjQ2OUMxMC40Mzg1IDIuNjc5MiAxMC40MDU5IDIuNzI1MTggMTAuMzY1MyAyLjc4NDQzQzEwLjI4NDEgMi45MDI5MSAxMC4xNzEgMy4wNzQ2IDEwLjAzNjcgMy4yOTYxNkM5Ljc2ODMzIDMuNzM5MDIgOS40MTQzNCA0LjM4MjcxIDkuMDYxNDIgNS4yMDAzMUM4LjM1NjEzIDYuODM0MjIgNy42NSA5LjE3NDgzIDcuNjUgMTJIOS4xNVpNMy41NjcgMTUuOUgxMlYxNC40SDMuNTY3VjE1LjlaTTMuNTY3IDkuNjAwMDRIMjAuNDMzVjguMTAwMDRIMy41NjdWOS42MDAwNFpNMjAuNDk4IDE3Ljk2MzlDMjAuNDc5MiAxNy45NTI0IDIwLjQ1NzUgMTcuOTI1MiAyMC40NTk3IDE3Ljg3MjdDMjAuNDYwOSAxNy44NDM0IDIwLjQ3MTUgMTcuNzc3MiAyMC41Mjk3IDE3LjcwNTRDMjAuNTk2MSAxNy42MjM1IDIwLjY4ODkgMTcuNTc5NyAyMC43NjU1IDE3LjU3MDlMMjAuOTM1NyAxOS4wNjEzQzIxLjYxNjcgMTguOTgzNSAyMS45Mzg0IDE4LjQxNzkgMjEuOTU4NCAxNy45MzQ2QzIxLjk3NzYgMTcuNDY4MiAyMS43NDc2IDE2Ljk3MTcgMjEuMjg0MiAxNi42ODY1TDIwLjQ5OCAxNy45NjM5Wk0yMC43NjYxIDE3LjU3MDlMMTguNDU1OCAxNy44MzI4TDE4LjYyNDggMTkuMzIzMkwyMC45MzUxIDE5LjA2MTNMMjAuNzY2MSAxNy41NzA5Wk0xNy44Njg5IDE4LjI0MzhMMTYuODMzIDIwLjMyNDZMMTguMTc1OCAyMC45OTMxTDE5LjIxMTcgMTguOTEyM0wxNy44Njg5IDE4LjI0MzhaTTE2LjgzMjcgMjAuMzI1MkMxNi44NjY4IDIwLjI1NjUgMTYuOTM5NSAyMC4xODM5IDE3LjAzOTggMjAuMTQ5MkMxNy4xMjc3IDIwLjExODggMTcuMTk0IDIwLjEzMTYgMTcuMjIyMSAyMC4xNDA1QzE3LjI3MiAyMC4xNTY0IDE3LjI4OTYgMjAuMTg1NyAxNy4yOTQgMjAuMjA2OUwxNS44MjQ4IDIwLjUwOTVDMTUuOTM0NSAyMS4wNDE5IDE2LjMyMiAyMS40MjgxIDE2Ljc2NjggMjEuNTY5N0MxNy4yMjg2IDIxLjcxNjggMTcuODcwNyAyMS42MDczIDE4LjE3NjEgMjAuOTkyNUwxNi44MzI3IDIwLjMyNTJaTTE3LjI5NDEgMjAuMjA3NEwxNi4xNjQ2IDE0LjcwM0wxNC42OTUyIDE1LjAwNDZMMTUuODI0NyAyMC41MDlMMTcuMjk0MSAyMC4yMDc0Wk0xNi4xNjQ0IDE0LjcwMjNDMTYuMTcyMyAxNC43NDA2IDE2LjE2NjYgMTQuODgzIDE2LjAyMzIgMTQuOTgzM0MxNS44OCAxNS4wODM1IDE1Ljc0NDYgMTUuMDQwMiAxNS43MTE0IDE1LjAxOThMMTYuNDk4NCAxMy43NDI4QzE2LjA4OTkgMTMuNDkxMSAxNS41NzI0IDEzLjQ2OCAxNS4xNjMzIDEzLjc1NDNDMTQuNzU0IDE0LjA0MDcgMTQuNTk4NCAxNC41MzUgMTQuNjk1NCAxNS4wMDUzTDE2LjE2NDQgMTQuNzAyM1pNMTUuNzEyIDE1LjAyMDFMMjAuNDk4MiAxNy45NjRMMjEuMjg0IDE2LjY4NjRMMTYuNDk3OCAxMy43NDI1TDE1LjcxMiAxNS4wMjAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNDc1NDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e3NlbGVjdGVkSXNzdWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNsaWNrKT1cImNob29zZWFuaXNzdWUoJycpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwib3BlbkRyb3Bkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbmNhcmQtY29udGVudCBjdXJzb3ItcG9pbnRlciBiZy13aGl0ZSBweC0zIHB5LTJcIj4gPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0xIHctMjAwcHggcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwcHggZW5kLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZHJvcGRvd25JdGVtc1wiIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5zZWxlY3RlZElzc3VlID09PSBpdGVtID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJc3N1ZSA9PT0gJ0ludGVybmV0IElzc3Vlcyd8fHNlbGVjdGVkSXNzdWUgPT09ICdDYW1lcmEgSXNzdWVzJyYmc2hvd2NhbUlzc3VlfHxzZWxlY3RlZElzc3VlID09PSAnU3lzdGVtIElzc3VlcycgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1jb250ZW50IHctMTAwIG10LTIgcHgtNCBweS0yIHBiLTQgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5jYXJkLWxhYmVsIGZ3LXNlbWlib2xkIHB5LTJcIiAqbmdJZj1cInNlY29uZGFyeUlzc3Vlcz8ubGVuZ3RoPjBcIj4gUGxlYXNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGV2YW50IHByb2JsZW0gZmFjaW5nIGZyb20gdGhlIGZvbGxvd2luZyA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGlzc3VlIG9mIHNlY29uZGFyeUlzc3VlczsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbmNhcmQtY29udGVudCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIG10LTIgcHgtNCBweS00IGN1cnNvci1wb2ludGVyIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoZWNrYm94KGluZGV4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbWcgY2xhc3M9XCJwZS0zXCIgc3JjPScuL2Fzc2V0cy90YW5nby9JbWFnZXMvRmVhdHVyZWQgaWNvbi5wbmcnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5ndGV4dFwiPnt7aXNzdWU/Lm5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTMwMHB4XCIgW25nYlRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnRcIiB0cmlnZ2Vycz1cIm1vdXNlZW50ZXI6bW91c2VsZWF2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibXMtM1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTgyNl80NDg3MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjczVjguMDAwNjVNOC4wMDA2NSA1LjMzMzk4SDguMDA3MzJNMTQuNjY3MyA4LjAwMDY1QzE0LjY2NzMgMTEuNjgyNiAxMS42ODI2IDE0LjY2NzMgOC4wMDA2NSAxNC42NjczQzQuMzE4NzUgMTQuNjY3MyAxLjMzMzk4IDExLjY4MjYgMS4zMzM5OCA4LjAwMDY1QzEuMzMzOTggNC4zMTg3NSA0LjMxODc1IDEuMzMzOTggOC4wMDA2NSAxLjMzMzk4QzExLjY4MjYgMS4zMzM5OCAxNC42NjczIDQuMzE4NzUgMTQuNjY3MyA4LjAwMDY1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTgyNl80NDg3MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERlZmluZSB0b29sdGlwIGNvbnRlbnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sdGlwQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS10b29sdGlwLWNvbnRlbnQgdG9vbHRpcC1jb250ZW50IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidy0xMDBcIiAqbmdGb3I9XCJsZXQgdG9vbHRpcEl0ZW0gb2YgaXNzdWU/LnRvb2xUaXBzXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcEl0ZW0/Lm5hbWUgfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWRjaGVjayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJpc3N1ZS5jaGVja2VkXCIgY2xhc3M9XCJwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHQtNlwiICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoaWJlcm50aW9uXCIgY2xhc3M9XCIgbWFpbmNhcmQtbGFiZWwgZnctc2VtaWJvbGQgbWItMlwiPkhpYmVybmF0aW9uIChpbiBkYXlzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHctMjUwcHggcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUteSB0b3AtNTAgbWUtNSBwcy0zIHRpY2tldERheXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gdG9nZ2xlLW9mZiBzdmctaWNvbi0xXCIgW25nQ2xhc3NdPVwiY291bnQgPT09IDAgPyAncGUtbm9uZScgOiAnJ1wiIChjbGljayk9XCJkZWNyZXNlQ291bnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQuNjY2MDIgMTBIMTYuMzMyN1wiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiaGliZXJudGlvblwiIFsobmdNb2RlbCldPVwiSGliZXJuYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCIgdmFsdWU9XCJ7e2NvdW50fX1cIiBwbGFjZWhvbGRlcj1cIjBcIiByZWFkT25seSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgdHJhbnNsYXRlLW1pZGRsZS15IHRvcC01MCBlbmQtMCBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHRvZ2dsZS1vbiBzdmctaWNvbi0xIHRpY2tldERheXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbmNyZWFzZUNvdW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC40OTkzIDQuMTY2NVYxNS44MzMyTTQuNjY2MDIgOS45OTk4NEgxNi4zMzI3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZElzc3VlID09PSAnT3RoZXJzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudCB3LTEwMCBtdC0yIHB4LTQgcHktMiBwYi00IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1sYWJlbCBmdy1zZW1pYm9sZCBweS0yXCI+UGxlYXNlIHNlbGVjdCB0aGUgcmVsZXZhbnQgcHJvYmxlbSBmYWNpbmcgZnJvbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3RoZXJzIG9mIG90aGVyc0lzc3VlOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW5jYXJkLWNvbnRlbnQgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMCBtdC0yIHB4LTQgcHktNCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVJhZGlvYm94KG90aGVycylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW1nIGNsYXNzPVwicGUtM1wiIHNyYz0nLi9hc3NldHMvdGFuZ28vSW1hZ2VzL0ZlYXR1cmVkIGljb24ucG5nJz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHRcIj57e290aGVycy5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgY2xhc3M9XCJtcy0zXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xODI2XzQ0ODcxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDY1IDEwLjY2NzNWOC4wMDA2NU04LjAwMDY1IDUuMzMzOThIOC4wMDczMk0xNC42NjczIDguMDAwNjVDMTQuNjY3MyAxMS42ODI2IDExLjY4MjYgMTQuNjY3MyA4LjAwMDY1IDE0LjY2NzNDNC4zMTg3NSAxNC42NjczIDEuMzMzOTggMTEuNjgyNiAxLjMzMzk4IDguMDAwNjVDMS4zMzM5OCA0LjMxODc1IDQuMzE4NzUgMS4zMzM5OCA4LjAwMDY1IDEuMzMzOThDMTEuNjgyNiAxLjMzMzk4IDE0LjY2NzMgNC4zMTg3NSAxNC42NjczIDguMDAwNjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xODI2XzQ0ODcxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZGNoZWNrIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJyYWRpb0dyb3Vwe3tpfX1cIiBbdmFsdWVdPVwib3RoZXJzLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9wdGlvblwiIGNsYXNzPVwicC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB0LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGliZXJudGlvblwiIGNsYXNzPVwiIG1haW5jYXJkLWxhYmVsIGZ3LXNlbWlib2xkIG1iLTJcIj5IaWJlcm5hdGlvbiAoaW4gZGF5cylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB3LTI1MHB4IHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0cmFuc2xhdGUtbWlkZGxlLXkgdG9wLTUwIG1lLTUgcHMtMyB0aWNrZXREYXlzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHRvZ2dsZS1vZmYgc3ZnLWljb24tMVwiIFtuZ0NsYXNzXT1cImNvdW50ID09PSAwID8gJ3BlLW5vbmUnIDogJydcIiAoY2xpY2spPVwiZGVjcmVzZUNvdW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00LjY2NjAyIDEwSDE2LjMzMjdcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImhpYmVybnRpb25cIiBbKG5nTW9kZWwpXT1cIkhpYmVybmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiIHZhbHVlPVwie3tjb3VudH19XCIgcGxhY2Vob2xkZXI9XCIwXCIgcmVhZE9ubHkgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUteSB0b3AtNTAgZW5kLTAgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiB0b2dnbGUtb24gc3ZnLWljb24tMSB0aWNrZXREYXlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VDb3VudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNDk5MyA0LjE2NjVWMTUuODMzMk00LjY2NjAyIDkuOTk5ODRIMTYuMzMyN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudCB3LTEwMCBtdC0yIHB4LTQgcHktMiBwYi00XCIgKm5nSWY9XCJzZWxlY3RlZElzc3VlID09PSAnQ2FtZXJhIElzc3VlcycmJiFzaG93Y2FtSXNzdWUmJmNhbWVyYUxpc3RJbWFnZXMubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1sYWJlbCBmdy1zZW1pYm9sZCBweS0yIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2UgbWFrZSBzdXJlIGFsbCBvZiB5b3VyIHN1cnZlaWxsYW5jZSBjYW1lcmFzIGFyZSBmdW5jdGlvbmluZyBhbmQgdmVyaWZ5IHRoZSBmb290YWdlIHlvdSBoYXZlLiA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjYW1lcmFMaXN0SW1hZ2VzO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEgZnctYm9sZFwiPnt7aXRlbT8uY2FtZXJhTmFtZSA/IGl0ZW0/LmNhbWVyYU5hbWU6XCItLVwifX08L3NwYW4+PHNwYW4gY2xhc3M9XCJjYW1lcmEgZnctYm9sZFwiPiBDYW1lcmEgMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLTIgdy0xMDAgbWgtMzUwcHggb3ZlcmZsb3ctaGlkZGVuIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMFwiICpuZ0lmPVwiaXRlbT8udGh1bWJuYWlsSW1hZ2UgIT09IG51bGwgJiYgaXRlbT8udGh1bWJuYWlsSW1hZ2UgIT09ICcnXCIgW3NyY109XCJpdGVtPy50aHVtYm5haWxJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nIGNsYXNzPVwidy0xMDBcIiAgc3JjPSdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCc+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0/LnRodW1ibmFpbEltYWdlID09PSBudWxsIHx8IGl0ZW0/LnRodW1ibmFpbEltYWdlID09PSAnJ1wiIGNsYXNzPVwidy0xMDAgIGgtMzAwcHggcm91bmRlZC0yIG92ZXJmbG93LWhpZGRlbiBOb3ByZXZpZXcgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld1RpdGxlIHRleHQtY2VudGVyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZSB7e2l0ZW0/LnRodW1ibmFpbEltYWdlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld3N1YlRpdGxlIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTUgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FtZXJhU2VsZWN0aW9uKGksJ3dvcmtpbmcnKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIHctNTAgbWUtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jYW1lcmFOdW1iZXI9PT0nd29ya2luZyc/J3RleHQtcHJpbWFyeSBiZy1saWdodC1wcmltYXJ5JzonJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdvcmtpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FtZXJhU2VsZWN0aW9uKGksJ25vdHdvcmtpbmcnKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIHctNTAgbXMtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jYW1lcmFOdW1iZXI9PT0nbm90d29ya2luZyc/J3RleHQtZGFuZ2VyIGJnLWxpZ2h0LWRhbmdlcic6JydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3QgV29ya2luZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIXNob3djYW1Jc3N1ZVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG10LTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1cGRhdGVDYW1TdGF0dXMoKVwiPlByb2NlZWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzPy5pc3N1ZVN0YXR1cyA9PT0naWRlbnRpZmllZCd8fHRpY2tldEluZm8/LnN0YXR1cyA9PT0gJ2Nsb3NlZCd8fHRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZSA9PT0gJ3JlZnJlc2h0aWNrZXQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb2JqIG9mIHZpZXdUaWNrZXREYXRhO2xldCBpPWluZGV4XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEhvcml6b250YWwgbGluZSB3aXRoIGRheSAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcC0wIHctMTAwIG1lLTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYXkgZnctYm9sZC00MDBcIj5Ub2RheTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcC0wIHctMTAwIG1zLTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGNvZGUgc3RhcnQgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvbkJ5ID09PSAnVXNlcidcIiBjbGFzcz1cImQtZmxleCBtcy01IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSAhPT0nc3RhdHVzQ2hhbmdlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcGUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1zZ3Byb2ZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3VzZXJQcm9maWxlLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTAgaC0xMDAgbXQtMyBib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXlcIiBzdHlsZT1cIndpZHRoOjBweFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hhbmdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5VcGRhdGVkIHRoZSBzdGF0dXM8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPk9wZW4gLT4gSW5wcm9ncmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgdy0xMDAgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSAhPT0nc3RhdHVzQ2hhbmdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtdXBwZXJjYXNlXCI+e3tvYmo/LklkZW50aWZpZWRCeT9vYmo/LklkZW50aWZpZWRCeTpcIlRhbmdvXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBweC0zIHB0LTEgZnctYm9sZC00MDBcIj57e29iaj8udGltZVN0YW1wfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZm9udC1ib2xkLTQwMFwiPlVzZXIgaGFzIHJlcGxpZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hlY2tSZXBseSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj5Jc3N1ZSBoYXMgYmVlbiA8Yj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iai5zdGF0dXNDaGVja1JlcGx5PT09J05vJ1wiPm5vdDwvc3Bhbj4gcmVzb2x2ZWQuPC9iPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMFwiICpuZ0lmPVwib2JqLnN0YXR1c0NoZWNrUmVwbHk9PT0nTm8nXCI+IEl0IHRha2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e29iaj8uaGliZXJuYXRpb25EYXlzfX0gbW9yZSBkYXlzIHRvIHJlc29sdmUuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnY29tbWVudCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMCB0ZXh0LXdyYXBcIj57e29iaj8uY29tbWVudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcmVzIG9mIG9iaj8ucmVhc29uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlJ3JlIGN1cnJlbnRseSBlbmNvdW50ZXJpbmcgYW4gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVzLnByaW1hcnlJc3N1ZSA9PT0nQ2FtZXJhIElzc3VlcydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm90d29ya2luZ0NhbWFyYWxpc3QgJiYgbm90d29ya2luZ0NhbWFyYWxpc3Q/Lmxlbmd0aFwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90d29ya2luZ0NhbWFyYWxpc3RcIiBjbGFzcz1cImNvbC1zbS0zIG15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhIGZ3LWJvbGRcIj57e2l0ZW0uY2FtZXJhTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtPy50aHVtYm5haWxJbWFnZVwiIHN0eWxlPVwiaGVpZ2h0OjE4MHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMCBtdC0zIG1lLTJcIj5UaGUgYWJvdmUgY2FtZXJhIHN0cmVhbWluZyBhcmUgbm90IHdvcmtpbmcgZHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC03MDAgbXQtM1wiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiByZXM/LnNlY29uZGFyeUlzc3VlOyBsZXQgbGFzdCA9IGxhc3RcIj57e2lzc3VlPy5uYW1lfX0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYXN0XCI+ICw8L25nLWNvbnRhaW5lcj48L3NwYW4+IHRvIHRoZSBDYW1lcmE8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlcz8uc2Vjb25kYXJ5SXNzdWUgJiYgcmVzPy5zZWNvbmRhcnlJc3N1ZT8ubGVuZ3RoXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmVzdGlnYXRpb24gZnctYm9sZC00MDAgbWItM1wiPlRoZSBmb2xsb3dpbmcgYXJlIHRoZSByZWxldmFudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ibGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY2luZzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNVwiPiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VjSXNzdWVzIG9mIHJlcz8uc2Vjb25kYXJ5SXNzdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+e3tzZWNJc3N1ZXMubmFtZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+e3tvYmo/LmNvbW1lbnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkSXNzdWUgPT09ICcnXCIgY2xhc3M9XCJwcm9maWxlLWxhYmVsIGZ3LXNlbWlib2xkIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2luZGx5IGNob29zZSB0aGUgb3B0aW9uIGJlbG93IHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGlzc3VlIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGNvZGUgZW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRhbmdvIGNvZGUgc3RhcnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uQnkgPT09ICdUYW5nbycgfHwgb2JqLmFjdGlvbkJ5ID09PSAnYXV0b21hdGVkJ1wiIGNsYXNzPVwiZC1mbGV4IG1iLTUgbXMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC00OHB4IHN5bWJvbC1jaXJjbGVcIiAqbmdJZj1cIm9iaj8uSWRlbnRpZmllZEJ5JiZvYmo/LklkZW50aWZpZWRCeSE9PScnJiZvYmo/LklkZW50aWZpZWRCeSE9PSdUYW5nbydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5JZGVudGlmaWVkQnk/LnNsaWNlKDAsMikgfCB1cHBlcmNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiIW9iaj8uSWRlbnRpZmllZEJ5fHxvYmo/LklkZW50aWZpZWRCeT09PScnfHxvYmo/LklkZW50aWZpZWRCeT09PSdUYW5nbydcIiBjbGFzcz1cIm1zZ3Byb2ZpbGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29wcm9maWxlLnBuZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTAgaC0xMDAgbXQtMyBib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgdmVydGljYWxMaW5lXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0zIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1jYXBpdGFsaXplXCI+e3tvYmo/LklkZW50aWZpZWRCeT9vYmo/LklkZW50aWZpZWRCeTpcIlRhbmdvXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LWJvbGQtNDAwIHB4LTMgcHQtMVwiPnt7b2JqPy50aW1lU3RhbXB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZnctYm9sZC00MDBcIj50YW5nbyBoYXMgcmVwbGllZCB0byB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hhbmdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5VcGRhdGVkIHRoZSBzdGF0dXM8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPk9wZW4gLT4gSW5wcm9ncmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnY29tbWVudCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwIHRleHQtd3JhcFwiPnt7b2JqPy5jb21tZW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnZGF0YVJlY2l2ZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPlRoYW5rIHlvdSBmb3IgeW91ciBhc3Npc3RhbmNlLiBXZSBoYXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWQgdGhlIGRhdGEgZnJvbSB5b3VyIFN0b3JlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdzdGF0dXNDaGVja01vbml0b3InXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPlRoYW5rIHlvdSBmb3IgdGhlIHVwZGF0ZS4gV2XigJlsbCBnZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrIGFmdGVyIHRoZSBidWZmZXIgdGltZSB5b3UgcHJvdmlkZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0nc3RlcHNUb1Jlc29sdmUnXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwXCI+UGxlYXNlIGZvbGxvdyB0aGUgYmVsb3cgc3RlcHMgdG8gcmVzb2x2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhYm92ZSBpc3N1ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcyBvZiBvYmo/LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNSBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBmdy1zZW1pYm9sZCBtYi0xXCI+e3tyZXMucHJpbWFyeUlzc3VlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWNJc3N1ZXMgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7c2VjSXNzdWVzLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXMgb2Ygb2JqPy5yZWFzb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZXMucHJpbWFyeUlzc3VlID09PSdDYW1lcmEgSXNzdWVzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90d29ya2luZ0NhbWFyYWxpc3RcIiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMyBvdmVyZmxvdy1oaWRkZW4gbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhIGZ3LWJvbGRcIj57e2l0ZW0uY2FtZXJhTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbT8udGh1bWJuYWlsSW1hZ2VcIiBzdHlsZT1cImhlaWdodDoxODBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTMgbWUtMlwiPlRoZSBhYm92ZSBjYW1lcmEgc3RyZWFtaW5nIGFyZSBub3Qgd29ya2luZyBkdWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC03MDAgbXQtM1wiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiByZXM/LnNlY29uZGFyeUlzc3VlOyBsZXQgbGFzdCA9IGxhc3RcIj57e2lzc3VlPy5uYW1lfX0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYXN0XCI+ICw8L25nLWNvbnRhaW5lcj48L3NwYW4+IDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPnRvIHRoZSBDYW1lcmE8L3NwYW4+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52ZXN0aWdhdGlvbiBmdy1ib2xkLTQwMCBtYi0zXCI+VGhlIGZvbGxvd2luZyBhcmUgdGhlIHJlbGV2YW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ibGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWNpbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlY0lzc3VlcyBvZiByZXM/LnNlY29uZGFyeUlzc3VlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57e3NlY0lzc3Vlcy5uYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMCB0ZXh0LXdyYXBcIj57e29iaj8uY29tbWVudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hlY2tSZXBseSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMCBtdC0zXCI+SXNzdWUgaGFzIGJlZW4gPGI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqLnN0YXR1c0NoZWNrUmVwbHk9PT0nTm8nXCI+bm90PC9zcGFuPiByZXNvbHZlZC48L2I+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDBcIiAqbmdJZj1cIm9iai5zdGF0dXNDaGVja1JlcGx5PT09J05vJ1wiPiBJdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VzIHt7b2JqPy5oaWJlcm5hdGlvbkRheXN9fSBtb3JlIGRheXMgdG8gcmVzb2x2ZS48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBkZWZhdWx0SW5mcmEgc3RhcnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSdkZWZhdWx0SW5mcmEnXCIgY2xhc3M9XCJjb250ZW50dGV4dCBmdy1ib2xkLTQwMFwiPldlIGhhdmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkIGRhdGEgZnJvbSB5b3VyIHN0b3JlLiBXZSBhcmUgY3VycmVudGx5IGludmVzdGlnYXRpbmcgdGhlIGlzc3VlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBkZWZhdWx0SW5mcmEgZW5kIC0tPlxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGFuZ28gY29kZSBlbmQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiB3aWR0aD1cIjIwMHB4XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dTdWJtaXQgJiYgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiY29tbWVudHNcIiAoY2xpY2spPVwiYWRkQ29tbWVudCgpXCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkFkZCB5b3VyIGNvbW1lbnRzLi5cIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgYWNjZXB0PVwiaW1hZ2UvKlwiIG11bHRpcGxlIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInRpY2tldEluZm8/LnN0YXR1cyA9PT0gJ2Nsb3NlZCdcIiAoY2xpY2spPVwib3BlbkZpbGVJbnB1dCgpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgbXMtM1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy44NjY2IDkuMjA4MzVMMTAuMjA4MiAxNi44NjY3QzkuMjcwMDUgMTcuODA0OSA3Ljk5NzU3IDE4LjMzMiA2LjY3MDc1IDE4LjMzMkM1LjM0MzkzIDE4LjMzMiA0LjA3MTQ1IDE3LjgwNDkgMy4xMzMyNSAxNi44NjY3QzIuMTk1MDUgMTUuOTI4NSAxLjY2Nzk3IDE0LjY1NiAxLjY2Nzk3IDEzLjMyOTJDMS42Njc5NyAxMi4wMDI0IDIuMTk1MDUgMTAuNzI5OSAzLjEzMzI1IDkuNzkxNjhMMTAuNzkxNiAyLjEzMzM1QzExLjQxNzEgMS41MDc4OCAxMi4yNjU0IDEuMTU2NDkgMTMuMTQ5OSAxLjE1NjQ5QzE0LjAzNDUgMS4xNTY0OSAxNC44ODI4IDEuNTA3ODggMTUuNTA4MiAyLjEzMzM1QzE2LjEzMzcgMi43NTg4MiAxNi40ODUxIDMuNjA3MTMgMTYuNDg1MSA0LjQ5MTY4QzE2LjQ4NTEgNS4zNzYyMyAxNi4xMzM3IDYuMjI0NTUgMTUuNTA4MiA2Ljg1MDAyTDcuODQxNTggMTQuNTA4M0M3LjUyODg1IDE0LjgyMTEgNy4xMDQ2OSAxNC45OTY4IDYuNjYyNDIgMTQuOTk2OEM2LjIyMDE0IDE0Ljk5NjggNS43OTU5OCAxNC44MjExIDUuNDgzMjUgMTQuNTA4M0M1LjE3MDUxIDE0LjE5NTYgNC45OTQ4MiAxMy43NzE1IDQuOTk0ODIgMTMuMzI5MkM0Ljk5NDgyIDEyLjg4NjkgNS4xNzA1MSAxMi40NjI3IDUuNDgzMjUgMTIuMTVMMTIuNTU4MiA1LjA4MzM1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ0aWNrZXRJbmZvPy5zdGF0dXMgPT09ICdjbG9zZWQnXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXMtM1wiIChjbGljayk9XCJ1cGRhdGVUaWNrZXQoKVwiPiBTdWJtaXQgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgbXMtMyB0ZXh0LW5vd3JhcFwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM5MTdfNTQ2MjEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTc0MzUgNy41MDAwOEM3Ljc3MDI3IDYuOTQzMTQgOC4xNTY5OCA2LjQ3MzUgOC42NjU5OCA2LjE3NDM2QzkuMTc0OTggNS44NzUyMSA5Ljc3MzQzIDUuNzY1ODYgMTAuMzU1MyA1Ljg2NTY3QzEwLjkzNzIgNS45NjU0OSAxMS40NjUgNi4yNjgwMiAxMS44NDUyIDYuNzE5NjlDMTIuMjI1NSA3LjE3MTM2IDEyLjQzMzYgNy43NDMwMiAxMi40MzI3IDguMzMzNDJDMTIuNDMyNyAxMC4wMDAxIDkuOTMyNjggMTAuODMzNCA5LjkzMjY4IDEwLjgzMzRNOS45OTkzNSAxNC4xNjY3SDEwLjAwNzdNMTguMzMyNyAxMC4wMDAxQzE4LjMzMjcgMTQuNjAyNSAxNC42MDE3IDE4LjMzMzQgOS45OTkzNSAxOC4zMzM0QzUuMzk2OTggMTguMzMzNCAxLjY2NjAyIDE0LjYwMjUgMS42NjYwMiAxMC4wMDAxQzEuNjY2MDIgNS4zOTc3MSA1LjM5Njk4IDEuNjY2NzUgOS45OTkzNSAxLjY2Njc1QzE0LjYwMTcgMS42NjY3NSAxOC4zMzI3IDUuMzk3NzEgMTguMzMyNyAxMC4wMDAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzkxN181NDYyMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gQ2Fu4oCZdCBhYmxlIHRvIHJlYWNoIHRoZSBzdG9yZT9cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57eyBlcnJvck1lc3NhZ2UgfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcm91bmRlZC0zIHAtNSBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYW1lcmEgZnctc2VtaWJvbGRcIj5BdHRhY2htZW50czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXRJbmZvPy5hdHRhY2htZW50cy5sZW5ndGggPT09MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgbXQtMTAgbWItMTAgbWgtNjB2aCBkLWdyaWQgdGV4dC1jZW50ZXIgbXgtYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtYXV0b1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy90YWtldGlja2V0LnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRha2V0aWNrZXQgbXQtMiBmdy1ib2xkXCI+Tm8gQXR0YWNobWVudHMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXRJbmZvPy5hdHRhY2htZW50cy5sZW5ndGggPiAwXCIgY2xhc3M9XCJyb3cgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgdGlja2V0SW5mbz8uYXR0YWNobWVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJBdHRhY2htZW50IGJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSB3LTEwMCByb3VuZGVkLTIgb3ZlcmZsb3ctaGlkZGVuXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJoLTE1MHB4XCIgKGNsaWNrKT1cImRvd25sb2FkaW1hZ2UoZmlsZT8uc2lnbmVkVXJsKVwiIFtzcmNdPVwiZmlsZT8uc2lnbmVkVXJsXCIgYWx0PVwiU2VsZWN0ZWQgSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ncmlkIGJvcmRlciBib3JkZXItdG9wLTEgcHgtNSBweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW1hZ2VuYW1lIGZ3LWJvbGRcIj57e2ZpbGUuZmlsZW5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHVwZGF0ZWRkYXRlXCI+e3tmaWxlLmxhc3RNb2RpZmllZERhdGVTdHJpbmd9fTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIlNlbGVjdGVkVGFiID09PSAnc3RvcmVpbmZvJ1wiPlxyXG4gICAgPGxpYi1zdG9yZS1pbmZvIFtzdG9yZUlkXT1cInRpY2tldEluZm8/LmJhc2ljRGV0YWlscz8uc3RvcmVJZFwiPjwvbGliLXN0b3JlLWluZm8+XHJcbjwvZGl2PiJdfQ==
510
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvdGlja2V0cy90aWNrZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90aWNrZXRzL3RpY2tldHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU96RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBc0RQO0lBQWdDO0lBQzFDO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUExRFQsV0FBVyxHQUFRLFFBQVEsQ0FBQztJQUM1QixhQUFhLEdBQVEsaUJBQWlCLENBQUM7SUFDdkMsZUFBZSxDQUFNO0lBQ3JCLFdBQVcsQ0FBTTtJQUNqQixRQUFRLEdBQVEsRUFBRSxDQUFDO0lBQ25CLGFBQWEsQ0FBTTtJQUNuQixhQUFhLEdBQVUsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZGLFdBQVcsR0FBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUE7SUFDdkgsV0FBVyxHQUFZLEtBQUssQ0FB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U0FDN0I7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzt1R0FsZ0JVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLDRUQ2pCN0IsOG5yREFnbUJNOzsyRkQva0JPLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO3dQQXNDQyxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ08sY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBK0IzQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsUmVmLCBOZ2JBY3RpdmVNb2RhbCwgTmdiVG9vbHRpcCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQ29udGFjdERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRha2VyZW1vdGVDb21wb25lbnQgfSBmcm9tICcuLi90YWtlcmVtb3RlL3Rha2VyZW1vdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGlja2V0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpY2tldHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90aWNrZXRzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBTZWxlY3RlZFRhYjogYW55ID0gJ3RpY2tldCc7XHJcbiAgc2VsZWN0ZWRJc3N1ZTogYW55ID0gJ0ludGVybmV0IElzc3Vlcyc7XHJcbiAgc2Vjb25kYXJ5SXNzdWVzOiBhbnk7XHJcbiAgaXNzdWVTdGF0dXM6IGFueTtcclxuICBjb21tZW50czogYW55ID0gJyc7XHJcbiAgcHJpbWFyeUlzc3VlczogYW55O1xyXG4gIGRyb3Bkb3duSXRlbXM6IGFueVtdID0gWydJbnRlcm5ldCBJc3N1ZXMnLCAnQ2FtZXJhIElzc3VlcycsICdTeXN0ZW0gSXNzdWVzJywgJ090aGVycyddO1xyXG4gIG90aGVyc0lzc3VlOiBhbnlbXSA9IFt7IG5hbWU6ICdQb3dlciBTaHV0ZG93bicgfSwgeyBuYW1lOiAnU3RvcmUgVGVtcG9yYXJpbHkgQ2xvc2VkJyB9LCB7IG5hbWU6ICdBcHBsaWNhdGlvbiBJc3N1ZXMnIH1dXHJcbiAgY2FtZXJhSXNzdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW1lcmFTZWxlY3RXb3JrOiBib29sZWFuID0gdHJ1ZTtcclxuICBzaG93U3VibWl0OiBib29sZWFuID0gdHJ1ZTtcclxuICBjYW1lcmFTZWxlY3Q6IGFueTtcclxuICBzdGF0ZTogYW55O1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlucHV0SGliZXJuYXRpb246IGFueSA9ICcwMCc7XHJcbiAgY291bnQ6IGFueSA9IDA7XHJcbiAgaXNDaGVja2VkOiBib29sZWFuW10gPSBbXTtcclxuICByZXNvbHZlZElzc3VlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZHJvcERvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICB0aWNrZXRJZDogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJbmZvOiBhbnk7XHJcbiAgYWN0aXZlVGlja2V0RGV0YWlsczogYW55O1xyXG4gIHN0b3JlQWRkcmVzczogYW55O1xyXG4gIHJlcGx5T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlcGxpZWRJc3N1ZTogYW55O1xyXG4gIHZpZXdUaWNrZXREYXRhOiBhbnk7XHJcbiAgY3VycmVudFRpbWU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIHRhcmdldFRpbWU6IERhdGVcclxuICBzZWxlY3RlZEZpbGVzOiBhbnkgPSBbXTtcclxuICBicmFuZExvZ286IHN0cmluZyB8IEFycmF5QnVmZmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbGFzdE1vZGlmaWVkRGF0ZVN0cmluZzogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IGFueTtcclxuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGVudCcpIHRvb2x0aXBDb250ZW50ITogTmdiVG9vbHRpcDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICAvLyBoZWFkZXJGaWx0ZXI6IGFueTtcclxuICB1c2VyOiBhbnk7XHJcbiAgdXBkYXRlZERhdGU6IERhdGU7XHJcbiAgaXNHcmVhdGVyVGhhbjVfMzBIb3VyczogYm9vbGVhbjtcclxuICBzdG9yZUlkOiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0b3JlRHJvcERvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZE9wdGlvbjogYW55O1xyXG4gIEhpYmVybmF0aW9uOiBhbnk7XHJcbiAgY2xpZW50SWQ6IGFueTtcclxuICBzaG93Y2FtSXNzdWU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGNhbWVyYUxpc3RJbWFnZXM6IGFueSA9IFtdO1xyXG4gIGZpbmFsQ2FtTGlzdDogYW55ID0gW107XHJcbiAgc3RvcmVOYW1lOiBhbnk7XHJcbiAgbm90d29ya2luZ0NhbWFyYWxpc3Q6IGFueSA9IFtdO1xyXG4gIHVzZXJUeXBlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgSW5mcmFJc3N1ZTogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc2VydmljZTogVGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnRpY2tldElkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3RpY2tldElkJyk7XHJcbiAgICB0aGlzLnN0b3JlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnc3RvcmVJZCcpO1xyXG4gICAgdGhpcy52aWV3VGlja2V0KGZhbHNlKVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0XHJcbiAgICAgIHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wRG93bicpKSB7XHJcbiAgICAgIHRoaXMuZHJvcERvd24gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5zdG9yZURyb3BEb3duJykpIHtcclxuICAgICAgdGhpcy5zdG9yZURyb3BEb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8IFwiXCIpXHJcbiAgICB0aGlzLnVzZXJUeXBlID0gdGhpcy51c2VyLnVzZXJUeXBlXHJcbiAgICB0aGlzLmFjdGl2ZVRpY2tldCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICB2aWV3VGlja2V0KHR5cGU6IGJvb2xlYW4pIHtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHRpY2tldElkOiB0aGlzLnRpY2tldElkXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLnZpZXdUaWNrZXQocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy50aWNrZXRJbmZvID0gcmVzPy5kYXRhXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRpY2tldEluZm8gPSByZXM/LmRhdGFcclxuICAgICAgICAgICAgdGhpcy5JbmZyYUlzc3VlID0gdGhpcy50aWNrZXRJbmZvPy50aWNrZXRBY3Rpdml0eS5maWx0ZXIoKGVsOiBhbnkpID0+IGVsPy5hY3Rpb25UeXBlID09ICdpc3N1ZVVwZGF0ZScpWzBdPy5yZWFzb25zWzBdPy5wcmltYXJ5SXNzdWU7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHM/Lmlzc3VlU3RhdHVzID09ICdub3RpZGVudGlmaWVkJyAmJiB0aGlzLnRpY2tldEluZm8uc3RhdHVzICE9PSAnY2xvc2VkJyB8fCB0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZSA9PSAncmVmcmVzaHRpY2tldCcgJiYgdGhpcy50aWNrZXRJbmZvLnN0YXR1cyAhPT0gJ2Nsb3NlZCcpIHtcclxuICAgICAgICAgICAgICB0aGlzLnByaW1hcnlSZWFzb24oKTtcclxuICAgICAgICAgICAgICB0aGlzLnNlY29uZGFyeVJlYXNvbih0aGlzLnNlbGVjdGVkSXNzdWUpO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZSA9PSAncmVmcmVzaHRpY2tldCcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlld1RpY2tldERhdGEgPSByZXMuZGF0YS50aWNrZXRBY3Rpdml0eS5zbGljZSgpLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LmNhbWVyYUxpc3Q/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgbGV0IG5vdHdvcmtpbmdDYW1lcmEgPSB0aGlzLnRpY2tldEluZm8uY2FtZXJhTGlzdC5maWx0ZXIoKGU6IGFueSkgPT4gZS5zdGF0dXMgIT0gXCJ3b3JraW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgICBpZiAobm90d29ya2luZ0NhbWVyYS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDYW1lcmFMaXN0KG5vdHdvcmtpbmdDYW1lcmEpXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMudmlld1RpY2tldERhdGEuZm9yRWFjaCgoZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGUudGltZVN0YW1wID0gdGhpcy5nZXRSZWxhdGl2ZVRpbWUoZS50aW1lU3RhbXApO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdUaWNrZXREYXRhID0gdGhpcy52aWV3VGlja2V0RGF0YS5maWx0ZXIoKGU6IGFueSkgPT4gZS5hY3Rpb25UeXBlICE9IFwic3RhdHVzQ2hlY2tcIik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMudmlld1RpY2tldERhdGEgPSByZXMuZGF0YS50aWNrZXRBY3Rpdml0eS5zbGljZSgpLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgICB0aGlzLnZpZXdUaWNrZXREYXRhLmZvckVhY2goKGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZS50aW1lU3RhbXAgPSB0aGlzLmdldFJlbGF0aXZlVGltZShlLnRpbWVTdGFtcCk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy52aWV3VGlja2V0RGF0YSA9IHRoaXMudmlld1RpY2tldERhdGEuZmlsdGVyKChlOiBhbnkpID0+IGUuYWN0aW9uVHlwZSAhPSBcInN0YXR1c0NoZWNrXCIpO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8/LmNhbWVyYUxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IG5vdHdvcmtpbmdDYW1lcmEgPSB0aGlzLnRpY2tldEluZm8uY2FtZXJhTGlzdC5maWx0ZXIoKGU6IGFueSkgPT4gZS5zdGF0dXMgIT0gXCJ3b3JraW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vdHdvcmtpbmdDYW1lcmEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldENhbWVyYUxpc3Qobm90d29ya2luZ0NhbWVyYSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHJlcz8uZGF0YT8uc3RhdHVzID09ICdvcGVuJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzVXBkYXRlKClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG5cclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRDYW1lcmFMaXN0KG5vdHdvcmtpbmdDYW1lcmE6IGFueSkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgY2FtZXJhOiBub3R3b3JraW5nQ2FtZXJhXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0Q2FtZXJhTGlzdChwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5ub3R3b3JraW5nQ2FtYXJhbGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBjYW1lcmFTZWxlY3Rpb24oaW5kZXg6IGFueSwgdHlwZTogYW55KSB7XHJcbiAgICB0aGlzLmNhbWVyYUxpc3RJbWFnZXMubWFwKCh2YWx1ZTogYW55LCBpbmQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoaW5kID09PSBpbmRleCkge1xyXG4gICAgICAgIHZhbHVlLmNhbWVyYU51bWJlciA9IHR5cGVcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgdXBkYXRlQ2FtU3RhdHVzKCkge1xyXG4gICAgdGhpcy5zaG93Y2FtSXNzdWUgPSB0cnVlXHJcbiAgICB0aGlzLmZpbmFsQ2FtTGlzdCA9IFtdXHJcbiAgICB0aGlzLmNhbWVyYUxpc3RJbWFnZXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuZmluYWxDYW1MaXN0LnB1c2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgQ2FtaWQ6IGVsZW1lbnQuX2lkLFxyXG4gICAgICAgICAgQ2FtTmFtZTogZWxlbWVudC5jYW1lcmFOYW1lLFxyXG4gICAgICAgICAgc3RhdHVzOiBlbGVtZW50LmNhbWVyYU51bWJlcixcclxuICAgICAgICAgIHRodW1uYWlsSW1hZ2U6IFwiXCJcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG4gIGdldFJlbGF0aXZlVGltZSh0aW1lc3RhbXA6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSBjdXJyZW50RGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWUoKTtcclxuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2UgLyAxMDAwKTtcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XHJcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKTtcclxuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xyXG5cclxuICAgIGlmIChkYXlzID4gMCkge1xyXG4gICAgICByZXR1cm4gZGF5cyA9PT0gMSA/ICcxIGRheSBhZ28nIDogYCR7ZGF5c30gZGF5cyBhZ29gO1xyXG4gICAgfSBlbHNlIGlmIChob3VycyA+IDApIHtcclxuICAgICAgcmV0dXJuIGhvdXJzID09PSAxID8gJzEgaG91ciBhZ28nIDogYCR7aG91cnN9IGhvdXJzIGFnb2A7XHJcbiAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPiAwKSB7XHJcbiAgICAgIHJldHVybiBtaW51dGVzID09PSAxID8gJzEgbWludXRlIGFnbycgOiBgJHttaW51dGVzfSBtaW51dGVzIGFnb2A7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ0p1c3Qgbm93JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2ZVRpY2tldCgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlci5faWQsXHJcbiAgICAgIGlzc3VlVHlwZTogXCJpbmZyYVwiLFxyXG4gICAgICAvLyBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgLy8gdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5hY3RpdmVUaWNrZXQoZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVGlja2V0RGV0YWlscyA9IHJlcz8uZGF0YTtcclxuICAgICAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IHRoaXMuYWN0aXZlVGlja2V0RGV0YWlscz8uZGF0YT8uZmlsdGVyKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLnN0b3JlSWQgPT09IHRoaXMuc3RvcmVJZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IHRoaXMuc3RvcmVBZGRyZXNzWzBdO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG5cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRzdG9yZUFkZHJlc3MoZGV0YWlsczogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IGRldGFpbHNcclxuICAgIHRoaXMuc3RvcmVOYW1lID0gdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVOYW1lO1xyXG4gICAgdGhpcy5zdG9yZUlkID0gdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVJZFxyXG4gICAgdGhpcy5jbGllbnRJZCA9IHRoaXMuc3RvcmVBZGRyZXNzLmNsaWVudElkXHJcbiAgICB0aGlzLnN0b3JlRHJvcERvd24gPSBmYWxzZTtcclxuICAgIHRoaXMudGlja2V0SWQgPSBkZXRhaWxzLnRpY2tldElkXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGB0aWNrZXRzL3VzZXJzL3RpY2tldGluZm8vJHtkZXRhaWxzLnRpY2tldElkfS8ke2RldGFpbHMuc3RvcmVJZH1gKVxyXG4gICAgLy8gdGhpcy5hY3RpdmVUaWNrZXQoKTtcclxuICAgIHRoaXMudmlld1RpY2tldChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBQcmV2Um91dGUoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvdGlja2V0cy91c2Vycz90eXBlPWluZnJhJylcclxuICB9XHJcblxyXG4gIHByaW1hcnlSZWFzb24oKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBcIm5hbWVcIjogdGhpcy5zZWxlY3RlZElzc3VlLFxyXG4gICAgICBcIm9yZGVyXCI6IDJcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5wcmltYXJ5UmVhc29uKHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnByaW1hcnlJc3N1ZXMgPSByZXM7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZWNvbmRhcnlSZWFzb24odmFsdWU6IGFueSkge1xyXG4gICAgaWYodmFsdWUpe1xyXG4gICAgICBsZXQgcGFyYW1zID0geyBcInByaW1hcnlJc3N1ZVwiOiB2YWx1ZSB9XHJcbiAgICAgIHRoaXMuc2VydmljZS5zZWNvbmRhcnlSZWFzb24ocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kYXJ5SXNzdWVzID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcihlcnIpIHtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgIH1cclxuICAgXHJcbiAgfVxyXG5cclxuICB1cGRhdGVUaWNrZXQoKSB7XHJcbiAgICBsZXQgZGF0YSA9IFtdXHJcbiAgICBpZiAodGhpcy5zZWNvbmRhcnlJc3N1ZXMgJiYgdGhpcy5zZWNvbmRhcnlJc3N1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZElzc3VlID09ICdPdGhlcnMnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb24gPT09ICdBcHBsaWNhdGlvbiBJc3N1ZXMnKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSAnQXBwbGljYXRpb24gSXNzdWVzJztcclxuICAgICAgICAgIGRhdGEgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gJ1N0b3JlIE9wZXJhdGlvbiBJc3N1ZXMnO1xyXG4gICAgICAgICAgZGF0YSA9IFt0aGlzLnNlbGVjdGVkT3B0aW9uXVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBkYXRhID0gdGhpcy5vdGhlcnNJc3N1ZS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS5jaGVja2VkKS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhID0gdGhpcy5zZWNvbmRhcnlJc3N1ZXMuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0uY2hlY2tlZCkubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uICE9ICdBcHBsaWNhdGlvbiBJc3N1ZXMnKSB7XHJcbiAgICBpZiAodGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzLmlzc3VlU3RhdHVzID09PSAnbm90aWRlbnRpZmllZCcgJiYgZGF0YS5sZW5ndGggPT0gMCB8fCB0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZT09J3JlZnJlc2h0aWNrZXQnJiZ0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHM/LnJlZnJlc2hUaWNrZXRTdGF0dXMgPT09ICdub3RpZGVudGlmaWVkJyAmJiBkYXRhLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiUGxlYXNlIFNlbGVjdCBJc3N1ZXNcIilcclxuICAgIH0gZWxzZSBpZiAodGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzLmlzc3VlU3RhdHVzID09PSAnaWRlbnRpZmllZCcgJiYgdGhpcy5jb21tZW50cyA9PSAnJyB8fCB0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZT09J3JlZnJlc2h0aWNrZXQnJiZ0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHM/LnJlZnJlc2hUaWNrZXRTdGF0dXMgPT09ICdpZGVudGlmaWVkJyAmJiB0aGlzLmNvbW1lbnRzID09IFwiXCIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoXCJQbGVhc2UgRW50ZXIgQ29tbWVudHNcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gICAgbGV0IHRpY2tldERldGFpbHMgPSB7XHJcbiAgICAgIFwidGlja2V0SWRcIjogdGhpcy50aWNrZXRJZCxcclxuICAgICAgXCJwcmltYXJ5XCI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgICAgXCJzZWNvbmRhcnlcIjogZGF0YSxcclxuICAgICAgXCJjb21tZW50XCI6IHRoaXMuY29tbWVudHMsXHJcbiAgICAgICdoaWJlcm5hdGlvbkRheXMnOnRoaXMuY291bnQsXHJcbiAgICAgICdjYW1lcmFMaXN0JzogdGhpcy5maW5hbENhbUxpc3QubGVuZ3RoID4gMCA/IHRoaXMuZmluYWxDYW1MaXN0IDogW11cclxuICAgIH1cclxuIFxyXG4gICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZVRpY2tldCh0aWNrZXREZXRhaWxzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuY29tbWVudHMgPSAnJ1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gJydcclxuICAgICAgICAgIHRoaXMuc2Vjb25kYXJ5SXNzdWVzPVtdXHJcbiAgICAgICAgICAvLyB0aGlzLnN0YXRlLmlzc3VlU3RhdHVzID0gdGhpcy5zZWxlY3RlZElzc3VlO1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0KGZhbHNlKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KGVyci5FcnJvcilcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBzdGF0dXNVcGRhdGUoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgXCJ0aWNrZXRJZFwiOiB0aGlzLnRpY2tldElkLFxyXG4gICAgICBcInN0YXR1c1wiOiBcImlucHJvZ3Jlc3NcIlxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLnN0YXR1c1VwZGF0ZShkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2cocmVzKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYWRkQ29tbWVudCgpIHtcclxuICAgIHRoaXMuY29tbWVudHMgPSB0aGlzLmNvbW1lbnRzXHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2hvd1N1Ym1pdCA9IHRydWVcclxuICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZWNvbmRhcnlSZWFzb24odGhpcy5zZWxlY3RlZElzc3VlKVxyXG5cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkSXNzdWUgPT0gJ0NhbWVyYSBJc3N1ZXMnKSB7XHJcbiAgICAgIHRoaXMuY2FtZXJhTGlzdCh0aGlzLnN0b3JlSWQpXHJcbiAgICB9XHJcbiAgICB0aGlzLmRyb3BEb3duID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNhbWVyYUxpc3Qoc3RvcmVJZDogYW55KSB7XHJcbiAgICAvLyBzdG9yZUlkID0gXCIyMDEtMTI5XCJcclxuICAgIHRoaXMuc2VydmljZS5jYW1lcmFMaXN0KHN0b3JlSWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5jYW1lcmFMaXN0SW1hZ2VzID0gcmVzPy5kYXRhXHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgICAgaWYgKHRoaXMuY2FtZXJhTGlzdEltYWdlcyA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd2NhbUlzc3VlID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNob3djYW1Jc3N1ZSA9IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlKCkge1xyXG5cclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIG9wZW5SZW1vdGUoKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGFrZXJlbW90ZUNvbXBvbmVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgc2Nyb2xsYWJsZTogdHJ1ZSwgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZURldGFpbHMgPSB7XHJcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZUFkZHJlc3M/LnN0b3JlTmFtZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuc3RvcmVBZGRyZXNzLmNsaWVudElkLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlQWRkcmVzcz8uc3RvcmVJZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FtZXJhU2VsZWN0ZWQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jYW1lcmFTZWxlY3QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByb2NlZGRJbWFnZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTdWJtaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5jYW1lcmFJc3N1ZSA9IHRydWU7XHJcbiAgICB0aGlzLmNhbWVyYVNlbGVjdFdvcmsgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIFNlbGVjdGVkVGFicyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLlNlbGVjdGVkVGFiID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDaGVja2JveChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlY29uZGFyeUlzc3Vlc1tpbmRleF0uY2hlY2tlZCA9ICF0aGlzLnNlY29uZGFyeUlzc3Vlc1tpbmRleF0uY2hlY2tlZDtcclxuICB9XHJcbiAgdG9nZ2xlUmFkaW9ib3gob3RoZXJzOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvdGhlcnMubmFtZTtcclxuICB9XHJcbiAgZGVjcmVzZUNvdW50KCk6IGFueSB7XHJcbiAgICB0aGlzLmNvdW50IC09IDE7XHJcbiAgfVxyXG5cclxuICBpbmNyZWFzZUNvdW50KCk6IGFueSB7XHJcbiAgICB0aGlzLmNvdW50ICs9IDE7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29udGFjdCgpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDb250YWN0RGV0YWlsc0NvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudmFsdWUgPSB7XHJcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVOYW1lLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlQWRkcmVzcy5zdG9yZUlkLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5zdG9yZUFkZHJlc3MuY2xpZW50SWRcclxuICAgIH0sXHJcblxyXG4gICAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICB9KVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5kcm9wRG93biA9ICF0aGlzLmRyb3BEb3duO1xyXG4gIH1cclxuICBzdG9yZUNoYW5nZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnN0b3JlRHJvcERvd24gPSAhdGhpcy5zdG9yZURyb3BEb3duO1xyXG5cclxuICB9XHJcbiAgb3BlbkZpbGVJbnB1dCgpIHtcclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcbiAgZG93bmxvYWRpbWFnZSh1cmw6IGFueSkge1xyXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGEuaHJlZiA9IHVybDtcclxuICAgIGEuZG93bmxvYWQgPSB1cmw7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG4gIH1cclxuICBvbkZpbGVTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGxldCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzW2ldO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnaW1nJywgZmlsZSk7XHJcbiAgICAgICAgaWYgKCFmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ09ubHkgaW1hZ2UgZmlsZXMgYXJlIGFsbG93ZWQhJztcclxuICAgICAgICAgIHJldHVybjsgLy8gU3RvcCBmdXJ0aGVyIHByb2Nlc3NpbmdcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcy5wdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICAgICAgICB1cmw6IGUudGFyZ2V0LnJlc3VsdCxcclxuICAgICAgICAgICAgbGFzdE1vZGlmaWVkRGF0ZVN0cmluZzogbmV3IERhdGUoZmlsZS5sYXN0TW9kaWZpZWQpLnRvTG9jYWxlU3RyaW5nKClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlcnZpY2UudXBsb2FkQXR0YWNobWVudHModGhpcy50aWNrZXRJZCwgZm9ybURhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnZpZXdUaWNrZXQodHJ1ZSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuXHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlVG9vbHRpcCgpIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBDb250ZW50KSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbnRlbnQuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dUb29sdGlwKCkge1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcENvbnRlbnQpIHtcclxuICAgICAgdGhpcy50b29sdGlwQ29udGVudC5vcGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWItNSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1jb250ZW50IGJnLXdoaXRlIHB4LTMgcHktMiBtZS0zIGN1cnNvci1wb2ludGVyXCIgc3R5bGU9XCJ3aWR0aDogZml0LWNvbnRlbnQ7XCIgKGNsaWNrKT1cIlByZXZSb3V0ZSgpXCI+IDxzdmdcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuODMyNyA2Ljk5OTM1SDEuMTY2MDJNMS4xNjYwMiA2Ljk5OTM1TDYuOTk5MzUgMTIuODMyN00xLjE2NjAyIDYuOTk5MzVMNi45OTkzNSAxLjE2NjAyXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBzdG9yZS1sYWJlbFwiPiB7e3N0b3JlSWR9fTwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJzdG9yZUFkZHJlc3M/LmFkZHJlc3NcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZ3LWJvbGQgc3RvcmUtbGFiZWxcIj4gfFxyXG4gICAgICAgICAgICB7e3N0b3JlQWRkcmVzcz8uYWRkcmVzc319IDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj4ge3thY3RpdmVUaWNrZXREZXRhaWxzPy5jb3VudH19IHt7c3RvcmVBZGRyZXNzPy5zdGF0dXN9fTwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgcHMtM1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic3RvcmVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3tzdG9yZUlkID8gc3RvcmVJZCA6IHN0b3JlQWRkcmVzcz8uc3RvcmVJZH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTNcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlRHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMSB6LTEgdy0yMDBweCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCBoLTMwMHB4IG92ZXJmbG93LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgZGV0YWlscyBvZiBhY3RpdmVUaWNrZXREZXRhaWxzPy5kYXRhXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInN0b3JlQWRkcmVzcz8uc3RvcmVJZCA9PT0gZGV0YWlscz8uc3RvcmVJZCA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwiZ2V0c3RvcmVBZGRyZXNzKGRldGFpbHMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlscz8uc3RvcmVJZH19PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbWItNSBweS0zIHB4LTVcIj5cclxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkVGFicygndGlja2V0JylcIj48YSBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0ndGlja2V0JyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGZzLTQgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+VGlja2V0PC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwiU2VsZWN0ZWRUYWJzKCdzdG9yZWluZm8nKVwiPlxyXG4gICAgICAgICAgICA8YSBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0nc3RvcmVpbmZvJyA/ICdhY3RpdmUnIDonJ1wiIGNsYXNzPVwibmF2LWxpbmsgZnMtNCBjdXJzb3ItcG9pbnRlciBtZS02XCI+U3RvcmVcclxuICAgICAgICAgICAgICAgIEluZm88L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIlNlbGVjdGVkVGFiID09PSd0aWNrZXQnXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTIgbXMtMyBmdy1zZW1pYm9sZFwiPnt7dGlja2V0SWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiSW5mcmFJc3N1ZVwiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiPnt7SW5mcmFJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBmdy1ib2xkIG1iLTIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPjxzdmcgY2xhc3M9XCJtZS0zXCJcclxuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODc3Xzk2NTUyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04IDFWM000IDFWM00xLjUgNUgxMC41TTIuNSAySDkuNUMxMC4wNTIzIDIgMTAuNSAyLjQ0NzcyIDEwLjUgM1YxMEMxMC41IDEwLjU1MjMgMTAuMDUyMyAxMSA5LjUgMTFIMi41QzEuOTQ3NzIgMTEgMS41IDEwLjU1MjMgMS41IDEwVjNDMS41IDIuNDQ3NzIgMS45NDc3MiAyIDIuNSAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4xXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4NzdfOTY1NTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+IENyZWF0ZWQgRGF0ZTp7eyB0aWNrZXRJbmZvPy5jcmVhdGVkQXR8Y3VzdG9tRGF0ZUZvcm1hdH19PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNWaWV3XCIgIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlbkNvbnRhY3QoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzg3N18xMDIyMDMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi41NDE1IDQuMTY2NTlDMTMuMzU1NSA0LjMyNTM5IDE0LjEwMzUgNC43MjM0NyAxNC42ODk5IDUuMzA5ODZDMTUuMjc2MyA1Ljg5NjI2IDE1LjY3NDQgNi42NDQzMSAxNS44MzMyIDcuNDU4MjVNMTIuNTQxNSAwLjgzMzI1MkMxNC4yMzI2IDEuMDIxMTIgMTUuODA5NSAxLjc3ODQgMTcuMDEzNCAyLjk4MDc2QzE4LjIxNzMgNC4xODMxMiAxOC45NzY1IDUuNzU5MDkgMTkuMTY2NSA3LjQ0OTkyTTE4LjMzMzIgMTQuMDk5OVYxNi41OTk5QzE4LjMzNDEgMTYuODMyIDE4LjI4NjYgMTcuMDYxNyAxOC4xOTM2IDE3LjI3NDRDMTguMTAwNiAxNy40ODcgMTcuOTY0MyAxNy42Nzc5IDE3Ljc5MzMgMTcuODM0OEMxNy42MjIyIDE3Ljk5MTcgMTcuNDIwMyAxOC4xMTEyIDE3LjIwMDUgMTguMTg1NUMxNi45ODA2IDE4LjI1OTkgMTYuNzQ3NyAxOC4yODc1IDE2LjUxNjUgMTguMjY2NkMxMy45NTIyIDE3Ljk4OCAxMS40ODkgMTcuMTExNyA5LjMyNDg2IDE1LjcwODNDNy4zMTEzOSAxNC40Mjg4IDUuNjA0MzEgMTIuNzIxNyA0LjMyNDg2IDEwLjcwODNDMi45MTY1MSA4LjUzNDI2IDIuMDQwMDcgNi4wNTkwOCAxLjc2NjUzIDMuNDgzMjVDMS43NDU3IDMuMjUyODEgMS43NzMwOSAzLjAyMDU1IDEuODQ2OTUgMi44MDEyN0MxLjkyMDggMi41ODE5OSAyLjAzOTUxIDIuMzgwNDkgMi4xOTU1IDIuMjA5NkMyLjM1MTUgMi4wMzg3MSAyLjU0MTM3IDEuOTAyMTggMi43NTMwMiAxLjgwODY5QzIuOTY0NjggMS43MTUyIDMuMTkzNDggMS42NjY4IDMuNDI0ODYgMS42NjY1OUg1LjkyNDg2QzYuMzI5MjggMS42NjI2IDYuNzIxMzYgMS44MDU4MiA3LjAyOCAyLjA2OTUzQzcuMzM0NjQgMi4zMzMyNCA3LjUzNDkzIDIuNjk5NDYgNy41OTE1MyAzLjA5OTkyQzcuNjk3MDUgMy44OTk5NyA3Ljg5Mjc0IDQuNjg1NTIgOC4xNzQ4NiA1LjQ0MTU5QzguMjg2OTggNS43Mzk4NiA4LjMxMTI1IDYuMDY0MDEgOC4yNDQ3OCA2LjM3NTY1QzguMTc4MzIgNi42ODcyOSA4LjAyMzkyIDYuOTczMzQgNy43OTk4NiA3LjE5OTkyTDYuNzQxNTMgOC4yNTgyNUM3LjkyNzgzIDEwLjM0NDUgOS42NTUyNCAxMi4wNzIgMTEuNzQxNSAxMy4yNTgzTDEyLjc5OTkgMTIuMTk5OUMxMy4wMjY0IDExLjk3NTkgMTMuMzEyNSAxMS44MjE1IDEzLjYyNDEgMTEuNzU1QzEzLjkzNTggMTEuNjg4NSAxNC4yNTk5IDExLjcxMjggMTQuNTU4MiAxMS44MjQ5QzE1LjMxNDMgMTIuMTA3IDE2LjA5OTggMTIuMzAyNyAxNi44OTk5IDEyLjQwODNDMTcuMzA0NyAxMi40NjU0IDE3LjY3NDQgMTIuNjY5MyAxNy45Mzg2IDEyLjk4MTJDMTguMjAyOSAxMy4yOTMxIDE4LjM0MzMgMTMuNjkxMiAxOC4zMzMyIDE0LjA5OTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzg3N18xMDIyMDNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+Q29udGFjdCBEZXRhaWxzPC9zcGFuPiA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzVmlld1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlblJlbW90ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9kZXNrdG9wLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdCBSZW1vdGVseTwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRpY2tldEluZm8/LnRpY2tldERldGFpbHMuaXNzdWVTdGF0dXMgPT09J25vdGlkZW50aWZpZWQnJiYoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0JiZ0aWNrZXRJbmZvPy5zdGF0dXMhPT0nY2xvc2VkJ3x8dGlja2V0SW5mbz8udGlja2V0RGV0YWlscy50aWNrZXRUeXBlPT09J3JlZnJlc2h0aWNrZXQnJiYoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0JiZ0aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzPy5yZWZyZXNoVGlja2V0U3RhdHVzPT09J25vdGlkZW50aWZpZWQnJiZ1c2VyVHlwZSA9PT0nY2xpZW50J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcGVuZWRpc3N1ZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMSAxMkMyMSA3LjAyOTMgMTYuOTcwNyAzIDEyIDNDNy4wMjkzIDMgMyA3LjAyOTMgMyAxMkMzIDE2Ljk3MDcgNy4wMjkzIDIxIDEyIDIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjkgMy4wNDUwNEMxMi45IDMuMDQ1MDQgMTUuNiA2LjYwMDA0IDE1LjYgMTJMMTIuOSAzLjA0NTA0Wk0xMS4xIDIwLjk1NUMxMS4xIDIwLjk1NSA4LjQgMTcuNCA4LjQgMTJDOC40IDYuNjAwMDQgMTEuMSAzLjA0NTA0IDExLjEgMy4wNDUwNE0zLjU2NyAxNS4xNUgxMkgzLjU2N1pNMy41NjcgOC44NTAwNEgyMC40MzNIMy41NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwLjg5MTEgMTcuMzI1MkMyMS4zMzU3IDE3LjU5ODggMjEuMzA3OCAxOC4yNjM5IDIwLjg1MDYgMTguMzE2MUwxOC41NDAzIDE4LjU3OEwxNy41MDQ0IDIwLjY1ODhDMTcuMjk5MiAyMS4wNzE5IDE2LjY2NDcgMjAuODY5NCAxNi41NTk0IDIwLjM1ODJMMTUuNDI5OSAxNC44NTM4QzE1LjM0MDggMTQuNDIxOCAxNS43Mjk2IDE0LjE1IDE2LjEwNDkgMTQuMzgxM0wyMC44OTExIDE3LjMyNTJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwLjI1IDEyQzIwLjI1IDEyLjQxNDIgMjAuNTg1OCAxMi43NSAyMSAxMi43NUMyMS40MTQyIDEyLjc1IDIxLjc1IDEyLjQxNDIgMjEuNzUgMTJIMjAuMjVaTTEyIDIxLjc1QzEyLjQxNDIgMjEuNzUgMTIuNzUgMjEuNDE0MiAxMi43NSAyMUMxMi43NSAyMC41ODU4IDEyLjQxNDIgMjAuMjUgMTIgMjAuMjVWMjEuNzVaTTEzLjQ5NzMgMi41OTE0MkMxMy4yNDY3IDIuMjYxNTYgMTIuNzc2MiAyLjE5NzI1IDEyLjQ0NjQgMi40NDc3OEMxMi4xMTY1IDIuNjk4MyAxMi4wNTIyIDMuMTY4OCAxMi4zMDI3IDMuNDk4NjZMMTMuNDk3MyAyLjU5MTQyWk0xNC44NSAxMkMxNC44NSAxMi40MTQzIDE1LjE4NTggMTIuNzUgMTUuNiAxMi43NUMxNi4wMTQyIDEyLjc1IDE2LjM1IDEyLjQxNDMgMTYuMzUgMTJIMTQuODVaTTEwLjUwMjcgMjEuNDA4N0MxMC43NTMzIDIxLjczODUgMTEuMjIzOCAyMS44MDI4IDExLjU1MzYgMjEuNTUyM0MxMS44ODM1IDIxLjMwMTggMTEuOTQ3OCAyMC44MzEzIDExLjY5NzMgMjAuNTAxNEwxMC41MDI3IDIxLjQwODdaTTExLjY5NzMgMy40OTg2NkMxMS45NDc4IDMuMTY4OCAxMS44ODM1IDIuNjk4MyAxMS41NTM2IDIuNDQ3NzhDMTEuMjIzOCAyLjE5NzI1IDEwLjc1MzMgMi4yNjE1NiAxMC41MDI3IDIuNTkxNDJMMTEuNjk3MyAzLjQ5ODY2Wk0zLjU2NyAxNC40QzMuMTUyNzkgMTQuNCAyLjgxNyAxNC43MzU4IDIuODE3IDE1LjE1QzIuODE3IDE1LjU2NDMgMy4xNTI3OSAxNS45IDMuNTY3IDE1LjlWMTQuNFpNMTIgMTUuOUMxMi40MTQyIDE1LjkgMTIuNzUgMTUuNTY0MyAxMi43NSAxNS4xNUMxMi43NSAxNC43MzU4IDEyLjQxNDIgMTQuNCAxMiAxNC40VjE1LjlaTTMuNTY3IDguMTAwMDRDMy4xNTI3OSA4LjEwMDA0IDIuODE3IDguNDM1ODMgMi44MTcgOC44NTAwNEMyLjgxNyA5LjI2NDI2IDMuMTUyNzkgOS42MDAwNCAzLjU2NyA5LjYwMDA0VjguMTAwMDRaTTIwLjQzMyA5LjYwMDA0QzIwLjg0NzIgOS42MDAwNCAyMS4xODMgOS4yNjQyNiAyMS4xODMgOC44NTAwNEMyMS4xODMgOC40MzU4MyAyMC44NDcyIDguMTAwMDQgMjAuNDMzIDguMTAwMDRWOS42MDAwNFpNMjAuODkxMSAxNy4zMjUyTDIxLjI4NDIgMTYuNjg2NUwyMS4yODQgMTYuNjg2NEwyMC44OTExIDE3LjMyNTJaTTIwLjg1MDYgMTguMzE2MUwyMC45MzUxIDE5LjA2MTNMMjAuOTM1NyAxOS4wNjEzTDIwLjg1MDYgMTguMzE2MVpNMTguNTQwMyAxOC41NzhMMTguNDU1OCAxNy44MzI4TDE4LjA1MDYgMTcuODc4N0wxNy44Njg5IDE4LjI0MzhMMTguNTQwMyAxOC41NzhaTTE3LjUwNDQgMjAuNjU4OEwxNi44MzMgMjAuMzI0NkwxNi44MzI3IDIwLjMyNTJMMTcuNTA0NCAyMC42NTg4Wk0xNi41NTk0IDIwLjM1ODJMMTUuODI0NyAyMC41MDlMMTUuODI0OCAyMC41MDk1TDE2LjU1OTQgMjAuMzU4MlpNMTUuNDI5OSAxNC44NTM4TDE2LjE2NDYgMTQuNzAzTDE2LjE2NDQgMTQuNzAyM0wxNS40Mjk5IDE0Ljg1MzhaTTE2LjEwNDkgMTQuMzgxM0wxNS43MTE0IDE1LjAxOThMMTUuNzEyIDE1LjAyMDFMMTYuMTA0OSAxNC4zODEzWk0yMS43NSAxMkMyMS43NSA2LjYxNTA5IDE3LjM4NDkgMi4yNSAxMiAyLjI1VjMuNzVDMTYuNTU2NSAzLjc1IDIwLjI1IDcuNDQzNTEgMjAuMjUgMTJIMjEuNzVaTTEyIDIuMjVDNi42MTUwOSAyLjI1IDIuMjUgNi42MTUwOSAyLjI1IDEySDMuNzVDMy43NSA3LjQ0MzUxIDcuNDQzNTEgMy43NSAxMiAzLjc1VjIuMjVaTTIuMjUgMTJDMi4yNSAxNy4zODQ5IDYuNjE1MDkgMjEuNzUgMTIgMjEuNzVWMjAuMjVDNy40NDM1MSAyMC4yNSAzLjc1IDE2LjU1NjUgMy43NSAxMkgyLjI1Wk0xMi45IDMuMDQ1MDRDMTIuMzAyNyAzLjQ5ODY2IDEyLjMwMjYgMy40OTg0NiAxMi4zMDI0IDMuNDk4MjhDMTIuMzAyNCAzLjQ5ODIzIDEyLjMwMjMgMy40OTgwNiAxMi4zMDIyIDMuNDk3OTdDMTIuMzAyMSAzLjQ5Nzc5IDEyLjMwMiAzLjQ5NzY3IDEyLjMwMTkgMy40OTc2QzEyLjMwMTggMy40OTc0NiAxMi4zMDE5IDMuNDk3NTMgMTIuMzAyMSAzLjQ5NzgxQzEyLjMwMjUgMy40OTgzOCAxMi4zMDM2IDMuNDk5OCAxMi4zMDUzIDMuNTAyMDZDMTIuMzA4NiAzLjUwNjU4IDEyLjMxNDQgMy41MTQ0NyAxMi4zMjI1IDMuNTI1NjdDMTIuMzM4NyAzLjU0ODA5IDEyLjM2NDEgMy41ODM3NSAxMi4zOTczIDMuNjMyMjZDMTIuNDYzOCAzLjcyOTI5IDEyLjU2MTYgMy44Nzc1MiAxMi42ODA1IDQuMDczNjFDMTIuOTE4MyA0LjQ2NjA2IDEzLjIzOTMgNS4wNDg2MyAxMy41NjE0IDUuNzk0NzhDMTQuMjA2MSA3LjI4ODM3IDE0Ljg1IDkuNDI1MjYgMTQuODUgMTJIMTYuMzVDMTYuMzUgOS4xNzQ4MyAxNS42NDM5IDYuODM0MjIgMTQuOTM4NiA1LjIwMDMxQzE0LjU4NTcgNC4zODI3MSAxNC4yMzE3IDMuNzM5MDIgMTMuOTYzMyAzLjI5NjE2QzEzLjgyOSAzLjA3NDYgMTMuNzE1OSAyLjkwMjkxIDEzLjYzNDcgMi43ODQ0M0MxMy41OTQxIDIuNzI1MTggMTMuNTYxNSAyLjY3OTIgMTMuNTM4MSAyLjY0NjlDMTMuNTI2NSAyLjYzMDc1IDEzLjUxNzEgMi42MTgwMiAxMy41MTAyIDIuNjA4NzZDMTMuNTA2OCAyLjYwNDEzIDEzLjUwNCAyLjYwMDM2IDEzLjUwMTggMi41OTc0N0MxMy41MDA3IDIuNTk2MDIgMTMuNDk5OCAyLjU5NDggMTMuNDk5MSAyLjU5Mzc5QzEzLjQ5ODcgMi41OTMyOSAxMy40OTgzIDIuNTkyODQgMTMuNDk4IDIuNTkyNDRDMTMuNDk3OSAyLjU5MjI0IDEzLjQ5NzcgMi41OTE5OSAxMy40OTc2IDIuNTkxODlDMTMuNDk3NCAyLjU5MTY1IDEzLjQ5NzMgMi41OTE0MiAxMi45IDMuMDQ1MDRaTTExLjEgMjAuOTU1QzExLjY5NzMgMjAuNTAxNCAxMS42OTc0IDIwLjUwMTYgMTEuNjk3NiAyMC41MDE4QzExLjY5NzYgMjAuNTAxOSAxMS42OTc3IDIwLjUwMiAxMS42OTc4IDIwLjUwMjFDMTEuNjk3OSAyMC41MDIzIDExLjY5OCAyMC41MDI0IDExLjY5ODEgMjAuNTAyNUMxMS42OTgyIDIwLjUwMjYgMTEuNjk4MSAyMC41MDI2IDExLjY5NzkgMjAuNTAyM0MxMS42OTc1IDIwLjUwMTcgMTEuNjk2NCAyMC41MDAzIDExLjY5NDggMjAuNDk4QzExLjY5MTQgMjAuNDkzNSAxMS42ODU2IDIwLjQ4NTYgMTEuNjc3NSAyMC40NzQ0QzExLjY2MTMgMjAuNDUyIDExLjYzNTkgMjAuNDE2MyAxMS42MDI3IDIwLjM2NzhDMTEuNTM2MiAyMC4yNzA4IDExLjQzODQgMjAuMTIyNiAxMS4zMTk1IDE5LjkyNjVDMTEuMDgxNyAxOS41MzQgMTAuNzYwNyAxOC45NTE1IDEwLjQzODYgMTguMjA1M0M5Ljc5Mzg4IDE2LjcxMTcgOS4xNSAxNC41NzQ4IDkuMTUgMTJINy42NUM3LjY1IDE0LjgyNTMgOC4zNTYxMyAxNy4xNjU5IDkuMDYxNDIgMTguNzk5OEM5LjQxNDM0IDE5LjYxNzQgOS43NjgzMyAyMC4yNjExIDEwLjAzNjcgMjAuNzAzOUMxMC4xNzEgMjAuOTI1NSAxMC4yODQxIDIxLjA5NzIgMTAuMzY1MyAyMS4yMTU3QzEwLjQwNTkgMjEuMjc0OSAxMC40Mzg1IDIxLjMyMDkgMTAuNDYxOSAyMS4zNTMyQzEwLjQ3MzUgMjEuMzY5MyAxMC40ODI5IDIxLjM4MjEgMTAuNDg5OCAyMS4zOTEzQzEwLjQ5MzIgMjEuMzk2IDEwLjQ5NiAyMS4zOTk3IDEwLjQ5ODIgMjEuNDAyNkMxMC40OTkzIDIxLjQwNDEgMTAuNTAwMiAyMS40MDUzIDEwLjUwMDkgMjEuNDA2M0MxMC41MDEzIDIxLjQwNjggMTAuNTAxNyAyMS40MDczIDEwLjUwMiAyMS40MDc2QzEwLjUwMjEgMjEuNDA3OCAxMC41MDIzIDIxLjQwODEgMTAuNTAyNCAyMS40MDgyQzEwLjUwMjYgMjEuNDA4NCAxMC41MDI3IDIxLjQwODcgMTEuMSAyMC45NTVaTTkuMTUgMTJDOS4xNSA5LjQyNTI2IDkuNzkzODggNy4yODgzNyAxMC40Mzg2IDUuNzk0NzhDMTAuNzYwNyA1LjA0ODYzIDExLjA4MTcgNC40NjYwNiAxMS4zMTk1IDQuMDczNjFDMTEuNDM4NCAzLjg3NzUyIDExLjUzNjIgMy43MjkyOSAxMS42MDI3IDMuNjMyMjZDMTEuNjM1OSAzLjU4Mzc1IDExLjY2MTMgMy41NDgwOSAxMS42Nzc1IDMuNTI1NjdDMTEuNjg1NiAzLjUxNDQ3IDExLjY5MTQgMy41MDY1OCAxMS42OTQ4IDMuNTAyMDZDMTEuNjk2NCAzLjQ5OTggMTEuNjk3NSAzLjQ5ODM4IDExLjY5NzkgMy40OTc4MUMxMS42OTgxIDMuNDk3NTMgMTEuNjk4MiAzLjQ5NzQ2IDExLjY5ODEgMy40OTc2QzExLjY5OCAzLjQ5NzY3IDExLjY5NzkgMy40OTc3OSAxMS42OTc4IDMuNDk3OTdDMTEuNjk3NyAzLjQ5ODA2IDExLjY5NzYgMy40OTgyMyAxMS42OTc2IDMuNDk4MjhDMTEuNjk3NCAzLjQ5ODQ2IDExLjY5NzMgMy40OTg2NiAxMS4xIDMuMDQ1MDRDMTAuNTAyNyAyLjU5MTQyIDEwLjUwMjYgMi41OTE2NSAxMC41MDI0IDIuNTkxODlDMTAuNTAyMyAyLjU5MTk5IDEwLjUwMjEgMi41OTIyNCAxMC41MDIgMi41OTI0NEMxMC41MDE3IDIuNTkyODQgMTAuNTAxMyAyLjU5MzI5IDEwLjUwMDkgMi41OTM3OUMxMC41MDAyIDIuNTk0OCAxMC40OTkzIDIuNTk2MDIgMTAuNDk4MiAyLjU5NzQ3QzEwLjQ5NiAyLjYwMDM2IDEwLjQ5MzIgMi42MDQxMyAxMC40ODk4IDIuNjA4NzZDMTAuNDgyOSAyLjYxODAyIDEwLjQ3MzUgMi42MzA3NSAxMC40NjE5IDIuNjQ2OUMxMC40Mzg1IDIuNjc5MiAxMC40MDU5IDIuNzI1MTggMTAuMzY1MyAyLjc4NDQzQzEwLjI4NDEgMi45MDI5MSAxMC4xNzEgMy4wNzQ2IDEwLjAzNjcgMy4yOTYxNkM5Ljc2ODMzIDMuNzM5MDIgOS40MTQzNCA0LjM4MjcxIDkuMDYxNDIgNS4yMDAzMUM4LjM1NjEzIDYuODM0MjIgNy42NSA5LjE3NDgzIDcuNjUgMTJIOS4xNVpNMy41NjcgMTUuOUgxMlYxNC40SDMuNTY3VjE1LjlaTTMuNTY3IDkuNjAwMDRIMjAuNDMzVjguMTAwMDRIMy41NjdWOS42MDAwNFpNMjAuNDk4IDE3Ljk2MzlDMjAuNDc5MiAxNy45NTI0IDIwLjQ1NzUgMTcuOTI1MiAyMC40NTk3IDE3Ljg3MjdDMjAuNDYwOSAxNy44NDM0IDIwLjQ3MTUgMTcuNzc3MiAyMC41Mjk3IDE3LjcwNTRDMjAuNTk2MSAxNy42MjM1IDIwLjY4ODkgMTcuNTc5NyAyMC43NjU1IDE3LjU3MDlMMjAuOTM1NyAxOS4wNjEzQzIxLjYxNjcgMTguOTgzNSAyMS45Mzg0IDE4LjQxNzkgMjEuOTU4NCAxNy45MzQ2QzIxLjk3NzYgMTcuNDY4MiAyMS43NDc2IDE2Ljk3MTcgMjEuMjg0MiAxNi42ODY1TDIwLjQ5OCAxNy45NjM5Wk0yMC43NjYxIDE3LjU3MDlMMTguNDU1OCAxNy44MzI4TDE4LjYyNDggMTkuMzIzMkwyMC45MzUxIDE5LjA2MTNMMjAuNzY2MSAxNy41NzA5Wk0xNy44Njg5IDE4LjI0MzhMMTYuODMzIDIwLjMyNDZMMTguMTc1OCAyMC45OTMxTDE5LjIxMTcgMTguOTEyM0wxNy44Njg5IDE4LjI0MzhaTTE2LjgzMjcgMjAuMzI1MkMxNi44NjY4IDIwLjI1NjUgMTYuOTM5NSAyMC4xODM5IDE3LjAzOTggMjAuMTQ5MkMxNy4xMjc3IDIwLjExODggMTcuMTk0IDIwLjEzMTYgMTcuMjIyMSAyMC4xNDA1QzE3LjI3MiAyMC4xNTY0IDE3LjI4OTYgMjAuMTg1NyAxNy4yOTQgMjAuMjA2OUwxNS44MjQ4IDIwLjUwOTVDMTUuOTM0NSAyMS4wNDE5IDE2LjMyMiAyMS40MjgxIDE2Ljc2NjggMjEuNTY5N0MxNy4yMjg2IDIxLjcxNjggMTcuODcwNyAyMS42MDczIDE4LjE3NjEgMjAuOTkyNUwxNi44MzI3IDIwLjMyNTJaTTE3LjI5NDEgMjAuMjA3NEwxNi4xNjQ2IDE0LjcwM0wxNC42OTUyIDE1LjAwNDZMMTUuODI0NyAyMC41MDlMMTcuMjk0MSAyMC4yMDc0Wk0xNi4xNjQ0IDE0LjcwMjNDMTYuMTcyMyAxNC43NDA2IDE2LjE2NjYgMTQuODgzIDE2LjAyMzIgMTQuOTgzM0MxNS44OCAxNS4wODM1IDE1Ljc0NDYgMTUuMDQwMiAxNS43MTE0IDE1LjAxOThMMTYuNDk4NCAxMy43NDI4QzE2LjA4OTkgMTMuNDkxMSAxNS41NzI0IDEzLjQ2OCAxNS4xNjMzIDEzLjc1NDNDMTQuNzU0IDE0LjA0MDcgMTQuNTk4NCAxNC41MzUgMTQuNjk1NCAxNS4wMDUzTDE2LjE2NDQgMTQuNzAyM1pNMTUuNzEyIDE1LjAyMDFMMjAuNDk4MiAxNy45NjRMMjEuMjg0IDE2LjY4NjRMMTYuNDk3OCAxMy43NDI1TDE1LjcxMiAxNS4wMjAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNDc1NDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e3NlbGVjdGVkSXNzdWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNsaWNrKT1cImNob29zZWFuaXNzdWUoJycpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwib3BlbkRyb3Bkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbmNhcmQtY29udGVudCBjdXJzb3ItcG9pbnRlciBiZy13aGl0ZSBweC0zIHB5LTJcIj4gPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0xIHctMjAwcHggcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwcHggZW5kLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZHJvcGRvd25JdGVtc1wiIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5zZWxlY3RlZElzc3VlID09PSBpdGVtID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJc3N1ZSA9PT0gJ0ludGVybmV0IElzc3Vlcyd8fHNlbGVjdGVkSXNzdWUgPT09ICdDYW1lcmEgSXNzdWVzJyYmc2hvd2NhbUlzc3VlfHxzZWxlY3RlZElzc3VlID09PSAnU3lzdGVtIElzc3VlcycgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1jb250ZW50IHctMTAwIG10LTIgcHgtNCBweS0yIHBiLTQgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5jYXJkLWxhYmVsIGZ3LXNlbWlib2xkIHB5LTJcIiAqbmdJZj1cInNlY29uZGFyeUlzc3Vlcz8ubGVuZ3RoPjBcIj4gUGxlYXNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGV2YW50IHByb2JsZW0gZmFjaW5nIGZyb20gdGhlIGZvbGxvd2luZyA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGlzc3VlIG9mIHNlY29uZGFyeUlzc3VlczsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbmNhcmQtY29udGVudCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIG10LTIgcHgtNCBweS00IGN1cnNvci1wb2ludGVyIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoZWNrYm94KGluZGV4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbWcgY2xhc3M9XCJwZS0zXCIgc3JjPScuL2Fzc2V0cy90YW5nby9JbWFnZXMvRmVhdHVyZWQgaWNvbi5wbmcnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5ndGV4dFwiPnt7aXNzdWU/Lm5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTMwMHB4XCIgW25nYlRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnRcIiB0cmlnZ2Vycz1cIm1vdXNlZW50ZXI6bW91c2VsZWF2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibXMtM1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTgyNl80NDg3MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjczVjguMDAwNjVNOC4wMDA2NSA1LjMzMzk4SDguMDA3MzJNMTQuNjY3MyA4LjAwMDY1QzE0LjY2NzMgMTEuNjgyNiAxMS42ODI2IDE0LjY2NzMgOC4wMDA2NSAxNC42NjczQzQuMzE4NzUgMTQuNjY3MyAxLjMzMzk4IDExLjY4MjYgMS4zMzM5OCA4LjAwMDY1QzEuMzMzOTggNC4zMTg3NSA0LjMxODc1IDEuMzMzOTggOC4wMDA2NSAxLjMzMzk4QzExLjY4MjYgMS4zMzM5OCAxNC42NjczIDQuMzE4NzUgMTQuNjY3MyA4LjAwMDY1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTgyNl80NDg3MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERlZmluZSB0b29sdGlwIGNvbnRlbnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sdGlwQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS10b29sdGlwLWNvbnRlbnQgdG9vbHRpcC1jb250ZW50IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidy0xMDBcIiAqbmdGb3I9XCJsZXQgdG9vbHRpcEl0ZW0gb2YgaXNzdWU/LnRvb2xUaXBzXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcEl0ZW0/Lm5hbWUgfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWRjaGVjayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJpc3N1ZS5jaGVja2VkXCIgY2xhc3M9XCJwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHQtNlwiICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoaWJlcm50aW9uXCIgY2xhc3M9XCIgbWFpbmNhcmQtbGFiZWwgZnctc2VtaWJvbGQgbWItMlwiPkhpYmVybmF0aW9uIChpbiBkYXlzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHctMjUwcHggcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUteSB0b3AtNTAgbWUtNSBwcy0zIHRpY2tldERheXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gdG9nZ2xlLW9mZiBzdmctaWNvbi0xXCIgW25nQ2xhc3NdPVwiY291bnQgPT09IDAgPyAncGUtbm9uZScgOiAnJ1wiIChjbGljayk9XCJkZWNyZXNlQ291bnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQuNjY2MDIgMTBIMTYuMzMyN1wiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiaGliZXJudGlvblwiIFsobmdNb2RlbCldPVwiSGliZXJuYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCIgdmFsdWU9XCJ7e2NvdW50fX1cIiBwbGFjZWhvbGRlcj1cIjBcIiByZWFkT25seSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgdHJhbnNsYXRlLW1pZGRsZS15IHRvcC01MCBlbmQtMCBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHRvZ2dsZS1vbiBzdmctaWNvbi0xIHRpY2tldERheXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbmNyZWFzZUNvdW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC40OTkzIDQuMTY2NVYxNS44MzMyTTQuNjY2MDIgOS45OTk4NEgxNi4zMzI3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZElzc3VlID09PSAnT3RoZXJzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudCB3LTEwMCBtdC0yIHB4LTQgcHktMiBwYi00IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1sYWJlbCBmdy1zZW1pYm9sZCBweS0yXCI+UGxlYXNlIHNlbGVjdCB0aGUgcmVsZXZhbnQgcHJvYmxlbSBmYWNpbmcgZnJvbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3RoZXJzIG9mIG90aGVyc0lzc3VlOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW5jYXJkLWNvbnRlbnQgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMCBtdC0yIHB4LTQgcHktNCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVJhZGlvYm94KG90aGVycylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW1nIGNsYXNzPVwicGUtM1wiIHNyYz0nLi9hc3NldHMvdGFuZ28vSW1hZ2VzL0ZlYXR1cmVkIGljb24ucG5nJz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHRcIj57e290aGVycy5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgY2xhc3M9XCJtcy0zXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xODI2XzQ0ODcxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDY1IDEwLjY2NzNWOC4wMDA2NU04LjAwMDY1IDUuMzMzOThIOC4wMDczMk0xNC42NjczIDguMDAwNjVDMTQuNjY3MyAxMS42ODI2IDExLjY4MjYgMTQuNjY3MyA4LjAwMDY1IDE0LjY2NzNDNC4zMTg3NSAxNC42NjczIDEuMzMzOTggMTEuNjgyNiAxLjMzMzk4IDguMDAwNjVDMS4zMzM5OCA0LjMxODc1IDQuMzE4NzUgMS4zMzM5OCA4LjAwMDY1IDEuMzMzOThDMTEuNjgyNiAxLjMzMzk4IDE0LjY2NzMgNC4zMTg3NSAxNC42NjczIDguMDAwNjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xODI2XzQ0ODcxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZGNoZWNrIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJyYWRpb0dyb3Vwe3tpfX1cIiBbdmFsdWVdPVwib3RoZXJzLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9wdGlvblwiIGNsYXNzPVwicC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB0LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGliZXJudGlvblwiIGNsYXNzPVwiIG1haW5jYXJkLWxhYmVsIGZ3LXNlbWlib2xkIG1iLTJcIj5IaWJlcm5hdGlvbiAoaW4gZGF5cylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB3LTI1MHB4IHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0cmFuc2xhdGUtbWlkZGxlLXkgdG9wLTUwIG1lLTUgcHMtMyB0aWNrZXREYXlzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHRvZ2dsZS1vZmYgc3ZnLWljb24tMVwiIFtuZ0NsYXNzXT1cImNvdW50ID09PSAwID8gJ3BlLW5vbmUnIDogJydcIiAoY2xpY2spPVwiZGVjcmVzZUNvdW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00LjY2NjAyIDEwSDE2LjMzMjdcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImhpYmVybnRpb25cIiBbKG5nTW9kZWwpXT1cIkhpYmVybmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiIHZhbHVlPVwie3tjb3VudH19XCIgcGxhY2Vob2xkZXI9XCIwXCIgcmVhZE9ubHkgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUteSB0b3AtNTAgZW5kLTAgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiB0b2dnbGUtb24gc3ZnLWljb24tMSB0aWNrZXREYXlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VDb3VudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNDk5MyA0LjE2NjVWMTUuODMzMk00LjY2NjAyIDkuOTk5ODRIMTYuMzMyN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudCB3LTEwMCBtdC0yIHB4LTQgcHktMiBwYi00XCIgKm5nSWY9XCJzZWxlY3RlZElzc3VlID09PSAnQ2FtZXJhIElzc3VlcycmJiFzaG93Y2FtSXNzdWUmJmNhbWVyYUxpc3RJbWFnZXMubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1sYWJlbCBmdy1zZW1pYm9sZCBweS0yIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2UgbWFrZSBzdXJlIGFsbCBvZiB5b3VyIHN1cnZlaWxsYW5jZSBjYW1lcmFzIGFyZSBmdW5jdGlvbmluZyBhbmQgdmVyaWZ5IHRoZSBmb290YWdlIHlvdSBoYXZlLiA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjYW1lcmFMaXN0SW1hZ2VzO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEgZnctYm9sZFwiPnt7aXRlbT8uY2FtZXJhTmFtZSA/IGl0ZW0/LmNhbWVyYU5hbWU6XCItLVwifX08L3NwYW4+PHNwYW4gY2xhc3M9XCJjYW1lcmEgZnctYm9sZFwiPiBDYW1lcmEgMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLTIgdy0xMDAgbWgtMzUwcHggb3ZlcmZsb3ctaGlkZGVuIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMFwiICpuZ0lmPVwiaXRlbT8udGh1bWJuYWlsSW1hZ2UgIT09IG51bGwgJiYgaXRlbT8udGh1bWJuYWlsSW1hZ2UgIT09ICcnXCIgW3NyY109XCJpdGVtPy50aHVtYm5haWxJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nIGNsYXNzPVwidy0xMDBcIiAgc3JjPSdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCc+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0/LnRodW1ibmFpbEltYWdlID09PSBudWxsIHx8IGl0ZW0/LnRodW1ibmFpbEltYWdlID09PSAnJ1wiIGNsYXNzPVwidy0xMDAgIGgtMzAwcHggcm91bmRlZC0yIG92ZXJmbG93LWhpZGRlbiBOb3ByZXZpZXcgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld1RpdGxlIHRleHQtY2VudGVyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZSB7e2l0ZW0/LnRodW1ibmFpbEltYWdlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld3N1YlRpdGxlIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTUgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FtZXJhU2VsZWN0aW9uKGksJ3dvcmtpbmcnKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIHctNTAgbWUtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jYW1lcmFOdW1iZXI9PT0nd29ya2luZyc/J3RleHQtcHJpbWFyeSBiZy1saWdodC1wcmltYXJ5JzonJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdvcmtpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FtZXJhU2VsZWN0aW9uKGksJ25vdHdvcmtpbmcnKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIHctNTAgbXMtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jYW1lcmFOdW1iZXI9PT0nbm90d29ya2luZyc/J3RleHQtZGFuZ2VyIGJnLWxpZ2h0LWRhbmdlcic6JydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3QgV29ya2luZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIXNob3djYW1Jc3N1ZVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG10LTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1cGRhdGVDYW1TdGF0dXMoKVwiPlByb2NlZWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzPy5pc3N1ZVN0YXR1cyA9PT0naWRlbnRpZmllZCd8fHRpY2tldEluZm8/LnN0YXR1cyA9PT0gJ2Nsb3NlZCd8fHRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZSA9PT0gJ3JlZnJlc2h0aWNrZXQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb2JqIG9mIHZpZXdUaWNrZXREYXRhO2xldCBpPWluZGV4XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEhvcml6b250YWwgbGluZSB3aXRoIGRheSAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcC0wIHctMTAwIG1lLTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYXkgZnctYm9sZC00MDBcIj5Ub2RheTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcC0wIHctMTAwIG1zLTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGNvZGUgc3RhcnQgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvbkJ5ID09PSAnVXNlcidcIiBjbGFzcz1cImQtZmxleCBtcy01IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSAhPT0nc3RhdHVzQ2hhbmdlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcGUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1zZ3Byb2ZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3VzZXJQcm9maWxlLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTAgaC0xMDAgbXQtMyBib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXlcIiBzdHlsZT1cIndpZHRoOjBweFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hhbmdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5VcGRhdGVkIHRoZSBzdGF0dXM8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPk9wZW4gLT4gSW5wcm9ncmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgdy0xMDAgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSAhPT0nc3RhdHVzQ2hhbmdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtdXBwZXJjYXNlXCI+e3tvYmo/LklkZW50aWZpZWRCeT9vYmo/LklkZW50aWZpZWRCeTpcIlRhbmdvXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBweC0zIHB0LTEgZnctYm9sZC00MDBcIj57e29iaj8udGltZVN0YW1wfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZm9udC1ib2xkLTQwMFwiPlVzZXIgaGFzIHJlcGxpZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hlY2tSZXBseSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj5Jc3N1ZSBoYXMgYmVlbiA8Yj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iai5zdGF0dXNDaGVja1JlcGx5PT09J05vJ1wiPm5vdDwvc3Bhbj4gcmVzb2x2ZWQuPC9iPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMFwiICpuZ0lmPVwib2JqLnN0YXR1c0NoZWNrUmVwbHk9PT0nTm8nXCI+IEl0IHRha2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e29iaj8uaGliZXJuYXRpb25EYXlzfX0gbW9yZSBkYXlzIHRvIHJlc29sdmUuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnY29tbWVudCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMCB0ZXh0LXdyYXBcIj57e29iaj8uY29tbWVudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcmVzIG9mIG9iaj8ucmVhc29uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlJ3JlIGN1cnJlbnRseSBlbmNvdW50ZXJpbmcgYW4gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVzLnByaW1hcnlJc3N1ZSA9PT0nQ2FtZXJhIElzc3VlcydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm90d29ya2luZ0NhbWFyYWxpc3QgJiYgbm90d29ya2luZ0NhbWFyYWxpc3Q/Lmxlbmd0aFwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90d29ya2luZ0NhbWFyYWxpc3RcIiBjbGFzcz1cImNvbC1zbS0zIG15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhIGZ3LWJvbGRcIj57e2l0ZW0uY2FtZXJhTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtPy50aHVtYm5haWxJbWFnZVwiIHN0eWxlPVwiaGVpZ2h0OjE4MHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMCBtdC0zIG1lLTJcIj5UaGUgYWJvdmUgY2FtZXJhIHN0cmVhbWluZyBhcmUgbm90IHdvcmtpbmcgZHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC03MDAgbXQtM1wiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiByZXM/LnNlY29uZGFyeUlzc3VlOyBsZXQgbGFzdCA9IGxhc3RcIj57e2lzc3VlPy5uYW1lfX0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYXN0XCI+ICw8L25nLWNvbnRhaW5lcj48L3NwYW4+IHRvIHRoZSBDYW1lcmE8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlcz8uc2Vjb25kYXJ5SXNzdWUgJiYgcmVzPy5zZWNvbmRhcnlJc3N1ZT8ubGVuZ3RoXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmVzdGlnYXRpb24gZnctYm9sZC00MDAgbWItM1wiPlRoZSBmb2xsb3dpbmcgYXJlIHRoZSByZWxldmFudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ibGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY2luZzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNVwiPiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VjSXNzdWVzIG9mIHJlcz8uc2Vjb25kYXJ5SXNzdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+e3tzZWNJc3N1ZXMubmFtZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+e3tvYmo/LmNvbW1lbnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkSXNzdWUgPT09ICcnXCIgY2xhc3M9XCJwcm9maWxlLWxhYmVsIGZ3LXNlbWlib2xkIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2luZGx5IGNob29zZSB0aGUgb3B0aW9uIGJlbG93IHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGlzc3VlIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGNvZGUgZW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRhbmdvIGNvZGUgc3RhcnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uQnkgPT09ICdUYW5nbycgfHwgb2JqLmFjdGlvbkJ5ID09PSAnYXV0b21hdGVkJ1wiIGNsYXNzPVwiZC1mbGV4IG1iLTUgbXMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC00OHB4IHN5bWJvbC1jaXJjbGVcIiAqbmdJZj1cIm9iaj8uSWRlbnRpZmllZEJ5JiZvYmo/LklkZW50aWZpZWRCeSE9PScnJiZvYmo/LklkZW50aWZpZWRCeSE9PSdUYW5nbydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5JZGVudGlmaWVkQnk/LnNsaWNlKDAsMikgfCB1cHBlcmNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiIW9iaj8uSWRlbnRpZmllZEJ5fHxvYmo/LklkZW50aWZpZWRCeT09PScnfHxvYmo/LklkZW50aWZpZWRCeT09PSdUYW5nbydcIiBjbGFzcz1cIm1zZ3Byb2ZpbGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29wcm9maWxlLnBuZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTAgaC0xMDAgbXQtMyBib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgdmVydGljYWxMaW5lXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0zIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1jYXBpdGFsaXplXCI+e3tvYmo/LklkZW50aWZpZWRCeT9vYmo/LklkZW50aWZpZWRCeTpcIlRhbmdvXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LWJvbGQtNDAwIHB4LTMgcHQtMVwiPnt7b2JqPy50aW1lU3RhbXB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZnctYm9sZC00MDBcIj50YW5nbyBoYXMgcmVwbGllZCB0byB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hhbmdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5VcGRhdGVkIHRoZSBzdGF0dXM8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPk9wZW4gLT4gSW5wcm9ncmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnY29tbWVudCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwIHRleHQtd3JhcFwiPnt7b2JqPy5jb21tZW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnZGF0YVJlY2l2ZWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPlRoYW5rIHlvdSBmb3IgeW91ciBhc3Npc3RhbmNlLiBXZSBoYXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWQgdGhlIGRhdGEgZnJvbSB5b3VyIFN0b3JlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdzdGF0dXNDaGVja01vbml0b3InXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPlRoYW5rIHlvdSBmb3IgdGhlIHVwZGF0ZS4gV2XigJlsbCBnZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrIGFmdGVyIHRoZSBidWZmZXIgdGltZSB5b3UgcHJvdmlkZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0nc3RlcHNUb1Jlc29sdmUnXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwXCI+UGxlYXNlIGZvbGxvdyB0aGUgYmVsb3cgc3RlcHMgdG8gcmVzb2x2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhYm92ZSBpc3N1ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcyBvZiBvYmo/LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNSBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBmdy1zZW1pYm9sZCBtYi0xXCI+e3tyZXMucHJpbWFyeUlzc3VlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWNJc3N1ZXMgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7c2VjSXNzdWVzLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXMgb2Ygb2JqPy5yZWFzb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmdy1ib2xkLTcwMFwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZXMucHJpbWFyeUlzc3VlID09PSdDYW1lcmEgSXNzdWVzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90d29ya2luZ0NhbWFyYWxpc3RcIiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMyBvdmVyZmxvdy1oaWRkZW4gbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhIGZ3LWJvbGRcIj57e2l0ZW0uY2FtZXJhTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbT8udGh1bWJuYWlsSW1hZ2VcIiBzdHlsZT1cImhlaWdodDoxODBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTMgbWUtMlwiPlRoZSBhYm92ZSBjYW1lcmEgc3RyZWFtaW5nIGFyZSBub3Qgd29ya2luZyBkdWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC03MDAgbXQtM1wiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiByZXM/LnNlY29uZGFyeUlzc3VlOyBsZXQgbGFzdCA9IGxhc3RcIj57e2lzc3VlPy5uYW1lfX0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYXN0XCI+ICw8L25nLWNvbnRhaW5lcj48L3NwYW4+IDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPnRvIHRoZSBDYW1lcmE8L3NwYW4+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52ZXN0aWdhdGlvbiBmdy1ib2xkLTQwMCBtYi0zXCI+VGhlIGZvbGxvd2luZyBhcmUgdGhlIHJlbGV2YW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ibGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWNpbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlY0lzc3VlcyBvZiByZXM/LnNlY29uZGFyeUlzc3VlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57e3NlY0lzc3Vlcy5uYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMCB0ZXh0LXdyYXBcIj57e29iaj8uY29tbWVudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hlY2tSZXBseSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMCBtdC0zXCI+SXNzdWUgaGFzIGJlZW4gPGI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqLnN0YXR1c0NoZWNrUmVwbHk9PT0nTm8nXCI+bm90PC9zcGFuPiByZXNvbHZlZC48L2I+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDBcIiAqbmdJZj1cIm9iai5zdGF0dXNDaGVja1JlcGx5PT09J05vJ1wiPiBJdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VzIHt7b2JqPy5oaWJlcm5hdGlvbkRheXN9fSBtb3JlIGRheXMgdG8gcmVzb2x2ZS48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBkZWZhdWx0SW5mcmEgc3RhcnQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSdkZWZhdWx0SW5mcmEnXCIgY2xhc3M9XCJjb250ZW50dGV4dCBmdy1ib2xkLTQwMFwiPldlIGhhdmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkIGRhdGEgZnJvbSB5b3VyIHN0b3JlLiBXZSBhcmUgY3VycmVudGx5IGludmVzdGlnYXRpbmcgdGhlIGlzc3VlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBkZWZhdWx0SW5mcmEgZW5kIC0tPlxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGFuZ28gY29kZSBlbmQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiB3aWR0aD1cIjIwMHB4XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dTdWJtaXQgJiYgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiY29tbWVudHNcIiAoY2xpY2spPVwiYWRkQ29tbWVudCgpXCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkFkZCB5b3VyIGNvbW1lbnRzLi5cIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgYWNjZXB0PVwiaW1hZ2UvKlwiIG11bHRpcGxlIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInRpY2tldEluZm8/LnN0YXR1cyA9PT0gJ2Nsb3NlZCdcIiAoY2xpY2spPVwib3BlbkZpbGVJbnB1dCgpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgbXMtM1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy44NjY2IDkuMjA4MzVMMTAuMjA4MiAxNi44NjY3QzkuMjcwMDUgMTcuODA0OSA3Ljk5NzU3IDE4LjMzMiA2LjY3MDc1IDE4LjMzMkM1LjM0MzkzIDE4LjMzMiA0LjA3MTQ1IDE3LjgwNDkgMy4xMzMyNSAxNi44NjY3QzIuMTk1MDUgMTUuOTI4NSAxLjY2Nzk3IDE0LjY1NiAxLjY2Nzk3IDEzLjMyOTJDMS42Njc5NyAxMi4wMDI0IDIuMTk1MDUgMTAuNzI5OSAzLjEzMzI1IDkuNzkxNjhMMTAuNzkxNiAyLjEzMzM1QzExLjQxNzEgMS41MDc4OCAxMi4yNjU0IDEuMTU2NDkgMTMuMTQ5OSAxLjE1NjQ5QzE0LjAzNDUgMS4xNTY0OSAxNC44ODI4IDEuNTA3ODggMTUuNTA4MiAyLjEzMzM1QzE2LjEzMzcgMi43NTg4MiAxNi40ODUxIDMuNjA3MTMgMTYuNDg1MSA0LjQ5MTY4QzE2LjQ4NTEgNS4zNzYyMyAxNi4xMzM3IDYuMjI0NTUgMTUuNTA4MiA2Ljg1MDAyTDcuODQxNTggMTQuNTA4M0M3LjUyODg1IDE0LjgyMTEgNy4xMDQ2OSAxNC45OTY4IDYuNjYyNDIgMTQuOTk2OEM2LjIyMDE0IDE0Ljk5NjggNS43OTU5OCAxNC44MjExIDUuNDgzMjUgMTQuNTA4M0M1LjE3MDUxIDE0LjE5NTYgNC45OTQ4MiAxMy43NzE1IDQuOTk0ODIgMTMuMzI5MkM0Ljk5NDgyIDEyLjg4NjkgNS4xNzA1MSAxMi40NjI3IDUuNDgzMjUgMTIuMTVMMTIuNTU4MiA1LjA4MzM1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ0aWNrZXRJbmZvPy5zdGF0dXMgPT09ICdjbG9zZWQnXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXMtM1wiIChjbGljayk9XCJ1cGRhdGVUaWNrZXQoKVwiPiBTdWJtaXQgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgbXMtMyB0ZXh0LW5vd3JhcFwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM5MTdfNTQ2MjEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTc0MzUgNy41MDAwOEM3Ljc3MDI3IDYuOTQzMTQgOC4xNTY5OCA2LjQ3MzUgOC42NjU5OCA2LjE3NDM2QzkuMTc0OTggNS44NzUyMSA5Ljc3MzQzIDUuNzY1ODYgMTAuMzU1MyA1Ljg2NTY3QzEwLjkzNzIgNS45NjU0OSAxMS40NjUgNi4yNjgwMiAxMS44NDUyIDYuNzE5NjlDMTIuMjI1NSA3LjE3MTM2IDEyLjQzMzYgNy43NDMwMiAxMi40MzI3IDguMzMzNDJDMTIuNDMyNyAxMC4wMDAxIDkuOTMyNjggMTAuODMzNCA5LjkzMjY4IDEwLjgzMzRNOS45OTkzNSAxNC4xNjY3SDEwLjAwNzdNMTguMzMyNyAxMC4wMDAxQzE4LjMzMjcgMTQuNjAyNSAxNC42MDE3IDE4LjMzMzQgOS45OTkzNSAxOC4zMzM0QzUuMzk2OTggMTguMzMzNCAxLjY2NjAyIDE0LjYwMjUgMS42NjYwMiAxMC4wMDAxQzEuNjY2MDIgNS4zOTc3MSA1LjM5Njk4IDEuNjY2NzUgOS45OTkzNSAxLjY2Njc1QzE0LjYwMTcgMS42NjY3NSAxOC4zMzI3IDUuMzk3NzEgMTguMzMyNyAxMC4wMDAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzkxN181NDYyMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gQ2Fu4oCZdCBhYmxlIHRvIHJlYWNoIHRoZSBzdG9yZT9cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57eyBlcnJvck1lc3NhZ2UgfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcm91bmRlZC0zIHAtNSBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYW1lcmEgZnctc2VtaWJvbGRcIj5BdHRhY2htZW50czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXRJbmZvPy5hdHRhY2htZW50cy5sZW5ndGggPT09MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDAgbXQtMTAgbWItMTAgbWgtNjB2aCBkLWdyaWQgdGV4dC1jZW50ZXIgbXgtYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtYXV0b1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy90YWtldGlja2V0LnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRha2V0aWNrZXQgbXQtMiBmdy1ib2xkXCI+Tm8gQXR0YWNobWVudHMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXRJbmZvPy5hdHRhY2htZW50cy5sZW5ndGggPiAwXCIgY2xhc3M9XCJyb3cgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgdGlja2V0SW5mbz8uYXR0YWNobWVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJBdHRhY2htZW50IGJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSB3LTEwMCByb3VuZGVkLTIgb3ZlcmZsb3ctaGlkZGVuXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJoLTE1MHB4XCIgKGNsaWNrKT1cImRvd25sb2FkaW1hZ2UoZmlsZT8uc2lnbmVkVXJsKVwiIFtzcmNdPVwiZmlsZT8uc2lnbmVkVXJsXCIgYWx0PVwiU2VsZWN0ZWQgSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ncmlkIGJvcmRlciBib3JkZXItdG9wLTEgcHgtNSBweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW1hZ2VuYW1lIGZ3LWJvbGRcIj57e2ZpbGUuZmlsZW5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHVwZGF0ZWRkYXRlXCI+e3tmaWxlLmxhc3RNb2RpZmllZERhdGVTdHJpbmd9fTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIlNlbGVjdGVkVGFiID09PSAnc3RvcmVpbmZvJ1wiPlxyXG4gICAgPGxpYi1zdG9yZS1pbmZvIFtzdG9yZUlkXT1cInRpY2tldEluZm8/LmJhc2ljRGV0YWlscz8uc3RvcmVJZFwiPjwvbGliLXN0b3JlLWluZm8+XHJcbjwvZGl2PiJdfQ==