tango-app-ui-analyse-zone 3.7.1-beta.26 → 3.7.1-beta.27
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.
- package/esm2022/lib/components/customer-journey-chart/customer-journey-chart.component.mjs +4 -3
- package/esm2022/lib/components/overallcards/overallcards.component.mjs +3 -3
- package/esm2022/lib/components/zone-journey/zone-journey.component.mjs +2 -2
- package/esm2022/lib/components/zone-summary-table/zone-summary-table.component.mjs +10 -4
- package/fesm2022/tango-app-ui-analyse-zone.mjs +15 -8
- package/fesm2022/tango-app-ui-analyse-zone.mjs.map +1 -1
- package/lib/components/zone-summary-table/zone-summary-table.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -361,7 +361,7 @@ export class ZoneJourneyComponent {
|
|
|
361
361
|
|
|
362
362
|
<div><span class="text-primary">${dc.value ?? '--'}</span> <span class="text-value">Footfall </span></div>
|
|
363
363
|
|
|
364
|
-
<div><span class="text-primary">${dc.NoB ?? '--'}</span><span class="text-value">NoB </span> </div>
|
|
364
|
+
<div><span class="text-primary">${dc.NoB ?? '--'}</span><span class="text-value"> ${this.clientData?.isNOB ? ' NoB' : ' Conversion'} </span> </div>
|
|
365
365
|
|
|
366
366
|
</div>
|
|
367
367
|
</div>
|
|
@@ -493,4 +493,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
493
493
|
type: HostListener,
|
|
494
494
|
args: ['document:click', ['$event']]
|
|
495
495
|
}] } });
|
|
496
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1qb3VybmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2Utem9uZS9zcmMvbGliL2NvbXBvbmVudHMvem9uZS1qb3VybmV5L3pvbmUtam91cm5leS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3pvbmUtam91cm5leS96b25lLWpvdXJuZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFvRCxTQUFTLEVBQWMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pLLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFRLGtCQUFrQixNQUFNLHFDQUFxQyxDQUFDO0FBSXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLG9CQUFvQjtJQUtSO0lBQTRCO0lBQW9DO0lBQTZCO0lBQXNCO0lBSmpJLElBQUksQ0FBWTtJQUNkLFVBQVUsQ0FBTTtJQUNmLFVBQVUsQ0FBTTtJQUNmLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3pDLFlBQW9CLE9BQW1CLEVBQVMsYUFBMkIsRUFBUyxFQUFvQixFQUFTLE1BQWEsRUFBUyxFQUFlO1FBQWxJLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUFTLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFTLE9BQUUsR0FBRixFQUFFLENBQWE7SUFBSSxDQUFDO0lBQ2hLLFdBQVcsQ0FB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QyxRQUFRLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzt3R0F2aEJVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGlVQ2RqQywraTBCQXVXTTs7NEZEelZPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7NExBTWpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbEIsS0FBSztnQkEwR2dCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFnQnpCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0ICxJbnB1dCwgT25DaGFuZ2VzLE9uRGVzdHJveSxTaW1wbGVDaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGFtNSBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1JztcclxuaW1wb3J0ICogYXMgYW01ZmxvdyBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1L2Zsb3cnO1xyXG5pbXBvcnQgIGFtNXRoZW1lc19BbmltYXRlZCBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9BbmltYXRlZCc7XHJcbmltcG9ydCB7IFpvbmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvem9uZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBab25ldjJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvem9uZXYyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXpvbmUtam91cm5leScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3pvbmUtam91cm5leS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3pvbmUtam91cm5leS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFpvbmVKb3VybmV5Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LE9uQ2hhbmdlcyB7XHJcbiAgIHByaXZhdGUgcm9vdCE6IGFtNS5Sb290O1xyXG4gICAgQElucHV0KCkgaGVhZGVyRGF0YSA6YW55O1xyXG4gICAgIEBJbnB1dCgpIGNsaWVudERhdGEgOmFueTtcclxuICAgICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTpab25lU2VydmljZSxwcml2YXRlIHpvbmVWMlNlcnZpY2U6Wm9uZXYyU2VydmljZSxwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLHByaXZhdGUgcm91dGVyOlJvdXRlcixwcml2YXRlIHRzOlRvYXN0U2VydmljZSkgeyB9XHJcbm5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICBpZiAoY2hhbmdlc1snaGVhZGVyRGF0YSddPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICB0aGlzLmhlYWRlckRhdGEgPSBjaGFuZ2VzWydoZWFkZXJEYXRhJ10uY3VycmVudFZhbHVlO1xyXG4gIH1cclxuICBpZiAoY2hhbmdlc1snY2xpZW50RGF0YSddPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgdGhpcy5jbGllbnREYXRhID0gY2hhbmdlc1snY2xpZW50RGF0YSddLmN1cnJlbnRWYWx1ZTtcclxuICB9XHJcbiAgdGhpcy5nZXRBdmFpbGFibGVab25lcygpO1xyXG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG59XHJcblxyXG5cclxuem9uZVNob3BwZXJBbmFseXNpczphbnk7XHJcbmJ1YmJsZUNoYXJ0RGF0YTphbnk7XHJcbm9iamVjdDphbnk7XHJcbm9iamVjdDE6YW55O1xyXG56b25lU2VhcmNoVGV4dDpzdHJpbmc9Jyc7XHJcblxyXG5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuc2VhcmNoVGV4dCA9ICcnO1xyXG56b25lTGlzdDphbnk9W107XHJcbmZpbHRlcmVkWm9uZXM6YW55PVtdO1xyXG5cclxuXHJcbnpvbmVzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxudGVtcFpvbmVMaXN0OiBhbnlbXSA9IFtdO1xyXG50ZW1wRmlsdGVyZWRab25lczogYW55W10gPSBbXTtcclxuZHJvcGRvd25TZWFyY2hUZXh0ID0gJyc7XHJcbmF2YWlsYWJsZVpvbmVzOmFueVtdID0gW107XHJcbiAgZ2V0QXZhaWxhYmxlWm9uZXMoKXtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLCBcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuem9uZVYyU2VydmljZS5nZXRBdmFpbGFibGVab25lTmFtZXMocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVab25lcyA9IChyZXMuZGF0YS5hdmFpbGFibGVab25lRGF0YSB8fCBbXSkuZmlsdGVyKFxyXG4gICh6b25lOiBhbnkpID0+IHpvbmUuem9uZU5hbWU/LnRvTG93ZXJDYXNlKCkgIT09ICdvdmVyYWxsIHN0b3JlJ1xyXG4pO1xyXG4gICB0aGlzLnpvbmVMaXN0ID0gdGhpcy5hdmFpbGFibGVab25lcy5tYXAoeiA9PiAoe1xyXG4gICAgICAgICAgbmFtZTogei56b25lTmFtZSxcclxuICAgICAgICAgIGNoZWNrZWQ6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy56b25lc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldFpvbmVKb3VybmV5KFtdKTtcclxuICAgICAgICB0aGlzLmdldEJ1YmJsZShbXSk7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZVpvbmVzID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlWm9uZXMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbi8vIGdldEF2YWlsYWJsZVpvbmVzKCkge1xyXG4vLyAgIHRoaXMuem9uZVYyU2VydmljZS56b25lcyRcclxuLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuLy8gICAgIC5zdWJzY3JpYmUoKHpvbmVzKSA9PiB7XHJcbiAgICAgICBcclxuLy8gICAgICAgdGhpcy5hdmFpbGFibGVab25lcyA9IHpvbmVzO1xyXG5cclxuLy8gICAgICAgaWYgKCF0aGlzLnpvbmVzSW5pdGlhbGl6ZWQpIHtcclxuLy8gICAgICAgICB0aGlzLnpvbmVMaXN0ID0gem9uZXMubWFwKHogPT4gKHtcclxuLy8gICAgICAgICAgIG5hbWU6IHouem9uZU5hbWUsXHJcbi8vICAgICAgICAgICBjaGVja2VkOiB0cnVlXHJcbi8vICAgICAgICAgfSkpO1xyXG5cclxuLy8gICAgICAgICB0aGlzLnpvbmVzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4vLyAgICAgICAgIGlmKHRoaXMuem9uZUxpc3QubGVuZ3RoKXtcclxuLy8gICAgICAgICAgICBjb25zb2xlLmxvZygnYXZhaWxhYmxlIHpvbmVzIGluIHpvbmUgam91cm5leScsICAgICAgICB0aGlzLnpvbmVMaXN0KTsgICBcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Wm9uZUpvdXJuZXkoW10pO1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRCdWJibGUoW10pO1xyXG4vLyAgICAgICAgIH0gZWxzZSB7XHJcbi8vICAgICAgICAgICAgICBjb25zb2xlLmxvZygnYXZhaWxhYmxlIHpvbmVzIGluIHpvbmUgam91cm5leScsICAgICAgICB0aGlzLnpvbmVMaXN0KTtcclxuLy8gICAgICAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuLy8gICAgICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbi8vICAgICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRab25lSm91cm5leShbXSk7XHJcbi8vICAgICAgICAgICB0aGlzLmdldEJ1YmJsZShbXSk7XHJcbi8vICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4vLyAgICAgICB9XHJcbi8vICAgICB9KTtcclxuLy8gfVxyXG5cclxuQFZpZXdDaGlsZCgnem9uZURyb3Bkb3duJykgem9uZURyb3Bkb3duITogRWxlbWVudFJlZjtcclxuXHJcblxyXG4vKiBPUEVOIC8gVE9HR0xFICovXHJcbnRvZ2dsZURyb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IFxyXG4gIHRoaXMuc2hvd0Ryb3Bkb3duID0gIXRoaXMuc2hvd0Ryb3Bkb3duO1xyXG5cclxuICBpZiAodGhpcy5zaG93RHJvcGRvd24pIHtcclxuICAgIHRoaXMudGVtcFpvbmVMaXN0ID0gdGhpcy56b25lTGlzdC5tYXAoKHo6YW55KSA9PiAoeyAuLi56IH0pKTtcclxuICAgIHRoaXMudGVtcEZpbHRlcmVkWm9uZXMgPSBbLi4udGhpcy50ZW1wWm9uZUxpc3RdO1xyXG4gIH1cclxufVxyXG5cclxuLyog8J+UpSBPVVRTSURFIENMSUNLIEhBTkRMRVIgKi9cclxuQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG5vbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICBpZiAoIXRoaXMuc2hvd0Ryb3Bkb3duKSByZXR1cm47XHJcblxyXG4gIGNvbnN0IGNsaWNrZWRJbnNpZGUgPVxyXG4gICAgdGhpcy56b25lRHJvcGRvd24/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcclxuXHJcbiAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG50b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gIGNvbnN0IGNoZWNrZWQgPSBldmVudC50YXJnZXQuY2hlY2tlZDtcclxuXHJcbiAgLy8gQXBwbHkgdG8gZnVsbCB0ZW1wIGxpc3RcclxuICB0aGlzLnRlbXBab25lTGlzdCA9IHRoaXMudGVtcFpvbmVMaXN0Lm1hcCh6ID0+ICh7XHJcbiAgICAuLi56LFxyXG4gICAgY2hlY2tlZFxyXG4gIH0pKTtcclxuXHJcbiAgLy8gUmUtYXBwbHkgc2VhcmNoIGZpbHRlciBzbyBVSSB1cGRhdGVzIGNvcnJlY3RseVxyXG4gIHRoaXMuZmlsdGVyWm9uZXMoKTtcclxufVxyXG5pc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAoXHJcbiAgICB0aGlzLnRlbXBab25lTGlzdC5sZW5ndGggPiAwICYmXHJcbiAgICB0aGlzLnRlbXBab25lTGlzdC5ldmVyeSh6ID0+IHouY2hlY2tlZClcclxuICApO1xyXG59XHJcblxyXG5maWx0ZXJab25lcygpIHtcclxuICBjb25zdCB0ZXh0ID0gdGhpcy5kcm9wZG93blNlYXJjaFRleHQudG9Mb3dlckNhc2UoKTtcclxuICB0aGlzLnRlbXBGaWx0ZXJlZFpvbmVzID0gdGhpcy50ZW1wWm9uZUxpc3QuZmlsdGVyKHogPT5cclxuICAgIHoubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQpXHJcbiAgKTtcclxufVxyXG5cclxuYXBwbHlab25lcygpIHtcclxuICB0aGlzLnpvbmVMaXN0ID0gdGhpcy50ZW1wWm9uZUxpc3QubWFwKHogPT4gKHsgLi4ueiB9KSk7XHJcblxyXG4gIGNvbnN0IGhpZGRlblpvbmVzID0gdGhpcy56b25lTGlzdFxyXG4gICAgLmZpbHRlcigoejogYW55KSA9PiAhei5jaGVja2VkKVxyXG4gICAgLm1hcCgoejogYW55KSA9PiB6Lm5hbWUpO1xyXG5cclxuICB0aGlzLmdldFpvbmVKb3VybmV5KGhpZGRlblpvbmVzKTtcclxuICB0aGlzLmdldEJ1YmJsZShoaWRkZW5ab25lcyk7XHJcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgdGhpcy5kcm9wZG93blNlYXJjaFRleHQgPSAnJztcclxuICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG59XHJcblxyXG5yZXNldFpvbmVzKCkge1xyXG4gIC8vIFJlc2V0IGFwcGxpZWQgc3RhdGVcclxuICB0aGlzLnpvbmVMaXN0ID0gdGhpcy56b25lTGlzdC5tYXAoKHo6YW55KSA9PiAoe1xyXG4gICAgLi4ueixcclxuICAgIGNoZWNrZWQ6IHRydWVcclxuICB9KSk7XHJcblxyXG4gIC8vIFN5bmMgdGVtcCBzdGF0ZVxyXG4gIHRoaXMudGVtcFpvbmVMaXN0ID0gdGhpcy56b25lTGlzdC5tYXAoKHo6YW55KSA9PiAoeyAuLi56IH0pKTtcclxuICB0aGlzLnRlbXBGaWx0ZXJlZFpvbmVzID0gWy4uLnRoaXMudGVtcFpvbmVMaXN0XTtcclxuXHJcbiAgdGhpcy5kcm9wZG93blNlYXJjaFRleHQgPSAnJztcclxuXHJcbiAgLy8gQXBwbHkgaW1tZWRpYXRlbHlcclxuICB0aGlzLmdldFpvbmVKb3VybmV5KFtdKTtcclxuICB0aGlzLmdldEJ1YmJsZShbXSk7XHJcblxyXG4gIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbn1cclxuZ2V0Wm9uZUpvdXJuZXlFeHBvcnQoKSB7XHJcbiAgdGhpcy5vYmplY3QxID0ge1xyXG4gICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXNcclxuICAgICAgLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZClcclxuICAgICAgLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgIG5vYjogdGhpcy5jbGllbnREYXRhPy5pc05PQixcclxuICAgIGhpZGVab25lczogdGhpcy56b25lTGlzdC5maWx0ZXIoKHo6IGFueSkgPT4gIXouY2hlY2tlZCkubWFwKCh6OiBhbnkpID0+IHoubmFtZSksXHJcbiAgICBzZWFyY2g6IHRoaXMuc2VhcmNoWm9uZVRleHQgfHwgJycsXHJcbiAgICBleHBvcnQgOiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgdGhpcy5zZXJ2aWNlLmdldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNFeHBvcnRBcGkodGhpcy5vYmplY3QxKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgIGlmKHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSA9PSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlKXtcclxuICAgICAgbGV0IGZpbGVOYW1lID0gJ1Nob3BwZXIgSm91cm5leV9FeHBvcnRfJyt0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGU7XHJcbiAgICAgIHRoaXMuc2VydmljZS5zYXZlQXNFeGNlbEZpbGUxKHJlcywgZmlsZU5hbWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgZmlsZU5hbWUgPSAnU2hvcHBlciBKb3VybmV5X0V4cG9ydF8nK3RoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSsnXycrdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnNhdmVBc0V4Y2VsRmlsZTEocmVzLCBmaWxlTmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKGU6YW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgZXJyb3JNc2cgPSAnU29tZXRoaW5nIHdlbnQgV3JvbmcuLic7XHJcbiAgICAgICAgICBpZiAoZSAmJiBlLmVycm9yICYmIGUuZXJyb3IuZXJyb3IpIHtcclxuICAgICAgICAgICAgZXJyb3JNc2cgPSBlLmVycm9yLmVycm9yO1xyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnJvck1zZylcclxuICAgICAgICB9KVxyXG4gIH0pO1xyXG59XHJcbnpvbmVDYXJkTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgem9uZUNhcmRMb2FkaW5nID0gdHJ1ZTtcclxuZ2V0Wm9uZUpvdXJuZXkoaGlkZGVuWm9uZXM6IGFueVtdID0gW10pIHtcclxuICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IGZhbHNlO1xyXG4gIHRoaXMub2JqZWN0MSA9IHtcclxuICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzXHJcbiAgICAgIC5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpXHJcbiAgICAgIC5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICBub2I6IHRoaXMuY2xpZW50RGF0YT8uaXNOT0IsXHJcbiAgICBoaWRlWm9uZXM6IGhpZGRlblpvbmVzLCAvLyDinIUgYWx3YXlzIGNvcnJlY3RcclxuICAgIHNlYXJjaDogdGhpcy5zZWFyY2hab25lVGV4dCB8fCAnJyxcclxuICAgIGV4cG9ydCA6IGZhbHNlXHJcbiAgfTtcclxuXHJcbiAgdGhpcy5zZXJ2aWNlLmdldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNBcGkodGhpcy5vYmplY3QxKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgIGlmKHJlcy5kYXRhPy56b25lU2hvcHBlckFuYWx5c2lzPy5sZW5ndGgpe1xyXG4gICAgICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICB0aGlzLnpvbmVzID0gdGhpcy56b25lU2hvcHBlckFuYWx5c2lzPy56b25lU2hvcHBlckFuYWx5c2lzIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gbnVsbDtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gbnVsbDtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gbnVsbDtcclxuICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgIHRoaXMuem9uZUNhcmRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbnpvbmVDaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgIHpvbmVDaGFydExvYWRpbmcgPSB0cnVlO1xyXG5nZXRCdWJibGUoaGlkZGVuWm9uZXM6IGFueVtdID0gW10pIHtcclxuICAgdGhpcy56b25lQ2hhcnRMb2FkaW5nID0gdHJ1ZTtcclxuICAgdGhpcy56b25lQ2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICB0aGlzLm9iamVjdCA9IHtcclxuICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgbm9iOiB0aGlzLmNsaWVudERhdGE/LmlzTk9CLFxyXG4gICAgaGlkZVpvbmVzOiBoaWRkZW5ab25lcyxcclxuXHJcbiAgfTtcclxudGhpcy5zZXJ2aWNlLmdldE5ld1pvbmVTaG9wcGVyQnViYmxlQ2hhcnRBcGkodGhpcy5vYmplY3QpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOmFueSk9PntcclxuICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4gICAgICAgIGlmKHJlcz8uZGF0YT8uem9uZUJ1YmJsZUNoYXJ0TWV0cmljcz8ubGVuZ3RoKXtcclxuICAgICAgICAgIHRoaXMuYnViYmxlQ2hhcnREYXRhID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUNoYXJ0KCk7XHJcbiAgICAgICAgICB0aGlzLnpvbmVDaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2hhcnRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgdGhpcy5idWJibGVDaGFydERhdGEgPSBudWxsO1xyXG4gICAgICAgICB0aGlzLnpvbmVDaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy56b25lQ2hhcnRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYnViYmxlQ2hhcnREYXRhID0gbnVsbDtcclxuICAgICAgICAgdGhpcy56b25lQ2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6YW55KT0+e1xyXG4gICAgICB0aGlzLmJ1YmJsZUNoYXJ0RGF0YSA9IG51bGw7XHJcbiAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnpvbmVDaGFydExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3pvbmUgam91cm5leSBidWJibGUgY2hhcnQgZXJyb3InLGVycik7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuXHJcbmNyZWF0ZUNoYXJ0KCkge1xyXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gRGlzcG9zZSBvbGQgY2hhcnRcclxuICAgIGlmICh0aGlzLnJvb3QpIHtcclxuICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSb290XHJcbiAgICB0aGlzLnJvb3QgPSBhbTUuUm9vdC5uZXcoJ2NoYXJ0ZGl2Jyk7XHJcbiAgICB0aGlzLnJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMucm9vdCldKTtcclxuXHJcbiAgICAvLyBBcmMgRGlhZ3JhbSBTZXJpZXNcclxuICAgIGNvbnN0IHNlcmllcyA9IHRoaXMucm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01Zmxvdy5BcmNEaWFncmFtLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICBzb3VyY2VJZEZpZWxkOiAnZnJvbScsXHJcbiAgICAgICAgdGFyZ2V0SWRGaWVsZDogJ3RvJyxcclxuICAgICAgICB2YWx1ZUZpZWxkOiAndmFsdWUnLFxyXG4gICAgICAgIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCdcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIFRPT0xUSVAgKEhUTUwpXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgY29uc3QgdG9vbHRpcCA9IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLFxyXG4gICAgICBnZXRTdHJva2VGcm9tU3ByaXRlOiBmYWxzZSxcclxuICAgICAgYXV0b1RleHRDb2xvcjogZmFsc2UsXHJcbiAgICAgIGtlZXBUYXJnZXRIb3ZlcjogdHJ1ZSxcclxuICAgICAgcG9pbnRlck9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCdcclxuICAgIH0pO1xyXG5cclxuICAgIHRvb2x0aXAuZ2V0KCdiYWNrZ3JvdW5kJyk/LnNldEFsbCh7XHJcbiAgICAgIGZpbGw6IGFtNS5jb2xvcigweGZmZmZmZiksXHJcbiAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4ZTVlN2ViKSxcclxuICAgICAgc2hhZG93Q29sb3I6IGFtNS5jb2xvcigweGY3ZjdmNyksXHJcbiAgICAgIHNoYWRvd0JsdXI6IDEwLFxyXG4gICAgICBzaGFkb3dPZmZzZXRZOiA0XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBdHRhY2ggdG9vbHRpcCB0byBsaW5rc1xyXG4gICAgc2VyaWVzLmxpbmtzLnRlbXBsYXRlLnNldCgndG9vbHRpcCcsIHRvb2x0aXApO1xyXG4gICAgc2VyaWVzLmxpbmtzLnRlbXBsYXRlLnNldCgndG9vbHRpcEhUTUwnLCAnJyk7XHJcbnNlcmllcy5saW5rcy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gIHN0cm9rZVdpZHRoOiAyLCAvLyB2aXNpYmxlIGxpbmVcclxuICBpbnRlcmFjdGl2ZTogdHJ1ZSxcclxuICB0b29sdGlwOiB0b29sdGlwXHJcbn0pO1xyXG5cclxuLy8gQWRkIGEgbGFyZ2VyIGludmlzaWJsZSBoaXQgYXJlYVxyXG5zZXJpZXMubGlua3MudGVtcGxhdGUuc3RhdGVzLmNyZWF0ZShcImhvdmVyXCIsIHtcclxuICBzdHJva2VXaWR0aDogM1xyXG59KTtcclxuXHJcbiAgICAvLyBBZGFwdGVyIGZvciBIVE1MIGNvbnRlbnRcclxuICAgIHNlcmllcy5saW5rcy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoJ3Rvb2x0aXBIVE1MJywgKF9odG1sLCB0YXJnZXQpID0+IHtcclxuICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW07XHJcbiAgICAgIGlmICghZGF0YUl0ZW0pIHJldHVybiAnJztcclxuXHJcbiAgICAgIGNvbnN0IGRjOiBhbnkgPSBkYXRhSXRlbS5kYXRhQ29udGV4dDtcclxuXHJcbiAgICAgIHJldHVybiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFtLXRvb2x0aXBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbS10b29sdGlwLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAke2RjLmZyb219IOKGkiAke2RjLnRvfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW0tdG9vbHRpcC10YWJsZVwiPlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGRpdj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPiR7ZGMudmFsdWUgPz8gJy0tJ308L3NwYW4+IDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPkZvb3RmYWxsIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGRpdj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPiR7ZGMuTm9CID8/ICctLSd9PC9zcGFuPjxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPk5vQiA8L3NwYW4+IDwvZGl2PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIGA7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gTk9ERSBMQUJFTFNcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBzZXJpZXMubm9kZXMubGFiZWxzLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIHRleHQ6ICd7aWR9XFxue3RvdGFsfScsXHJcbiAgICAgIGNlbnRlclg6IGFtNS5wZXJjZW50KDUwKSxcclxuICAgICAgY2VudGVyWTogYW01LnBlcmNlbnQoNTApLFxyXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxyXG4gICAgICBmb250U2l6ZTogMTEsXHJcbiAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgIG1heFdpZHRoOiA5MFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIEZMT1cgQlVMTEVUU1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHNlcmllcy5idWxsZXRzLnB1c2goKF9yb290LCBfc2VyaWVzLCBkYXRhSXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBidWxsZXQgPSBhbTUuQnVsbGV0Lm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICBsb2NhdGlvblk6IE1hdGgucmFuZG9tKCksXHJcbiAgICAgICAgc3ByaXRlOiBhbTUuQ2lyY2xlLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgIHJhZGl1czogMixcclxuICAgICAgICAgIGZpbGw6IGRhdGFJdGVtLmdldCgnc291cmNlJykuZ2V0KCdmaWxsJylcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGJ1bGxldC5hbmltYXRlKHtcclxuICAgICAgICBrZXk6ICdsb2NhdGlvblknLFxyXG4gICAgICAgIGZyb206IDAsXHJcbiAgICAgICAgdG86IDEsXHJcbiAgICAgICAgZHVyYXRpb246IE1hdGgucmFuZG9tKCkgKiAxMDAwICsgMjAwMFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybiBidWxsZXQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gREFUQSArIE9SREVSSU5HXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgY29uc3Qgbm9kZU9yZGVyID0gKG5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAobmFtZSA9PT0gJ0VudHJ5JykgcmV0dXJuIDA7XHJcbiAgICAgIGlmIChuYW1lID09PSAnRXhpdCcpIHJldHVybiA5OTk7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfTtcclxuXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5idWJibGVDaGFydERhdGE/LnpvbmVCdWJibGVDaGFydE1ldHJpY3MpO1xyXG5cclxuICAgIEFycmF5LmZyb20oc2VyaWVzLm5vZGVzLmNoaWxkcmVuKS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIG5vZGVPcmRlcihhLmRhdGFJdGVtPy5kYXRhQ29udGV4dD8uaWQpIC1cclxuICAgICAgICBub2RlT3JkZXIoYi5kYXRhSXRlbT8uZGF0YUNvbnRleHQ/LmlkKVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgc2VyaWVzLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sIDUwMCk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb290KSB7XHJcbiAgICAgIHRoaXMucm9vdC5kaXNwb3NlKCk7XHJcbiAgICB9XHJcbiAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICAvLyAgdGhpcy5zdG9wQXV0b1NsaWRlKCk7XHJcbiAgfVxyXG4gXHJcbiAgIHpvbmVzOmFueSA9IFtdO1xyXG5cclxuYWN0aXZlSW5kZXg6IG51bWJlciB8IG51bGwgPSAwO1xyXG5cclxudG9nZ2xlKGluZGV4OiBudW1iZXIpIHtcclxuICB0aGlzLmFjdGl2ZUluZGV4ID0gdGhpcy5hY3RpdmVJbmRleCA9PT0gaW5kZXggPyBudWxsIDogaW5kZXg7XHJcbn1cclxuc2VhcmNoTmV3T3BlbiA9ZmFsc2U7XHJcbnNlYXJjaE9wZW4oKXtcclxuICB0aGlzLnNlYXJjaE5ld09wZW4gPSAhdGhpcy5zZWFyY2hOZXdPcGVuO1xyXG5pZighdGhpcy5zZWFyY2hOZXdPcGVuKXtcclxuICB0aGlzLnNlYXJjaFpvbmVUZXh0ID0nJztcclxuICB0aGlzLmdldFpvbmVKb3VybmV5KFtdKTtcclxufVxyXG59XHJcblxyXG5zZWFyY2hab25lVGV4dDpzdHJpbmcgPScnO1xyXG5TZWFyY2hab25lcygpe1xyXG4gICB0aGlzLmdldFpvbmVKb3VybmV5KFtdKTtcclxufVxyXG5pc01pbmltaXplZCA9IGZhbHNlO1xyXG5cclxuLy8gZHJhZyBzdXBwb3J0XHJcbmRyYWdnaW5nID0gZmFsc2U7XHJcbm9mZnNldFggPSAwO1xyXG5vZmZzZXRZID0gMDtcclxuXHJcbmZsb2F0aW5nUG9zID0ge1xyXG4gIHRvcDogMTIwLFxyXG4gIGxlZnQ6IHdpbmRvdy5pbm5lcldpZHRoIC0gMzgwXHJcbn07XHJcblxyXG5leHBhbmRDbG9zZSgpIHtcclxuICB0aGlzLmlzTWluaW1pemVkID0gIXRoaXMuaXNNaW5pbWl6ZWQ7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5zdGFydERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICBpZiAoIXRoaXMuaXNNaW5pbWl6ZWQpIHJldHVybjtcclxuXHJcbiAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XHJcbiAgdGhpcy5vZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuZmxvYXRpbmdQb3MubGVmdDtcclxuICB0aGlzLm9mZnNldFkgPSBldmVudC5jbGllbnRZIC0gdGhpcy5mbG9hdGluZ1Bvcy50b3A7XHJcblxyXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25EcmFnKTtcclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5zdG9wRHJhZyk7XHJcbn1cclxuXHJcbm9uRHJhZyA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gIGlmICghdGhpcy5kcmFnZ2luZykgcmV0dXJuO1xyXG5cclxuICB0aGlzLmZsb2F0aW5nUG9zLmxlZnQgPSBldmVudC5jbGllbnRYIC0gdGhpcy5vZmZzZXRYO1xyXG4gIHRoaXMuZmxvYXRpbmdQb3MudG9wID0gZXZlbnQuY2xpZW50WSAtIHRoaXMub2Zmc2V0WTtcclxufTtcclxuXHJcbnN0b3BEcmFnID0gKCkgPT4ge1xyXG4gIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTtcclxuICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uRHJhZyk7XHJcbiAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuc3RvcERyYWcpO1xyXG59O1xyXG5cclxuICBub2JVcGxvYWQoKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJhZmZpYy9ub2JcIl0pOyBcclxuICB9XHJcbn1cclxuIiwiPCEtLSB6b25lLWpvdXJuZXkuY29tcG9uZW50Lmh0bWwgLS0+XHJcbjxkaXYgY2xhc3M9XCJjYXJkIG15LWNhcmQgbXgtMSBteS0yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHgtMCBteC01IGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0xXCI+Wm9uZS1CYXNlZCBTaG9wcGVyIEFuYWx5c2lzIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0xXCI+VW5kZXJzdGFuZCB5b3VyIFNob3BwZXJzIGpvdXJuZXkgZnJvbSBvbmUgem9uZSB0byBhbm90aGVyXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuPGRpdiBjbGFzcz1cInpvbmUtZHJvcGRvd24gbWUtMlwiICAjem9uZURyb3Bkb3duXHJcbiAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG5cclxuICA8IS0tIEJVVFRPTiAtLT5cclxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhem9uZVNob3BwZXJBbmFseXNpc1wiXHJcbiAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXHJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgU2hvdyAvIEhpZGUgWm9uZVxyXG4gICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjdcIiB2aWV3Qm94PVwiMCAwIDEyIDdcIiBmaWxsPVwibm9uZVwiPlxyXG48cGF0aCBkPVwiTTEgMUw2IDZMMTEgMVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG48L3N2Zz48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDwhLS0gRFJPUERPV04gLS0+XHJcbiA8ZGl2ICpuZ0lmPVwic2hvd0Ryb3Bkb3duXCIgY2xhc3M9XCJkcm9wZG93bi1wYW5lbCBoLTMwMHB4IGQtZmxleCBmbGV4LWNvbHVtblwiPlxyXG5cclxuICA8IS0tIEhFQURFUiAoZml4ZWQpIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXIgcHgtMiBwYi0yXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFpvbmVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImRyb3Bkb3duU2VhcmNoVGV4dFwiXHJcbiAgICAgIChpbnB1dCk9XCJmaWx0ZXJab25lcygpXCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWItMiBweC0yXCI+XHJcbiAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+PGlucHV0XHJcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgIFtjaGVja2VkXT1cImlzQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIlxyXG4gICAgLz48L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5TZWxlY3QgQWxsPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gQk9EWSAoc2Nyb2xsYWJsZSBsaXN0KSAtLT5cclxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tYm9keSBmbGV4LWdyb3ctMSBvdmVyZmxvdy1hdXRvIHB4LTJcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJ6b25lLWl0ZW1cIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgem9uZSBvZiB0ZW1wRmlsdGVyZWRab25lc1wiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ6b25lLmNoZWNrZWRcIlxyXG4gICAgICAvPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+e3sgem9uZS5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gRk9PVEVSIChmaXhlZCkgLS0+XHJcbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWZvb3RlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMiBwLTIgYm9yZGVyLXRvcFwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUgdy01MFwiIChjbGljayk9XCJyZXNldFpvbmVzKClcIj5cclxuICAgICAgUmVzZXRcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgdy01MFwiIChjbGljayk9XCJhcHBseVpvbmVzKClcIj5cclxuICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnZXRab25lSm91cm5leUV4cG9ydCgpXCIgW2Rpc2FibGVkXT1cIiF6b25lU2hvcHBlckFuYWx5c2lzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tb3V0bGluZSBidG4gYWxpZ24taXRlbXMtZW5kIHRleHQtbm93cmFwIGludmhlYWRlciBtZS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRXhwb3J0IEljb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNMTQuMTY2NyA2LjY2NjY3TDEwIDIuNU0xMCAyLjVMNS44MzMzMyA2LjY2NjY3TTEwIDIuNVYxMi41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+PC9zcGFuPiBFeHBvcnRcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtMyBteC0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlcmVkLWJveCB3LTUwIG1lLTIgcHktMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHB0LTEgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRpdGxlIHB5LTJcIj48c3ZnIGNsYXNzPVwibXgtMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDE5IDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC41IDE2LjMyNThINlYxNy41NzU4QzYgMTguMzA1MSA1LjcxMDI3IDE5LjAwNDYgNS4xOTQ1NCAxOS41MjAzQzQuNjc4ODIgMjAuMDM2IDMuOTc5MzUgMjAuMzI1OCAzLjI1IDIwLjMyNThDMi41MjA2NSAyMC4zMjU4IDEuODIxMTggMjAuMDM2IDEuMzA1NDYgMTkuNTIwM0MwLjc4OTczMSAxOS4wMDQ2IDAuNSAxOC4zMDUxIDAuNSAxNy41NzU4VjE2LjMyNThaTTQuNSA0LjQ0NTc2QzYuNSA0LjQ0NTc2IDcuNSA3LjMyNTc2IDcuNSA5LjMyNTc2QzcuNSAxMC4zMjU4IDcgMTEuMzI1OCA2LjUgMTIuODI1OEw2IDE0LjMyNThIMC41QzAuNSAxMy4zMjU4IDAgMTEuODI1OCAwIDkuMzI1NzZDMCA2LjgyNTc2IDEuOTk4IDQuNDQ1NzYgNC41IDQuNDQ1NzZaTTE2LjU1NCAxMi40MjM4TDE2LjMzNyAxMy42NTQ4QzE2LjIwMjMgMTQuMzY1NCAxNS43OTMxIDE0Ljk5NDMgMTUuMTk4IDE1LjQwNTRDMTQuNjAyOSAxNS44MTY1IDEzLjg2OTggMTUuOTc2NSAxMy4xNTc2IDE1Ljg1MDlDMTIuNDQ1MyAxNS43MjU0IDExLjgxMTEgMTUuMzI0MiAxMS4zOTI1IDE0LjczNDRDMTAuOTczOSAxNC4xNDQ2IDEwLjgwNDUgMTMuNDEzNiAxMC45MjEgMTIuNjk5OEwxMS4xMzcgMTEuNDY5OEwxNi41NTQgMTIuNDIzOFpNMTQuNjc4IDAuMDMwNzYyNEMxNy4xNDIgMC40NjQ3NjIgMTguNjk2IDMuMTU1NzYgMTguMjYyIDUuNjE3NzZDMTcuODI4IDguMDc5NzYgMTcuMDc1IDkuNDY5NzYgMTYuOTAyIDEwLjQ1NDhMMTEuNDg1IDkuNDk5NzZMMTEuMjUzIDcuOTM1NzZDMTEuMDIxIDYuMzcxNzYgMTAuNzAzIDUuMjk5NzYgMTAuODc2IDQuMzE1NzZDMTEuMjIzIDIuMzQ1NzYgMTIuNzA4IC0wLjMxNjIzOCAxNC42NzggMC4wMzA3NjI0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzFEMjkzOVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+T3ZlcmFsbCBGb290ZmFsbCA6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbFwiPnt7em9uZVNob3BwZXJBbmFseXNpcz8uT3ZlcmFsbEZvb3RmYWxsID8/ICctLSd9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJ0ZXh0LXBlcmMgbXMtMVwiPih7e3pvbmVTaG9wcGVyQW5hbHlzaXM/LkNvbnZlcnNpb25QZXJjZW50ID8/ICctLSd9fSAlKTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXJlZC1ib3ggdy01MCBweS0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gcHQtMSBweC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRoaXMuY2xpZW50RGF0YT8uaXNOT0JcIiBjbGFzcz1cInRleHQtdGl0bGUgcHktMlwiPlxyXG48c3ZnIGNsYXNzPVwibXgtMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSAxMUgxNU05IDE1SDE1TTkgN0gxNU01IDNDNSAyLjczNDc4IDUuMTA1MzYgMi40ODA0MyA1LjI5Mjg5IDIuMjkyODlDNS40ODA0MyAyLjEwNTM2IDUuNzM0NzggMiA2IDJIMThDMTguMjY1MiAyIDE4LjUxOTYgMi4xMDUzNiAxOC43MDcxIDIuMjkyODlDMTguODk0NiAyLjQ4MDQzIDE5IDIuNzM0NzggMTkgM1YyMkwxNS41IDE5LjVMMTIgMjJMOC41IDE5LjVMNSAyMlYzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMUQyOTM5XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+IE5vQiA6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIXRoaXMuY2xpZW50RGF0YT8uaXNOT0JcIiBjbGFzcz1cInRleHQtdGl0bGUgcHktMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG48cGF0aCBkPVwiTTE2IDIxVjE5QzE2IDE3LjkzOTEgMTUuNTc4NiAxNi45MjE3IDE0LjgyODQgMTYuMTcxNkMxNC4wNzgzIDE1LjQyMTQgMTMuMDYwOSAxNSAxMiAxNUg1QzMuOTM5MTMgMTUgMi45MjE3MiAxNS40MjE0IDIuMTcxNTcgMTYuMTcxNkMxLjQyMTQzIDE2LjkyMTcgMSAxNy45MzkxIDEgMTlWMjFNMTcgMTFMMTkgMTNMMjMgOU0xMi41IDdDMTIuNSA5LjIwOTE0IDEwLjcwOTEgMTEgOC41IDExQzYuMjkwODYgMTEgNC41IDkuMjA5MTQgNC41IDdDNC41IDQuNzkwODYgNi4yOTA4NiAzIDguNSAzQzEwLjcwOTEgMyAxMi41IDQuNzkwODYgMTIuNSA3WlwiIHN0cm9rZT1cIiMxRDI5MzlcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG48L3N2Zz4gQ29udmVyc2lvbiA6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbFwiPnt7em9uZVNob3BwZXJBbmFseXNpcz8uTm9iID8/ICctLSd9fSA8c3BhbiAqbmdJZj1cInRoaXMuY2xpZW50RGF0YT8uaXNOT0JcIiBjbGFzcz1cInB4LTAgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwibm9iVXBsb2FkKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiVXBsb2FkIE5vQlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8xNTEwNl8xMDYwOTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0VBRjhGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMy4zMzI2IDIyLjMzMzJMMTkuOTk5MiAxOC45OTk5TTE5Ljk5OTIgMTguOTk5OUwxNi42NjU5IDIyLjMzMzJNMTkuOTk5MiAxOC45OTk5VjI2LjQ5OTlNMjYuOTkwOSAyNC4zMjQ5QzI3LjgwMzcgMjMuODgxOCAyOC40NDU4IDIzLjE4MDYgMjguODE1OCAyMi4zMzIxQzI5LjE4NTggMjEuNDgzNSAyOS4yNjI3IDIwLjUzNTkgMjkuMDM0NCAxOS42Mzg4QzI4LjgwNjEgMTguNzQxNyAyOC4yODU1IDE3Ljk0NjIgMjcuNTU0OCAxNy4zNzc4QzI2LjgyNDEgMTYuODA5NCAyNS45MjUgMTYuNTAwNSAyNC45OTkyIDE2LjQ5OTlIMjMuOTQ5MkMyMy42OTcgMTUuNTI0MyAyMy4yMjY5IDE0LjYxODUgMjIuNTc0MiAxMy44NTA3QzIxLjkyMTUgMTMuMDgyOSAyMS4xMDMzIDEyLjQ3MzEgMjAuMTgxIDEyLjA2NzFDMTkuMjU4NyAxMS42NjEgMTguMjU2NCAxMS40Njk0IDE3LjI0OTMgMTEuNTA2NUMxNi4yNDIzIDExLjU0MzYgMTUuMjU2OCAxMS44MDg1IDE0LjM2NjkgMTIuMjgxM0MxMy40NzcgMTIuNzU0MSAxMi43MDU4IDEzLjQyMjUgMTIuMTExNCAxNC4yMzYyQzExLjUxNyAxNS4wNSAxMS4xMTQ4IDE1Ljk4NzkgMTAuOTM1MSAxNi45Nzk0QzEwLjc1NTMgMTcuOTcwOSAxMC44MDI3IDE4Ljk5MDMgMTEuMDczNiAxOS45NjFDMTEuMzQ0NSAyMC45MzE2IDExLjgzMTkgMjEuODI4MSAxMi40OTkyIDIyLjU4MzJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDA5QkYzXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzE1MTA2XzEwNjA5MFwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzE1MTA2XzEwNjA5MFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTUxMDZfMTA2MDkwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgZ3gtMCBwLTNcIj5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImlzTWluaW1pemVkID8gJ2NvbC0xMicgOiAnY29sLTgnXCJcclxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cInpvbmVDaGFydE5vRGF0YSA/IDMwMCA6IChpc01pbmltaXplZCA/IDY1MCA6IDU1MClcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInpvbmVDaGFydExvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ6b25lQ2hhcnROb0RhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIFpvbmUgQmFzZWQgU2hvcHBlciBBbmFseXNpcyBDaGFydDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXpvbmVDaGFydE5vRGF0YSAmJiAhem9uZUNoYXJ0TG9hZGluZ1wiIGlkPVwiY2hhcnRkaXZcIiBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiaXNNaW5pbWl6ZWQgPyAnem9uZS1mbG9hdGluZycgOiAnY29sLTQnXCIgW3N0eWxlLnRvcC5weF09XCJpc01pbmltaXplZCA/IGZsb2F0aW5nUG9zLnRvcCA6IG51bGxcIlxyXG4gICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJpc01pbmltaXplZCA/IGZsb2F0aW5nUG9zLmxlZnQgOiBudWxsXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8IS0tIChtb3VzZWRvd24pPVwic3RhcnREcmFnKCRldmVudClcIiAtLT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiem9uZUNhcmRMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiem9uZUNhcmROb0RhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIFpvbmUgQmFzZWQgU2hvcHBlciBBbmFseXNpczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29uYXRpbmVyICpuZ0lmPVwiIXpvbmVDYXJkTm9EYXRhICYmICF6b25lQ2FyZExvYWRpbmdcIiBjbGFzcz1cImNhcmQgXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHgtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXNNaW5pbWl6ZWQgPydiZy1zZWNvbmRhcnkgbWluLWgtMzBweCc6ICdiZy1saWdodC1wcmltYXJ5IG1pbi1oLTQ1cHggbWItMidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydFwiPjxzcGFuICpuZ0lmPVwiaXNNaW5pbWl6ZWRcIiBjbGFzcz1cIm1lLTIgbWItMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgMjBDOC40NSAyMCA3Ljk3OTE3IDE5LjgwNDIgNy41ODc1IDE5LjQxMjVDNy4xOTU4MyAxOS4wMjA4IDcgMTguNTUgNyAxOEM3IDE3LjQ1IDcuMTk1ODMgMTYuOTc5MiA3LjU4NzUgMTYuNTg3NUM3Ljk3OTE3IDE2LjE5NTggOC40NSAxNiA5IDE2QzkuNTUgMTYgMTAuMDIwOCAxNi4xOTU4IDEwLjQxMjUgMTYuNTg3NUMxMC44MDQyIDE2Ljk3OTIgMTEgMTcuNDUgMTEgMThDMTEgMTguNTUgMTAuODA0MiAxOS4wMjA4IDEwLjQxMjUgMTkuNDEyNUMxMC4wMjA4IDE5LjgwNDIgOS41NSAyMCA5IDIwWk0xNSAyMEMxNC40NSAyMCAxMy45NzkyIDE5LjgwNDIgMTMuNTg3NSAxOS40MTI1QzEzLjE5NTggMTkuMDIwOCAxMyAxOC41NSAxMyAxOEMxMyAxNy40NSAxMy4xOTU4IDE2Ljk3OTIgMTMuNTg3NSAxNi41ODc1QzEzLjk3OTIgMTYuMTk1OCAxNC40NSAxNiAxNSAxNkMxNS41NSAxNiAxNi4wMjA4IDE2LjE5NTggMTYuNDEyNSAxNi41ODc1QzE2LjgwNDIgMTYuOTc5MiAxNyAxNy40NSAxNyAxOEMxNyAxOC41NSAxNi44MDQyIDE5LjAyMDggMTYuNDEyNSAxOS40MTI1QzE2LjAyMDggMTkuODA0MiAxNS41NSAyMCAxNSAyMFpNOSAxNEM4LjQ1IDE0IDcuOTc5MTcgMTMuODA0MiA3LjU4NzUgMTMuNDEyNUM3LjE5NTgzIDEzLjAyMDggNyAxMi41NSA3IDEyQzcgMTEuNDUgNy4xOTU4MyAxMC45NzkyIDcuNTg3NSAxMC41ODc1QzcuOTc5MTcgMTAuMTk1OCA4LjQ1IDEwIDkgMTBDOS41NSAxMCAxMC4wMjA4IDEwLjE5NTggMTAuNDEyNSAxMC41ODc1QzEwLjgwNDIgMTAuOTc5MiAxMSAxMS40NSAxMSAxMkMxMSAxMi41NSAxMC44MDQyIDEzLjAyMDggMTAuNDEyNSAxMy40MTI1QzEwLjAyMDggMTMuODA0MiA5LjU1IDE0IDkgMTRaTTE1IDE0QzE0LjQ1IDE0IDEzLjk3OTIgMTMuODA0MiAxMy41ODc1IDEzLjQxMjVDMTMuMTk1OCAxMy4wMjA4IDEzIDEyLjU1IDEzIDEyQzEzIDExLjQ1IDEzLjE5NTggMTAuOTc5MiAxMy41ODc1IDEwLjU4NzVDMTMuOTc5MiAxMC4xOTU4IDE0LjQ1IDEwIDE1IDEwQzE1LjU1IDEwIDE2LjAyMDggMTAuMTk1OCAxNi40MTI1IDEwLjU4NzVDMTYuODA0MiAxMC45NzkyIDE3IDExLjQ1IDE3IDEyQzE3IDEyLjU1IDE2LjgwNDIgMTMuMDIwOCAxNi40MTI1IDEzLjQxMjVDMTYuMDIwOCAxMy44MDQyIDE1LjU1IDE0IDE1IDE0Wk05IDhDOC40NSA4IDcuOTc5MTcgNy44MDQxNyA3LjU4NzUgNy40MTI1QzcuMTk1ODMgNy4wMjA4MyA3IDYuNTUgNyA2QzcgNS40NSA3LjE5NTgzIDQuOTc5MTcgNy41ODc1IDQuNTg3NUM3Ljk3OTE3IDQuMTk1ODMgOC40NSA0IDkgNEM5LjU1IDQgMTAuMDIwOCA0LjE5NTgzIDEwLjQxMjUgNC41ODc1QzEwLjgwNDIgNC45NzkxNyAxMSA1LjQ1IDExIDZDMTEgNi41NSAxMC44MDQyIDcuMDIwODMgMTAuNDEyNSA3LjQxMjVDMTAuMDIwOCA3LjgwNDE3IDkuNTUgOCA5IDhaTTE1IDhDMTQuNDUgOCAxMy45NzkyIDcuODA0MTcgMTMuNTg3NSA3LjQxMjVDMTMuMTk1OCA3LjAyMDgzIDEzIDYuNTUgMTMgNkMxMyA1LjQ1IDEzLjE5NTggNC45NzkxNyAxMy41ODc1IDQuNTg3NUMxMy45NzkyIDQuMTk1ODMgMTQuNDUgNCAxNSA0QzE1LjU1IDQgMTYuMDIwOCA0LjE5NTgzIDE2LjQxMjUgNC41ODc1QzE2LjgwNDIgNC45NzkxNyAxNyA1LjQ1IDE3IDZDMTcgNi41NSAxNi44MDQyIDcuMDIwODMgMTYuNDEyNSA3LjQxMjVDMTYuMDIwOCA3LjgwNDE3IDE1LjU1IDggMTUgOFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzY2NzA4NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IFpvbmUgSm91cm5leSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc01pbmltaXplZFwiIChjbGljayk9XCJzZWFyY2hPcGVuKClcIiBjbGFzcz1cIm1lLTNcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE5IDE5TDE0LjY1IDE0LjY1TTE3IDlDMTcgMTMuNDE4MyAxMy40MTgzIDE3IDkgMTdDNC41ODE3MiAxNyAxIDEzLjQxODMgMSA5QzEgNC41ODE3MiA0LjU4MTcyIDEgOSAxQzEzLjQxODMgMSAxNyA0LjU4MTcyIDE3IDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cIiFpc01pbmltaXplZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDbG9zZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDEySDE5XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJpc01pbmltaXplZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDbG9zZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNSAzSDIxTTIxIDNWOU0yMSAzTDE0IDEwTTkgMjFIM00zIDIxVjE1TTMgMjFMMTAgMTRcIiBzdHJva2U9XCIjNjY3MDg1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoTmV3T3BlbiAmJiAhaXNNaW5pbWl6ZWRcIiBjbGFzcz1cInB4LTIgcGItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggWm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFpvbmVUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiU2VhcmNoWm9uZXMoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzTWluaW1pemVkXCIgY2xhc3M9XCJjYXJkLWJvZHkgaC01MDBweCBvdmVyZmxvdy1hdXRvIHB4LTAgcHktMlwiPlxyXG4gICAgICAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cInpvbmUtY2FyZCBteC0zIFwiICpuZ0Zvcj1cImxldCB6b25lIG9mIHpvbmVzO2xldCBpID0gaW5kZXhcIj5cclxuXHJcbiAgICAgICAgICA8IS0tIEhFQURFUiAtLT5cclxuICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYWN0aXZlSW5kZXggPT09IGkgPyAnem9uZS1oZWFkZXInOid6b25lLWRlZmF1bHQnXCIgKGNsaWNrKT1cInRvZ2dsZShpKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYWN0aXZlSW5kZXggPT09IGkgPyAnem9uZS10aXRsZSc6J3pvbmUtbm90aXRsZSdcIj57eyB6b25lLmZyb21ab25lIHxcclxuICAgICAgICAgICAgICAgICAgdGl0bGVjYXNlfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInpvbmUtbWV0cmljc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgcHgtMlwiICBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiRm9vdGZhbGwgKENvbmNlbnRyYXRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjExXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMCAxMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTAuMjUgOC4xNjI4OEgzVjguNzg3ODhDMyA5LjE1MjU1IDIuODU1MTMgOS41MDIyOSAyLjU5NzI3IDkuNzYwMTVDMi4zMzk0MSAxMC4wMTggMS45ODk2NyAxMC4xNjI5IDEuNjI1IDEwLjE2MjlDMS4yNjAzMyAxMC4xNjI5IDAuOTEwNTkxIDEwLjAxOCAwLjY1MjcyOCA5Ljc2MDE1QzAuMzk0ODY2IDkuNTAyMjkgMC4yNSA5LjE1MjU1IDAuMjUgOC43ODc4OFY4LjE2Mjg4Wk0yLjI1IDIuMjIyODhDMy4yNSAyLjIyMjg4IDMuNzUgMy42NjI4OCAzLjc1IDQuNjYyODhDMy43NSA1LjE2Mjg4IDMuNSA1LjY2Mjg4IDMuMjUgNi40MTI4OEwzIDcuMTYyODhIMC4yNUMwLjI1IDYuNjYyODggMCA1LjkxMjg4IDAgNC42NjI4OEMwIDMuNDEyODggMC45OTkgMi4yMjI4OCAyLjI1IDIuMjIyODhaTTguMjc3IDYuMjExODhMOC4xNjg1IDYuODI3MzhDOC4xMDExNyA3LjE4MjY5IDcuODk2NTYgNy40OTcxNyA3LjU5OTAxIDcuNzAyNzFDNy4zMDE0NiA3LjkwODI0IDYuOTM0OTIgNy45ODgyNyA2LjU3ODc4IDcuOTI1NDdDNi4yMjI2MyA3Ljg2MjY4IDUuOTA1NTcgNy42NjIxIDUuNjk2MjYgNy4zNjcyQzUuNDg2OTUgNy4wNzIyOSA1LjQwMjI1IDYuNzA2OCA1LjQ2MDUgNi4zNDk4OEw1LjU2ODUgNS43MzQ4OEw4LjI3NyA2LjIxMTg4Wk03LjMzOSAwLjAxNTM4MTJDOC41NzEgMC4yMzIzODEgOS4zNDggMS41Nzc4OCA5LjEzMSAyLjgwODg4QzguOTE0IDQuMDM5ODggOC41Mzc1IDQuNzM0ODggOC40NTEgNS4yMjczOEw1Ljc0MjUgNC43NDk4OEw1LjYyNjUgMy45Njc4OEM1LjUxMDUgMy4xODU4OCA1LjM1MTUgMi42NDk4OCA1LjQzOCAyLjE1Nzg4QzUuNjExNSAxLjE3Mjg4IDYuMzU0IC0wLjE1ODExOSA3LjMzOSAwLjAxNTM4MTJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IHt7IHpvbmUuZnJvbVpvbmVGb290ZmFsbENvdW50ID8/ICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgcHgtMlwiICBwbGFjZW1lbnQ9XCJ0b3BcIlxyXG5bbmdiVG9vbHRpcF09XCJjbGllbnREYXRhPy5pc05PQiA/ICdOb0InIDogJ0NvbnZlcnNpb24nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRoaXMuY2xpZW50RGF0YT8uaXNOT0JcIiBjbGFzcz1cIm1lLTJcIj48c3ZnICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjUgNS41SDcuNU00LjUgNy41SDcuNU00LjUgMy41SDcuNU0yLjUgMS41QzIuNSAxLjM2NzM5IDIuNTUyNjggMS4yNDAyMSAyLjY0NjQ1IDEuMTQ2NDVDMi43NDAyMSAxLjA1MjY4IDIuODY3MzkgMSAzIDFIOUM5LjEzMjYxIDEgOS4yNTk3OSAxLjA1MjY4IDkuMzUzNTUgMS4xNDY0NUM5LjQ0NzMyIDEuMjQwMjEgOS41IDEuMzY3MzkgOS41IDEuNVYxMUw3Ljc1IDkuNzVMNiAxMUw0LjI1IDkuNzVMMi41IDExVjEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiAgICAgPHNwYW4gKm5nSWY9XCIhdGhpcy5jbGllbnREYXRhPy5pc05PQlwiIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG48cGF0aCBkPVwiTTE2IDIxVjE5QzE2IDE3LjkzOTEgMTUuNTc4NiAxNi45MjE3IDE0LjgyODQgMTYuMTcxNkMxNC4wNzgzIDE1LjQyMTQgMTMuMDYwOSAxNSAxMiAxNUg1QzMuOTM5MTMgMTUgMi45MjE3MiAxNS40MjE0IDIuMTcxNTcgMTYuMTcxNkMxLjQyMTQzIDE2LjkyMTcgMSAxNy45MzkxIDEgMTlWMjFNMTcgMTFMMTkgMTNMMjMgOU0xMi41IDdDMTIuNSA5LjIwOTE0IDEwLjcwOTEgMTEgOC41IDExQzYuMjkwODYgMTEgNC41IDkuMjA5MTQgNC41IDdDNC41IDQuNzkwODYgNi4yOTA4NiAzIDguNSAzQzEwLjcwOTEgMyAxMi41IDQuNzkwODYgMTIuNSA3WlwiIHN0cm9rZT1cIiMxRDI5MzlcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG48L3N2Zz48L3NwYW4+IHt7IHpvbmUuZnJvbVpvbmVOb2JDb3VudCA/PyAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3cgY3Vyc29yLXBvaW50ZXJcIj48c3ZnICpuZ0lmPVwiYWN0aXZlSW5kZXggPT09IGlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiN1wiIHZpZXdCb3g9XCIwIDAgMTIgN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuODMyMDMxIDUuODMzMDFMNS44MzIwMyAwLjgzMzAwOEwxMC44MzIgNS44MzMwMVwiIHN0cm9rZT1cIiMzM0I1RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImFjdGl2ZUluZGV4ICE9PSBpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjdcIiB2aWV3Qm94PVwiMCAwIDEyIDdcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMC44MzIwMzEgMC44MzMwMDhMNS44MzIwMyA1LjgzMzAxTDEwLjgzMiAwLjgzMzAwOFwiIHN0cm9rZT1cIiM2NjcwODVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tIEJPRFkgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiem9uZS1ib2R5IG1heC1oLTIwMHB4IG1pbi1oLWF1dG8gb3ZlcmZsb3ctYXV0b1wiICpuZ0lmPVwiYWN0aXZlSW5kZXggPT09IGlcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0ZXh0LW5vd3JhcCBib3R0b20tYm9yZGVyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInctNTBcIj5UbyBab25lPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkZvb3RmYWxsIChDb25jZW50cmF0aW9uKTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCA+PHNwYW4gY2xhc3M9XCJtZS0yXCIgKm5nSWY9XCJ0aGlzLmNsaWVudERhdGE/LmlzTk9CXCI+Tm9CPC9zcGFuPiA8c3BhbiBjbGFzcz1cIm1lLTJcIiAqbmdJZj1cIiF0aGlzLmNsaWVudERhdGE/LmlzTk9CXCI+Q29udmVyc2lvbjwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNTMyMF84MjQ4OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy45OTg3IDEwLjY2NjNWNy45OTk2N003Ljk5ODcgNS4zMzMwMUg4LjAwNTM2TTE0LjY2NTQgNy45OTk2N0MxNC42NjU0IDExLjY4MTYgMTEuNjgwNiAxNC42NjYzIDcuOTk4NyAxNC42NjYzQzQuMzE2OCAxNC42NjYzIDEuMzMyMDMgMTEuNjgxNiAxLjMzMjAzIDcuOTk5NjdDMS4zMzIwMyA0LjMxNzc4IDQuMzE2OCAxLjMzMzAxIDcuOTk4NyAxLjMzMzAxQzExLjY4MDYgMS4zMzMwMSAxNC42NjU0IDQuMzE3NzggMTQuNjY1NCA3Ljk5OTY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTUzMjBfODI0ODhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIHpvbmUudG9ab25lRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcm93LnRvWm9uZSB8IHRpdGxlY2FzZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IHJvdy5mb290ZmFsbCA/PyAnLS0nIH19ICh7eyByb3cuY29uY1BlcmNlbnQgfX0lKTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyByb3cubm9iID8/ICctLScgfX0gKHt7IHJvdy5ub2JQZXJjZW50IH19JSk8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbmF0aW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj4iXX0=
|
|
496
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1qb3VybmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2Utem9uZS9zcmMvbGliL2NvbXBvbmVudHMvem9uZS1qb3VybmV5L3pvbmUtam91cm5leS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3pvbmUtam91cm5leS96b25lLWpvdXJuZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFvRCxTQUFTLEVBQWMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pLLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFRLGtCQUFrQixNQUFNLHFDQUFxQyxDQUFDO0FBSXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLG9CQUFvQjtJQUtSO0lBQTRCO0lBQW9DO0lBQTZCO0lBQXNCO0lBSmpJLElBQUksQ0FBWTtJQUNkLFVBQVUsQ0FBTTtJQUNmLFVBQVUsQ0FBTTtJQUNmLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3pDLFlBQW9CLE9BQW1CLEVBQVMsYUFBMkIsRUFBUyxFQUFvQixFQUFTLE1BQWEsRUFBUyxFQUFlO1FBQWxJLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUFTLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFTLE9BQUUsR0FBRixFQUFFLENBQWE7SUFBSSxDQUFDO0lBQ2hLLFdBQVcsQ0FB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QUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQUM7SUFFQSxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzt3R0F2aEJVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGlVQ2RqQywraTBCQXVXTTs7NEZEelZPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7NExBTWpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbEIsS0FBSztnQkEwR2dCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFnQnpCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0ICxJbnB1dCwgT25DaGFuZ2VzLE9uRGVzdHJveSxTaW1wbGVDaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGFtNSBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1JztcclxuaW1wb3J0ICogYXMgYW01ZmxvdyBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1L2Zsb3cnO1xyXG5pbXBvcnQgIGFtNXRoZW1lc19BbmltYXRlZCBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9BbmltYXRlZCc7XHJcbmltcG9ydCB7IFpvbmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvem9uZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBab25ldjJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvem9uZXYyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXpvbmUtam91cm5leScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3pvbmUtam91cm5leS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3pvbmUtam91cm5leS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFpvbmVKb3VybmV5Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LE9uQ2hhbmdlcyB7XHJcbiAgIHByaXZhdGUgcm9vdCE6IGFtNS5Sb290O1xyXG4gICAgQElucHV0KCkgaGVhZGVyRGF0YSA6YW55O1xyXG4gICAgIEBJbnB1dCgpIGNsaWVudERhdGEgOmFueTtcclxuICAgICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTpab25lU2VydmljZSxwcml2YXRlIHpvbmVWMlNlcnZpY2U6Wm9uZXYyU2VydmljZSxwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLHByaXZhdGUgcm91dGVyOlJvdXRlcixwcml2YXRlIHRzOlRvYXN0U2VydmljZSkgeyB9XHJcbm5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICBpZiAoY2hhbmdlc1snaGVhZGVyRGF0YSddPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICB0aGlzLmhlYWRlckRhdGEgPSBjaGFuZ2VzWydoZWFkZXJEYXRhJ10uY3VycmVudFZhbHVlO1xyXG4gIH1cclxuICBpZiAoY2hhbmdlc1snY2xpZW50RGF0YSddPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgdGhpcy5jbGllbnREYXRhID0gY2hhbmdlc1snY2xpZW50RGF0YSddLmN1cnJlbnRWYWx1ZTtcclxuICB9XHJcbiAgdGhpcy5nZXRBdmFpbGFibGVab25lcygpO1xyXG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG59XHJcblxyXG5cclxuem9uZVNob3BwZXJBbmFseXNpczphbnk7XHJcbmJ1YmJsZUNoYXJ0RGF0YTphbnk7XHJcbm9iamVjdDphbnk7XHJcbm9iamVjdDE6YW55O1xyXG56b25lU2VhcmNoVGV4dDpzdHJpbmc9Jyc7XHJcblxyXG5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuc2VhcmNoVGV4dCA9ICcnO1xyXG56b25lTGlzdDphbnk9W107XHJcbmZpbHRlcmVkWm9uZXM6YW55PVtdO1xyXG5cclxuXHJcbnpvbmVzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxudGVtcFpvbmVMaXN0OiBhbnlbXSA9IFtdO1xyXG50ZW1wRmlsdGVyZWRab25lczogYW55W10gPSBbXTtcclxuZHJvcGRvd25TZWFyY2hUZXh0ID0gJyc7XHJcbmF2YWlsYWJsZVpvbmVzOmFueVtdID0gW107XHJcbiAgZ2V0QXZhaWxhYmxlWm9uZXMoKXtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLCBcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuem9uZVYyU2VydmljZS5nZXRBdmFpbGFibGVab25lTmFtZXMocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVab25lcyA9IChyZXMuZGF0YS5hdmFpbGFibGVab25lRGF0YSB8fCBbXSkuZmlsdGVyKFxyXG4gICh6b25lOiBhbnkpID0+IHpvbmUuem9uZU5hbWU/LnRvTG93ZXJDYXNlKCkgIT09ICdvdmVyYWxsIHN0b3JlJ1xyXG4pO1xyXG4gICB0aGlzLnpvbmVMaXN0ID0gdGhpcy5hdmFpbGFibGVab25lcy5tYXAoeiA9PiAoe1xyXG4gICAgICAgICAgbmFtZTogei56b25lTmFtZSxcclxuICAgICAgICAgIGNoZWNrZWQ6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy56b25lc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldFpvbmVKb3VybmV5KFtdKTtcclxuICAgICAgICB0aGlzLmdldEJ1YmJsZShbXSk7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZVpvbmVzID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlWm9uZXMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbi8vIGdldEF2YWlsYWJsZVpvbmVzKCkge1xyXG4vLyAgIHRoaXMuem9uZVYyU2VydmljZS56b25lcyRcclxuLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuLy8gICAgIC5zdWJzY3JpYmUoKHpvbmVzKSA9PiB7XHJcbiAgICAgICBcclxuLy8gICAgICAgdGhpcy5hdmFpbGFibGVab25lcyA9IHpvbmVzO1xyXG5cclxuLy8gICAgICAgaWYgKCF0aGlzLnpvbmVzSW5pdGlhbGl6ZWQpIHtcclxuLy8gICAgICAgICB0aGlzLnpvbmVMaXN0ID0gem9uZXMubWFwKHogPT4gKHtcclxuLy8gICAgICAgICAgIG5hbWU6IHouem9uZU5hbWUsXHJcbi8vICAgICAgICAgICBjaGVja2VkOiB0cnVlXHJcbi8vICAgICAgICAgfSkpO1xyXG5cclxuLy8gICAgICAgICB0aGlzLnpvbmVzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4vLyAgICAgICAgIGlmKHRoaXMuem9uZUxpc3QubGVuZ3RoKXtcclxuLy8gICAgICAgICAgICBjb25zb2xlLmxvZygnYXZhaWxhYmxlIHpvbmVzIGluIHpvbmUgam91cm5leScsICAgICAgICB0aGlzLnpvbmVMaXN0KTsgICBcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Wm9uZUpvdXJuZXkoW10pO1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRCdWJibGUoW10pO1xyXG4vLyAgICAgICAgIH0gZWxzZSB7XHJcbi8vICAgICAgICAgICAgICBjb25zb2xlLmxvZygnYXZhaWxhYmxlIHpvbmVzIGluIHpvbmUgam91cm5leScsICAgICAgICB0aGlzLnpvbmVMaXN0KTtcclxuLy8gICAgICAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuLy8gICAgICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbi8vICAgICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRab25lSm91cm5leShbXSk7XHJcbi8vICAgICAgICAgICB0aGlzLmdldEJ1YmJsZShbXSk7XHJcbi8vICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4vLyAgICAgICB9XHJcbi8vICAgICB9KTtcclxuLy8gfVxyXG5cclxuQFZpZXdDaGlsZCgnem9uZURyb3Bkb3duJykgem9uZURyb3Bkb3duITogRWxlbWVudFJlZjtcclxuXHJcblxyXG4vKiBPUEVOIC8gVE9HR0xFICovXHJcbnRvZ2dsZURyb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IFxyXG4gIHRoaXMuc2hvd0Ryb3Bkb3duID0gIXRoaXMuc2hvd0Ryb3Bkb3duO1xyXG5cclxuICBpZiAodGhpcy5zaG93RHJvcGRvd24pIHtcclxuICAgIHRoaXMudGVtcFpvbmVMaXN0ID0gdGhpcy56b25lTGlzdC5tYXAoKHo6YW55KSA9PiAoeyAuLi56IH0pKTtcclxuICAgIHRoaXMudGVtcEZpbHRlcmVkWm9uZXMgPSBbLi4udGhpcy50ZW1wWm9uZUxpc3RdO1xyXG4gIH1cclxufVxyXG5cclxuLyog8J+UpSBPVVRTSURFIENMSUNLIEhBTkRMRVIgKi9cclxuQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG5vbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICBpZiAoIXRoaXMuc2hvd0Ryb3Bkb3duKSByZXR1cm47XHJcblxyXG4gIGNvbnN0IGNsaWNrZWRJbnNpZGUgPVxyXG4gICAgdGhpcy56b25lRHJvcGRvd24/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcclxuXHJcbiAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG50b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gIGNvbnN0IGNoZWNrZWQgPSBldmVudC50YXJnZXQuY2hlY2tlZDtcclxuXHJcbiAgLy8gQXBwbHkgdG8gZnVsbCB0ZW1wIGxpc3RcclxuICB0aGlzLnRlbXBab25lTGlzdCA9IHRoaXMudGVtcFpvbmVMaXN0Lm1hcCh6ID0+ICh7XHJcbiAgICAuLi56LFxyXG4gICAgY2hlY2tlZFxyXG4gIH0pKTtcclxuXHJcbiAgLy8gUmUtYXBwbHkgc2VhcmNoIGZpbHRlciBzbyBVSSB1cGRhdGVzIGNvcnJlY3RseVxyXG4gIHRoaXMuZmlsdGVyWm9uZXMoKTtcclxufVxyXG5pc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAoXHJcbiAgICB0aGlzLnRlbXBab25lTGlzdC5sZW5ndGggPiAwICYmXHJcbiAgICB0aGlzLnRlbXBab25lTGlzdC5ldmVyeSh6ID0+IHouY2hlY2tlZClcclxuICApO1xyXG59XHJcblxyXG5maWx0ZXJab25lcygpIHtcclxuICBjb25zdCB0ZXh0ID0gdGhpcy5kcm9wZG93blNlYXJjaFRleHQudG9Mb3dlckNhc2UoKTtcclxuICB0aGlzLnRlbXBGaWx0ZXJlZFpvbmVzID0gdGhpcy50ZW1wWm9uZUxpc3QuZmlsdGVyKHogPT5cclxuICAgIHoubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQpXHJcbiAgKTtcclxufVxyXG5cclxuYXBwbHlab25lcygpIHtcclxuICB0aGlzLnpvbmVMaXN0ID0gdGhpcy50ZW1wWm9uZUxpc3QubWFwKHogPT4gKHsgLi4ueiB9KSk7XHJcblxyXG4gIGNvbnN0IGhpZGRlblpvbmVzID0gdGhpcy56b25lTGlzdFxyXG4gICAgLmZpbHRlcigoejogYW55KSA9PiAhei5jaGVja2VkKVxyXG4gICAgLm1hcCgoejogYW55KSA9PiB6Lm5hbWUpO1xyXG5cclxuICB0aGlzLmdldFpvbmVKb3VybmV5KGhpZGRlblpvbmVzKTtcclxuICB0aGlzLmdldEJ1YmJsZShoaWRkZW5ab25lcyk7XHJcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgdGhpcy5kcm9wZG93blNlYXJjaFRleHQgPSAnJztcclxuICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG59XHJcblxyXG5yZXNldFpvbmVzKCkge1xyXG4gIC8vIFJlc2V0IGFwcGxpZWQgc3RhdGVcclxuICB0aGlzLnpvbmVMaXN0ID0gdGhpcy56b25lTGlzdC5tYXAoKHo6YW55KSA9PiAoe1xyXG4gICAgLi4ueixcclxuICAgIGNoZWNrZWQ6IHRydWVcclxuICB9KSk7XHJcblxyXG4gIC8vIFN5bmMgdGVtcCBzdGF0ZVxyXG4gIHRoaXMudGVtcFpvbmVMaXN0ID0gdGhpcy56b25lTGlzdC5tYXAoKHo6YW55KSA9PiAoeyAuLi56IH0pKTtcclxuICB0aGlzLnRlbXBGaWx0ZXJlZFpvbmVzID0gWy4uLnRoaXMudGVtcFpvbmVMaXN0XTtcclxuXHJcbiAgdGhpcy5kcm9wZG93blNlYXJjaFRleHQgPSAnJztcclxuXHJcbiAgLy8gQXBwbHkgaW1tZWRpYXRlbHlcclxuICB0aGlzLmdldFpvbmVKb3VybmV5KFtdKTtcclxuICB0aGlzLmdldEJ1YmJsZShbXSk7XHJcblxyXG4gIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbn1cclxuZ2V0Wm9uZUpvdXJuZXlFeHBvcnQoKSB7XHJcbiAgdGhpcy5vYmplY3QxID0ge1xyXG4gICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXNcclxuICAgICAgLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZClcclxuICAgICAgLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgIG5vYjogdGhpcy5jbGllbnREYXRhPy5pc05PQixcclxuICAgIGhpZGVab25lczogdGhpcy56b25lTGlzdC5maWx0ZXIoKHo6IGFueSkgPT4gIXouY2hlY2tlZCkubWFwKCh6OiBhbnkpID0+IHoubmFtZSksXHJcbiAgICBzZWFyY2g6IHRoaXMuc2VhcmNoWm9uZVRleHQgfHwgJycsXHJcbiAgICBleHBvcnQgOiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgdGhpcy5zZXJ2aWNlLmdldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNFeHBvcnRBcGkodGhpcy5vYmplY3QxKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgIGlmKHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSA9PSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlKXtcclxuICAgICAgbGV0IGZpbGVOYW1lID0gJ1Nob3BwZXIgSm91cm5leV9FeHBvcnRfJyt0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGU7XHJcbiAgICAgIHRoaXMuc2VydmljZS5zYXZlQXNFeGNlbEZpbGUxKHJlcywgZmlsZU5hbWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgZmlsZU5hbWUgPSAnU2hvcHBlciBKb3VybmV5X0V4cG9ydF8nK3RoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSsnXycrdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnNhdmVBc0V4Y2VsRmlsZTEocmVzLCBmaWxlTmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKGU6YW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgZXJyb3JNc2cgPSAnU29tZXRoaW5nIHdlbnQgV3JvbmcuLic7XHJcbiAgICAgICAgICBpZiAoZSAmJiBlLmVycm9yICYmIGUuZXJyb3IuZXJyb3IpIHtcclxuICAgICAgICAgICAgZXJyb3JNc2cgPSBlLmVycm9yLmVycm9yO1xyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnJvck1zZylcclxuICAgICAgICB9KVxyXG4gIH0pO1xyXG59XHJcbnpvbmVDYXJkTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgem9uZUNhcmRMb2FkaW5nID0gdHJ1ZTtcclxuZ2V0Wm9uZUpvdXJuZXkoaGlkZGVuWm9uZXM6IGFueVtdID0gW10pIHtcclxuICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IGZhbHNlO1xyXG4gIHRoaXMub2JqZWN0MSA9IHtcclxuICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzXHJcbiAgICAgIC5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpXHJcbiAgICAgIC5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICBub2I6IHRoaXMuY2xpZW50RGF0YT8uaXNOT0IsXHJcbiAgICBoaWRlWm9uZXM6IGhpZGRlblpvbmVzLCAvLyDinIUgYWx3YXlzIGNvcnJlY3RcclxuICAgIHNlYXJjaDogdGhpcy5zZWFyY2hab25lVGV4dCB8fCAnJyxcclxuICAgIGV4cG9ydCA6IGZhbHNlXHJcbiAgfTtcclxuXHJcbiAgdGhpcy5zZXJ2aWNlLmdldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNBcGkodGhpcy5vYmplY3QxKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgIGlmKHJlcy5kYXRhPy56b25lU2hvcHBlckFuYWx5c2lzPy5sZW5ndGgpe1xyXG4gICAgICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICB0aGlzLnpvbmVzID0gdGhpcy56b25lU2hvcHBlckFuYWx5c2lzPy56b25lU2hvcHBlckFuYWx5c2lzIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gbnVsbDtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gbnVsbDtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnpvbmVDYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgdGhpcy56b25lU2hvcHBlckFuYWx5c2lzID0gbnVsbDtcclxuICAgICAgdGhpcy56b25lQ2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgIHRoaXMuem9uZUNhcmRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbnpvbmVDaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgIHpvbmVDaGFydExvYWRpbmcgPSB0cnVlO1xyXG5nZXRCdWJibGUoaGlkZGVuWm9uZXM6IGFueVtdID0gW10pIHtcclxuICAgdGhpcy56b25lQ2hhcnRMb2FkaW5nID0gdHJ1ZTtcclxuICAgdGhpcy56b25lQ2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICB0aGlzLm9iamVjdCA9IHtcclxuICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgbm9iOiB0aGlzLmNsaWVudERhdGE/LmlzTk9CLFxyXG4gICAgaGlkZVpvbmVzOiBoaWRkZW5ab25lcyxcclxuXHJcbiAgfTtcclxudGhpcy5zZXJ2aWNlLmdldE5ld1pvbmVTaG9wcGVyQnViYmxlQ2hhcnRBcGkodGhpcy5vYmplY3QpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOmFueSk9PntcclxuICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4gICAgICAgIGlmKHJlcz8uZGF0YT8uem9uZUJ1YmJsZUNoYXJ0TWV0cmljcz8ubGVuZ3RoKXtcclxuICAgICAgICAgIHRoaXMuYnViYmxlQ2hhcnREYXRhID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUNoYXJ0KCk7XHJcbiAgICAgICAgICB0aGlzLnpvbmVDaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy56b25lQ2hhcnRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgdGhpcy5idWJibGVDaGFydERhdGEgPSBudWxsO1xyXG4gICAgICAgICB0aGlzLnpvbmVDaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy56b25lQ2hhcnRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYnViYmxlQ2hhcnREYXRhID0gbnVsbDtcclxuICAgICAgICAgdGhpcy56b25lQ2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuem9uZUNoYXJ0TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6YW55KT0+e1xyXG4gICAgICB0aGlzLmJ1YmJsZUNoYXJ0RGF0YSA9IG51bGw7XHJcbiAgICAgIHRoaXMuem9uZUNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnpvbmVDaGFydExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3pvbmUgam91cm5leSBidWJibGUgY2hhcnQgZXJyb3InLGVycik7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuXHJcbmNyZWF0ZUNoYXJ0KCkge1xyXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gRGlzcG9zZSBvbGQgY2hhcnRcclxuICAgIGlmICh0aGlzLnJvb3QpIHtcclxuICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSb290XHJcbiAgICB0aGlzLnJvb3QgPSBhbTUuUm9vdC5uZXcoJ2NoYXJ0ZGl2Jyk7XHJcbiAgICB0aGlzLnJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMucm9vdCldKTtcclxuXHJcbiAgICAvLyBBcmMgRGlhZ3JhbSBTZXJpZXNcclxuICAgIGNvbnN0IHNlcmllcyA9IHRoaXMucm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01Zmxvdy5BcmNEaWFncmFtLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICBzb3VyY2VJZEZpZWxkOiAnZnJvbScsXHJcbiAgICAgICAgdGFyZ2V0SWRGaWVsZDogJ3RvJyxcclxuICAgICAgICB2YWx1ZUZpZWxkOiAndmFsdWUnLFxyXG4gICAgICAgIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCdcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vIFRPT0xUSVAgKEhUTUwpXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgY29uc3QgdG9vbHRpcCA9IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLFxyXG4gICAgICBnZXRTdHJva2VGcm9tU3ByaXRlOiBmYWxzZSxcclxuICAgICAgYXV0b1RleHRDb2xvcjogZmFsc2UsXHJcbiAgICAgIGtlZXBUYXJnZXRIb3ZlcjogdHJ1ZSxcclxuICAgICAgcG9pbnRlck9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCdcclxuICAgIH0pO1xyXG5cclxuICAgIHRvb2x0aXAuZ2V0KCdiYWNrZ3JvdW5kJyk/LnNldEFsbCh7XHJcbiAgICAgIGZpbGw6IGFtNS5jb2xvcigweGZmZmZmZiksXHJcbiAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4ZTVlN2ViKSxcclxuICAgICAgc2hhZG93Q29sb3I6IGFtNS5jb2xvcigweGY3ZjdmNyksXHJcbiAgICAgIHNoYWRvd0JsdXI6IDEwLFxyXG4gICAgICBzaGFkb3dPZmZzZXRZOiA0XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBdHRhY2ggdG9vbHRpcCB0byBsaW5rc1xyXG4gICAgc2VyaWVzLmxpbmtzLnRlbXBsYXRlLnNldCgndG9vbHRpcCcsIHRvb2x0aXApO1xyXG4gICAgc2VyaWVzLmxpbmtzLnRlbXBsYXRlLnNldCgndG9vbHRpcEhUTUwnLCAnJyk7XHJcbnNlcmllcy5saW5rcy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gIHN0cm9rZVdpZHRoOiAyLCAvLyB2aXNpYmxlIGxpbmVcclxuICBpbnRlcmFjdGl2ZTogdHJ1ZSxcclxuICB0b29sdGlwOiB0b29sdGlwXHJcbn0pO1xyXG5cclxuLy8gQWRkIGEgbGFyZ2VyIGludmlzaWJsZSBoaXQgYXJlYVxyXG5zZXJpZXMubGlua3MudGVtcGxhdGUuc3RhdGVzLmNyZWF0ZShcImhvdmVyXCIsIHtcclxuICBzdHJva2VXaWR0aDogM1xyXG59KTtcclxuXHJcbiAgICAvLyBBZGFwdGVyIGZvciBIVE1MIGNvbnRlbnRcclxuICAgIHNlcmllcy5saW5rcy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoJ3Rvb2x0aXBIVE1MJywgKF9odG1sLCB0YXJnZXQpID0+IHtcclxuICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW07XHJcbiAgICAgIGlmICghZGF0YUl0ZW0pIHJldHVybiAnJztcclxuXHJcbiAgICAgIGNvbnN0IGRjOiBhbnkgPSBkYXRhSXRlbS5kYXRhQ29udGV4dDtcclxuXHJcbiAgICAgIHJldHVybiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFtLXRvb2x0aXBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbS10b29sdGlwLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAke2RjLmZyb219IOKGkiAke2RjLnRvfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW0tdG9vbHRpcC10YWJsZVwiPlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGRpdj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPiR7ZGMudmFsdWUgPz8gJy0tJ308L3NwYW4+IDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPkZvb3RmYWxsIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGRpdj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPiR7ZGMuTm9CID8/ICctLSd9PC9zcGFuPjxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPiAkeyB0aGlzLmNsaWVudERhdGE/LmlzTk9CID8gJyBOb0InIDogJyBDb252ZXJzaW9uJyB9IDwvc3Bhbj4gPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgYDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBOT0RFIExBQkVMU1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHNlcmllcy5ub2Rlcy5sYWJlbHMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgdGV4dDogJ3tpZH1cXG57dG90YWx9JyxcclxuICAgICAgY2VudGVyWDogYW01LnBlcmNlbnQoNTApLFxyXG4gICAgICBjZW50ZXJZOiBhbTUucGVyY2VudCg1MCksXHJcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXHJcbiAgICAgIGZvbnRTaXplOiAxMSxcclxuICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgbWF4V2lkdGg6IDkwXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8gRkxPVyBCVUxMRVRTXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaCgoX3Jvb3QsIF9zZXJpZXMsIGRhdGFJdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGJ1bGxldCA9IGFtNS5CdWxsZXQubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgIGxvY2F0aW9uWTogTWF0aC5yYW5kb20oKSxcclxuICAgICAgICBzcHJpdGU6IGFtNS5DaXJjbGUubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgcmFkaXVzOiAyLFxyXG4gICAgICAgICAgZmlsbDogZGF0YUl0ZW0uZ2V0KCdzb3VyY2UnKS5nZXQoJ2ZpbGwnKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgYnVsbGV0LmFuaW1hdGUoe1xyXG4gICAgICAgIGtleTogJ2xvY2F0aW9uWScsXHJcbiAgICAgICAgZnJvbTogMCxcclxuICAgICAgICB0bzogMSxcclxuICAgICAgICBkdXJhdGlvbjogTWF0aC5yYW5kb20oKSAqIDEwMDAgKyAyMDAwXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgcmV0dXJuIGJ1bGxldDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLyBEQVRBICsgT1JERVJJTkdcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBjb25zdCBub2RlT3JkZXIgPSAobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChuYW1lID09PSAnRW50cnknKSByZXR1cm4gMDtcclxuICAgICAgaWYgKG5hbWUgPT09ICdFeGl0JykgcmV0dXJuIDk5OTtcclxuICAgICAgcmV0dXJuIDE7XHJcbiAgICB9O1xyXG5cclxuICAgIHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmJ1YmJsZUNoYXJ0RGF0YT8uem9uZUJ1YmJsZUNoYXJ0TWV0cmljcyk7XHJcblxyXG4gICAgQXJyYXkuZnJvbShzZXJpZXMubm9kZXMuY2hpbGRyZW4pLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgbm9kZU9yZGVyKGEuZGF0YUl0ZW0/LmRhdGFDb250ZXh0Py5pZCkgLVxyXG4gICAgICAgIG5vZGVPcmRlcihiLmRhdGFJdGVtPy5kYXRhQ29udGV4dD8uaWQpXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZXJpZXMuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgfSwgNTAwKTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvb3QpIHtcclxuICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgIH1cclxuICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIC8vICB0aGlzLnN0b3BBdXRvU2xpZGUoKTtcclxuICB9XHJcbiBcclxuICAgem9uZXM6YW55ID0gW107XHJcblxyXG5hY3RpdmVJbmRleDogbnVtYmVyIHwgbnVsbCA9IDA7XHJcblxyXG50b2dnbGUoaW5kZXg6IG51bWJlcikge1xyXG4gIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4ID09PSBpbmRleCA/IG51bGwgOiBpbmRleDtcclxufVxyXG5zZWFyY2hOZXdPcGVuID1mYWxzZTtcclxuc2VhcmNoT3Blbigpe1xyXG4gIHRoaXMuc2VhcmNoTmV3T3BlbiA9ICF0aGlzLnNlYXJjaE5ld09wZW47XHJcbmlmKCF0aGlzLnNlYXJjaE5ld09wZW4pe1xyXG4gIHRoaXMuc2VhcmNoWm9uZVRleHQgPScnO1xyXG4gIHRoaXMuZ2V0Wm9uZUpvdXJuZXkoW10pO1xyXG59XHJcbn1cclxuXHJcbnNlYXJjaFpvbmVUZXh0OnN0cmluZyA9Jyc7XHJcblNlYXJjaFpvbmVzKCl7XHJcbiAgIHRoaXMuZ2V0Wm9uZUpvdXJuZXkoW10pO1xyXG59XHJcbmlzTWluaW1pemVkID0gZmFsc2U7XHJcblxyXG4vLyBkcmFnIHN1cHBvcnRcclxuZHJhZ2dpbmcgPSBmYWxzZTtcclxub2Zmc2V0WCA9IDA7XHJcbm9mZnNldFkgPSAwO1xyXG5cclxuZmxvYXRpbmdQb3MgPSB7XHJcbiAgdG9wOiAxMjAsXHJcbiAgbGVmdDogd2luZG93LmlubmVyV2lkdGggLSAzODBcclxufTtcclxuXHJcbmV4cGFuZENsb3NlKCkge1xyXG4gIHRoaXMuaXNNaW5pbWl6ZWQgPSAhdGhpcy5pc01pbmltaXplZDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbnN0YXJ0RHJhZyhldmVudDogTW91c2VFdmVudCkge1xyXG4gIGlmICghdGhpcy5pc01pbmltaXplZCkgcmV0dXJuO1xyXG5cclxuICB0aGlzLmRyYWdnaW5nID0gdHJ1ZTtcclxuICB0aGlzLm9mZnNldFggPSBldmVudC5jbGllbnRYIC0gdGhpcy5mbG9hdGluZ1Bvcy5sZWZ0O1xyXG4gIHRoaXMub2Zmc2V0WSA9IGV2ZW50LmNsaWVudFkgLSB0aGlzLmZsb2F0aW5nUG9zLnRvcDtcclxuXHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbkRyYWcpO1xyXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLnN0b3BEcmFnKTtcclxufVxyXG5cclxub25EcmFnID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgaWYgKCF0aGlzLmRyYWdnaW5nKSByZXR1cm47XHJcblxyXG4gIHRoaXMuZmxvYXRpbmdQb3MubGVmdCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm9mZnNldFg7XHJcbiAgdGhpcy5mbG9hdGluZ1Bvcy50b3AgPSBldmVudC5jbGllbnRZIC0gdGhpcy5vZmZzZXRZO1xyXG59O1xyXG5cclxuc3RvcERyYWcgPSAoKSA9PiB7XHJcbiAgdGhpcy5kcmFnZ2luZyA9IGZhbHNlO1xyXG4gIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25EcmFnKTtcclxuICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5zdG9wRHJhZyk7XHJcbn07XHJcblxyXG4gIG5vYlVwbG9hZCgpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmFmZmljL25vYlwiXSk7IFxyXG4gIH1cclxufVxyXG4iLCI8IS0tIHpvbmUtam91cm5leS5jb21wb25lbnQuaHRtbCAtLT5cclxuPGRpdiBjbGFzcz1cImNhcmQgbXktY2FyZCBteC0xIG15LTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweC0wIG14LTUgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTFcIj5ab25lLUJhc2VkIFNob3BwZXIgQW5hbHlzaXMgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTFcIj5VbmRlcnN0YW5kIHlvdXIgU2hvcHBlcnMgam91cm5leSBmcm9tIG9uZSB6b25lIHRvIGFub3RoZXJcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG48ZGl2IGNsYXNzPVwiem9uZS1kcm9wZG93biBtZS0yXCIgICN6b25lRHJvcGRvd25cclxuICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcblxyXG4gIDwhLS0gQlVUVE9OIC0tPlxyXG4gIDxidXR0b24gW2Rpc2FibGVkXT1cIiF6b25lU2hvcHBlckFuYWx5c2lzXCJcclxuICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMTAwIG1lLTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcclxuICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigkZXZlbnQpXCJcclxuICA+XHJcbiAgICBTaG93IC8gSGlkZSBab25lXHJcbiAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiN1wiIHZpZXdCb3g9XCIwIDAgMTIgN1wiIGZpbGw9XCJub25lXCI+XHJcbjxwYXRoIGQ9XCJNMSAxTDYgNkwxMSAxXCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbjwvc3ZnPjwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuXHJcbiAgPCEtLSBEUk9QRE9XTiAtLT5cclxuIDxkaXYgKm5nSWY9XCJzaG93RHJvcGRvd25cIiBjbGFzcz1cImRyb3Bkb3duLXBhbmVsIGgtMzAwcHggZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcblxyXG4gIDwhLS0gSEVBREVSIChmaXhlZCkgLS0+XHJcbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWhlYWRlciBweC0yIHBiLTJcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggWm9uZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwiZHJvcGRvd25TZWFyY2hUZXh0XCJcclxuICAgICAgKGlucHV0KT1cImZpbHRlclpvbmVzKClcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBtYi0yIHB4LTJcIj5cclxuICAgICA8c3BhbiBjbGFzcz1cIm14LTFcIj48aW5wdXRcclxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgW2NoZWNrZWRdPVwiaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3RBbGwoJGV2ZW50KVwiXHJcbiAgICAvPjwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPlNlbGVjdCBBbGw8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBCT0RZIChzY3JvbGxhYmxlIGxpc3QpIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1ib2R5IGZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG8gcHgtMlwiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInpvbmUtaXRlbVwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCB6b25lIG9mIHRlbXBGaWx0ZXJlZFpvbmVzXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+PGlucHV0XHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInpvbmUuY2hlY2tlZFwiXHJcbiAgICAgIC8+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj57eyB6b25lLm5hbWUgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBGT09URVIgKGZpeGVkKSAtLT5cclxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZm9vdGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0yIHAtMiBib3JkZXItdG9wXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZSB3LTUwXCIgKGNsaWNrKT1cInJlc2V0Wm9uZXMoKVwiPlxyXG4gICAgICBSZXNldFxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSB3LTUwXCIgKGNsaWNrKT1cImFwcGx5Wm9uZXMoKVwiPlxyXG4gICAgICBBcHBseVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImdldFpvbmVKb3VybmV5RXhwb3J0KClcIiBbZGlzYWJsZWRdPVwiIXpvbmVTaG9wcGVyQW5hbHlzaXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBhbGlnbi1pdGVtcy1lbmQgdGV4dC1ub3dyYXAgaW52aGVhZGVyIG1lLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFeHBvcnQgSWNvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj48L3NwYW4+IEV4cG9ydFxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0zIG14LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyZWQtYm94IHctNTAgbWUtMiBweS0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gcHQtMSBweC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdGl0bGUgcHktMlwiPjxzdmcgY2xhc3M9XCJteC0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyMVwiIHZpZXdCb3g9XCIwIDAgMTkgMjFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjUgMTYuMzI1OEg2VjE3LjU3NThDNiAxOC4zMDUxIDUuNzEwMjcgMTkuMDA0NiA1LjE5NDU0IDE5LjUyMDNDNC42Nzg4MiAyMC4wMzYgMy45NzkzNSAyMC4zMjU4IDMuMjUgMjAuMzI1OEMyLjUyMDY1IDIwLjMyNTggMS44MjExOCAyMC4wMzYgMS4zMDU0NiAxOS41MjAzQzAuNzg5NzMxIDE5LjAwNDYgMC41IDE4LjMwNTEgMC41IDE3LjU3NThWMTYuMzI1OFpNNC41IDQuNDQ1NzZDNi41IDQuNDQ1NzYgNy41IDcuMzI1NzYgNy41IDkuMzI1NzZDNy41IDEwLjMyNTggNyAxMS4zMjU4IDYuNSAxMi44MjU4TDYgMTQuMzI1OEgwLjVDMC41IDEzLjMyNTggMCAxMS44MjU4IDAgOS4zMjU3NkMwIDYuODI1NzYgMS45OTggNC40NDU3NiA0LjUgNC40NDU3NlpNMTYuNTU0IDEyLjQyMzhMMTYuMzM3IDEzLjY1NDhDMTYuMjAyMyAxNC4zNjU0IDE1Ljc5MzEgMTQuOTk0MyAxNS4xOTggMTUuNDA1NEMxNC42MDI5IDE1LjgxNjUgMTMuODY5OCAxNS45NzY1IDEzLjE1NzYgMTUuODUwOUMxMi40NDUzIDE1LjcyNTQgMTEuODExMSAxNS4zMjQyIDExLjM5MjUgMTQuNzM0NEMxMC45NzM5IDE0LjE0NDYgMTAuODA0NSAxMy40MTM2IDEwLjkyMSAxMi42OTk4TDExLjEzNyAxMS40Njk4TDE2LjU1NCAxMi40MjM4Wk0xNC42NzggMC4wMzA3NjI0QzE3LjE0MiAwLjQ2NDc2MiAxOC42OTYgMy4xNTU3NiAxOC4yNjIgNS42MTc3NkMxNy44MjggOC4wNzk3NiAxNy4wNzUgOS40Njk3NiAxNi45MDIgMTAuNDU0OEwxMS40ODUgOS40OTk3NkwxMS4yNTMgNy45MzU3NkMxMS4wMjEgNi4zNzE3NiAxMC43MDMgNS4yOTk3NiAxMC44NzYgNC4zMTU3NkMxMS4yMjMgMi4zNDU3NiAxMi43MDggLTAuMzE2MjM4IDE0LjY3OCAwLjAzMDc2MjRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMUQyOTM5XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5PdmVyYWxsIEZvb3RmYWxsIDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz1cInRleHQtdmFsXCI+e3t6b25lU2hvcHBlckFuYWx5c2lzPy5PdmVyYWxsRm9vdGZhbGwgPz8gJy0tJ319PC9zcGFuPiA8c3BhbiBjbGFzcz1cInRleHQtcGVyYyBtcy0xXCI+KHt7em9uZVNob3BwZXJBbmFseXNpcz8uQ29udmVyc2lvblBlcmNlbnQgPz8gJy0tJ319ICUpPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlcmVkLWJveCB3LTUwIHB5LTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwdC0xIHB4LTNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGhpcy5jbGllbnREYXRhPy5pc05PQlwiIGNsYXNzPVwidGV4dC10aXRsZSBweS0yXCI+XHJcbjxzdmcgY2xhc3M9XCJteC0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05IDExSDE1TTkgMTVIMTVNOSA3SDE1TTUgM0M1IDIuNzM0NzggNS4xMDUzNiAyLjQ4MDQzIDUuMjkyODkgMi4yOTI4OUM1LjQ4MDQzIDIuMTA1MzYgNS43MzQ3OCAyIDYgMkgxOEMxOC4yNjUyIDIgMTguNTE5NiAyLjEwNTM2IDE4LjcwNzEgMi4yOTI4OUMxOC44OTQ2IDIuNDgwNDMgMTkgMi43MzQ3OCAxOSAzVjIyTDE1LjUgMTkuNUwxMiAyMkw4LjUgMTkuNUw1IDIyVjNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMxRDI5MzlcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gTm9CIDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGhpcy5jbGllbnREYXRhPy5pc05PQlwiIGNsYXNzPVwidGV4dC10aXRsZSBweS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbjxwYXRoIGQ9XCJNMTYgMjFWMTlDMTYgMTcuOTM5MSAxNS41Nzg2IDE2LjkyMTcgMTQuODI4NCAxNi4xNzE2QzE0LjA3ODMgMTUuNDIxNCAxMy4wNjA5IDE1IDEyIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0xNyAxMUwxOSAxM0wyMyA5TTEyLjUgN0MxMi41IDkuMjA5MTQgMTAuNzA5MSAxMSA4LjUgMTFDNi4yOTA4NiAxMSA0LjUgOS4yMDkxNCA0LjUgN0M0LjUgNC43OTA4NiA2LjI5MDg2IDMgOC41IDNDMTAuNzA5MSAzIDEyLjUgNC43OTA4NiAxMi41IDdaXCIgc3Ryb2tlPVwiIzFEMjkzOVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbjwvc3ZnPiBDb252ZXJzaW9uIDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsXCI+e3t6b25lU2hvcHBlckFuYWx5c2lzPy5Ob2IgPz8gJy0tJ319IDxzcGFuICpuZ0lmPVwidGhpcy5jbGllbnREYXRhPy5pc05PQlwiIGNsYXNzPVwicHgtMCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJub2JVcGxvYWQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgIHBsYWNlbWVudD1cInRvcFwiIG5nYlRvb2x0aXA9XCJVcGxvYWQgTm9CXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzE1MTA2XzEwNjA5MClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgcng9XCI4XCIgZmlsbD1cIiNFQUY4RkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIzLjMzMjYgMjIuMzMzMkwxOS45OTkyIDE4Ljk5OTlNMTkuOTk5MiAxOC45OTk5TDE2LjY2NTkgMjIuMzMzMk0xOS45OTkyIDE4Ljk5OTlWMjYuNDk5OU0yNi45OTA5IDI0LjMyNDlDMjcuODAzNyAyMy44ODE4IDI4LjQ0NTggMjMuMTgwNiAyOC44MTU4IDIyLjMzMjFDMjkuMTg1OCAyMS40ODM1IDI5LjI2MjcgMjAuNTM1OSAyOS4wMzQ0IDE5LjYzODhDMjguODA2MSAxOC43NDE3IDI4LjI4NTUgMTcuOTQ2MiAyNy41NTQ4IDE3LjM3NzhDMjYuODI0MSAxNi44MDk0IDI1LjkyNSAxNi41MDA1IDI0Ljk5OTIgMTYuNDk5OUgyMy45NDkyQzIzLjY5NyAxNS41MjQzIDIzLjIyNjkgMTQuNjE4NSAyMi41NzQyIDEzLjg1MDdDMjEuOTIxNSAxMy4wODI5IDIxLjEwMzMgMTIuNDczMSAyMC4xODEgMTIuMDY3MUMxOS4yNTg3IDExLjY2MSAxOC4yNTY0IDExLjQ2OTQgMTcuMjQ5MyAxMS41MDY1QzE2LjI0MjMgMTEuNTQzNiAxNS4yNTY4IDExLjgwODUgMTQuMzY2OSAxMi4yODEzQzEzLjQ3NyAxMi43NTQxIDEyLjcwNTggMTMuNDIyNSAxMi4xMTE0IDE0LjIzNjJDMTEuNTE3IDE1LjA1IDExLjExNDggMTUuOTg3OSAxMC45MzUxIDE2Ljk3OTRDMTAuNzU1MyAxNy45NzA5IDEwLjgwMjcgMTguOTkwMyAxMS4wNzM2IDE5Ljk2MUMxMS4zNDQ1IDIwLjkzMTYgMTEuODMxOSAyMS44MjgxIDEyLjQ5OTIgMjIuNTgzMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMTUxMDZfMTA2MDkwXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTUxMDZfMTA2MDkwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18xNTEwNl8xMDYwOTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBneC0wIHAtM1wiPlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiaXNNaW5pbWl6ZWQgPyAnY29sLTEyJyA6ICdjb2wtOCdcIlxyXG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiem9uZUNoYXJ0Tm9EYXRhID8gMzAwIDogKGlzTWluaW1pemVkID8gNjUwIDogNTUwKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiem9uZUNoYXJ0TG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInpvbmVDaGFydE5vRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFtYWludGV4dCBtdC0zXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgWm9uZSBCYXNlZCBTaG9wcGVyIEFuYWx5c2lzIENoYXJ0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhem9uZUNoYXJ0Tm9EYXRhICYmICF6b25lQ2hhcnRMb2FkaW5nXCIgaWQ9XCJjaGFydGRpdlwiIHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJpc01pbmltaXplZCA/ICd6b25lLWZsb2F0aW5nJyA6ICdjb2wtNCdcIiBbc3R5bGUudG9wLnB4XT1cImlzTWluaW1pemVkID8gZmxvYXRpbmdQb3MudG9wIDogbnVsbFwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImlzTWluaW1pemVkID8gZmxvYXRpbmdQb3MubGVmdCA6IG51bGxcIiAobW91c2Vkb3duKT1cInN0YXJ0RHJhZygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwhLS0gKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50KVwiIC0tPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ6b25lQ2FyZExvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ6b25lQ2FyZE5vRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFtYWludGV4dCBtdC0zXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgWm9uZSBCYXNlZCBTaG9wcGVyIEFuYWx5c2lzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb25hdGluZXIgKm5nSWY9XCIhem9uZUNhcmROb0RhdGEgJiYgIXpvbmVDYXJkTG9hZGluZ1wiIGNsYXNzPVwiY2FyZCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBweC00XCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpc01pbmltaXplZCA/J2JnLXNlY29uZGFyeSBtaW4taC0zMHB4JzogJ2JnLWxpZ2h0LXByaW1hcnkgbWluLWgtNDVweCBtYi0yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0XCI+PHNwYW4gKm5nSWY9XCJpc01pbmltaXplZFwiIGNsYXNzPVwibWUtMiBtYi0yXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSAyMEM4LjQ1IDIwIDcuOTc5MTcgMTkuODA0MiA3LjU4NzUgMTkuNDEyNUM3LjE5NTgzIDE5LjAyMDggNyAxOC41NSA3IDE4QzcgMTcuNDUgNy4xOTU4MyAxNi45NzkyIDcuNTg3NSAxNi41ODc1QzcuOTc5MTcgMTYuMTk1OCA4LjQ1IDE2IDkgMTZDOS41NSAxNiAxMC4wMjA4IDE2LjE5NTggMTAuNDEyNSAxNi41ODc1QzEwLjgwNDIgMTYuOTc5MiAxMSAxNy40NSAxMSAxOEMxMSAxOC41NSAxMC44MDQyIDE5LjAyMDggMTAuNDEyNSAxOS40MTI1QzEwLjAyMDggMTkuODA0MiA5LjU1IDIwIDkgMjBaTTE1IDIwQzE0LjQ1IDIwIDEzLjk3OTIgMTkuODA0MiAxMy41ODc1IDE5LjQxMjVDMTMuMTk1OCAxOS4wMjA4IDEzIDE4LjU1IDEzIDE4QzEzIDE3LjQ1IDEzLjE5NTggMTYuOTc5MiAxMy41ODc1IDE2LjU4NzVDMTMuOTc5MiAxNi4xOTU4IDE0LjQ1IDE2IDE1IDE2QzE1LjU1IDE2IDE2LjAyMDggMTYuMTk1OCAxNi40MTI1IDE2LjU4NzVDMTYuODA0MiAxNi45NzkyIDE3IDE3LjQ1IDE3IDE4QzE3IDE4LjU1IDE2LjgwNDIgMTkuMDIwOCAxNi40MTI1IDE5LjQxMjVDMTYuMDIwOCAxOS44MDQyIDE1LjU1IDIwIDE1IDIwWk05IDE0QzguNDUgMTQgNy45NzkxNyAxMy44MDQyIDcuNTg3NSAxMy40MTI1QzcuMTk1ODMgMTMuMDIwOCA3IDEyLjU1IDcgMTJDNyAxMS40NSA3LjE5NTgzIDEwLjk3OTIgNy41ODc1IDEwLjU4NzVDNy45NzkxNyAxMC4xOTU4IDguNDUgMTAgOSAxMEM5LjU1IDEwIDEwLjAyMDggMTAuMTk1OCAxMC40MTI1IDEwLjU4NzVDMTAuODA0MiAxMC45NzkyIDExIDExLjQ1IDExIDEyQzExIDEyLjU1IDEwLjgwNDIgMTMuMDIwOCAxMC40MTI1IDEzLjQxMjVDMTAuMDIwOCAxMy44MDQyIDkuNTUgMTQgOSAxNFpNMTUgMTRDMTQuNDUgMTQgMTMuOTc5MiAxMy44MDQyIDEzLjU4NzUgMTMuNDEyNUMxMy4xOTU4IDEzLjAyMDggMTMgMTIuNTUgMTMgMTJDMTMgMTEuNDUgMTMuMTk1OCAxMC45NzkyIDEzLjU4NzUgMTAuNTg3NUMxMy45NzkyIDEwLjE5NTggMTQuNDUgMTAgMTUgMTBDMTUuNTUgMTAgMTYuMDIwOCAxMC4xOTU4IDE2LjQxMjUgMTAuNTg3NUMxNi44MDQyIDEwLjk3OTIgMTcgMTEuNDUgMTcgMTJDMTcgMTIuNTUgMTYuODA0MiAxMy4wMjA4IDE2LjQxMjUgMTMuNDEyNUMxNi4wMjA4IDEzLjgwNDIgMTUuNTUgMTQgMTUgMTRaTTkgOEM4LjQ1IDggNy45NzkxNyA3LjgwNDE3IDcuNTg3NSA3LjQxMjVDNy4xOTU4MyA3LjAyMDgzIDcgNi41NSA3IDZDNyA1LjQ1IDcuMTk1ODMgNC45NzkxNyA3LjU4NzUgNC41ODc1QzcuOTc5MTcgNC4xOTU4MyA4LjQ1IDQgOSA0QzkuNTUgNCAxMC4wMjA4IDQuMTk1ODMgMTAuNDEyNSA0LjU4NzVDMTAuODA0MiA0Ljk3OTE3IDExIDUuNDUgMTEgNkMxMSA2LjU1IDEwLjgwNDIgNy4wMjA4MyAxMC40MTI1IDcuNDEyNUMxMC4wMjA4IDcuODA0MTcgOS41NSA4IDkgOFpNMTUgOEMxNC40NSA4IDEzLjk3OTIgNy44MDQxNyAxMy41ODc1IDcuNDEyNUMxMy4xOTU4IDcuMDIwODMgMTMgNi41NSAxMyA2QzEzIDUuNDUgMTMuMTk1OCA0Ljk3OTE3IDEzLjU4NzUgNC41ODc1QzEzLjk3OTIgNC4xOTU4MyAxNC40NSA0IDE1IDRDMTUuNTUgNCAxNi4wMjA4IDQuMTk1ODMgMTYuNDEyNSA0LjU4NzVDMTYuODA0MiA0Ljk3OTE3IDE3IDUuNDUgMTcgNkMxNyA2LjU1IDE2LjgwNDIgNy4wMjA4MyAxNi40MTI1IDcuNDEyNUMxNi4wMjA4IDcuODA0MTcgMTUuNTUgOCAxNSA4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNjY3MDg1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gWm9uZSBKb3VybmV5IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlzTWluaW1pemVkXCIgKGNsaWNrKT1cInNlYXJjaE9wZW4oKVwiIGNsYXNzPVwibWUtM1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTkgMTlMMTQuNjUgMTQuNjVNMTcgOUMxNyAxMy40MTgzIDEzLjQxODMgMTcgOSAxN0M0LjU4MTcyIDE3IDEgMTMuNDE4MyAxIDlDMSA0LjU4MTcyIDQuNTgxNzIgMSA5IDFDMTMuNDE4MyAxIDE3IDQuNTgxNzIgMTcgOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwiIWlzTWluaW1pemVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZENsb3NlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgMTJIMTlcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImlzTWluaW1pemVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZENsb3NlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1IDNIMjFNMjEgM1Y5TTIxIDNMMTQgMTBNOSAyMUgzTTMgMjFWMTVNMyAyMUwxMCAxNFwiIHN0cm9rZT1cIiM2NjcwODVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWFyY2hOZXdPcGVuICYmICFpc01pbmltaXplZFwiIGNsYXNzPVwicHgtMiBwYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBab25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoWm9uZVRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJTZWFyY2hab25lcygpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNNaW5pbWl6ZWRcIiBjbGFzcz1cImNhcmQtYm9keSBoLTUwMHB4IG92ZXJmbG93LWF1dG8gcHgtMCBweS0yXCI+XHJcbiAgICAgICAgIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwiem9uZS1jYXJkIG14LTMgXCIgKm5nRm9yPVwibGV0IHpvbmUgb2Ygem9uZXM7bGV0IGkgPSBpbmRleFwiPlxyXG5cclxuICAgICAgICAgIDwhLS0gSEVBREVSIC0tPlxyXG4gICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJhY3RpdmVJbmRleCA9PT0gaSA/ICd6b25lLWhlYWRlcic6J3pvbmUtZGVmYXVsdCdcIiAoY2xpY2spPVwidG9nZ2xlKGkpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJhY3RpdmVJbmRleCA9PT0gaSA/ICd6b25lLXRpdGxlJzonem9uZS1ub3RpdGxlJ1wiPnt7IHpvbmUuZnJvbVpvbmUgfFxyXG4gICAgICAgICAgICAgICAgICB0aXRsZWNhc2V9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiem9uZS1tZXRyaWNzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSBweC0yXCIgIHBsYWNlbWVudD1cInRvcFwiIG5nYlRvb2x0aXA9XCJGb290ZmFsbCAoQ29uY2VudHJhdGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEwIDExXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC4yNSA4LjE2Mjg4SDNWOC43ODc4OEMzIDkuMTUyNTUgMi44NTUxMyA5LjUwMjI5IDIuNTk3MjcgOS43NjAxNUMyLjMzOTQxIDEwLjAxOCAxLjk4OTY3IDEwLjE2MjkgMS42MjUgMTAuMTYyOUMxLjI2MDMzIDEwLjE2MjkgMC45MTA1OTEgMTAuMDE4IDAuNjUyNzI4IDkuNzYwMTVDMC4zOTQ4NjYgOS41MDIyOSAwLjI1IDkuMTUyNTUgMC4yNSA4Ljc4Nzg4VjguMTYyODhaTTIuMjUgMi4yMjI4OEMzLjI1IDIuMjIyODggMy43NSAzLjY2Mjg4IDMuNzUgNC42NjI4OEMzLjc1IDUuMTYyODggMy41IDUuNjYyODggMy4yNSA2LjQxMjg4TDMgNy4xNjI4OEgwLjI1QzAuMjUgNi42NjI4OCAwIDUuOTEyODggMCA0LjY2Mjg4QzAgMy40MTI4OCAwLjk5OSAyLjIyMjg4IDIuMjUgMi4yMjI4OFpNOC4yNzcgNi4yMTE4OEw4LjE2ODUgNi44MjczOEM4LjEwMTE3IDcuMTgyNjkgNy44OTY1NiA3LjQ5NzE3IDcuNTk5MDEgNy43MDI3MUM3LjMwMTQ2IDcuOTA4MjQgNi45MzQ5MiA3Ljk4ODI3IDYuNTc4NzggNy45MjU0N0M2LjIyMjYzIDcuODYyNjggNS45MDU1NyA3LjY2MjEgNS42OTYyNiA3LjM2NzJDNS40ODY5NSA3LjA3MjI5IDUuNDAyMjUgNi43MDY4IDUuNDYwNSA2LjM0OTg4TDUuNTY4NSA1LjczNDg4TDguMjc3IDYuMjExODhaTTcuMzM5IDAuMDE1MzgxMkM4LjU3MSAwLjIzMjM4MSA5LjM0OCAxLjU3Nzg4IDkuMTMxIDIuODA4ODhDOC45MTQgNC4wMzk4OCA4LjUzNzUgNC43MzQ4OCA4LjQ1MSA1LjIyNzM4TDUuNzQyNSA0Ljc0OTg4TDUuNjI2NSAzLjk2Nzg4QzUuNTEwNSAzLjE4NTg4IDUuMzUxNSAyLjY0OTg4IDUuNDM4IDIuMTU3ODhDNS42MTE1IDEuMTcyODggNi4zNTQgLTAuMTU4MTE5IDcuMzM5IDAuMDE1MzgxMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4ge3sgem9uZS5mcm9tWm9uZUZvb3RmYWxsQ291bnQgPz8gJy0tJyB9fVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBweC0yXCIgIHBsYWNlbWVudD1cInRvcFwiXHJcbltuZ2JUb29sdGlwXT1cImNsaWVudERhdGE/LmlzTk9CID8gJ05vQicgOiAnQ29udmVyc2lvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGhpcy5jbGllbnREYXRhPy5pc05PQlwiIGNsYXNzPVwibWUtMlwiPjxzdmcgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuNSA1LjVINy41TTQuNSA3LjVINy41TTQuNSAzLjVINy41TTIuNSAxLjVDMi41IDEuMzY3MzkgMi41NTI2OCAxLjI0MDIxIDIuNjQ2NDUgMS4xNDY0NUMyLjc0MDIxIDEuMDUyNjggMi44NjczOSAxIDMgMUg5QzkuMTMyNjEgMSA5LjI1OTc5IDEuMDUyNjggOS4zNTM1NSAxLjE0NjQ1QzkuNDQ3MzIgMS4yNDAyMSA5LjUgMS4zNjczOSA5LjUgMS41VjExTDcuNzUgOS43NUw2IDExTDQuMjUgOS43NUwyLjUgMTFWMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+ICAgICA8c3BhbiAqbmdJZj1cIiF0aGlzLmNsaWVudERhdGE/LmlzTk9CXCIgY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbjxwYXRoIGQ9XCJNMTYgMjFWMTlDMTYgMTcuOTM5MSAxNS41Nzg2IDE2LjkyMTcgMTQuODI4NCAxNi4xNzE2QzE0LjA3ODMgMTUuNDIxNCAxMy4wNjA5IDE1IDEyIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0xNyAxMUwxOSAxM0wyMyA5TTEyLjUgN0MxMi41IDkuMjA5MTQgMTAuNzA5MSAxMSA4LjUgMTFDNi4yOTA4NiAxMSA0LjUgOS4yMDkxNCA0LjUgN0M0LjUgNC43OTA4NiA2LjI5MDg2IDMgOC41IDNDMTAuNzA5MSAzIDEyLjUgNC43OTA4NiAxMi41IDdaXCIgc3Ryb2tlPVwiIzFEMjkzOVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbjwvc3ZnPjwvc3Bhbj4ge3sgem9uZS5mcm9tWm9uZU5vYkNvdW50ID8/ICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdyBjdXJzb3ItcG9pbnRlclwiPjxzdmcgKm5nSWY9XCJhY3RpdmVJbmRleCA9PT0gaVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI3XCIgdmlld0JveD1cIjAgMCAxMiA3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMC44MzIwMzEgNS44MzMwMUw1LjgzMjAzIDAuODMzMDA4TDEwLjgzMiA1LjgzMzAxXCIgc3Ryb2tlPVwiIzMzQjVGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiYWN0aXZlSW5kZXggIT09IGlcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiN1wiIHZpZXdCb3g9XCIwIDAgMTIgN1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0wLjgzMjAzMSAwLjgzMzAwOEw1LjgzMjAzIDUuODMzMDFMMTAuODMyIDAuODMzMDA4XCIgc3Ryb2tlPVwiIzY2NzA4NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gQk9EWSAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ6b25lLWJvZHkgbWF4LWgtMjAwcHggbWluLWgtYXV0byBvdmVyZmxvdy1hdXRvXCIgKm5nSWY9XCJhY3RpdmVJbmRleCA9PT0gaVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRleHQtbm93cmFwIGJvdHRvbS1ib3JkZXIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidy01MFwiPlRvIFpvbmU8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+Rm9vdGZhbGwgKENvbmNlbnRyYXRpb24pPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoID48c3BhbiBjbGFzcz1cIm1lLTJcIiAqbmdJZj1cInRoaXMuY2xpZW50RGF0YT8uaXNOT0JcIj5Ob0I8L3NwYW4+IDxzcGFuIGNsYXNzPVwibWUtMlwiICpuZ0lmPVwiIXRoaXMuY2xpZW50RGF0YT8uaXNOT0JcIj5Db252ZXJzaW9uPC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE1MzIwXzgyNDg4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03Ljk5ODcgMTAuNjY2M1Y3Ljk5OTY3TTcuOTk4NyA1LjMzMzAxSDguMDA1MzZNMTQuNjY1NCA3Ljk5OTY3QzE0LjY2NTQgMTEuNjgxNiAxMS42ODA2IDE0LjY2NjMgNy45OTg3IDE0LjY2NjNDNC4zMTY4IDE0LjY2NjMgMS4zMzIwMyAxMS42ODE2IDEuMzMyMDMgNy45OTk2N0MxLjMzMjAzIDQuMzE3NzggNC4zMTY4IDEuMzMzMDEgNy45OTg3IDEuMzMzMDFDMTEuNjgwNiAxLjMzMzAxIDE0LjY2NTQgNC4zMTc3OCAxNC42NjU0IDcuOTk5NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNTMyMF84MjQ4OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2Ygem9uZS50b1pvbmVEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyByb3cudG9ab25lIHwgdGl0bGVjYXNlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcm93LmZvb3RmYWxsID8/ICctLScgfX0gKHt7IHJvdy5jb25jUGVyY2VudCB9fSUpPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IHJvdy5ub2IgPz8gJy0tJyB9fSAoe3sgcm93Lm5vYlBlcmNlbnQgfX0lKTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29uYXRpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbjwvZGl2PiJdfQ==
|