@eui/core 13.0.0-rc.12 → 13.0.0-rc.16
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/docs/dependencies.html +33 -33
- package/docs/js/search/search_index.js +2 -2
- package/esm2020/lib/eui-core.module.mjs +4 -4
- package/esm2020/lib/interceptors/add-lang-param.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/cache-prevention.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/cors-security.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/csrf-prevention.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/openid/openid-connect.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/openid/openid-connect.service.mjs +3 -3
- package/esm2020/lib/interceptors/ux-request-error-model.interceptor.mjs +3 -3
- package/esm2020/lib/services/errors/global-error-handler.mjs +3 -3
- package/esm2020/lib/services/errors/http-error-handler.interceptor.mjs +3 -3
- package/esm2020/lib/services/i18n/i18n.loader.mjs +3 -3
- package/esm2020/lib/services/i18n/i18n.service.mjs +3 -3
- package/esm2020/lib/services/i18n/i18n.service.mock.mjs +3 -3
- package/esm2020/lib/services/locale/locale.service.mjs +3 -3
- package/esm2020/lib/services/log/log.module.mjs +4 -4
- package/esm2020/lib/services/log/log.service.mjs +3 -3
- package/esm2020/lib/services/permission/permission.service.mjs +3 -3
- package/esm2020/lib/services/queue/api-queue.service.mjs +3 -3
- package/esm2020/lib/services/storage/local-forage.service.mjs +3 -3
- package/esm2020/lib/services/storage/local-storage.service.mjs +3 -3
- package/esm2020/lib/services/storage/session-storage.service.mjs +3 -3
- package/esm2020/lib/services/store/effects/app.effects.mjs +5 -5
- package/esm2020/lib/services/store/store.service.mjs +3 -3
- package/esm2020/lib/services/store/store.service.mock.mjs +3 -3
- package/esm2020/lib/services/user/user.service.mjs +3 -3
- package/esm2020/lib/services/user/user.service.mock.mjs +3 -3
- package/esm2020/lib/services/ux-app-shell.service.mjs +4 -4
- package/esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +3 -3
- package/esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +3 -3
- package/esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +3 -3
- package/esm2020/lib/services/ux-timezone.service.mjs +3 -3
- package/fesm2015/eui-core.mjs +98 -98
- package/fesm2015/eui-core.mjs.map +1 -1
- package/fesm2020/eui-core.mjs +98 -98
- package/fesm2020/eui-core.mjs.map +1 -1
- package/lib/services/store/effects/app.effects.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -618,9 +618,9 @@ export class UxAppShellService {
|
|
|
618
618
|
});
|
|
619
619
|
}
|
|
620
620
|
}
|
|
621
|
-
/** @nocollapse */ /** @nocollapse */ UxAppShellService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
622
|
-
/** @nocollapse */ /** @nocollapse */ UxAppShellService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
623
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
621
|
+
/** @nocollapse */ /** @nocollapse */ UxAppShellService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxAppShellService, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i1.HttpClient }, { token: PLATFORM_ID }, { token: i2.Router }, { token: i3.StoreService }, { token: i4.I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
622
|
+
/** @nocollapse */ /** @nocollapse */ UxAppShellService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxAppShellService, providedIn: 'root' });
|
|
623
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxAppShellService, decorators: [{
|
|
624
624
|
type: Injectable,
|
|
625
625
|
args: [{
|
|
626
626
|
providedIn: 'root',
|
|
@@ -636,4 +636,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ng
|
|
|
636
636
|
}] }, { type: i2.Router }, { type: i3.StoreService }, { type: i4.I18nService, decorators: [{
|
|
637
637
|
type: Optional
|
|
638
638
|
}] }]; } });
|
|
639
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtYXBwLXNoZWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3V4LWFwcC1zaGVsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBaUMsYUFBYSxFQUF5QixNQUFNLFdBQVcsQ0FBQztBQUMvRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RCxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEdBQUcsTUFBTSxlQUFlLENBQUM7Ozs7OztBQTZEaEMsTUFBTSxZQUFZLEdBQVk7SUFDMUIsT0FBTyxFQUFFLEVBQUU7SUFDWCxZQUFZLEVBQUUsRUFBRTtJQUNoQixXQUFXLEVBQUUsRUFBRTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsWUFBWSxFQUFFLElBQUk7SUFDbEIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixhQUFhLEVBQUUsS0FBSztJQUNwQixjQUFjLEVBQUUsS0FBSztJQUNyQixlQUFlLEVBQUUsS0FBSztJQUN0QixvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLDRCQUE0QixFQUFFLEtBQUs7SUFDbkMsVUFBVSxFQUFFLEtBQUs7SUFDakIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsYUFB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Uk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlZmVyLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVeEV1TGFuZ3VhZ2VzLCBHbG9iYWxDb25maWcsIFV4TGluaywgVXhNb2RhbCwgZ2V0QWN0aXZlTGFuZywgVXhNZXNzYWdlLCBVeExhbmd1YWdlIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuL2kxOG4nO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gtZXMvaXNFcXVhbCc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC1lcy9nZXQnO1xuLy8gaW1wb3J0IHsgVXhSb290SW5qZWN0b3JHdWFyZCB9IGZyb20gJy4vdXgtcm9vdC1pbmplY3Rvci5ndWFyZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVUlTdGF0ZSB7XG4gICAgLy8gYXBwIHN0YXRlXG4gICAgYXBwTmFtZT86IHN0cmluZztcbiAgICBhcHBTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgYXBwU3ViVGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvLyB1c2VyIHN0YXRlXG4gICAgdXNlckluZm9zPzogc3RyaW5nO1xuICAgIHVzZXJTdWJJbmZvcz86IHN0cmluZztcbiAgICBpbXBlcnNvbmF0ZWRVc2VySW5mb3M/OiBzdHJpbmc7XG5cbiAgICAvLyBTaWRlYmFyIHN0YXRlXG4gICAgaXNTaWRlYmFyT3Blbj86IGJvb2xlYW47XG4gICAgaXNTaWRlYmFySG92ZXI/OiBib29sZWFuO1xuICAgIGlzU2lkZWJhckFjdGl2ZT86IGJvb2xlYW47XG4gICAgaXNTaWRlYmFySW5uZXJBY3RpdmU/OiBib29sZWFuO1xuICAgIGlzU2lkZWJhclN0YXRlQ2xvc2VXaXRoSWNvbnM/OiBib29sZWFuO1xuICAgIGhhc1NpZGViYXI/OiBib29sZWFuO1xuICAgIGhhc0hlYWRlcj86IGJvb2xlYW47XG4gICAgaGFzSGVhZGVyTG9nbz86IGJvb2xlYW47XG4gICAgaGFzSGVhZGVyRW52aXJvbm1lbnQ/OiBib29sZWFuO1xuICAgIGhhc1Rvb2xiYXI/OiBib29sZWFuO1xuICAgIGhhc1Rvb2xiYXJNZW51PzogYm9vbGVhbjtcbiAgICBlbnZpcm9ubWVudFZhbHVlPzogc3RyaW5nO1xuICAgIGlzU2lkZWJhckhpZGRlbj86IGJvb2xlYW47XG5cbiAgICAvLyB3aW5kb3cgc3RhdGVcbiAgICB3aW5kb3dXaWR0aD86IG51bWJlcjtcbiAgICB3aW5kb3dIZWlnaHQ/OiBudW1iZXI7XG4gICAgbWFpbkNvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG4gICAgcGFnZUhlYWRlckhlaWdodD86IG51bWJlcjtcbiAgICBicmVha3BvaW50Pzogc3RyaW5nO1xuICAgIHdyYXBwZXJDbGFzc2VzPzogc3RyaW5nO1xuICAgIGJyZWFrcG9pbnRzPzogYW55O1xuXG4gICAgLy8gbmF2aWdhdGlvbiBzdGF0ZVxuICAgIG1lbnVMaW5rcz86IFV4TGlua1tdO1xuICAgIHNpZGViYXJMaW5rcz86IFV4TGlua1tdO1xuICAgIGNvbWJpbmVkTGlua3M/OiBVeExpbmtbXTtcblxuICAgIC8vIG90aGVyIHN0YXRlc1xuICAgIGlzQmxvY2tEb2N1bWVudEFjdGl2ZT86IGJvb2xlYW47XG5cbiAgICAvLyBkZXZpY2UgaW5mb1xuICAgIGRldmljZUluZm86IGFueTtcblxuICAgIC8vIGxhbmd1YWdlIGluZm9zXG4gICAgYWN0aXZlTGFuZ3VhZ2U6IHN0cmluZztcbiAgICBsYW5ndWFnZXM6IChzdHJpbmcgfCBVeExhbmd1YWdlKVtdO1xuXG4gICAgLy8gYXBwIG1ldGFkYXRhXG4gICAgYXBwTWV0YWRhdGE6IGFueTtcblxuICAgIC8vIHZhcmlvdXMgZHluYW1pYyBzdGF0ZVxuICAgIGhhc01vZGFsQWN0aXZlPzogYm9vbGVhbjtcbiAgICBpc0RpbW1lckFjdGl2ZSA/OiBib29sZWFuOyAgICAgLy8gVXNhZ2U6IG1hcCB0byBldWkgYmFzZSBkaXJlY3RpdmUgaW5wdXQgY29lcmNlIGV1aUhpZ2hsaWdodGVkXG59XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogVUlTdGF0ZSA9IHtcbiAgICBhcHBOYW1lOiAnJyxcbiAgICBhcHBTaG9ydE5hbWU6ICcnLFxuICAgIGFwcFN1YlRpdGxlOiAnJyxcbiAgICB1c2VySW5mb3M6IG51bGwsXG4gICAgdXNlclN1YkluZm9zOiBudWxsLFxuICAgIGltcGVyc29uYXRlZFVzZXJJbmZvczogbnVsbCxcbiAgICBpc1NpZGViYXJPcGVuOiBmYWxzZSxcbiAgICBpc1NpZGViYXJIb3ZlcjogZmFsc2UsXG4gICAgaXNTaWRlYmFyQWN0aXZlOiBmYWxzZSxcbiAgICBpc1NpZGViYXJJbm5lckFjdGl2ZTogZmFsc2UsXG4gICAgaXNTaWRlYmFyU3RhdGVDbG9zZVdpdGhJY29uczogZmFsc2UsXG4gICAgaGFzU2lkZWJhcjogZmFsc2UsXG4gICAgaGFzSGVhZGVyOiBmYWxzZSxcbiAgICBoYXNIZWFkZXJMb2dvOiBmYWxzZSxcbiAgICBoYXNIZWFkZXJFbnZpcm9ubWVudDogZmFsc2UsXG4gICAgaGFzVG9vbGJhcjogZmFsc2UsXG4gICAgaGFzVG9vbGJhck1lbnU6IGZhbHNlLFxuICAgIGVudmlyb25tZW50VmFsdWU6ICcnLFxuICAgIGlzU2lkZWJhckhpZGRlbjogZmFsc2UsXG4gICAgd2luZG93V2lkdGg6IDAsXG4gICAgd2luZG93SGVpZ2h0OiAwLFxuICAgIG1haW5Db250ZW50SGVpZ2h0OiAwLFxuICAgIHBhZ2VIZWFkZXJIZWlnaHQ6IDAsXG4gICAgd3JhcHBlckNsYXNzZXM6ICcnLFxuICAgIGJyZWFrcG9pbnQ6ICcnLFxuICAgIGJyZWFrcG9pbnRzOiB7XG4gICAgICAgIGlzTW9iaWxlOiBmYWxzZSxcbiAgICAgICAgaXNUYWJsZXQ6IGZhbHNlLFxuICAgICAgICBpc0x0RGVza3RvcDogZmFsc2UsXG4gICAgICAgIGlzRGVza3RvcDogZmFsc2UsXG4gICAgICAgIGlzWEw6IGZhbHNlLFxuICAgICAgICBpc1hYTDogZmFsc2UsXG4gICAgfSxcbiAgICBtZW51TGlua3M6IFtdLFxuICAgIHNpZGViYXJMaW5rczogW10sXG4gICAgY29tYmluZWRMaW5rczogW10sXG4gICAgaXNCbG9ja0RvY3VtZW50QWN0aXZlOiBmYWxzZSxcbiAgICBkZXZpY2VJbmZvOiBudWxsLFxuICAgIGFjdGl2ZUxhbmd1YWdlOiAnZW4nLFxuICAgIGxhbmd1YWdlczogVXhFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZXMoKSxcbiAgICBhcHBNZXRhZGF0YTogbnVsbCxcbiAgICBoYXNNb2RhbEFjdGl2ZTogZmFsc2UsXG4gICAgaXNEaW1tZXJBY3RpdmUgOiBmYWxzZSxcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuLy8gZXhwb3J0IGNsYXNzIFV4QXBwU2hlbGxTZXJ2aWNlIGV4dGVuZHMgVXhSb290SW5qZWN0b3JHdWFyZCB7XG5leHBvcnQgY2xhc3MgVXhBcHBTaGVsbFNlcnZpY2Uge1xuICAgIGdyb3dsTWVzc2FnZXMgPSBbXTtcbiAgICBpc0dyb3dsU3RpY2t5OiBib29sZWFuID0gZmFsc2U7XG4gICAgZ3Jvd2xMaWZlOiBudW1iZXIgPSAzMDAwO1xuICAgIGdyb3dsUG9zaXRpb246IHN0cmluZyA9ICdib3R0b20tcmlnaHQnO1xuICAgIGdyb3dsQ2FsbGJhY2s6IGFueSA9IG51bGw7XG4gICAgYWN0aXZlTW9kYWxzOiBVeE1vZGFsW10gPSBbXTtcbiAgICBvcGVuTW9kYWxJZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgICBuYXZpZ2F0aW9uU3RhcnRDdXN0b21IYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIG5hdmlnYXRpb25FbmRDdXN0b21IYW5kbGVyOiAoKSA9PiB2b2lkO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxVSVN0YXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIGV4cG9zZWQgb2JzZXJ2YWJsZXNcblxuICAgIGdldCBicmVha3BvaW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGJyZWFrcG9pbnRzJCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludHMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBzdGF0ZSBvcGVyYXRpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLVxuICAgIGdldCBzdGF0ZSgpOiBVSVN0YXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIGdldCBpc1NpZGViYXJPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1NpZGViYXJPcGVuO1xuICAgIH1cblxuICAgIC8vIEVkaXQgbW9kZVxuICAgIGdldCBpc0RpbW1lckFjdGl2ZSAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmlzRGltbWVyQWN0aXZlIDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gcHVibGljIHNldHRlcnMgYW5kIGZ1bmN0aW9uc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBzZXQgaXNTaWRlYmFyT3Blbihpc09wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNTaWRlYmFyT3BlbjogaXNPcGVuLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXQgaXNTaWRlYmFySG92ZXIoaXNIb3ZlcjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc1NpZGViYXJIb3ZlcjogaXNIb3ZlcixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2lkZWJhckhvdmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1NpZGViYXJIb3ZlcjtcbiAgICB9XG5cbiAgICBzZXQgaXNTaWRlYmFyQWN0aXZlKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzU2lkZWJhckFjdGl2ZTogaXNBY3RpdmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldCBpc1NpZGViYXJJbm5lckFjdGl2ZShpc09wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNTaWRlYmFySW5uZXJBY3RpdmU6IGlzT3BlbixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IHNpZGViYXJMaW5rcyhsaW5rczogVXhMaW5rW10pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgc2lkZWJhckxpbmtzOiBsaW5rcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IG1lbnVMaW5rcyhsaW5rczogVXhMaW5rW10pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgbWVudUxpbmtzOiBsaW5rcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IGlzQmxvY2tEb2N1bWVudEFjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc0Jsb2NrRG9jdW1lbnRBY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBFZGl0IG1vZGVcbiAgICBzZXQgaXNEaW1tZXJBY3RpdmUgKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzRGltbWVyQWN0aXZlIDogaXNBY3RpdmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3NzVmFycyA9IFtdO1xuICAgIHByaXZhdGUgX3N0YXRlJDogQmVoYXZpb3JTdWJqZWN0PFVJU3RhdGU+O1xuICAgIHByaXZhdGUgX2JyZWFrcG9pbnQkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPjtcbiAgICBwcml2YXRlIF9icmVha3BvaW50cyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoR0xPQkFMX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGNvbmZpZzogR2xvYmFsQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHN0b3JlU2VydmljZTogU3RvcmVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgLy8gc3VwZXIoVXhBcHBTaGVsbFNlcnZpY2UpO1xuICAgICAgICBjb25zb2xlLmxvZygnVXhBcHBTaGVsbFNlcnZpY2UgaW5pdGlhbGl6ZWQnKTtcblxuICAgICAgICBsZXQgc3RhdGVXaXRoQ29uZmlnID0gaW5pdGlhbFN0YXRlO1xuICAgICAgICBjb25zdCBsYW5ndWFnZXMgPSBjb25maWc/LmkxOG4/LmkxOG5TZXJ2aWNlPy5sYW5ndWFnZXMgfHwgaW5pdGlhbFN0YXRlLmxhbmd1YWdlcztcbiAgICAgICAgY29uc3QgZGVmYXVsdExhbmd1YWdlID0gY29uZmlnPy5pMThuPy5pMThuU2VydmljZT8uZGVmYXVsdExhbmd1YWdlIHx8IGluaXRpYWxTdGF0ZS5hY3RpdmVMYW5ndWFnZTtcbiAgICAgICAgc3RhdGVXaXRoQ29uZmlnID0ge1xuICAgICAgICAgICAgLi4uc3RhdGVXaXRoQ29uZmlnLCAuLi57XG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2VzOiBsYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgYWN0aXZlTGFuZ3VhZ2U6IGRlZmF1bHRMYW5ndWFnZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoc3RhdGVXaXRoQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG4gICAgICAgIHRoaXMuYmluZEFjdGl2ZUxhbmd1YWdlVG9BcHBTaGVsbFN0YXRlKCk7XG5cbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHJvdXRlci5ldmVudHNcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFN0YXRlKG5leHRTdGF0ZTogVUlTdGF0ZSwgdXBkYXRlSTE4ID0gdHJ1ZSkge1xuICAgICAgICBsZXQgYnJlYWtwb2ludCwgYnJlYWtwb2ludHMsIHdyYXBwZXJDbGFzc2VzO1xuICAgICAgICBsZXQgY29tYmluZWRMaW5rcztcblxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGU7XG5cbiAgICAgICAgLy8gY2hlY2sgaWYgd2luZG93IHdpZHRoIGhhcyBiZWVuIHVwZGF0ZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS53aW5kb3dXaWR0aCAhPT0gbmV4dFN0YXRlLndpbmRvd1dpZHRoKSB7XG4gICAgICAgICAgICBicmVha3BvaW50ID0gdGhpcy5nZXRCcmVha3BvaW50KG5leHRTdGF0ZS53aW5kb3dXaWR0aCk7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHRoaXMuZ2V0QnJlYWtwb2ludHMoYnJlYWtwb2ludCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnQkLm5leHQoYnJlYWtwb2ludCk7XG4gICAgICAgICAgICB0aGlzLl9icmVha3BvaW50cyQubmV4dChicmVha3BvaW50cyk7XG5cbiAgICAgICAgICAgIC8vIGlmIG5vdCBwcm9wYWdhdGUgdGhlIG9sZCBvbmVzIHdpdGhvdXQgZG9pbmcgYW55IGNhbGN1bGF0aW9uc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYnJlYWtwb2ludCA9IHN0YXRlLmJyZWFrcG9pbnQ7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHN0YXRlLmJyZWFrcG9pbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmluYWxseSBnZXQgdGhlIHdyYXBwZXIgY2xhc3NlcyB3aGVuIGJvdGggdGhlIHN0YXRlIGFuZCBicmVha3BvaW50IGFyZSBrbm93blxuICAgICAgICB3cmFwcGVyQ2xhc3NlcyA9IHRoaXMuZ2V0V3JhcHBlckNsYXNzZXMobmV4dFN0YXRlLCBicmVha3BvaW50KTtcblxuICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWVudUxpbmtzIG9yIHNpZGViYXJMaW5rcyBoYXZlIGNoYW5nZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5tZW51TGlua3MgIT09IG5leHRTdGF0ZS5tZW51TGlua3MgfHwgdGhpcy5zdGF0ZS5zaWRlYmFyTGlua3MgIT09IG5leHRTdGF0ZS5zaWRlYmFyTGlua3MpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkTGlua3MgPSBbLi4ubmV4dFN0YXRlLm1lbnVMaW5rcywgLi4ubmV4dFN0YXRlLnNpZGViYXJMaW5rc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21iaW5lZExpbmtzID0gdGhpcy5zdGF0ZS5jb21iaW5lZExpbmtzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhdGVCZWZvcmVVcGRhdGUgPSB7IC4uLnRoaXMuc3RhdGUgfSA7XG5cbiAgICAgICAgLy8gd2UgcHV0IGl0IGFsbCB0b2dldGhlciB3aXRoIHRoZSBjYWxjdWxhdGVkIHByb3BlcnRpZXNcbiAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgLi4ubmV4dFN0YXRlLFxuICAgICAgICAgICAgd3JhcHBlckNsYXNzZXMsXG4gICAgICAgICAgICBicmVha3BvaW50LFxuICAgICAgICAgICAgYnJlYWtwb2ludHMsXG4gICAgICAgICAgICBjb21iaW5lZExpbmtzLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyB1cGRhdGUgdGhlIFN0b3JlIExhbmd1YWdlXG4gICAgICAgIGlmICh1cGRhdGVJMTggJiYgbmV4dFN0YXRlLmFjdGl2ZUxhbmd1YWdlICE9PSBzdGF0ZUJlZm9yZVVwZGF0ZS5hY3RpdmVMYW5ndWFnZSkge1xuICAgICAgICAgICAgdGhpcy5pMThuU2VydmljZS51cGRhdGVTdGF0ZSh7IGFjdGl2ZUxhbmc6IG5leHRTdGF0ZS5hY3RpdmVMYW5ndWFnZSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGEgc2xpY2UgZnJvbSB0aGUgc3RhdGUgd2hldGhlciB0aGF0IGNoYW5nZXNcbiAgICAgKiBAcGFyYW0ga2V5IGNhbiBiZSAna2V5JyBvciAna2V5LnN1Yi5zdWInXG4gICAgICovXG4gICAgZ2V0U3RhdGUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIGtleSBleGlzdHNcbiAgICAgICAgICAgIHJldHVybiBrZXkgPyB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoc3RhdGUpID0+IGdldChzdGF0ZSwga2V5KSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChzdGF0ZSkgPT4gc3RhdGUpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiBpc0VxdWFsKHgsIHkpKVxuICAgICAgICAgICAgKSA6IHRoaXMuc3RhdGUkO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2lkZWJhclRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5pc1NpZGViYXJPcGVuID0gIXRoaXMuc3RhdGUuaXNTaWRlYmFyT3BlbjtcbiAgICB9XG5cbiAgICAvLyBFZGl0IG1vZGVcbiAgICBwdWJsaWMgZGltbWVyQWN0aXZlVG9nZ2xlKCkge1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaXNEaW1tZXJBY3RpdmU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzRGltbWVyQWN0aXZlIDogIWlzQWN0aXZlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUVkaXRNb2RlQ3NzVmFycyghaXNBY3RpdmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaW1tZXJBY3RpdmVTdGF0ZShhY3RpdmVTdGF0ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc0RpbW1lckFjdGl2ZSA6IGFjdGl2ZVN0YXRlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUVkaXRNb2RlQ3NzVmFycyhhY3RpdmVTdGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlRWRpdE1vZGVDc3NWYXJzKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWRvY3BhZ2UtbmF2aWdhdGlvbi16LWluZGV4JywgJ2luaGVyaXQnKTsgICAgLy8gUmVzZXQgZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gei1pbmRleFxuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtc2lkZWJhcicsICdpbmhlcml0Jyk7ICAgICAgICAgICAgICAgLy8gUmVzZXQgZXVpLWFwcC1zaWRlYmFyIHotaW5kZXhcbiAgICAgICAgICAgIHRoaXMuX3NldENzc1ZhclZhbHVlKCctLWV1aS16LWluZGV4LXJvb3QnLCAnaW5oZXJpdCcpOyAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IGV1aS1hcHAtbWFpbi1jb250ZW50IHotaW5kZXhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldENzc1ZhclZhbHVlKCctLWV1aS1kb2NwYWdlLW5hdmlnYXRpb24tei1pbmRleCcsICcyJyk7ICAgICAgICAgIC8vIFJlc3RvcmUgZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gei1pbmRleFxuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtc2lkZWJhcicsICcxMDQ0Jyk7ICAgICAgICAgICAgICAgICAgLy8gUmVzdG9yZSBldWktYXBwLXNpZGViYXIgei1pbmRleFxuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtcm9vdCcsICcxJyk7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzdG9yZSBldWktYXBwLW1haW4tY29udGVudCB6LWluZGV4XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLVxuICAgIC8vIHB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS1cbiAgICBwdWJsaWMgZmV0Y2hBcHBNZXRhZGF0YShtZXRhZGF0YUZpbGVQYXRoID0gJ2Fzc2V0cy9hcHAtbWV0YWRhdGEuanNvbicpIHtcbiAgICAgICAgdGhpcy5nZXRKc29uKG1ldGFkYXRhRmlsZVBhdGgpXG4gICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICBhcHBNZXRhZGF0YTogZGF0YSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZVNpZGViYXIoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1NpZGViYXI6IHRydWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5zdGF0ZS5pc1NpZGViYXJIaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVTaWRlYmFyQ3NzVmFycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckhlYWRlcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNpZGViYXJIZWFkZXJDc3NWYXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckZvb3RlcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNpZGViYXJGb290ZXJDc3NWYXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlSGVhZGVyKCkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBoYXNIZWFkZXI6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGl2YXRlSGVhZGVyQ3NzVmFycygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZVRvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1Rvb2xiYXI6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGl2YXRlVG9vbGJhckNzc1ZhcnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVUb29sYmFyTWVudSgpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH0gICAgXG5cbiAgICBwdWJsaWMgZmV0Y2hDc3NWYXJzKCkge1xuICAgICAgICBjb25zdCBjc3NWYXJOYW1lcyA9IFtcbiAgICAgICAgICAgICctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1kZWZhdWx0JyxcbiAgICAgICAgICAgICctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1hY3RpdmUnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LXNocmluaycsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0LWRlZmF1bHQnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC10b29sYmFyLWhlaWdodC1hY3RpdmUnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWRlZmF1bHQnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWFjdGl2ZScsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UtZGVmYXVsdCcsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UtYWN0aXZlJyxcbiAgICAgICAgICAgICctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0LWRlZmF1bHQnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQtYWN0aXZlJyxcbiAgICAgICAgICAgICctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0LWRlZmF1bHQnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQtYWN0aXZlJyxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNzc1ZhcnMgPSBjc3NWYXJOYW1lcy5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IGtleTogdiwgdmFsdWU6IHRoaXMuZ2V0Q3NzVmFyVmFsdWUodikgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRDc3NWYXJzKCkge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLWhlYWRlci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtaGVhZGVyLWhlaWdodCcpO1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0LWRlZmF1bHQnLCAnLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0Jyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1kZWZhdWx0JywgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoJyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZS1kZWZhdWx0JywgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlJyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0LWRlZmF1bHQnLCAnLS1ldWktYXBwLXNpZGViYXItaGVhZGVyLWhlaWdodCcpO1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodC1kZWZhdWx0JywgJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVIZWFkZXJDc3NWYXJzKCkge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLWhlYWRlci1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlVG9vbGJhckNzc1ZhcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC10b29sYmFyLWhlaWdodCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZUZvb3RlckNzc1ZhcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtZm9vdGVyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLWZvb3Rlci1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SGVhZGVyU2hyaW5rQ3NzVmFyKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLWhlYWRlci1oZWlnaHQtc2hyaW5rJywgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLWhlYWRlci1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVTaWRlYmFyQ3NzVmFycygpIHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWFjdGl2ZScsICctLWV1aS1hcHAtc2lkZWJhci13aWR0aCcpO1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckhlYWRlckNzc1ZhcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckZvb3RlckNzc1ZhcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZGlzcGxheXMgYSBncm93bCBVeE1lc3NhZ2UgaXRlbSwgaXNTdGlja3lcbiAgICAgKi9cbiAgICBncm93bChtc2c6IFV4TWVzc2FnZSwgaXNTdGlja3k/OiBib29sZWFuLCBpc011bHRpcGxlPzogYm9vbGVhbiwgbGlmZT86IG51bWJlciwgcG9zaXRpb24/OiBzdHJpbmcsIGNhbGxiYWNrPzogKCkgPT4gdm9pZCkge1xuICAgICAgICBpZiAobXNnLnNldmVyaXR5ICE9PSAnaW5mbycgJiYgbXNnLnNldmVyaXR5ICE9PSAnd2FybmluZycgJiYgbXNnLnNldmVyaXR5ICE9PSAnc3VjY2VzcycgJiYgbXNnLnNldmVyaXR5ICE9PSAnZGFuZ2VyJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVeEFwcFNoZWxsU2VydmljZS5ncm93bCgpIEVSUk9SIDogbWVzc2FnZSBzZXZlcml0eSBtdXN0IGJlIGVpdGhlciA6IHN1Y2Nlc3MsIHdhcm5pbmcsIGluZm8sIGRhbmdlcicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGlzTXVsdGlwbGUgPT09IHVuZGVmaW5lZCB8fCAhaXNNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xNZXNzYWdlcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5ncm93bE1lc3NhZ2VzID0gdGhpcy5ncm93bE1lc3NhZ2VzLmNvbmNhdChtc2cpO1xuICAgICAgICAgICAgbXNnLmxpZmUgPSBsaWZlO1xuICAgICAgICAgICAgbXNnLnN0aWNreSA9IGlzU3RpY2t5O1xuXG4gICAgICAgICAgICBpZiAobGlmZSA9PT0gdW5kZWZpbmVkIHx8IGlzTmFOKGxpZmUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1zZy5zZXZlcml0eSA9PT0gJ2RhbmdlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNTdGlja3kgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xMaWZlID0gMzAwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xMaWZlID0gbGlmZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGlzU3RpY2t5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0dyb3dsU3RpY2t5ID0gaXNTdGlja3k7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNHcm93bFN0aWNreSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsUG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bENhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xDYWxsYmFjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXJHcm93bCgpIHtcbiAgICAgICAgdGhpcy5ncm93bE1lc3NhZ2VzID0gW107XG4gICAgfVxuXG4gICAgZ3Jvd2xTdWNjZXNzKG1zZzogc3RyaW5nLCBwb3NpdGlvbj86IHN0cmluZykge1xuICAgICAgICB0aGlzLmdyb3dsKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ1NVQ0NFU1MnLCBkZXRhaWw6IG1zZyB9LCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwgcG9zaXRpb24pO1xuICAgIH1cblxuICAgIGdyb3dsRXJyb3IobXNnOiBzdHJpbmcsIHBvc2l0aW9uPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZ3Jvd2woeyBzZXZlcml0eTogJ2RhbmdlcicsIHN1bW1hcnk6ICdFUlJPUicsIGRldGFpbDogbXNnIH0sIGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkLCBwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgLy8gZGF0ZSBoZWxwZXJzXG5cbiAgICBncm93bFdhcm5pbmcobXNnOiBzdHJpbmcsIHBvc2l0aW9uPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZ3Jvd2woeyBzZXZlcml0eTogJ3dhcm5pbmcnLCBzdW1tYXJ5OiAnV0FSTklORycsIGRldGFpbDogbXNnIH0sIGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkLCBwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgZ3Jvd2xJbmZvKG1zZzogc3RyaW5nLCBwb3NpdGlvbj86IHN0cmluZykge1xuICAgICAgICB0aGlzLmdyb3dsKHsgc2V2ZXJpdHk6ICdpbmZvJywgc3VtbWFyeTogJ0lORk8nLCBkZXRhaWw6IG1zZyB9LCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwgcG9zaXRpb24pO1xuICAgIH1cblxuICAgIG9wZW5Nb2RhbChtb2RhbElkPzogc3RyaW5nKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtb3BlbicpO1xuICAgICAgICBpZiAoIW1vZGFsSWQpIHtcbiAgICAgICAgICAgIG1vZGFsSWQgPSAnc2luZ2xlX21vZGFsJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlTW9kYWxzLnB1c2goe1xuICAgICAgICAgICAgaWQ6IG1vZGFsSWQsXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2RhbElkICsgJy1jbG9zZS1idXR0b24nKTtcbiAgICAgICAgICAgIGlmIChlbCkge1xuICAgICAgICAgICAgICAgIGVsLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgb3Blbk1lc3NhZ2VCb3gobWVzc2FnZUJveElkPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICghbWVzc2FnZUJveElkKSB7XG4gICAgICAgICAgICBtZXNzYWdlQm94SWQgPSAnbWVzc2FnZWJveF9tb2RhbCc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuTW9kYWwobWVzc2FnZUJveElkKTtcbiAgICB9XG5cbiAgICBjbG9zZU1lc3NhZ2VCb3gobWVzc2FnZUJveElkPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICghbWVzc2FnZUJveElkKSB7XG4gICAgICAgICAgICBtZXNzYWdlQm94SWQgPSAnbWVzc2FnZWJveF9tb2RhbCc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsKG1lc3NhZ2VCb3hJZCk7XG4gICAgfVxuXG4gICAgaXNNb2RhbE9wZW4obW9kYWxJZD86IHN0cmluZykge1xuICAgICAgICBpZiAoIW1vZGFsSWQpIHtcbiAgICAgICAgICAgIG1vZGFsSWQgPSAnc2luZ2xlX21vZGFsJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hY3RpdmVNb2RhbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgbW9kYWxJbmRleDogbnVtYmVyID0gdGhpcy5maW5kTW9kYWxJbmRleChtb2RhbElkKTtcbiAgICAgICAgICAgIGlmIChtb2RhbEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZU1vZGFsc1ttb2RhbEluZGV4XS5pc09wZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFBvc2l0aW9ucyBoZWxwZXJzXG5cbiAgICBjbG9zZU1vZGFsKG1vZGFsSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFtb2RhbElkKSB7XG4gICAgICAgICAgICBtb2RhbElkID0gJ3NpbmdsZV9tb2RhbCc7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogTWFrZSBzdXJlIHdlIGZpbmQgdGhlIG1vZGFsIGJlZm9yZSBzcGxpY2luZyB0aGUgYWN0aXZlTW9kYWxzIGFycmF5XG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmluZE1vZGFsSW5kZXgobW9kYWxJZCk7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU1vZGFscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlTW9kYWxzICYmIHRoaXMuYWN0aXZlTW9kYWxzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLW9wZW4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIHN0aWxsIGFub3RoZXIgKHBhcmVudCkgbW9kYWwgZGlhbG9nIG9wZW4sIGVuc3VyZSBpdCBpcyBmb2N1c2VkIHVwb24gdG8gYmUgYWJsZSB0byBjbG9zZSBpcyB3aXRoIHRoZSBFU0Mga2V5OlxuICAgICAgICAgICAgY29uc3QgbGFzdE1vZGFsSWQgPSB0aGlzLmFjdGl2ZU1vZGFscyBbdGhpcy5hY3RpdmVNb2RhbHMubGVuZ3RoIC0gMV0uaWQ7XG4gICAgICAgICAgICBpZiAobGFzdE1vZGFsSWQpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChsYXN0TW9kYWxJZCArICctY2xvc2UtYnV0dG9uJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWwuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmaW5kTW9kYWxJbmRleChtb2RhbElkOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IGluZGV4OiBudW1iZXIgPSAtMTtcblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVNb2RhbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYWN0aXZlTW9kYWxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlTW9kYWxzW2ldLmlkID09PSBtb2RhbElkKSB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIHByaXZhdGUgZ2V0dGVyc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLVxuICAgIHByaXZhdGUgZ2V0Q3NzVmFyVmFsdWUoaW5wdXRQcm9wZXJ0eSkge1xuICAgICAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoaW5wdXRQcm9wZXJ0eSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDc3NWYXIoaW5wdXRQcm9wZXJ0eSwgb3V0cHV0UHJvcGVydHkpIHtcbiAgICAgICAgY29uc3QgY3NzVmFyVmFsdWUgPSB0aGlzLmNzc1ZhcnMuZmlsdGVyKHYgPT4gdi5rZXkgPT09IGlucHV0UHJvcGVydHkpWzBdLnZhbHVlO1xuICAgICAgICB0aGlzLl9zZXRDc3NWYXJWYWx1ZShvdXRwdXRQcm9wZXJ0eSwgY3NzVmFyVmFsdWUpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhpbnB1dFByb3BlcnR5LCBvdXRwdXRQcm9wZXJ0eSwgY3NzVmFyVmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldENzc1ZhclZhbHVlKHZhck5hbWUsIHZhclZhbHVlKSB7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSh2YXJOYW1lLCB2YXJWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRXcmFwcGVyQ2xhc3NlcyhzdGF0ZTogVUlTdGF0ZSwgYnJlYWtwb2ludDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgY2xhc3Nlcy5wdXNoKGJyZWFrcG9pbnQpO1xuXG4gICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJPcGVuICYmIChzdGF0ZS5pc1NpZGViYXJBY3RpdmUgfHwgc3RhdGUuaXNTaWRlYmFySW5uZXJBY3RpdmUpKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItc3RhdGUtb3BlbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghc3RhdGUuaXNTaWRlYmFyT3BlbiAmJiAoc3RhdGUuaXNTaWRlYmFyQWN0aXZlIHx8IHN0YXRlLmlzU2lkZWJhcklubmVyQWN0aXZlKSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLXN0YXRlLWNsb3NlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmlzU2lkZWJhckFjdGl2ZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLWFjdGl2ZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJJbm5lckFjdGl2ZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLWlubmVyLWFjdGl2ZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJTdGF0ZUNsb3NlV2l0aEljb25zKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItc3RhdGUtY2xvc2Utd2l0aC1pY29ucycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTkVXIEFQUC1TSEVMTCBwcm9wc1xuICAgICAgICBpZiAoc3RhdGUuaXNTaWRlYmFySGlkZGVuKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItLWhpZGRlbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJPcGVuKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItLW9wZW4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2lkZWJhci0tY2xvc2UnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuaXNTaWRlYmFySG92ZXIpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2lkZWJhci0taG92ZXInKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuZGV2aWNlSW5mbyAmJiBzdGF0ZS5kZXZpY2VJbmZvLmlzRkYpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnZmYnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuZGV2aWNlSW5mbyAmJiBzdGF0ZS5kZXZpY2VJbmZvLmlzSUUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnaWUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuZGV2aWNlSW5mbyAmJiBzdGF0ZS5kZXZpY2VJbmZvLmlzSUUxMSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdpZTExJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmRldmljZUluZm8gJiYgc3RhdGUuZGV2aWNlSW5mby5pc0Nocm9tZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdjaHJvbWUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCcmVha3BvaW50KHdpbmRvd1dpZHRoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBsZXQgYmtwOiBzdHJpbmcgPSAnJztcblxuICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgY2FzZSAod2luZG93V2lkdGggPj0gMCAmJiB3aW5kb3dXaWR0aCA8IDU3Nik6XG4gICAgICAgICAgICBia3AgPSAneHMnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgKHdpbmRvd1dpZHRoID49IDU3NiAmJiB3aW5kb3dXaWR0aCA8IDc2OCk6XG4gICAgICAgICAgICBia3AgPSAnc20nO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgKHdpbmRvd1dpZHRoID49IDc2OCAmJiB3aW5kb3dXaWR0aCA8IDk5Mik6XG4gICAgICAgICAgICBia3AgPSAnbWQnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgKHdpbmRvd1dpZHRoID49IDk5MiAmJiB3aW5kb3dXaWR0aCA8IDEyMDApOlxuICAgICAgICAgICAgYmtwID0gJ2xnJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICh3aW5kb3dXaWR0aCA+PSAxMjAwICYmIHdpbmRvd1dpZHRoIDwgMTQwMCk6XG4gICAgICAgICAgICBia3AgPSAneGwnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgKHdpbmRvd1dpZHRoID49IDE0MDApOlxuICAgICAgICAgICAgYmtwID0gJ3h4bCc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmtwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QnJlYWtwb2ludHMoYmtwOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXNNb2JpbGU6IChia3AgPT09ICd4cycgfHwgYmtwID09PSAnc20nKSxcbiAgICAgICAgICAgIGlzVGFibGV0OiBia3AgPT09ICdtZCcsXG4gICAgICAgICAgICBpc0x0RGVza3RvcDogKGJrcCA9PT0gJ3hzJyB8fCBia3AgPT09ICdzbScgfHwgYmtwID09PSAnbWQnKSxcbiAgICAgICAgICAgIGlzRGVza3RvcDogYmtwID09PSAnbGcnLFxuICAgICAgICAgICAgaXNYTDogYmtwID09PSAneGwnLFxuICAgICAgICAgICAgaXNYWEw6IGJrcCA9PT0gJ3h4bCcsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRKc29uKHVybDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldCh1cmwpXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcbiAgICAgICAgICAgIC50aGVuKHRoaXMuZXh0cmFjdERhdGEpXG4gICAgICAgICAgICAuY2F0Y2godGhpcy5oYW5kbGVFcnJvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHRyYWN0RGF0YShyZXM6IFJlc3BvbnNlKSB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSByZXM7XG4gICAgICAgIHJldHVybiBib2R5IHx8IHt9O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FuIGVycm9yIG9jY3VycmVkJywgZXJyb3IpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IubWVzc2FnZSB8fCBlcnJvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kQWN0aXZlTGFuZ3VhZ2VUb0FwcFNoZWxsU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlLnNlbGVjdChnZXRBY3RpdmVMYW5nKS5zdWJzY3JpYmUoKGFjdGl2ZUxhbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3RpdmVMYW5nICE9PSB0aGlzLnN0YXRlLmFjdGl2ZUxhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUxhbmd1YWdlOiBhY3RpdmVMYW5nLFxuICAgICAgICAgICAgICAgIH0sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
639
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtYXBwLXNoZWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3V4LWFwcC1zaGVsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBaUMsYUFBYSxFQUF5QixNQUFNLFdBQVcsQ0FBQztBQUMvRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RCxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEdBQUcsTUFBTSxlQUFlLENBQUM7Ozs7OztBQTZEaEMsTUFBTSxZQUFZLEdBQVk7SUFDMUIsT0FBTyxFQUFFLEVBQUU7SUFDWCxZQUFZLEVBQUUsRUFBRTtJQUNoQixXQUFXLEVBQUUsRUFBRTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsWUFBWSxFQUFFLElBQUk7SUFDbEIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixhQUFhLEVBQUUsS0FBSztJQUNwQixjQUFjLEVBQUUsS0FBSztJQUNyQixlQUFlLEVBQUUsS0FBSztJQUN0QixvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLDRCQUE0QixFQUFFLEtBQUs7SUFDbkMsVUFBVSxFQUFFLEtBQUs7SUFDakIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsYUFB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Uk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlZmVyLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVeEV1TGFuZ3VhZ2VzLCBHbG9iYWxDb25maWcsIFV4TGluaywgVXhNb2RhbCwgZ2V0QWN0aXZlTGFuZywgVXhNZXNzYWdlLCBVeExhbmd1YWdlIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuL2kxOG4nO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gtZXMvaXNFcXVhbCc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC1lcy9nZXQnO1xuLy8gaW1wb3J0IHsgVXhSb290SW5qZWN0b3JHdWFyZCB9IGZyb20gJy4vdXgtcm9vdC1pbmplY3Rvci5ndWFyZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVUlTdGF0ZSB7XG4gICAgLy8gYXBwIHN0YXRlXG4gICAgYXBwTmFtZT86IHN0cmluZztcbiAgICBhcHBTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgYXBwU3ViVGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvLyB1c2VyIHN0YXRlXG4gICAgdXNlckluZm9zPzogc3RyaW5nO1xuICAgIHVzZXJTdWJJbmZvcz86IHN0cmluZztcbiAgICBpbXBlcnNvbmF0ZWRVc2VySW5mb3M/OiBzdHJpbmc7XG5cbiAgICAvLyBTaWRlYmFyIHN0YXRlXG4gICAgaXNTaWRlYmFyT3Blbj86IGJvb2xlYW47XG4gICAgaXNTaWRlYmFySG92ZXI/OiBib29sZWFuO1xuICAgIGlzU2lkZWJhckFjdGl2ZT86IGJvb2xlYW47XG4gICAgaXNTaWRlYmFySW5uZXJBY3RpdmU/OiBib29sZWFuO1xuICAgIGlzU2lkZWJhclN0YXRlQ2xvc2VXaXRoSWNvbnM/OiBib29sZWFuO1xuICAgIGhhc1NpZGViYXI/OiBib29sZWFuO1xuICAgIGhhc0hlYWRlcj86IGJvb2xlYW47XG4gICAgaGFzSGVhZGVyTG9nbz86IGJvb2xlYW47XG4gICAgaGFzSGVhZGVyRW52aXJvbm1lbnQ/OiBib29sZWFuO1xuICAgIGhhc1Rvb2xiYXI/OiBib29sZWFuO1xuICAgIGhhc1Rvb2xiYXJNZW51PzogYm9vbGVhbjtcbiAgICBlbnZpcm9ubWVudFZhbHVlPzogc3RyaW5nO1xuICAgIGlzU2lkZWJhckhpZGRlbj86IGJvb2xlYW47XG5cbiAgICAvLyB3aW5kb3cgc3RhdGVcbiAgICB3aW5kb3dXaWR0aD86IG51bWJlcjtcbiAgICB3aW5kb3dIZWlnaHQ/OiBudW1iZXI7XG4gICAgbWFpbkNvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG4gICAgcGFnZUhlYWRlckhlaWdodD86IG51bWJlcjtcbiAgICBicmVha3BvaW50Pzogc3RyaW5nO1xuICAgIHdyYXBwZXJDbGFzc2VzPzogc3RyaW5nO1xuICAgIGJyZWFrcG9pbnRzPzogYW55O1xuXG4gICAgLy8gbmF2aWdhdGlvbiBzdGF0ZVxuICAgIG1lbnVMaW5rcz86IFV4TGlua1tdO1xuICAgIHNpZGViYXJMaW5rcz86IFV4TGlua1tdO1xuICAgIGNvbWJpbmVkTGlua3M/OiBVeExpbmtbXTtcblxuICAgIC8vIG90aGVyIHN0YXRlc1xuICAgIGlzQmxvY2tEb2N1bWVudEFjdGl2ZT86IGJvb2xlYW47XG5cbiAgICAvLyBkZXZpY2UgaW5mb1xuICAgIGRldmljZUluZm86IGFueTtcblxuICAgIC8vIGxhbmd1YWdlIGluZm9zXG4gICAgYWN0aXZlTGFuZ3VhZ2U6IHN0cmluZztcbiAgICBsYW5ndWFnZXM6IChzdHJpbmcgfCBVeExhbmd1YWdlKVtdO1xuXG4gICAgLy8gYXBwIG1ldGFkYXRhXG4gICAgYXBwTWV0YWRhdGE6IGFueTtcblxuICAgIC8vIHZhcmlvdXMgZHluYW1pYyBzdGF0ZVxuICAgIGhhc01vZGFsQWN0aXZlPzogYm9vbGVhbjtcbiAgICBpc0RpbW1lckFjdGl2ZSA/OiBib29sZWFuOyAgICAgLy8gVXNhZ2U6IG1hcCB0byBldWkgYmFzZSBkaXJlY3RpdmUgaW5wdXQgY29lcmNlIGV1aUhpZ2hsaWdodGVkXG59XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogVUlTdGF0ZSA9IHtcbiAgICBhcHBOYW1lOiAnJyxcbiAgICBhcHBTaG9ydE5hbWU6ICcnLFxuICAgIGFwcFN1YlRpdGxlOiAnJyxcbiAgICB1c2VySW5mb3M6IG51bGwsXG4gICAgdXNlclN1YkluZm9zOiBudWxsLFxuICAgIGltcGVyc29uYXRlZFVzZXJJbmZvczogbnVsbCxcbiAgICBpc1NpZGViYXJPcGVuOiBmYWxzZSxcbiAgICBpc1NpZGViYXJIb3ZlcjogZmFsc2UsXG4gICAgaXNTaWRlYmFyQWN0aXZlOiBmYWxzZSxcbiAgICBpc1NpZGViYXJJbm5lckFjdGl2ZTogZmFsc2UsXG4gICAgaXNTaWRlYmFyU3RhdGVDbG9zZVdpdGhJY29uczogZmFsc2UsXG4gICAgaGFzU2lkZWJhcjogZmFsc2UsXG4gICAgaGFzSGVhZGVyOiBmYWxzZSxcbiAgICBoYXNIZWFkZXJMb2dvOiBmYWxzZSxcbiAgICBoYXNIZWFkZXJFbnZpcm9ubWVudDogZmFsc2UsXG4gICAgaGFzVG9vbGJhcjogZmFsc2UsXG4gICAgaGFzVG9vbGJhck1lbnU6IGZhbHNlLFxuICAgIGVudmlyb25tZW50VmFsdWU6ICcnLFxuICAgIGlzU2lkZWJhckhpZGRlbjogZmFsc2UsXG4gICAgd2luZG93V2lkdGg6IDAsXG4gICAgd2luZG93SGVpZ2h0OiAwLFxuICAgIG1haW5Db250ZW50SGVpZ2h0OiAwLFxuICAgIHBhZ2VIZWFkZXJIZWlnaHQ6IDAsXG4gICAgd3JhcHBlckNsYXNzZXM6ICcnLFxuICAgIGJyZWFrcG9pbnQ6ICcnLFxuICAgIGJyZWFrcG9pbnRzOiB7XG4gICAgICAgIGlzTW9iaWxlOiBmYWxzZSxcbiAgICAgICAgaXNUYWJsZXQ6IGZhbHNlLFxuICAgICAgICBpc0x0RGVza3RvcDogZmFsc2UsXG4gICAgICAgIGlzRGVza3RvcDogZmFsc2UsXG4gICAgICAgIGlzWEw6IGZhbHNlLFxuICAgICAgICBpc1hYTDogZmFsc2UsXG4gICAgfSxcbiAgICBtZW51TGlua3M6IFtdLFxuICAgIHNpZGViYXJMaW5rczogW10sXG4gICAgY29tYmluZWRMaW5rczogW10sXG4gICAgaXNCbG9ja0RvY3VtZW50QWN0aXZlOiBmYWxzZSxcbiAgICBkZXZpY2VJbmZvOiBudWxsLFxuICAgIGFjdGl2ZUxhbmd1YWdlOiAnZW4nLFxuICAgIGxhbmd1YWdlczogVXhFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZXMoKSxcbiAgICBhcHBNZXRhZGF0YTogbnVsbCxcbiAgICBoYXNNb2RhbEFjdGl2ZTogZmFsc2UsXG4gICAgaXNEaW1tZXJBY3RpdmUgOiBmYWxzZSxcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuLy8gZXhwb3J0IGNsYXNzIFV4QXBwU2hlbGxTZXJ2aWNlIGV4dGVuZHMgVXhSb290SW5qZWN0b3JHdWFyZCB7XG5leHBvcnQgY2xhc3MgVXhBcHBTaGVsbFNlcnZpY2Uge1xuICAgIGdyb3dsTWVzc2FnZXMgPSBbXTtcbiAgICBpc0dyb3dsU3RpY2t5OiBib29sZWFuID0gZmFsc2U7XG4gICAgZ3Jvd2xMaWZlOiBudW1iZXIgPSAzMDAwO1xuICAgIGdyb3dsUG9zaXRpb246IHN0cmluZyA9ICdib3R0b20tcmlnaHQnO1xuICAgIGdyb3dsQ2FsbGJhY2s6IGFueSA9IG51bGw7XG4gICAgYWN0aXZlTW9kYWxzOiBVeE1vZGFsW10gPSBbXTtcbiAgICBvcGVuTW9kYWxJZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgICBuYXZpZ2F0aW9uU3RhcnRDdXN0b21IYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIG5hdmlnYXRpb25FbmRDdXN0b21IYW5kbGVyOiAoKSA9PiB2b2lkO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxVSVN0YXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIGV4cG9zZWQgb2JzZXJ2YWJsZXNcblxuICAgIGdldCBicmVha3BvaW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGJyZWFrcG9pbnRzJCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludHMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBzdGF0ZSBvcGVyYXRpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLVxuICAgIGdldCBzdGF0ZSgpOiBVSVN0YXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIGdldCBpc1NpZGViYXJPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1NpZGViYXJPcGVuO1xuICAgIH1cblxuICAgIC8vIEVkaXQgbW9kZVxuICAgIGdldCBpc0RpbW1lckFjdGl2ZSAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmlzRGltbWVyQWN0aXZlIDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gcHVibGljIHNldHRlcnMgYW5kIGZ1bmN0aW9uc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBzZXQgaXNTaWRlYmFyT3Blbihpc09wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNTaWRlYmFyT3BlbjogaXNPcGVuLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXQgaXNTaWRlYmFySG92ZXIoaXNIb3ZlcjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc1NpZGViYXJIb3ZlcjogaXNIb3ZlcixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2lkZWJhckhvdmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1NpZGViYXJIb3ZlcjtcbiAgICB9XG5cbiAgICBzZXQgaXNTaWRlYmFyQWN0aXZlKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzU2lkZWJhckFjdGl2ZTogaXNBY3RpdmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldCBpc1NpZGViYXJJbm5lckFjdGl2ZShpc09wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNTaWRlYmFySW5uZXJBY3RpdmU6IGlzT3BlbixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IHNpZGViYXJMaW5rcyhsaW5rczogVXhMaW5rW10pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgc2lkZWJhckxpbmtzOiBsaW5rcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IG1lbnVMaW5rcyhsaW5rczogVXhMaW5rW10pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgbWVudUxpbmtzOiBsaW5rcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IGlzQmxvY2tEb2N1bWVudEFjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc0Jsb2NrRG9jdW1lbnRBY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBFZGl0IG1vZGVcbiAgICBzZXQgaXNEaW1tZXJBY3RpdmUgKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzRGltbWVyQWN0aXZlIDogaXNBY3RpdmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3NzVmFycyA9IFtdO1xuICAgIHByaXZhdGUgX3N0YXRlJDogQmVoYXZpb3JTdWJqZWN0PFVJU3RhdGU+O1xuICAgIHByaXZhdGUgX2JyZWFrcG9pbnQkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPjtcbiAgICBwcml2YXRlIF9icmVha3BvaW50cyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoR0xPQkFMX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGNvbmZpZzogR2xvYmFsQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHN0b3JlU2VydmljZTogU3RvcmVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgLy8gc3VwZXIoVXhBcHBTaGVsbFNlcnZpY2UpO1xuICAgICAgICBjb25zb2xlLmxvZygnVXhBcHBTaGVsbFNlcnZpY2UgaW5pdGlhbGl6ZWQnKTtcblxuICAgICAgICBsZXQgc3RhdGVXaXRoQ29uZmlnID0gaW5pdGlhbFN0YXRlO1xuICAgICAgICBjb25zdCBsYW5ndWFnZXMgPSBjb25maWc/LmkxOG4/LmkxOG5TZXJ2aWNlPy5sYW5ndWFnZXMgfHwgaW5pdGlhbFN0YXRlLmxhbmd1YWdlcztcbiAgICAgICAgY29uc3QgZGVmYXVsdExhbmd1YWdlID0gY29uZmlnPy5pMThuPy5pMThuU2VydmljZT8uZGVmYXVsdExhbmd1YWdlIHx8IGluaXRpYWxTdGF0ZS5hY3RpdmVMYW5ndWFnZTtcbiAgICAgICAgc3RhdGVXaXRoQ29uZmlnID0ge1xuICAgICAgICAgICAgLi4uc3RhdGVXaXRoQ29uZmlnLCAuLi57XG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2VzOiBsYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgYWN0aXZlTGFuZ3VhZ2U6IGRlZmF1bHRMYW5ndWFnZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoc3RhdGVXaXRoQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG4gICAgICAgIHRoaXMuYmluZEFjdGl2ZUxhbmd1YWdlVG9BcHBTaGVsbFN0YXRlKCk7XG5cbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHJvdXRlci5ldmVudHNcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFN0YXRlKG5leHRTdGF0ZTogVUlTdGF0ZSwgdXBkYXRlSTE4ID0gdHJ1ZSkge1xuICAgICAgICBsZXQgYnJlYWtwb2ludCwgYnJlYWtwb2ludHMsIHdyYXBwZXJDbGFzc2VzO1xuICAgICAgICBsZXQgY29tYmluZWRMaW5rcztcblxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGU7XG5cbiAgICAgICAgLy8gY2hlY2sgaWYgd2luZG93IHdpZHRoIGhhcyBiZWVuIHVwZGF0ZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS53aW5kb3dXaWR0aCAhPT0gbmV4dFN0YXRlLndpbmRvd1dpZHRoKSB7XG4gICAgICAgICAgICBicmVha3BvaW50ID0gdGhpcy5nZXRCcmVha3BvaW50KG5leHRTdGF0ZS53aW5kb3dXaWR0aCk7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHRoaXMuZ2V0QnJlYWtwb2ludHMoYnJlYWtwb2ludCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnQkLm5leHQoYnJlYWtwb2ludCk7XG4gICAgICAgICAgICB0aGlzLl9icmVha3BvaW50cyQubmV4dChicmVha3BvaW50cyk7XG5cbiAgICAgICAgICAgIC8vIGlmIG5vdCBwcm9wYWdhdGUgdGhlIG9sZCBvbmVzIHdpdGhvdXQgZG9pbmcgYW55IGNhbGN1bGF0aW9uc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYnJlYWtwb2ludCA9IHN0YXRlLmJyZWFrcG9pbnQ7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHN0YXRlLmJyZWFrcG9pbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmluYWxseSBnZXQgdGhlIHdyYXBwZXIgY2xhc3NlcyB3aGVuIGJvdGggdGhlIHN0YXRlIGFuZCBicmVha3BvaW50IGFyZSBrbm93blxuICAgICAgICB3cmFwcGVyQ2xhc3NlcyA9IHRoaXMuZ2V0V3JhcHBlckNsYXNzZXMobmV4dFN0YXRlLCBicmVha3BvaW50KTtcblxuICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWVudUxpbmtzIG9yIHNpZGViYXJMaW5rcyBoYXZlIGNoYW5nZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5tZW51TGlua3MgIT09IG5leHRTdGF0ZS5tZW51TGlua3MgfHwgdGhpcy5zdGF0ZS5zaWRlYmFyTGlua3MgIT09IG5leHRTdGF0ZS5zaWRlYmFyTGlua3MpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkTGlua3MgPSBbLi4ubmV4dFN0YXRlLm1lbnVMaW5rcywgLi4ubmV4dFN0YXRlLnNpZGViYXJMaW5rc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21iaW5lZExpbmtzID0gdGhpcy5zdGF0ZS5jb21iaW5lZExpbmtzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhdGVCZWZvcmVVcGRhdGUgPSB7IC4uLnRoaXMuc3RhdGUgfSA7XG5cbiAgICAgICAgLy8gd2UgcHV0IGl0IGFsbCB0b2dldGhlciB3aXRoIHRoZSBjYWxjdWxhdGVkIHByb3BlcnRpZXNcbiAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgLi4ubmV4dFN0YXRlLFxuICAgICAgICAgICAgd3JhcHBlckNsYXNzZXMsXG4gICAgICAgICAgICBicmVha3BvaW50LFxuICAgICAgICAgICAgYnJlYWtwb2ludHMsXG4gICAgICAgICAgICBjb21iaW5lZExpbmtzLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyB1cGRhdGUgdGhlIFN0b3JlIExhbmd1YWdlXG4gICAgICAgIGlmICh1cGRhdGVJMTggJiYgbmV4dFN0YXRlLmFjdGl2ZUxhbmd1YWdlICE9PSBzdGF0ZUJlZm9yZVVwZGF0ZS5hY3RpdmVMYW5ndWFnZSkge1xuICAgICAgICAgICAgdGhpcy5pMThuU2VydmljZS51cGRhdGVTdGF0ZSh7IGFjdGl2ZUxhbmc6IG5leHRTdGF0ZS5hY3RpdmVMYW5ndWFnZSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGEgc2xpY2UgZnJvbSB0aGUgc3RhdGUgd2hldGhlciB0aGF0IGNoYW5nZXNcbiAgICAgKiBAcGFyYW0ga2V5IGNhbiBiZSAna2V5JyBvciAna2V5LnN1Yi5zdWInXG4gICAgICovXG4gICAgZ2V0U3RhdGUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIGtleSBleGlzdHNcbiAgICAgICAgICAgIHJldHVybiBrZXkgPyB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoc3RhdGUpID0+IGdldChzdGF0ZSwga2V5KSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChzdGF0ZSkgPT4gc3RhdGUpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiBpc0VxdWFsKHgsIHkpKVxuICAgICAgICAgICAgKSA6IHRoaXMuc3RhdGUkO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2lkZWJhclRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5pc1NpZGViYXJPcGVuID0gIXRoaXMuc3RhdGUuaXNTaWRlYmFyT3BlbjtcbiAgICB9XG5cbiAgICAvLyBFZGl0IG1vZGVcbiAgICBwdWJsaWMgZGltbWVyQWN0aXZlVG9nZ2xlKCkge1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaXNEaW1tZXJBY3RpdmU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzRGltbWVyQWN0aXZlIDogIWlzQWN0aXZlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUVkaXRNb2RlQ3NzVmFycyghaXNBY3RpdmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaW1tZXJBY3RpdmVTdGF0ZShhY3RpdmVTdGF0ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc0RpbW1lckFjdGl2ZSA6IGFjdGl2ZVN0YXRlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUVkaXRNb2RlQ3NzVmFycyhhY3RpdmVTdGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlRWRpdE1vZGVDc3NWYXJzKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWRvY3BhZ2UtbmF2aWdhdGlvbi16LWluZGV4JywgJ2luaGVyaXQnKTsgICAgLy8gUmVzZXQgZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gei1pbmRleFxuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtc2lkZWJhcicsICdpbmhlcml0Jyk7ICAgICAgICAgICAgICAgLy8gUmVzZXQgZXVpLWFwcC1zaWRlYmFyIHotaW5kZXhcbiAgICAgICAgICAgIHRoaXMuX3NldENzc1ZhclZhbHVlKCctLWV1aS16LWluZGV4LXJvb3QnLCAnaW5oZXJpdCcpOyAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IGV1aS1hcHAtbWFpbi1jb250ZW50IHotaW5kZXhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldENzc1ZhclZhbHVlKCctLWV1aS1kb2NwYWdlLW5hdmlnYXRpb24tei1pbmRleCcsICcyJyk7ICAgICAgICAgIC8vIFJlc3RvcmUgZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gei1pbmRleFxuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtc2lkZWJhcicsICcxMDQ0Jyk7ICAgICAgICAgICAgICAgICAgLy8gUmVzdG9yZSBldWktYXBwLXNpZGViYXIgei1pbmRleFxuICAgICAgICAgICAgdGhpcy5fc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtcm9vdCcsICcxJyk7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzdG9yZSBldWktYXBwLW1haW4tY29udGVudCB6LWluZGV4XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLVxuICAgIC8vIHB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS1cbiAgICBwdWJsaWMgZmV0Y2hBcHBNZXRhZGF0YShtZXRhZGF0YUZpbGVQYXRoID0gJ2Fzc2V0cy9hcHAtbWV0YWRhdGEuanNvbicpIHtcbiAgICAgICAgdGhpcy5nZXRKc29uKG1ldGFkYXRhRmlsZVBhdGgpXG4gICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICBhcHBNZXRhZGF0YTogZGF0YSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZVNpZGViYXIoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1NpZGViYXI6IHRydWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5zdGF0ZS5pc1NpZGViYXJIaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVTaWRlYmFyQ3NzVmFycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckhlYWRlcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNpZGViYXJIZWFkZXJDc3NWYXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckZvb3RlcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNpZGViYXJGb290ZXJDc3NWYXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlSGVhZGVyKCkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBoYXNIZWFkZXI6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGl2YXRlSGVhZGVyQ3NzVmFycygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZVRvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1Rvb2xiYXI6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGl2YXRlVG9vbGJhckNzc1ZhcnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVUb29sYmFyTWVudSgpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmZXRjaENzc1ZhcnMoKSB7XG4gICAgICAgIGNvbnN0IGNzc1Zhck5hbWVzID0gW1xuICAgICAgICAgICAgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LWRlZmF1bHQnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LWFjdGl2ZScsXG4gICAgICAgICAgICAnLS1ldWktYXBwLWhlYWRlci1oZWlnaHQtc2hyaW5rJyxcbiAgICAgICAgICAgICctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQtZGVmYXVsdCcsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0LWFjdGl2ZScsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtZGVmYXVsdCcsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtYWN0aXZlJyxcbiAgICAgICAgICAgICctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZS1kZWZhdWx0JyxcbiAgICAgICAgICAgICctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZS1hY3RpdmUnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQtZGVmYXVsdCcsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXNpZGViYXItaGVhZGVyLWhlaWdodC1hY3RpdmUnLFxuICAgICAgICAgICAgJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQtZGVmYXVsdCcsXG4gICAgICAgICAgICAnLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodC1hY3RpdmUnLFxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuY3NzVmFycyA9IGNzc1Zhck5hbWVzLm1hcCgodikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsga2V5OiB2LCB2YWx1ZTogdGhpcy5nZXRDc3NWYXJWYWx1ZSh2KSB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdENzc1ZhcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1kZWZhdWx0JywgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQnKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWRlZmF1bHQnLCAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgnKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlLWRlZmF1bHQnLCAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UnKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0LWRlZmF1bHQnLCAnLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZUhlYWRlckNzc1ZhcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLWhlYWRlci1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVUb29sYmFyQ3NzVmFycygpIHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC10b29sYmFyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlRm9vdGVyQ3NzVmFycygpIHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1mb290ZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtZm9vdGVyLWhlaWdodCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRIZWFkZXJTaHJpbmtDc3NWYXIoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1zaHJpbmsnLCAnLS1ldWktYXBwLWhlYWRlci1oZWlnaHQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLWhlYWRlci1oZWlnaHQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZVNpZGViYXJDc3NWYXJzKCkge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXNpZGViYXItd2lkdGgtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoJyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZS1hY3RpdmUnLCAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVTaWRlYmFySGVhZGVyQ3NzVmFycygpIHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVTaWRlYmFyRm9vdGVyQ3NzVmFycygpIHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBkaXNwbGF5cyBhIGdyb3dsIFV4TWVzc2FnZSBpdGVtLCBpc1N0aWNreVxuICAgICAqL1xuICAgIGdyb3dsKG1zZzogVXhNZXNzYWdlLCBpc1N0aWNreT86IGJvb2xlYW4sIGlzTXVsdGlwbGU/OiBib29sZWFuLCBsaWZlPzogbnVtYmVyLCBwb3NpdGlvbj86IHN0cmluZywgY2FsbGJhY2s/OiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIGlmIChtc2cuc2V2ZXJpdHkgIT09ICdpbmZvJyAmJiBtc2cuc2V2ZXJpdHkgIT09ICd3YXJuaW5nJyAmJiBtc2cuc2V2ZXJpdHkgIT09ICdzdWNjZXNzJyAmJiBtc2cuc2V2ZXJpdHkgIT09ICdkYW5nZXInKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1V4QXBwU2hlbGxTZXJ2aWNlLmdyb3dsKCkgRVJST1IgOiBtZXNzYWdlIHNldmVyaXR5IG11c3QgYmUgZWl0aGVyIDogc3VjY2Vzcywgd2FybmluZywgaW5mbywgZGFuZ2VyJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoaXNNdWx0aXBsZSA9PT0gdW5kZWZpbmVkIHx8ICFpc011bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bE1lc3NhZ2VzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdyb3dsTWVzc2FnZXMgPSB0aGlzLmdyb3dsTWVzc2FnZXMuY29uY2F0KG1zZyk7XG4gICAgICAgICAgICBtc2cubGlmZSA9IGxpZmU7XG4gICAgICAgICAgICBtc2cuc3RpY2t5ID0gaXNTdGlja3k7XG5cbiAgICAgICAgICAgIGlmIChsaWZlID09PSB1bmRlZmluZWQgfHwgaXNOYU4obGlmZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAobXNnLnNldmVyaXR5ID09PSAnZGFuZ2VyJykge1xuICAgICAgICAgICAgICAgICAgICBpc1N0aWNreSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bExpZmUgPSAzMDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bExpZmUgPSBsaWZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXNTdGlja3kpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzR3Jvd2xTdGlja3kgPSBpc1N0aWNreTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0dyb3dsU3RpY2t5ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3dsQ2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm93bENhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhckdyb3dsKCkge1xuICAgICAgICB0aGlzLmdyb3dsTWVzc2FnZXMgPSBbXTtcbiAgICB9XG5cbiAgICBncm93bFN1Y2Nlc3MobXNnOiBzdHJpbmcsIHBvc2l0aW9uPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZ3Jvd2woeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnU1VDQ0VTUycsIGRldGFpbDogbXNnIH0sIGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkLCBwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgZ3Jvd2xFcnJvcihtc2c6IHN0cmluZywgcG9zaXRpb24/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5ncm93bCh7IHNldmVyaXR5OiAnZGFuZ2VyJywgc3VtbWFyeTogJ0VSUk9SJywgZGV0YWlsOiBtc2cgfSwgZmFsc2UsIGZhbHNlLCB1bmRlZmluZWQsIHBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICAvLyBkYXRlIGhlbHBlcnNcblxuICAgIGdyb3dsV2FybmluZyhtc2c6IHN0cmluZywgcG9zaXRpb24/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5ncm93bCh7IHNldmVyaXR5OiAnd2FybmluZycsIHN1bW1hcnk6ICdXQVJOSU5HJywgZGV0YWlsOiBtc2cgfSwgZmFsc2UsIGZhbHNlLCB1bmRlZmluZWQsIHBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICBncm93bEluZm8obXNnOiBzdHJpbmcsIHBvc2l0aW9uPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZ3Jvd2woeyBzZXZlcml0eTogJ2luZm8nLCBzdW1tYXJ5OiAnSU5GTycsIGRldGFpbDogbXNnIH0sIGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkLCBwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgb3Blbk1vZGFsKG1vZGFsSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdtb2RhbC1vcGVuJyk7XG4gICAgICAgIGlmICghbW9kYWxJZCkge1xuICAgICAgICAgICAgbW9kYWxJZCA9ICdzaW5nbGVfbW9kYWwnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVNb2RhbHMucHVzaCh7XG4gICAgICAgICAgICBpZDogbW9kYWxJZCxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vZGFsSWQgKyAnLWNsb3NlLWJ1dHRvbicpO1xuICAgICAgICAgICAgaWYgKGVsKSB7XG4gICAgICAgICAgICAgICAgZWwuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICB9XG5cbiAgICBvcGVuTWVzc2FnZUJveChtZXNzYWdlQm94SWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFtZXNzYWdlQm94SWQpIHtcbiAgICAgICAgICAgIG1lc3NhZ2VCb3hJZCA9ICdtZXNzYWdlYm94X21vZGFsJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5Nb2RhbChtZXNzYWdlQm94SWQpO1xuICAgIH1cblxuICAgIGNsb3NlTWVzc2FnZUJveChtZXNzYWdlQm94SWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFtZXNzYWdlQm94SWQpIHtcbiAgICAgICAgICAgIG1lc3NhZ2VCb3hJZCA9ICdtZXNzYWdlYm94X21vZGFsJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlTW9kYWwobWVzc2FnZUJveElkKTtcbiAgICB9XG5cbiAgICBpc01vZGFsT3Blbihtb2RhbElkPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICghbW9kYWxJZCkge1xuICAgICAgICAgICAgbW9kYWxJZCA9ICdzaW5nbGVfbW9kYWwnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZU1vZGFscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxldCBtb2RhbEluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRNb2RhbEluZGV4KG1vZGFsSWQpO1xuICAgICAgICAgICAgaWYgKG1vZGFsSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlTW9kYWxzW21vZGFsSW5kZXhdLmlzT3BlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25zIGhlbHBlcnNcblxuICAgIGNsb3NlTW9kYWwobW9kYWxJZD86IHN0cmluZykge1xuICAgICAgICBpZiAoIW1vZGFsSWQpIHtcbiAgICAgICAgICAgIG1vZGFsSWQgPSAnc2luZ2xlX21vZGFsJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBNYWtlIHN1cmUgd2UgZmluZCB0aGUgbW9kYWwgYmVmb3JlIHNwbGljaW5nIHRoZSBhY3RpdmVNb2RhbHMgYXJyYXlcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kTW9kYWxJbmRleChtb2RhbElkKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTW9kYWxzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVNb2RhbHMgJiYgdGhpcy5hY3RpdmVNb2RhbHMubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgc3RpbGwgYW5vdGhlciAocGFyZW50KSBtb2RhbCBkaWFsb2cgb3BlbiwgZW5zdXJlIGl0IGlzIGZvY3VzZWQgdXBvbiB0byBiZSBhYmxlIHRvIGNsb3NlIGlzIHdpdGggdGhlIEVTQyBrZXk6XG4gICAgICAgICAgICBjb25zdCBsYXN0TW9kYWxJZCA9IHRoaXMuYWN0aXZlTW9kYWxzIFt0aGlzLmFjdGl2ZU1vZGFscy5sZW5ndGggLSAxXS5pZDtcbiAgICAgICAgICAgIGlmIChsYXN0TW9kYWxJZCkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGxhc3RNb2RhbElkICsgJy1jbG9zZS1idXR0b24nKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpbmRNb2RhbEluZGV4KG1vZGFsSWQ6IHN0cmluZykge1xuICAgICAgICBsZXQgaW5kZXg6IG51bWJlciA9IC0xO1xuXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZU1vZGFscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5hY3RpdmVNb2RhbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVNb2RhbHNbaV0uaWQgPT09IG1vZGFsSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gcHJpdmF0ZSBnZXR0ZXJzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tXG4gICAgcHJpdmF0ZSBnZXRDc3NWYXJWYWx1ZShpbnB1dFByb3BlcnR5KSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShpbnB1dFByb3BlcnR5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENzc1ZhcihpbnB1dFByb3BlcnR5LCBvdXRwdXRQcm9wZXJ0eSkge1xuICAgICAgICBjb25zdCBjc3NWYXJWYWx1ZSA9IHRoaXMuY3NzVmFycy5maWx0ZXIodiA9PiB2LmtleSA9PT0gaW5wdXRQcm9wZXJ0eSlbMF0udmFsdWU7XG4gICAgICAgIHRoaXMuX3NldENzc1ZhclZhbHVlKG91dHB1dFByb3BlcnR5LCBjc3NWYXJWYWx1ZSk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGlucHV0UHJvcGVydHksIG91dHB1dFByb3BlcnR5LCBjc3NWYXJWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q3NzVmFyVmFsdWUodmFyTmFtZSwgdmFyVmFsdWUpIHtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KHZhck5hbWUsIHZhclZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFdyYXBwZXJDbGFzc2VzKHN0YXRlOiBVSVN0YXRlLCBicmVha3BvaW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBjbGFzc2VzLnB1c2goYnJlYWtwb2ludCk7XG5cbiAgICAgICAgaWYgKHN0YXRlLmlzU2lkZWJhck9wZW4gJiYgKHN0YXRlLmlzU2lkZWJhckFjdGl2ZSB8fCBzdGF0ZS5pc1NpZGViYXJJbm5lckFjdGl2ZSkpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2lkZWJhci1zdGF0ZS1vcGVuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdGF0ZS5pc1NpZGViYXJPcGVuICYmIChzdGF0ZS5pc1NpZGViYXJBY3RpdmUgfHwgc3RhdGUuaXNTaWRlYmFySW5uZXJBY3RpdmUpKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItc3RhdGUtY2xvc2UnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuaXNTaWRlYmFyQWN0aXZlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItYWN0aXZlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmlzU2lkZWJhcklubmVyQWN0aXZlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItaW5uZXItYWN0aXZlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmlzU2lkZWJhclN0YXRlQ2xvc2VXaXRoSWNvbnMpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2lkZWJhci1zdGF0ZS1jbG9zZS13aXRoLWljb25zJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBORVcgQVBQLVNIRUxMIHByb3BzXG4gICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJIaWRkZW4pIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2lkZWJhci0taGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmlzU2lkZWJhck9wZW4pIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2lkZWJhci0tb3BlbicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLS1jbG9zZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJIb3Zlcikge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLS1ob3ZlcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5kZXZpY2VJbmZvICYmIHN0YXRlLmRldmljZUluZm8uaXNGRikge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdmZicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5kZXZpY2VJbmZvICYmIHN0YXRlLmRldmljZUluZm8uaXNJRSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdpZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5kZXZpY2VJbmZvICYmIHN0YXRlLmRldmljZUluZm8uaXNJRTExKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2llMTEnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuZGV2aWNlSW5mbyAmJiBzdGF0ZS5kZXZpY2VJbmZvLmlzQ2hyb21lKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2Nocm9tZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJyZWFrcG9pbnQod2luZG93V2lkdGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGxldCBia3A6IHN0cmluZyA9ICcnO1xuXG4gICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICBjYXNlICh3aW5kb3dXaWR0aCA+PSAwICYmIHdpbmRvd1dpZHRoIDwgNTc2KTpcbiAgICAgICAgICAgIGJrcCA9ICd4cyc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAod2luZG93V2lkdGggPj0gNTc2ICYmIHdpbmRvd1dpZHRoIDwgNzY4KTpcbiAgICAgICAgICAgIGJrcCA9ICdzbSc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAod2luZG93V2lkdGggPj0gNzY4ICYmIHdpbmRvd1dpZHRoIDwgOTkyKTpcbiAgICAgICAgICAgIGJrcCA9ICdtZCc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAod2luZG93V2lkdGggPj0gOTkyICYmIHdpbmRvd1dpZHRoIDwgMTIwMCk6XG4gICAgICAgICAgICBia3AgPSAnbGcnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgKHdpbmRvd1dpZHRoID49IDEyMDAgJiYgd2luZG93V2lkdGggPCAxNDAwKTpcbiAgICAgICAgICAgIGJrcCA9ICd4bCc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAod2luZG93V2lkdGggPj0gMTQwMCk6XG4gICAgICAgICAgICBia3AgPSAneHhsJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBia3A7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCcmVha3BvaW50cyhia3A6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpc01vYmlsZTogKGJrcCA9PT0gJ3hzJyB8fCBia3AgPT09ICdzbScpLFxuICAgICAgICAgICAgaXNUYWJsZXQ6IGJrcCA9PT0gJ21kJyxcbiAgICAgICAgICAgIGlzTHREZXNrdG9wOiAoYmtwID09PSAneHMnIHx8IGJrcCA9PT0gJ3NtJyB8fCBia3AgPT09ICdtZCcpLFxuICAgICAgICAgICAgaXNEZXNrdG9wOiBia3AgPT09ICdsZycsXG4gICAgICAgICAgICBpc1hMOiBia3AgPT09ICd4bCcsXG4gICAgICAgICAgICBpc1hYTDogYmtwID09PSAneHhsJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEpzb24odXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0KHVybClcbiAgICAgICAgICAgIC50b1Byb21pc2UoKVxuICAgICAgICAgICAgLnRoZW4odGhpcy5leHRyYWN0RGF0YSlcbiAgICAgICAgICAgIC5jYXRjaCh0aGlzLmhhbmRsZUVycm9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dHJhY3REYXRhKHJlczogUmVzcG9uc2UpIHtcbiAgICAgICAgY29uc3QgYm9keSA9IHJlcztcbiAgICAgICAgcmV0dXJuIGJvZHkgfHwge307XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQnLCBlcnJvcik7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRBY3RpdmVMYW5ndWFnZVRvQXBwU2hlbGxTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2Uuc2VsZWN0KGdldEFjdGl2ZUxhbmcpLnN1YnNjcmliZSgoYWN0aXZlTGFuZykgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUxhbmcgIT09IHRoaXMuc3RhdGUuYWN0aXZlTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlTGFuZ3VhZ2U6IGFjdGl2ZUxhbmcsXG4gICAgICAgICAgICAgICAgfSwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -54,9 +54,9 @@ export class UxDynamicComponentService {
|
|
|
54
54
|
return new PortalInjector(this.injector, injectorTokens);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
/** @nocollapse */ /** @nocollapse */ UxDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
58
|
-
/** @nocollapse */ /** @nocollapse */ UxDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
57
|
+
/** @nocollapse */ /** @nocollapse */ UxDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxDynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
/** @nocollapse */ /** @nocollapse */ UxDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxDynamicComponentService, providedIn: 'root' });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxDynamicComponentService, decorators: [{
|
|
60
60
|
type: Injectable,
|
|
61
61
|
args: [{ providedIn: 'root' }]
|
|
62
62
|
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }]; } });
|
|
@@ -55,9 +55,9 @@ export class UxDynamicMenuService {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
/** @nocollapse */ /** @nocollapse */ UxDynamicMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
59
|
-
/** @nocollapse */ /** @nocollapse */ UxDynamicMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
58
|
+
/** @nocollapse */ /** @nocollapse */ UxDynamicMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxDynamicMenuService, deps: [{ token: i1.EuiPermissionService }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
+
/** @nocollapse */ /** @nocollapse */ UxDynamicMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxDynamicMenuService, providedIn: 'root' });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxDynamicMenuService, decorators: [{
|
|
61
61
|
type: Injectable,
|
|
62
62
|
args: [{
|
|
63
63
|
providedIn: 'root',
|
|
@@ -50,9 +50,9 @@ export class UxErrorFeedbackService {
|
|
|
50
50
|
return new UxErrorManager(this, true);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
/** @nocollapse */ /** @nocollapse */ UxErrorFeedbackService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
54
|
-
/** @nocollapse */ /** @nocollapse */ UxErrorFeedbackService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
53
|
+
/** @nocollapse */ /** @nocollapse */ UxErrorFeedbackService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxErrorFeedbackService, deps: [{ token: i1.UxAppShellService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
|
+
/** @nocollapse */ /** @nocollapse */ UxErrorFeedbackService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxErrorFeedbackService, providedIn: 'root' });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxErrorFeedbackService, decorators: [{
|
|
56
56
|
type: Injectable,
|
|
57
57
|
args: [{
|
|
58
58
|
providedIn: 'root'
|
|
@@ -710,9 +710,9 @@ export class UxTimezoneService {
|
|
|
710
710
|
});
|
|
711
711
|
}
|
|
712
712
|
}
|
|
713
|
-
/** @nocollapse */ /** @nocollapse */ UxTimezoneService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
714
|
-
/** @nocollapse */ /** @nocollapse */ UxTimezoneService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
715
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.
|
|
713
|
+
/** @nocollapse */ /** @nocollapse */ UxTimezoneService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxTimezoneService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
714
|
+
/** @nocollapse */ /** @nocollapse */ UxTimezoneService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxTimezoneService });
|
|
715
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.1", ngImport: i0, type: UxTimezoneService, decorators: [{
|
|
716
716
|
type: Injectable
|
|
717
717
|
}] });
|
|
718
718
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtdGltZXpvbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtdGltZXpvbmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsRUFBRSxFQUFFLGFBQWE7SUFDakIsRUFBRSxFQUFFLGVBQWU7SUFDbkIsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEIsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxVQUFVO0lBQ2QsRUFBRSxFQUFFLFlBQVk7SUFDaEIsRUFBRSxFQUFFLHFCQUFxQjtJQUN6QixFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLE9BQU87SUFDWCxFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLFlBQVk7SUFDaEIsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxZQUFZO0lBQ2hCLEVBQUUsRUFBRSxVQUFVO0lBQ2QsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxRQUFRO0lBQ1osRUFBRSxFQUFFLE9BQU87SUFDWCxFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxRQUFRO0lBQ1osRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsd0JBQXdCO0lBQzVCLEVBQUUsRUFBRSxVQUFVO0lBQ2QsRUFBRSxFQUFFLGVBQWU7SUFDbkIsRUFBRSxFQUFFLFFBQVE7SUFDWixFQUFFLEVBQUUsd0JBQXdCO0lBQzVCLEVBQUUsRUFBRSxnQ0FB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RSxlQUFlLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFO0lBQzlELEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsK0JBQStCLEVBQUU7Q0FDbkUsQ0FBQztBQUVGLGdEQUFnRDtBQUVoRCxNQUFNLE9BQU8saUJBQWlCO0lBRTFCOztPQUVHO0lBQ0gsV0FBVyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDUixNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7UUFDekIsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVO1FBQ2xCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt5SkE1QlEsaUJBQWlCOzZKQUFqQixpQkFBaUI7Z0dBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IFVYX0NPVU5UUklFUyA9IHtcbiAgICBBRjogJ0FmZ2hhbmlzdGFuJyxcbiAgICBBWDogJ0FsYW5kIElzbGFuZHMnLFxuICAgIEFMOiAnQWxiYW5pYScsXG4gICAgRFo6ICdBbGdlcmlhJyxcbiAgICBBUzogJ0FtZXJpY2FuIFNhbW9hJyxcbiAgICBBRDogJ0FuZG9ycmEnLFxuICAgIEFPOiAnQW5nb2xhJyxcbiAgICBBSTogJ0FuZ3VpbGxhJyxcbiAgICBBUTogJ0FudGFyY3RpY2EnLFxuICAgIEFHOiAnQW50aWd1YSBhbmQgQmFyYnVkYScsXG4gICAgQVI6ICdBcmdlbnRpbmEnLFxuICAgIEFNOiAnQXJtZW5pYScsXG4gICAgQVc6ICdBcnViYScsXG4gICAgQVU6ICdBdXN0cmFsaWEnLFxuICAgIEFUOiAnQXVzdHJpYScsXG4gICAgQVo6ICdBemVyYmFpamFuJyxcbiAgICBCUzogJ0JhaGFtYXMnLFxuICAgIEJIOiAnQmFocmFpbicsXG4gICAgQkQ6ICdCYW5nbGFkZXNoJyxcbiAgICBCQjogJ0JhcmJhZG9zJyxcbiAgICBCWTogJ0JlbGFydXMnLFxuICAgIEJFOiAnQmVsZ2l1bScsXG4gICAgQlo6ICdCZWxpemUnLFxuICAgIEJKOiAnQmVuaW4nLFxuICAgIEJNOiAnQmVybXVkYScsXG4gICAgQlQ6ICdCaHV0YW4nLFxuICAgIEJPOiAnQm9saXZpYScsXG4gICAgQkE6ICdCb3NuaWEgYW5kIEhlcnplZ292aW5hJyxcbiAgICBCVzogJ0JvdHN3YW5hJyxcbiAgICBCVjogJ0JvdXZldCBJc2xhbmQnLFxuICAgIEJSOiAnQnJhemlsJyxcbiAgICBWRzogJ0JyaXRpc2ggVmlyZ2luIElzbGFuZHMnLFxuICAgIElPOiAnQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5JyxcbiAgICBCTjogJ0JydW5laSBEYXJ1c3NhbGFtJyxcbiAgICBCRzogJ0J1bGdhcmlhJyxcbiAgICBCRjogJ0J1cmtpbmEgRmFzbycsXG4gICAgQkk6ICdCdXJ1bmRpJyxcbiAgICBLSDogJ0NhbWJvZGlhJyxcbiAgICBDTTogJ0NhbWVyb29uJyxcbiAgICBDQTogJ0NhbmFkYScsXG4gICAgQ1Y6ICdDYXBlIFZlcmRlJyxcbiAgICBLWTogJ0NheW1hbiBJc2xhbmRzJyxcbiAgICBDRjogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsXG4gICAgVEQ6ICdDaGFkJyxcbiAgICBDTDogJ0NoaWxlJyxcbiAgICBDTjogJ0NoaW5hJyxcbiAgICBISzogJ0hvbmcgS29uZycsXG4gICAgTU86ICdNYWNhbycsXG4gICAgQ1g6ICdDaHJpc3RtYXMgSXNsYW5kJyxcbiAgICBDQzogJ0NvY29zIChLZWVsaW5nKSBJc2xhbmRzJyxcbiAgICBDTzogJ0NvbG9tYmlhJyxcbiAgICBLTTogJ0NvbW9yb3MnLFxuICAgIENHOiAnQ29uZ28gKEJyYXp6YXZpbGxlKScsXG4gICAgQ0Q6ICdDb25nbywgKEtpbnNoYXNhKScsXG4gICAgQ0s6ICdDb29rIElzbGFuZHMnLFxuICAgIENSOiAnQ29zdGEgUmljYScsXG4gICAgQ0k6ICdDw7R0ZSBkXFwnSXZvaXJlJyxcbiAgICBIUjogJ0Nyb2F0aWEnLFxuICAgIENVOiAnQ3ViYScsXG4gICAgQ1k6ICdDeXBydXMnLFxuICAgIENaOiAnQ3plY2ggUmVwdWJsaWMnLFxuICAgIERLOiAnRGVubWFyaycsXG4gICAgREo6ICdEamlib3V0aScsXG4gICAgRE06ICdEb21pbmljYScsXG4gICAgRE86ICdEb21pbmljYW4gUmVwdWJsaWMnLFxuICAgIEVDOiAnRWN1YWRvcicsXG4gICAgRUc6ICdFZ3lwdCcsXG4gICAgU1Y6ICdFbCBTYWx2YWRvcicsXG4gICAgR1E6ICdFcXVhdG9yaWFsIEd1aW5lYScsXG4gICAgRVI6ICdFcml0cmVhJyxcbiAgICBFRTogJ0VzdG9uaWEnLFxuICAgIEVUOiAnRXRoaW9waWEnLFxuICAgIEZLOiAnRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpJyxcbiAgICBGTzogJ0Zhcm9lIElzbGFuZHMnLFxuICAgIEZKOiAnRmlqaScsXG4gICAgRkk6ICdGaW5sYW5kJyxcbiAgICBGUjogJ0ZyYW5jZScsXG4gICAgR0Y6ICdGcmVuY2ggR3VpYW5hJyxcbiAgICBQRjogJ0ZyZW5jaCBQb2x5bmVzaWEnLFxuICAgIFRGOiAnRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzJyxcbiAgICBHQTogJ0dhYm9uJyxcbiAgICBHTTogJ0dhbWJpYScsXG4gICAgR0U6ICdHZW9yZ2lhJyxcbiAgICBERTogJ0dlcm1hbnknLFxuICAgIEdIOiAnR2hhbmEnLFxuICAgIEdJOiAnR2licmFsdGFyJyxcbiAgICBHUjogJ0dyZWVjZScsXG4gICAgR0w6ICdHcmVlbmxhbmQnLFxuICAgIEdEOiAnR3JlbmFkYScsXG4gICAgR1A6ICdHdWFkZWxvdXBlJyxcbiAgICBHVTogJ0d1YW0nLFxuICAgIEdUOiAnR3VhdGVtYWxhJyxcbiAgICBHRzogJ0d1ZXJuc2V5JyxcbiAgICBHTjogJ0d1aW5lYScsXG4gICAgR1c6ICdHdWluZWEtQmlzc2F1JyxcbiAgICBHWTogJ0d1eWFuYScsXG4gICAgSFQ6ICdIYWl0aScsXG4gICAgSE06ICdIZWFyZCBhbmQgTWNkb25hbGQgSXNsYW5kcycsXG4gICAgVkE6ICdWYXRpY2FuIENpdHkgU3RhdGUnLFxuICAgIEhOOiAnSG9uZHVyYXMnLFxuICAgIEhVOiAnSHVuZ2FyeScsXG4gICAgSVM6ICdJY2VsYW5kJyxcbiAgICBJTjogJ0luZGlhJyxcbiAgICBJRDogJ0luZG9uZXNpYScsXG4gICAgSVI6ICdJcmFuJyxcbiAgICBJUTogJ0lyYXEnLFxuICAgIElFOiAnSXJlbGFuZCcsXG4gICAgSU06ICdJc2xlIG9mIE1hbicsXG4gICAgSUw6ICdJc3JhZWwnLFxuICAgIElUOiAnSXRhbHknLFxuICAgIEpNOiAnSmFtYWljYScsXG4gICAgSlA6ICdKYXBhbicsXG4gICAgSkU6ICdKZXJzZXknLFxuICAgIEpPOiAnSm9yZGFuJyxcbiAgICBLWjogJ0themFraHN0YW4nLFxuICAgIEtFOiAnS2VueWEnLFxuICAgIEtJOiAnS2lyaWJhdGknLFxuICAgIEtQOiAnS29yZWEgKE5vcnRoKScsXG4gICAgS1I6ICdLb3JlYSAoU291dGgpJyxcbiAgICBLVzogJ0t1d2FpdCcsXG4gICAgS0c6ICdLeXJneXpzdGFuJyxcbiAgICBMQTogJ0xhbyBQRFInLFxuICAgIExWOiAnTGF0dmlhJyxcbiAgICBMQjogJ0xlYmFub24nLFxuICAgIExTOiAnTGVzb3RobycsXG4gICAgTFI6ICdMaWJlcmlhJyxcbiAgICBMWTogJ0xpYnlhJyxcbiAgICBMSTogJ0xpZWNodGVuc3RlaW4nLFxuICAgIExUOiAnTGl0aHVhbmlhJyxcbiAgICBMVTogJ0x1eGVtYm91cmcnLFxuICAgIE1LOiAnTWFjZWRvbmlhJyxcbiAgICBNRzogJ01hZGFnYXNjYXInLFxuICAgIE1XOiAnTWFsYXdpJyxcbiAgICBNWTogJ01hbGF5c2lhJyxcbiAgICBNVjogJ01hbGRpdmVzJyxcbiAgICBNTDogJ01hbGknLFxuICAgIE1UOiAnTWFsdGEnLFxuICAgIE1IOiAnTWFyc2hhbGwgSXNsYW5kcycsXG4gICAgTVE6ICdNYXJ0aW5pcXVlJyxcbiAgICBNUjogJ01hdXJpdGFuaWEnLFxuICAgIE1VOiAnTWF1cml0aXVzJyxcbiAgICBZVDogJ01heW90dGUnLFxuICAgIE1YOiAnTWV4aWNvJyxcbiAgICBGTTogJ01pY3JvbmVzaWEnLFxuICAgIE1EOiAnTW9sZG92YScsXG4gICAgTUM6ICdNb25hY28nLFxuICAgIE1OOiAnTW9uZ29saWEnLFxuICAgIE1FOiAnTW9udGVuZWdybycsXG4gICAgTVM6ICdNb250c2VycmF0JyxcbiAgICBNQTogJ01vcm9jY28nLFxuICAgIE1aOiAnTW96YW1iaXF1ZScsXG4gICAgTU06ICdNeWFubWFyJyxcbiAgICBOQTogJ05hbWliaWEnLFxuICAgIE5SOiAnTmF1cnUnLFxuICAgIE5QOiAnTmVwYWwnLFxuICAgIE5MOiAnTmV0aGVybGFuZHMnLFxuICAgIEFOOiAnTmV0aGVybGFuZHMgQW50aWxsZXMnLFxuICAgIE5DOiAnTmV3IENhbGVkb25pYScsXG4gICAgTlo6ICdOZXcgWmVhbGFuZCcsXG4gICAgTkk6ICdOaWNhcmFndWEnLFxuICAgIE5FOiAnTmlnZXInLFxuICAgIE5HOiAnTmlnZXJpYScsXG4gICAgTlU6ICdOaXVlJyxcbiAgICBORjogJ05vcmZvbGsgSXNsYW5kJyxcbiAgICBNUDogJ05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycsXG4gICAgTk86ICdOb3J3YXknLFxuICAgIE9NOiAnT21hbicsXG4gICAgUEs6ICdQYWtpc3RhbicsXG4gICAgUFc6ICdQYWxhdScsXG4gICAgUFM6ICdQYWxlc3RpbmlhbiBUZXJyaXRvcnknLFxuICAgIFBBOiAnUGFuYW1hJyxcbiAgICBQRzogJ1BhcHVhIE5ldyBHdWluZWEnLFxuICAgIFBZOiAnUGFyYWd1YXknLFxuICAgIFBFOiAnUGVydScsXG4gICAgUEg6ICdQaGlsaXBwaW5lcycsXG4gICAgUE46ICdQaXRjYWlybicsXG4gICAgUEw6ICdQb2xhbmQnLFxuICAgIFBUOiAnUG9ydHVnYWwnLFxuICAgIFBSOiAnUHVlcnRvIFJpY28nLFxuICAgIFFBOiAnUWF0YXInLFxuICAgIFJFOiAnUsOpdW5pb24nLFxuICAgIFJPOiAnUm9tYW5pYScsXG4gICAgUlU6ICdSdXNzaWFuIEZlZGVyYXRpb24nLFxuICAgIFJXOiAnUndhbmRhJyxcbiAgICBCTDogJ1NhaW50LUJhcnRow6lsZW15JyxcbiAgICBTSDogJ1NhaW50IEhlbGVuYScsXG4gICAgS046ICdTYWludCBLaXR0cyBhbmQgTmV2aXMnLFxuICAgIExDOiAnU2FpbnQgTHVjaWEnLFxuICAgIE1GOiAnU2FpbnQtTWFydGluIChGcmVuY2ggcGFydCknLFxuICAgIFBNOiAnU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbicsXG4gICAgVkM6ICdTYWludCBWaW5jZW50IGFuZCBHcmVuYWRpbmVzJyxcbiAgICBXUzogJ1NhbW9hJyxcbiAgICBTTTogJ1NhbiBNYXJpbm8nLFxuICAgIFNUOiAnU2FvIFRvbWUgYW5kIFByaW5jaXBlJyxcbiAgICBTQTogJ1NhdWRpIEFyYWJpYScsXG4gICAgU046ICdTZW5lZ2FsJyxcbiAgICBSUzogJ1NlcmJpYScsXG4gICAgU0M6ICdTZXljaGVsbGVzJyxcbiAgICBTTDogJ1NpZXJyYSBMZW9uZScsXG4gICAgU0c6ICdTaW5nYXBvcmUnLFxuICAgIFNLOiAnU2xvdmFraWEnLFxuICAgIFNJOiAnU2xvdmVuaWEnLFxuICAgIFNCOiAnU29sb21vbiBJc2xhbmRzJyxcbiAgICBTTzogJ1NvbWFsaWEnLFxuICAgIFpBOiAnU291dGggQWZyaWNhJyxcbiAgICBHUzogJ1NvdXRoIEdlb3JnaWEgYW5kIHRoZSBTb3V0aCBTYW5kd2ljaCBJc2xhbmRzJyxcbiAgICBTUzogJ1NvdXRoIFN1ZGFuJyxcbiAgICBFUzogJ1NwYWluJyxcbiAgICBMSzogJ1NyaSBMYW5rYScsXG4gICAgU0Q6ICdTdWRhbicsXG4gICAgU1I6ICdTdXJpbmFtZScsXG4gICAgU0o6ICdTdmFsYmFyZCBhbmQgSmFuIE1heWVuIElzbGFuZHMnLFxuICAgIFNaOiAnU3dhemlsYW5kJyxcbiAgICBTRTogJ1N3ZWRlbicsXG4gICAgQ0g6ICdTd2l0emVybGFuZCcsXG4gICAgU1k6ICdTeXJpYScsXG4gICAgVFc6ICdUYWl3YW4nLFxuICAgIFRKOiAnVGFqaWtpc3RhbicsXG4gICAgVFo6ICdUYW56YW5pYScsXG4gICAgVEg6ICdUaGFpbGFuZCcsXG4gICAgVEw6ICdUaW1vci1MZXN0ZScsXG4gICAgVEc6ICdUb2dvJyxcbiAgICBUSzogJ1Rva2VsYXUnLFxuICAgIFRPOiAnVG9uZ2EnLFxuICAgIFRUOiAnVHJpbmlkYWQgYW5kIFRvYmFnbycsXG4gICAgVE46ICdUdW5pc2lhJyxcbiAgICBUUjogJ1R1cmtleScsXG4gICAgVE06ICdUdXJrbWVuaXN0YW4nLFxuICAgIFRDOiAnVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzJyxcbiAgICBUVjogJ1R1dmFsdScsXG4gICAgVUc6ICdVZ2FuZGEnLFxuICAgIFVBOiAnVWtyYWluZScsXG4gICAgQUU6ICdVbml0ZWQgQXJhYiBFbWlyYXRlcycsXG4gICAgR0I6ICdVbml0ZWQgS2luZ2RvbSAoR0IpJyxcbiAgICBVUzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKScsXG4gICAgVU06ICdVUyBNaW5vciBPdXRseWluZyBJc2xhbmRzJyxcbiAgICBVWTogJ1VydWd1YXknLFxuICAgIFVaOiAnVXpiZWtpc3RhbicsXG4gICAgVlU6ICdWYW51YXR1JyxcbiAgICBWRTogJ1ZlbmV6dWVsYScsXG4gICAgVk46ICdWaWV0IE5hbScsXG4gICAgVkk6ICdWaXJnaW4gSXNsYW5kcywgVVMnLFxuICAgIFdGOiAnV2FsbGlzIGFuZCBGdXR1bmEgSXNsYW5kcycsXG4gICAgRUg6ICdXZXN0ZXJuIFNhaGFyYScsXG4gICAgWUU6ICdZZW1lbicsXG4gICAgWk06ICdaYW1iaWEnLFxuICAgIFpXOiAnWmltYmFid2UnXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVab25lIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzYzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVVhfVElNRVpPTkVTOiBUaW1lWm9uZVtdID0gW1xuICAgIHsgbmFtZTogJ0V1cm9wZS9BbmRvcnJhJywgZGVzYzogJ0FuZG9ycmEgLSBBbmRvcnJhIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvRHViYWknLCBkZXNjOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMgLSBEdWJhaSAoR01UKzA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0thYnVsJywgZGVzYzogJ0FmZ2hhbmlzdGFuIC0gS2FidWwgKEdNVCswNDozMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BbnRpZ3VhJywgZGVzYzogJ0FudGlndWEgYW5kIEJhcmJ1ZGEgLSBBbnRpZ3VhIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQW5ndWlsbGEnLCBkZXNjOiAnQW5ndWlsbGEgLSBBbmd1aWxsYSAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvVGlyYW5lJywgZGVzYzogJ0FsYmFuaWEgLSBUaXJhbmUgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9ZZXJldmFuJywgZGVzYzogJ0FybWVuaWEgLSBZZXJldmFuIChHTVQrMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9MdWFuZGEnLCBkZXNjOiAnQW5nb2xhIC0gTHVhbmRhIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FudGFyY3RpY2EvTWNNdXJkbycsIGRlc2M6ICdBbnRhcmN0aWNhIC0gTWNNdXJkbyAoR01UKzEyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbnRhcmN0aWNhL1JvdGhlcmEnLCBkZXNjOiAnQW50YXJjdGljYSAtIFJvdGhlcmEgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW50YXJjdGljYS9QYWxtZXInLCBkZXNjOiAnQW50YXJjdGljYSAtIFBhbG1lciAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbnRhcmN0aWNhL01hd3NvbicsIGRlc2M6ICdBbnRhcmN0aWNhIC0gTWF3c29uIChHTVQrMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FudGFyY3RpY2EvRGF2aXMnLCBkZXNjOiAnQW50YXJjdGljYSAtIERhdmlzIChHTVQrMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FudGFyY3RpY2EvQ2FzZXknLCBkZXNjOiAnQW50YXJjdGljYSAtIENhc2V5IChHTVQrMDg6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FudGFyY3RpY2EvVm9zdG9rJywgZGVzYzogJ0FudGFyY3RpY2EgLSBWb3N0b2sgKEdNVCswNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW50YXJjdGljYS9EdW1vbnREVXJ2aWxsZScsIGRlc2M6ICdBbnRhcmN0aWNhIC0gRHVtb250RFVydmlsbGUgKEdNVCsxMDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW50YXJjdGljYS9TeW93YScsIGRlc2M6ICdBbnRhcmN0aWNhIC0gU3lvd2EgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW50YXJjdGljYS9Ucm9sbCcsIGRlc2M6ICdBbnRhcmN0aWNhIC0gVHJvbGwgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzJywgZGVzYzogJ0FyZ2VudGluYSAtIEJ1ZW5vcyBBaXJlcyAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0FyZ2VudGluYS9Db3Jkb2JhJywgZGVzYzogJ0FyZ2VudGluYSAtIENvcmRvYmEgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvU2FsdGEnLCBkZXNjOiAnQXJnZW50aW5hIC0gU2FsdGEgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvSnVqdXknLCBkZXNjOiAnQXJnZW50aW5hIC0gSnVqdXkgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvVHVjdW1hbicsIGRlc2M6ICdBcmdlbnRpbmEgLSBUdWN1bWFuIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQXJnZW50aW5hL0NhdGFtYXJjYScsIGRlc2M6ICdBcmdlbnRpbmEgLSBDYXRhbWFyY2EgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvTGFfUmlvamEnLCBkZXNjOiAnQXJnZW50aW5hIC0gTGEgUmlvamEgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvU2FuX0p1YW4nLCBkZXNjOiAnQXJnZW50aW5hIC0gU2FuIEp1YW4gKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvTWVuZG96YScsIGRlc2M6ICdBcmdlbnRpbmEgLSBNZW5kb3phIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQXJnZW50aW5hL1Nhbl9MdWlzJywgZGVzYzogJ0FyZ2VudGluYSAtIFNhbiBMdWlzIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQXJnZW50aW5hL1Jpb19HYWxsZWdvcycsIGRlc2M6ICdBcmdlbnRpbmEgLSBSaW8gR2FsbGVnb3MgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmdlbnRpbmEvVXNodWFpYScsIGRlc2M6ICdBcmdlbnRpbmEgLSBVc2h1YWlhIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvUGFnb19QYWdvJywgZGVzYzogJ0FtZXJpY2FuIFNhbW9hIC0gUGFnbyBQYWdvIChHTVQtMTE6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvU2Ftb2EnLCBkZXNjOiAnQW1lcmljYW4gU2Ftb2EgLSBTYW1vYSAoR01ULTExOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvVmllbm5hJywgZGVzYzogJ0F1c3RyaWEgLSBWaWVubmEgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXVzdHJhbGlhL0xvcmRfSG93ZScsIGRlc2M6ICdBdXN0cmFsaWEgLSBMb3JkIEhvd2UgKEdNVCsxMDozMCknIH0sXG4gICAgeyBuYW1lOiAnQW50YXJjdGljYS9NYWNxdWFyaWUnLCBkZXNjOiAnQXVzdHJhbGlhIC0gTWFjcXVhcmllIChHTVQrMTE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9Ib2JhcnQnLCBkZXNjOiAnQXVzdHJhbGlhIC0gSG9iYXJ0IChHTVQrMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9DdXJyaWUnLCBkZXNjOiAnQXVzdHJhbGlhIC0gQ3VycmllIChHTVQrMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9NZWxib3VybmUnLCBkZXNjOiAnQXVzdHJhbGlhIC0gTWVsYm91cm5lIChHTVQrMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9TeWRuZXknLCBkZXNjOiAnQXVzdHJhbGlhIC0gU3lkbmV5IChHTVQrMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9Ccm9rZW5fSGlsbCcsIGRlc2M6ICdBdXN0cmFsaWEgLSBCcm9rZW4gSGlsbCAoR01UKzA5OjMwKScgfSxcbiAgICB7IG5hbWU6ICdBdXN0cmFsaWEvQnJpc2JhbmUnLCBkZXNjOiAnQXVzdHJhbGlhIC0gQnJpc2JhbmUgKEdNVCsxMDowMCknIH0sXG4gICAgeyBuYW1lOiAnQXVzdHJhbGlhL0xpbmRlbWFuJywgZGVzYzogJ0F1c3RyYWxpYSAtIExpbmRlbWFuIChHTVQrMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9BZGVsYWlkZScsIGRlc2M6ICdBdXN0cmFsaWEgLSBBZGVsYWlkZSAoR01UKzA5OjMwKScgfSxcbiAgICB7IG5hbWU6ICdBdXN0cmFsaWEvRGFyd2luJywgZGVzYzogJ0F1c3RyYWxpYSAtIERhcndpbiAoR01UKzA5OjMwKScgfSxcbiAgICB7IG5hbWU6ICdBdXN0cmFsaWEvUGVydGgnLCBkZXNjOiAnQXVzdHJhbGlhIC0gUGVydGggKEdNVCswODowMCknIH0sXG4gICAgeyBuYW1lOiAnQXVzdHJhbGlhL0V1Y2xhJywgZGVzYzogJ0F1c3RyYWxpYSAtIEV1Y2xhIChHTVQrMDg6NDUpJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9DYW5iZXJyYScsIGRlc2M6ICdBdXN0cmFsaWEgLSBDYW5iZXJyYSAoR01UKzEwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBdXN0cmFsaWEvUXVlZW5zbGFuZCcsIGRlc2M6ICdBdXN0cmFsaWEgLSBRdWVlbnNsYW5kIChHTVQrMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F1c3RyYWxpYS9UYXNtYW5pYScsIGRlc2M6ICdBdXN0cmFsaWEgLSBUYXNtYW5pYSAoR01UKzEwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBdXN0cmFsaWEvVmljdG9yaWEnLCBkZXNjOiAnQXVzdHJhbGlhIC0gVmljdG9yaWEgKEdNVCsxMDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcnViYScsIGRlc2M6ICdBcnViYSAtIEFydWJhIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9NYXJpZWhhbW4nLCBkZXNjOiAnQWxhbmQgSXNsYW5kcyAtIE1hcmllaGFtbiAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0Jha3UnLCBkZXNjOiAnQXplcmJhaWphbiAtIEJha3UgKEdNVCswNDowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL1NhcmFqZXZvJywgZGVzYzogJ0Jvc25pYSBhbmQgSGVyemVnb3ZpbmEgLSBTYXJhamV2byAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0JhcmJhZG9zJywgZGVzYzogJ0JhcmJhZG9zIC0gQmFyYmFkb3MgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9EaGFrYScsIGRlc2M6ICdCYW5nbGFkZXNoIC0gRGhha2EgKEdNVCswNjowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0JydXNzZWxzJywgZGVzYzogJ0JlbGdpdW0gLSBCcnVzc2VscyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvT3VhZ2Fkb3Vnb3UnLCBkZXNjOiAnQnVya2luYSBGYXNvIC0gT3VhZ2Fkb3Vnb3UgKEdNVCswMDowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL1NvZmlhJywgZGVzYzogJ0J1bGdhcmlhIC0gU29maWEgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9CYWhyYWluJywgZGVzYzogJ0JhaHJhaW4gLSBCYWhyYWluIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9CdWp1bWJ1cmEnLCBkZXNjOiAnQnVydW5kaSAtIEJ1anVtYnVyYSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvUG9ydG8tTm92bycsIGRlc2M6ICdCZW5pbiAtIFBvcnRvLU5vdm8gKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9TdF9CYXJ0aGVsZW15JywgZGVzYzogJ1NhaW50LUJhcnRow6lsZW15IC0gU3QgQmFydGhlbGVteSAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBdGxhbnRpYy9CZXJtdWRhJywgZGVzYzogJ0Jlcm11ZGEgLSBCZXJtdWRhIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvQnJ1bmVpJywgZGVzYzogJ0JydW5laSBEYXJ1c3NhbGFtIC0gQnJ1bmVpIChHTVQrMDg6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTGFfUGF6JywgZGVzYzogJ0JvbGl2aWEgLSBMYSBQYXogKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9LcmFsZW5kaWprJywgZGVzYzogJ0JRIC0gS3JhbGVuZGlqayAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL05vcm9uaGEnLCBkZXNjOiAnQnJhemlsIC0gTm9yb25oYSAoR01ULTAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0JlbGVtJywgZGVzYzogJ0JyYXppbCAtIEJlbGVtIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvRm9ydGFsZXphJywgZGVzYzogJ0JyYXppbCAtIEZvcnRhbGV6YSAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1JlY2lmZScsIGRlc2M6ICdCcmF6aWwgLSBSZWNpZmUgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BcmFndWFpbmEnLCBkZXNjOiAnQnJhemlsIC0gQXJhZ3VhaW5hIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTWFjZWlvJywgZGVzYzogJ0JyYXppbCAtIE1hY2VpbyAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0JhaGlhJywgZGVzYzogJ0JyYXppbCAtIEJhaGlhIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvU2FvX1BhdWxvJywgZGVzYzogJ0JyYXppbCAtIFNhbyBQYXVsbyAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0NhbXBvX0dyYW5kZScsIGRlc2M6ICdCcmF6aWwgLSBDYW1wbyBHcmFuZGUgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9DdWlhYmEnLCBkZXNjOiAnQnJhemlsIC0gQ3VpYWJhIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvU2FudGFyZW0nLCBkZXNjOiAnQnJhemlsIC0gU2FudGFyZW0gKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9Qb3J0b19WZWxobycsIGRlc2M6ICdCcmF6aWwgLSBQb3J0byBWZWxobyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0JvYV9WaXN0YScsIGRlc2M6ICdCcmF6aWwgLSBCb2EgVmlzdGEgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9NYW5hdXMnLCBkZXNjOiAnQnJhemlsIC0gTWFuYXVzIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvRWlydW5lcGUnLCBkZXNjOiAnQnJhemlsIC0gRWlydW5lcGUgKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9SaW9fQnJhbmNvJywgZGVzYzogJ0JyYXppbCAtIFJpbyBCcmFuY28gKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9OYXNzYXUnLCBkZXNjOiAnQmFoYW1hcyAtIE5hc3NhdSAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1RoaW1waHUnLCBkZXNjOiAnQmh1dGFuIC0gVGhpbXBodSAoR01UKzA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvR2Fib3JvbmUnLCBkZXNjOiAnQm90c3dhbmEgLSBHYWJvcm9uZSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvTWluc2snLCBkZXNjOiAnQmVsYXJ1cyAtIE1pbnNrIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQmVsaXplJywgZGVzYzogJ0JlbGl6ZSAtIEJlbGl6ZSAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1N0X0pvaG5zJywgZGVzYzogJ0NhbmFkYSAtIFN0IEpvaG5zIChHTVQtMDI6MzApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvSGFsaWZheCcsIGRlc2M6ICdDYW5hZGEgLSBIYWxpZmF4IChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvR2xhY2VfQmF5JywgZGVzYzogJ0NhbmFkYSAtIEdsYWNlIEJheSAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL01vbmN0b24nLCBkZXNjOiAnQ2FuYWRhIC0gTW9uY3RvbiAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0dvb3NlX0JheScsIGRlc2M6ICdDYW5hZGEgLSBHb29zZSBCYXkgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9CbGFuYy1TYWJsb24nLCBkZXNjOiAnQ2FuYWRhIC0gQmxhbmMtU2FibG9uIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvVG9yb250bycsIGRlc2M6ICdDYW5hZGEgLSBUb3JvbnRvIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTmlwaWdvbicsIGRlc2M6ICdDYW5hZGEgLSBOaXBpZ29uIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvVGh1bmRlcl9CYXknLCBkZXNjOiAnQ2FuYWRhIC0gVGh1bmRlciBCYXkgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9JcWFsdWl0JywgZGVzYzogJ0NhbmFkYSAtIElxYWx1aXQgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9QYW5nbmlydHVuZycsIGRlc2M6ICdDYW5hZGEgLSBQYW5nbmlydHVuZyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1Jlc29sdXRlJywgZGVzYzogJ0NhbmFkYSAtIFJlc29sdXRlIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQXRpa29rYW4nLCBkZXNjOiAnQ2FuYWRhIC0gQXRpa29rYW4gKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9SYW5raW5fSW5sZXQnLCBkZXNjOiAnQ2FuYWRhIC0gUmFua2luIElubGV0IChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvV2lubmlwZWcnLCBkZXNjOiAnQ2FuYWRhIC0gV2lubmlwZWcgKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9SYWlueV9SaXZlcicsIGRlc2M6ICdDYW5hZGEgLSBSYWlueSBSaXZlciAoR01ULTA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1JlZ2luYScsIGRlc2M6ICdDYW5hZGEgLSBSZWdpbmEgKEdNVC0wNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9Td2lmdF9DdXJyZW50JywgZGVzYzogJ0NhbmFkYSAtIFN3aWZ0IEN1cnJlbnQgKEdNVC0wNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9FZG1vbnRvbicsIGRlc2M6ICdDYW5hZGEgLSBFZG1vbnRvbiAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0NhbWJyaWRnZV9CYXknLCBkZXNjOiAnQ2FuYWRhIC0gQ2FtYnJpZGdlIEJheSAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1llbGxvd2tuaWZlJywgZGVzYzogJ0NhbmFkYSAtIFllbGxvd2tuaWZlIChHTVQtMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvSW51dmlrJywgZGVzYzogJ0NhbmFkYSAtIEludXZpayAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0NyZXN0b24nLCBkZXNjOiAnQ2FuYWRhIC0gQ3Jlc3RvbiAoR01ULTA3OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0Rhd3Nvbl9DcmVlaycsIGRlc2M6ICdDYW5hZGEgLSBEYXdzb24gQ3JlZWsgKEdNVC0wNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9WYW5jb3V2ZXInLCBkZXNjOiAnQ2FuYWRhIC0gVmFuY291dmVyIChHTVQtMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvV2hpdGVob3JzZScsIGRlc2M6ICdDYW5hZGEgLSBXaGl0ZWhvcnNlIChHTVQtMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvRGF3c29uJywgZGVzYzogJ0NhbmFkYSAtIERhd3NvbiAoR01ULTA3OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL01vbnRyZWFsJywgZGVzYzogJ0NhbmFkYSAtIE1vbnRyZWFsIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0NhbmFkYS9BdGxhbnRpYycsIGRlc2M6ICdDYW5hZGEgLSBBdGxhbnRpYyAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdDYW5hZGEvQ2VudHJhbCcsIGRlc2M6ICdDYW5hZGEgLSBDZW50cmFsIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0NhbmFkYS9FYXN0ZXJuJywgZGVzYzogJ0NhbmFkYSAtIEVhc3Rlcm4gKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQ2FuYWRhL01vdW50YWluJywgZGVzYzogJ0NhbmFkYSAtIE1vdW50YWluIChHTVQtMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0NhbmFkYS9OZXdmb3VuZGxhbmQnLCBkZXNjOiAnQ2FuYWRhIC0gTmV3Zm91bmRsYW5kIChHTVQtMDI6MzApJyB9LFxuICAgIHsgbmFtZTogJ0NhbmFkYS9QYWNpZmljJywgZGVzYzogJ0NhbmFkYSAtIFBhY2lmaWMgKEdNVC0wNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQ2FuYWRhL1Nhc2thdGNoZXdhbicsIGRlc2M6ICdDYW5hZGEgLSBTYXNrYXRjaGV3YW4gKEdNVC0wNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQ2FuYWRhL1l1a29uJywgZGVzYzogJ0NhbmFkYSAtIFl1a29uIChHTVQtMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0luZGlhbi9Db2NvcycsIGRlc2M6ICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcyAtIENvY29zIChHTVQrMDY6MzApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9LaW5zaGFzYScsIGRlc2M6ICdDb25nbywgKEtpbnNoYXNhKSAtIEtpbnNoYXNhIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9MdWJ1bWJhc2hpJywgZGVzYzogJ0NvbmdvLCAoS2luc2hhc2EpIC0gTHVidW1iYXNoaSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvQmFuZ3VpJywgZGVzYzogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyAtIEJhbmd1aSAoR01UKzAxOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvQnJhenphdmlsbGUnLCBkZXNjOiAnQ29uZ28gKEJyYXp6YXZpbGxlKSAtIEJyYXp6YXZpbGxlIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9adXJpY2gnLCBkZXNjOiAnU3dpdHplcmxhbmQgLSBadXJpY2ggKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL0FiaWRqYW4nLCBkZXNjOiAnQ8O0dGUgZFxcJ0l2b2lyZSAtIEFiaWRqYW4gKEdNVCswMDowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9SYXJvdG9uZ2EnLCBkZXNjOiAnQ29vayBJc2xhbmRzIC0gUmFyb3RvbmdhIChHTVQtMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvU2FudGlhZ28nLCBkZXNjOiAnQ2hpbGUgLSBTYW50aWFnbyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL0Vhc3RlcicsIGRlc2M6ICdDaGlsZSAtIEVhc3RlciAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdDaGlsZS9Db250aW5lbnRhbCcsIGRlc2M6ICdDaGlsZSAtIENvbnRpbmVudGFsIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0NoaWxlL0Vhc3RlcklzbGFuZCcsIGRlc2M6ICdDaGlsZSAtIEVhc3RlcklzbGFuZCAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvRG91YWxhJywgZGVzYzogJ0NhbWVyb29uIC0gRG91YWxhIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvU2hhbmdoYWknLCBkZXNjOiAnQ2hpbmEgLSBTaGFuZ2hhaSAoR01UKzA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0hhcmJpbicsIGRlc2M6ICdDaGluYSAtIEhhcmJpbiAoR01UKzA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0Nob25ncWluZycsIGRlc2M6ICdDaGluYSAtIENob25ncWluZyAoR01UKzA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1VydW1xaScsIGRlc2M6ICdDaGluYSAtIFVydW1xaSAoR01UKzA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0thc2hnYXInLCBkZXNjOiAnQ2hpbmEgLSBLYXNoZ2FyIChHTVQrMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQm9nb3RhJywgZGVzYzogJ0NvbG9tYmlhIC0gQm9nb3RhIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQ29zdGFfUmljYScsIGRlc2M6ICdDb3N0YSBSaWNhIC0gQ29zdGEgUmljYSAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0hhdmFuYScsIGRlc2M6ICdDdWJhIC0gSGF2YW5hIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F0bGFudGljL0NhcGVfVmVyZGUnLCBkZXNjOiAnQ2FwZSBWZXJkZSAtIENhcGUgVmVyZGUgKEdNVC0wMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9DdXJhY2FvJywgZGVzYzogJ0NXIC0gQ3VyYWNhbyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdJbmRpYW4vQ2hyaXN0bWFzJywgZGVzYzogJ0NocmlzdG1hcyBJc2xhbmQgLSBDaHJpc3RtYXMgKEdNVCswNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9OaWNvc2lhJywgZGVzYzogJ0N5cHJ1cyAtIE5pY29zaWEgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL1ByYWd1ZScsIGRlc2M6ICdDemVjaCBSZXB1YmxpYyAtIFByYWd1ZSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvQmVybGluJywgZGVzYzogJ0dlcm1hbnkgLSBCZXJsaW4gKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL0RqaWJvdXRpJywgZGVzYzogJ0RqaWJvdXRpIC0gRGppYm91dGkgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0NvcGVuaGFnZW4nLCBkZXNjOiAnRGVubWFyayAtIENvcGVuaGFnZW4gKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9Eb21pbmljYScsIGRlc2M6ICdEb21pbmljYSAtIERvbWluaWNhIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvU2FudG9fRG9taW5nbycsIGRlc2M6ICdEb21pbmljYW4gUmVwdWJsaWMgLSBTYW50byBEb21pbmdvIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9BbGdpZXJzJywgZGVzYzogJ0FsZ2VyaWEgLSBBbGdpZXJzIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvR3VheWFxdWlsJywgZGVzYzogJ0VjdWFkb3IgLSBHdWF5YXF1aWwgKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9HYWxhcGFnb3MnLCBkZXNjOiAnRWN1YWRvciAtIEdhbGFwYWdvcyAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvVGFsbGlubicsIGRlc2M6ICdFc3RvbmlhIC0gVGFsbGlubiAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFZ3lwdCcsIGRlc2M6ICdFZ3lwdCAtIEVneXB0IChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9FbF9BYWl1bicsIGRlc2M6ICdXZXN0ZXJuIFNhaGFyYSAtIEVsIEFhaXVuIChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9Bc21hcmEnLCBkZXNjOiAnRXJpdHJlYSAtIEFzbWFyYSAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvTWFkcmlkJywgZGVzYzogJ1NwYWluIC0gTWFkcmlkIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9DZXV0YScsIGRlc2M6ICdTcGFpbiAtIENldXRhIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F0bGFudGljL0NhbmFyeScsIGRlc2M6ICdTcGFpbiAtIENhbmFyeSAoR01UKzAxOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvQWRkaXNfQWJhYmEnLCBkZXNjOiAnRXRoaW9waWEgLSBBZGRpcyBBYmFiYSAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvSGVsc2lua2knLCBkZXNjOiAnRmlubGFuZCAtIEhlbHNpbmtpIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvRmlqaScsIGRlc2M6ICdGaWppIC0gRmlqaSAoR01UKzEyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBdGxhbnRpYy9TdGFubGV5JywgZGVzYzogJ0ZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKSAtIFN0YW5sZXkgKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9DaHV1aycsIGRlc2M6ICdNaWNyb25lc2lhIC0gQ2h1dWsgKEdNVCsxMDowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9Qb2hucGVpJywgZGVzYzogJ01pY3JvbmVzaWEgLSBQb2hucGVpIChHTVQrMTE6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvS29zcmFlJywgZGVzYzogJ01pY3JvbmVzaWEgLSBLb3NyYWUgKEdNVCsxMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXRsYW50aWMvRmFyb2UnLCBkZXNjOiAnRmFyb2UgSXNsYW5kcyAtIEZhcm9lIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9QYXJpcycsIGRlc2M6ICdGcmFuY2UgLSBQYXJpcyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvTGlicmV2aWxsZScsIGRlc2M6ICdHYWJvbiAtIExpYnJldmlsbGUgKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0xvbmRvbicsIGRlc2M6ICdVbml0ZWQgS2luZ2RvbSAoR0IpIC0gTG9uZG9uIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvR3JlbmFkYScsIGRlc2M6ICdHcmVuYWRhIC0gR3JlbmFkYSAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1RiaWxpc2knLCBkZXNjOiAnR2VvcmdpYSAtIFRiaWxpc2kgKEdNVCswNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9DYXllbm5lJywgZGVzYzogJ0ZyZW5jaCBHdWlhbmEgLSBDYXllbm5lIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9HdWVybnNleScsIGRlc2M6ICdHdWVybnNleSAtIEd1ZXJuc2V5IChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9BY2NyYScsIGRlc2M6ICdHaGFuYSAtIEFjY3JhIChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9HaWJyYWx0YXInLCBkZXNjOiAnR2licmFsdGFyIC0gR2licmFsdGFyIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvR29kdGhhYicsIGRlc2M6ICdHcmVlbmxhbmQgLSBHb2R0aGFiIChHTVQtMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvRGFubWFya3NoYXZuJywgZGVzYzogJ0dyZWVubGFuZCAtIERhbm1hcmtzaGF2biAoR01UKzAwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1Njb3Jlc2J5c3VuZCcsIGRlc2M6ICdHcmVlbmxhbmQgLSBTY29yZXNieXN1bmQgKEdNVCswMDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9UaHVsZScsIGRlc2M6ICdHcmVlbmxhbmQgLSBUaHVsZSAoR01ULTAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvQmFuanVsJywgZGVzYzogJ0dhbWJpYSAtIEJhbmp1bCAoR01UKzAwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvQ29uYWtyeScsIGRlc2M6ICdHdWluZWEgLSBDb25ha3J5IChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvR3VhZGVsb3VwZScsIGRlc2M6ICdHdWFkZWxvdXBlIC0gR3VhZGVsb3VwZSAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvTWFsYWJvJywgZGVzYzogJ0VxdWF0b3JpYWwgR3VpbmVhIC0gTWFsYWJvIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9BdGhlbnMnLCBkZXNjOiAnR3JlZWNlIC0gQXRoZW5zIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0F0bGFudGljL1NvdXRoX0dlb3JnaWEnLCBkZXNjOiAnU291dGggR2VvcmdpYSBhbmQgdGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMgLSBTb3V0aCBHZW9yZ2lhIChHTVQtMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvR3VhdGVtYWxhJywgZGVzYzogJ0d1YXRlbWFsYSAtIEd1YXRlbWFsYSAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL0d1YW0nLCBkZXNjOiAnR3VhbSAtIEd1YW0gKEdNVCsxMDowMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL0Jpc3NhdScsIGRlc2M6ICdHdWluZWEtQmlzc2F1IC0gQmlzc2F1IChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvR3V5YW5hJywgZGVzYzogJ0d1eWFuYSAtIEd1eWFuYSAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0hvbmdfS29uZycsIGRlc2M6ICdIb25nIEtvbmcgLSBIb25nIEtvbmcgKEdNVCswODowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9UZWd1Y2lnYWxwYScsIGRlc2M6ICdIb25kdXJhcyAtIFRlZ3VjaWdhbHBhIChHTVQtMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9aYWdyZWInLCBkZXNjOiAnQ3JvYXRpYSAtIFphZ3JlYiAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1BvcnQtYXUtUHJpbmNlJywgZGVzYzogJ0hhaXRpIC0gUG9ydC1hdS1QcmluY2UgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0J1ZGFwZXN0JywgZGVzYzogJ0h1bmdhcnkgLSBCdWRhcGVzdCAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0pha2FydGEnLCBkZXNjOiAnSW5kb25lc2lhIC0gSmFrYXJ0YSAoR01UKzA3OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1BvbnRpYW5haycsIGRlc2M6ICdJbmRvbmVzaWEgLSBQb250aWFuYWsgKEdNVCswNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9NYWthc3NhcicsIGRlc2M6ICdJbmRvbmVzaWEgLSBNYWthc3NhciAoR01UKzA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0pheWFwdXJhJywgZGVzYzogJ0luZG9uZXNpYSAtIEpheWFwdXJhIChHTVQrMDk6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9EdWJsaW4nLCBkZXNjOiAnSXJlbGFuZCAtIER1YmxpbiAoR01UKzAxOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0plcnVzYWxlbScsIGRlc2M6ICdJc3JhZWwgLSBKZXJ1c2FsZW0gKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0lzbGVfb2ZfTWFuJywgZGVzYzogJ0lzbGUgb2YgTWFuIC0gSXNsZSBvZl9NYW4gKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9Lb2xrYXRhJywgZGVzYzogJ0luZGlhIC0gS29sa2F0YSAoR01UKzA1OjMwKScgfSxcbiAgICB7IG5hbWU6ICdJbmRpYW4vQ2hhZ29zJywgZGVzYzogJ0JyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSAtIENoYWdvcyAoR01UKzA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0JhZ2hkYWQnLCBkZXNjOiAnSXJhcSAtIEJhZ2hkYWQgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9UZWhyYW4nLCBkZXNjOiAnSXJhbiAtIFRlaHJhbiAoR01UKzA0OjMwKScgfSxcbiAgICB7IG5hbWU6ICdBdGxhbnRpYy9SZXlramF2aWsnLCBkZXNjOiAnSWNlbGFuZCAtIFJleWtqYXZpayAoR01UKzAwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvUm9tZScsIGRlc2M6ICdJdGFseSAtIFJvbWUgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0plcnNleScsIGRlc2M6ICdKZXJzZXkgLSBKZXJzZXkgKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9KYW1haWNhJywgZGVzYzogJ0phbWFpY2EgLSBKYW1haWNhIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvQW1tYW4nLCBkZXNjOiAnSm9yZGFuIC0gQW1tYW4gKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9Ub2t5bycsIGRlc2M6ICdKYXBhbiAtIFRva3lvIChHTVQrMDk6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9OYWlyb2JpJywgZGVzYzogJ0tlbnlhIC0gTmFpcm9iaSAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0Jpc2hrZWsnLCBkZXNjOiAnS3lyZ3l6c3RhbiAtIEJpc2hrZWsgKEdNVCswNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9QaG5vbV9QZW5oJywgZGVzYzogJ0NhbWJvZGlhIC0gUGhub20gUGVuaCAoR01UKzA3OjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL1RhcmF3YScsIGRlc2M6ICdLaXJpYmF0aSAtIFRhcmF3YSAoR01UKzEyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL0VuZGVyYnVyeScsIGRlc2M6ICdLaXJpYmF0aSAtIEVuZGVyYnVyeSAoR01UKzEzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL0tpcml0aW1hdGknLCBkZXNjOiAnS2lyaWJhdGkgLSBLaXJpdGltYXRpIChHTVQrMTQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0luZGlhbi9Db21vcm8nLCBkZXNjOiAnQ29tb3JvcyAtIENvbW9ybyAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1N0X0tpdHRzJywgZGVzYzogJ1NhaW50IEtpdHRzIGFuZCBOZXZpcyAtIFN0IEtpdHRzIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvUHlvbmd5YW5nJywgZGVzYzogJ0tvcmVhIChOb3J0aCkgLSBQeW9uZ3lhbmcgKEdNVCswOTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9TZW91bCcsIGRlc2M6ICdLb3JlYSAoU291dGgpIC0gU2VvdWwgKEdNVCswOTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9LdXdhaXQnLCBkZXNjOiAnS3V3YWl0IC0gS3V3YWl0IChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQ2F5bWFuJywgZGVzYzogJ0NheW1hbiBJc2xhbmRzIC0gQ2F5bWFuIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvQWxtYXR5JywgZGVzYzogJ0themFraHN0YW4gLSBBbG1hdHkgKEdNVCswNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9ReXp5bG9yZGEnLCBkZXNjOiAnS2F6YWtoc3RhbiAtIFF5enlsb3JkYSAoR01UKzA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0FxdG9iZScsIGRlc2M6ICdLYXpha2hzdGFuIC0gQXF0b2JlIChHTVQrMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvQXF0YXUnLCBkZXNjOiAnS2F6YWtoc3RhbiAtIEFxdGF1IChHTVQrMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvT3JhbCcsIGRlc2M6ICdLYXpha2hzdGFuIC0gT3JhbCAoR01UKzA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1ZpZW50aWFuZScsIGRlc2M6ICdMYW8gUERSIC0gVmllbnRpYW5lIChHTVQrMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvQmVpcnV0JywgZGVzYzogJ0xlYmFub24gLSBCZWlydXQgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9TdF9MdWNpYScsIGRlc2M6ICdTYWludCBMdWNpYSAtIFN0IEx1Y2lhIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9WYWR1eicsIGRlc2M6ICdMaWVjaHRlbnN0ZWluIC0gVmFkdXogKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9Db2xvbWJvJywgZGVzYzogJ1NyaSBMYW5rYSAtIENvbG9tYm8gKEdNVCswNTozMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL01vbnJvdmlhJywgZGVzYzogJ0xpYmVyaWEgLSBNb25yb3ZpYSAoR01UKzAwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvTWFzZXJ1JywgZGVzYzogJ0xlc290aG8gLSBNYXNlcnUgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL1ZpbG5pdXMnLCBkZXNjOiAnTGl0aHVhbmlhIC0gVmlsbml1cyAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvTHV4ZW1ib3VyZycsIGRlc2M6ICdMdXhlbWJvdXJnIC0gTHV4ZW1ib3VyZyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvUmlnYScsIGRlc2M6ICdMYXR2aWEgLSBSaWdhIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9Ucmlwb2xpJywgZGVzYzogJ0xpYnlhIC0gVHJpcG9saSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvQ2FzYWJsYW5jYScsIGRlc2M6ICdNb3JvY2NvIC0gQ2FzYWJsYW5jYSAoR01UKzAwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvTW9uYWNvJywgZGVzYzogJ01vbmFjbyAtIE1vbmFjbyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvQ2hpc2luYXUnLCBkZXNjOiAnTW9sZG92YSAtIENoaXNpbmF1IChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9Qb2Rnb3JpY2EnLCBkZXNjOiAnTW9udGVuZWdybyAtIFBvZGdvcmljYSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL01hcmlnb3QnLCBkZXNjOiAnU2FpbnQtTWFydGluIChGcmVuY2ggcGFydCkgLSBNYXJpZ290IChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0luZGlhbi9BbnRhbmFuYXJpdm8nLCBkZXNjOiAnTWFkYWdhc2NhciAtIEFudGFuYW5hcml2byAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL01hanVybycsIGRlc2M6ICdNYXJzaGFsbCBJc2xhbmRzIC0gTWFqdXJvIChHTVQrMTI6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvS3dhamFsZWluJywgZGVzYzogJ01hcnNoYWxsIElzbGFuZHMgLSBLd2FqYWxlaW4gKEdNVCsxMjowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL1Nrb3BqZScsIGRlc2M6ICdNYWNlZG9uaWEgLSBTa29wamUgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL0JhbWFrbycsIGRlc2M6ICdNYWxpIC0gQmFtYWtvIChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvUmFuZ29vbicsIGRlc2M6ICdNeWFubWFyIC0gUmFuZ29vbiAoR01UKzA2OjMwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1VsYWFuYmFhdGFyJywgZGVzYzogJ01vbmdvbGlhIC0gVWxhYW5iYWF0YXIgKEdNVCswODowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9Ib3ZkJywgZGVzYzogJ01vbmdvbGlhIC0gSG92ZCAoR01UKzA3OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0Nob2liYWxzYW4nLCBkZXNjOiAnTW9uZ29saWEgLSBDaG9pYmFsc2FuIChHTVQrMDg6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvTWFjYXUnLCBkZXNjOiAnTWFjYW8gLSBNYWNhdSAoR01UKzA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL1NhaXBhbicsIGRlc2M6ICdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMgLSBTYWlwYW4gKEdNVCsxMDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9NYXJ0aW5pcXVlJywgZGVzYzogJ01hcnRpbmlxdWUgLSBNYXJ0aW5pcXVlIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9Ob3Vha2Nob3R0JywgZGVzYzogJ01hdXJpdGFuaWEgLSBOb3Vha2Nob3R0IChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTW9udHNlcnJhdCcsIGRlc2M6ICdNb250c2VycmF0IC0gTW9udHNlcnJhdCAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvTWFsdGEnLCBkZXNjOiAnTWFsdGEgLSBNYWx0YSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdJbmRpYW4vTWF1cml0aXVzJywgZGVzYzogJ01hdXJpdGl1cyAtIE1hdXJpdGl1cyAoR01UKzA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdJbmRpYW4vTWFsZGl2ZXMnLCBkZXNjOiAnTWFsZGl2ZXMgLSBNYWxkaXZlcyAoR01UKzA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvQmxhbnR5cmUnLCBkZXNjOiAnTWFsYXdpIC0gQmxhbnR5cmUgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9NZXhpY29fQ2l0eScsIGRlc2M6ICdNZXhpY28gLSBNZXhpY28gQ2l0eSAoR01ULTA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0NhbmN1bicsIGRlc2M6ICdNZXhpY28gLSBDYW5jdW4gKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9NZXJpZGEnLCBkZXNjOiAnTWV4aWNvIC0gTWVyaWRhIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTW9udGVycmV5JywgZGVzYzogJ01leGljbyAtIE1vbnRlcnJleSAoR01ULTA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL01hdGFtb3JvcycsIGRlc2M6ICdNZXhpY28gLSBNYXRhbW9yb3MgKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9NYXphdGxhbicsIGRlc2M6ICdNZXhpY28gLSBNYXphdGxhbiAoR01ULTA2OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0NoaWh1YWh1YScsIGRlc2M6ICdNZXhpY28gLSBDaGlodWFodWEgKEdNVC0wNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9PamluYWdhJywgZGVzYzogJ01leGljbyAtIE9qaW5hZ2EgKEdNVC0wNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9IZXJtb3NpbGxvJywgZGVzYzogJ01leGljbyAtIEhlcm1vc2lsbG8gKEdNVC0wNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9UaWp1YW5hJywgZGVzYzogJ01leGljbyAtIFRpanVhbmEgKEdNVC0wNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9TYW50YV9Jc2FiZWwnLCBkZXNjOiAnTWV4aWNvIC0gU2FudGEgSXNhYmVsIChHTVQtMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQmFoaWFfQmFuZGVyYXMnLCBkZXNjOiAnTWV4aWNvIC0gQmFoaWEgQmFuZGVyYXMgKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9LdWFsYV9MdW1wdXInLCBkZXNjOiAnTWFsYXlzaWEgLSBLdWFsYSBMdW1wdXIgKEdNVCswODowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9LdWNoaW5nJywgZGVzYzogJ01hbGF5c2lhIC0gS3VjaGluZyAoR01UKzA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvTWFwdXRvJywgZGVzYzogJ01vemFtYmlxdWUgLSBNYXB1dG8gKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL1dpbmRob2VrJywgZGVzYzogJ05hbWliaWEgLSBXaW5kaG9layAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL05vdW1lYScsIGRlc2M6ICdOZXcgQ2FsZWRvbmlhIC0gTm91bWVhIChHTVQrMTE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9OaWFtZXknLCBkZXNjOiAnTmlnZXIgLSBOaWFtZXkgKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9Ob3Jmb2xrJywgZGVzYzogJ05vcmZvbGsgSXNsYW5kIC0gTm9yZm9sayAoR01UKzExOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvTGFnb3MnLCBkZXNjOiAnTmlnZXJpYSAtIExhZ29zIChHTVQrMDE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTWFuYWd1YScsIGRlc2M6ICdOaWNhcmFndWEgLSBNYW5hZ3VhIChHTVQtMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9BbXN0ZXJkYW0nLCBkZXNjOiAnTmV0aGVybGFuZHMgLSBBbXN0ZXJkYW0gKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL09zbG8nLCBkZXNjOiAnTm9yd2F5IC0gT3NsbyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0thdGhtYW5kdScsIGRlc2M6ICdOZXBhbCAtIEthdGhtYW5kdSAoR01UKzA1OjQ1KScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL05hdXJ1JywgZGVzYzogJ05hdXJ1IC0gTmF1cnUgKEdNVCsxMjowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9OaXVlJywgZGVzYzogJ05pdWUgLSBOaXVlIChHTVQtMTE6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvQXVja2xhbmQnLCBkZXNjOiAnTmV3IFplYWxhbmQgLSBBdWNrbGFuZCAoR01UKzEyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL0NoYXRoYW0nLCBkZXNjOiAnTmV3IFplYWxhbmQgLSBDaGF0aGFtIChHTVQrMTI6NDUpJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvTXVzY2F0JywgZGVzYzogJ09tYW4gLSBNdXNjYXQgKEdNVCswNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9QYW5hbWEnLCBkZXNjOiAnUGFuYW1hIC0gUGFuYW1hIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTGltYScsIGRlc2M6ICdQZXJ1IC0gTGltYSAoR01ULTA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL1RhaGl0aScsIGRlc2M6ICdGcmVuY2ggUG9seW5lc2lhIC0gVGFoaXRpIChHTVQtMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvTWFycXVlc2FzJywgZGVzYzogJ0ZyZW5jaCBQb2x5bmVzaWEgLSBNYXJxdWVzYXMgKEdNVC0wOTozMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9HYW1iaWVyJywgZGVzYzogJ0ZyZW5jaCBQb2x5bmVzaWEgLSBHYW1iaWVyIChHTVQtMDk6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvUG9ydF9Nb3Jlc2J5JywgZGVzYzogJ1BhcHVhIE5ldyBHdWluZWEgLSBQb3J0IE1vcmVzYnkgKEdNVCsxMDowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9NYW5pbGEnLCBkZXNjOiAnUGhpbGlwcGluZXMgLSBNYW5pbGEgKEdNVCswODowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9LYXJhY2hpJywgZGVzYzogJ1Bha2lzdGFuIC0gS2FyYWNoaSAoR01UKzA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvV2Fyc2F3JywgZGVzYzogJ1BvbGFuZCAtIFdhcnNhdyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQb2xhbmQnLCBkZXNjOiAnUG9sYW5kIC0gUG9sYW5kIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTWlxdWVsb24nLCBkZXNjOiAnU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiAtIE1pcXVlbG9uIChHTVQtMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvUGl0Y2Fpcm4nLCBkZXNjOiAnUGl0Y2Fpcm4gLSBQaXRjYWlybiAoR01ULTA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1B1ZXJ0b19SaWNvJywgZGVzYzogJ1B1ZXJ0byBSaWNvIC0gUHVlcnRvIFJpY28gKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9HYXphJywgZGVzYzogJ1BhbGVzdGluaWFuIFRlcnJpdG9yeSAtIEdhemEgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9IZWJyb24nLCBkZXNjOiAnUGFsZXN0aW5pYW4gVGVycml0b3J5IC0gSGVicm9uIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9MaXNib24nLCBkZXNjOiAnUG9ydHVnYWwgLSBMaXNib24gKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXRsYW50aWMvTWFkZWlyYScsIGRlc2M6ICdQb3J0dWdhbCAtIE1hZGVpcmEgKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXRsYW50aWMvQXpvcmVzJywgZGVzYzogJ1BvcnR1Z2FsIC0gQXpvcmVzIChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvUGFsYXUnLCBkZXNjOiAnUGFsYXUgLSBQYWxhdSAoR01UKzA5OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0FzdW5jaW9uJywgZGVzYzogJ1BhcmFndWF5IC0gQXN1bmNpb24gKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9RYXRhcicsIGRlc2M6ICdRYXRhciAtIFFhdGFyIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0luZGlhbi9SZXVuaW9uJywgZGVzYzogJ1LDqXVuaW9uIC0gUmV1bmlvbiAoR01UKzA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvQnVjaGFyZXN0JywgZGVzYzogJ1JvbWFuaWEgLSBCdWNoYXJlc3QgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0JlbGdyYWRlJywgZGVzYzogJ1NlcmJpYSAtIEJlbGdyYWRlIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9LYWxpbmluZ3JhZCcsIGRlc2M6ICdSdXNzaWFuIEZlZGVyYXRpb24gLSBLYWxpbmluZ3JhZCAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvTW9zY293JywgZGVzYzogJ1J1c3NpYW4gRmVkZXJhdGlvbiAtIE1vc2NvdyAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvVm9sZ29ncmFkJywgZGVzYzogJ1J1c3NpYW4gRmVkZXJhdGlvbiAtIFZvbGdvZ3JhZCAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvU2FtYXJhJywgZGVzYzogJ1J1c3NpYW4gRmVkZXJhdGlvbiAtIFNhbWFyYSAoR01UKzA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvU2ltZmVyb3BvbCcsIGRlc2M6ICdSdXNzaWFuIEZlZGVyYXRpb24gLSBTaW1mZXJvcG9sIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvWWVrYXRlcmluYnVyZycsIGRlc2M6ICdSdXNzaWFuIEZlZGVyYXRpb24gLSBZZWthdGVyaW5idXJnIChHTVQrMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvT21zaycsIGRlc2M6ICdSdXNzaWFuIEZlZGVyYXRpb24gLSBPbXNrIChHTVQrMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvTm92b3NpYmlyc2snLCBkZXNjOiAnUnVzc2lhbiBGZWRlcmF0aW9uIC0gTm92b3NpYmlyc2sgKEdNVCswNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9Ob3Zva3V6bmV0c2snLCBkZXNjOiAnUnVzc2lhbiBGZWRlcmF0aW9uIC0gTm92b2t1em5ldHNrIChHTVQrMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvS3Jhc25veWFyc2snLCBkZXNjOiAnUnVzc2lhbiBGZWRlcmF0aW9uIC0gS3Jhc25veWFyc2sgKEdNVCswNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9Jcmt1dHNrJywgZGVzYzogJ1J1c3NpYW4gRmVkZXJhdGlvbiAtIElya3V0c2sgKEdNVCswODowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9ZYWt1dHNrJywgZGVzYzogJ1J1c3NpYW4gRmVkZXJhdGlvbiAtIFlha3V0c2sgKEdNVCswOTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9LaGFuZHlnYScsIGRlc2M6ICdSdXNzaWFuIEZlZGVyYXRpb24gLSBLaGFuZHlnYSAoR01UKzA5OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1ZsYWRpdm9zdG9rJywgZGVzYzogJ1J1c3NpYW4gRmVkZXJhdGlvbiAtIFZsYWRpdm9zdG9rIChHTVQrMTA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvU2FraGFsaW4nLCBkZXNjOiAnUnVzc2lhbiBGZWRlcmF0aW9uIC0gU2FraGFsaW4gKEdNVCsxMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9Vc3QtTmVyYScsIGRlc2M6ICdSdXNzaWFuIEZlZGVyYXRpb24gLSBVc3QtTmVyYSAoR01UKzEwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL01hZ2FkYW4nLCBkZXNjOiAnUnVzc2lhbiBGZWRlcmF0aW9uIC0gTWFnYWRhbiAoR01UKzExOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0thbWNoYXRrYScsIGRlc2M6ICdSdXNzaWFuIEZlZGVyYXRpb24gLSBLYW1jaGF0a2EgKEdNVCsxMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9BbmFkeXInLCBkZXNjOiAnUnVzc2lhbiBGZWRlcmF0aW9uIC0gQW5hZHlyIChHTVQrMTI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9LaWdhbGknLCBkZXNjOiAnUndhbmRhIC0gS2lnYWxpIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvUml5YWRoJywgZGVzYzogJ1NhdWRpIEFyYWJpYSAtIFJpeWFkaCAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL0d1YWRhbGNhbmFsJywgZGVzYzogJ1NvbG9tb24gSXNsYW5kcyAtIEd1YWRhbGNhbmFsIChHTVQrMTE6MDApJyB9LFxuICAgIHsgbmFtZTogJ0luZGlhbi9NYWhlJywgZGVzYzogJ1NleWNoZWxsZXMgLSBNYWhlIChHTVQrMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9LaGFydG91bScsIGRlc2M6ICdTdWRhbiAtIEtoYXJ0b3VtIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9TdG9ja2hvbG0nLCBkZXNjOiAnU3dlZGVuIC0gU3RvY2tob2xtIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvU2luZ2Fwb3JlJywgZGVzYzogJ1NpbmdhcG9yZSAtIFNpbmdhcG9yZSAoR01UKzA4OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBdGxhbnRpYy9TdF9IZWxlbmEnLCBkZXNjOiAnU2FpbnQgSGVsZW5hIC0gU3QgSGVsZW5hIChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9ManVibGphbmEnLCBkZXNjOiAnU2xvdmVuaWEgLSBManVibGphbmEgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXJjdGljL0xvbmd5ZWFyYnllbicsIGRlc2M6ICdTdmFsYmFyZCBhbmQgSmFuIE1heWVuIElzbGFuZHMgLSBMb25neWVhcmJ5ZW4gKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnRXVyb3BlL0JyYXRpc2xhdmEnLCBkZXNjOiAnU2xvdmFraWEgLSBCcmF0aXNsYXZhIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9GcmVldG93bicsIGRlc2M6ICdTaWVycmEgTGVvbmUgLSBGcmVldG93biAoR01UKzAwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvU2FuX01hcmlubycsIGRlc2M6ICdTYW4gTWFyaW5vIC0gU2FuIE1hcmlubyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvRGFrYXInLCBkZXNjOiAnU2VuZWdhbCAtIERha2FyIChHTVQrMDA6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9Nb2dhZGlzaHUnLCBkZXNjOiAnU29tYWxpYSAtIE1vZ2FkaXNodSAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1BhcmFtYXJpYm8nLCBkZXNjOiAnU3VyaW5hbWUgLSBQYXJhbWFyaWJvIChHTVQtMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9KdWJhJywgZGVzYzogJ1NvdXRoIFN1ZGFuIC0gSnViYSAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvU2FvX1RvbWUnLCBkZXNjOiAnU2FvIFRvbWUgYW5kIFByaW5jaXBlIC0gU2FvIFRvbWUgKEdNVCswMTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9FbF9TYWx2YWRvcicsIGRlc2M6ICdFbCBTYWx2YWRvciAtIEVsIFNhbHZhZG9yIChHTVQtMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTG93ZXJfUHJpbmNlcycsIGRlc2M6ICdTWCAtIExvd2VyIFByaW5jZXMgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9EYW1hc2N1cycsIGRlc2M6ICdTeXJpYSAtIERhbWFzY3VzIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9NYmFiYW5lJywgZGVzYzogJ1N3YXppbGFuZCAtIE1iYWJhbmUgKEdNVCswMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9HcmFuZF9UdXJrJywgZGVzYzogJ1R1cmtzIGFuZCBDYWljb3MgSXNsYW5kcyAtIEdyYW5kIFR1cmsgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL05kamFtZW5hJywgZGVzYzogJ0NoYWQgLSBOZGphbWVuYSAoR01UKzAxOjAwKScgfSxcbiAgICB7IG5hbWU6ICdJbmRpYW4vS2VyZ3VlbGVuJywgZGVzYzogJ0ZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyAtIEtlcmd1ZWxlbiAoR01UKzA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvTG9tZScsIGRlc2M6ICdUb2dvIC0gTG9tZSAoR01UKzAwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0Jhbmdrb2snLCBkZXNjOiAnVGhhaWxhbmQgLSBCYW5na29rIChHTVQrMDc6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvRHVzaGFuYmUnLCBkZXNjOiAnVGFqaWtpc3RhbiAtIER1c2hhbmJlIChHTVQrMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvRmFrYW9mbycsIGRlc2M6ICdUb2tlbGF1IC0gRmFrYW9mbyAoR01UKzEzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL0RpbGknLCBkZXNjOiAnVGltb3ItTGVzdGUgLSBEaWxpIChHTVQrMDk6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvQXNoZ2FiYXQnLCBkZXNjOiAnVHVya21lbmlzdGFuIC0gQXNoZ2FiYXQgKEdNVCswNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQWZyaWNhL1R1bmlzJywgZGVzYzogJ1R1bmlzaWEgLSBUdW5pcyAoR01UKzAxOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL1RvbmdhdGFwdScsIGRlc2M6ICdUb25nYSAtIFRvbmdhdGFwdSAoR01UKzEzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvSXN0YW5idWwnLCBkZXNjOiAnVHVya2V5IC0gSXN0YW5idWwgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9Qb3J0X29mX1NwYWluJywgZGVzYzogJ1RyaW5pZGFkIGFuZCBUb2JhZ28gLSBQb3J0IG9mX1NwYWluIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvRnVuYWZ1dGknLCBkZXNjOiAnVHV2YWx1IC0gRnVuYWZ1dGkgKEdNVCsxMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9UYWlwZWknLCBkZXNjOiAnVGFpd2FuIC0gVGFpcGVpIChHTVQrMDg6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9EYXJfZXNfU2FsYWFtJywgZGVzYzogJ1RhbnphbmlhIC0gRGFyIGVzX1NhbGFhbSAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvS2lldicsIGRlc2M6ICdVa3JhaW5lIC0gS2lldiAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvVXpoZ29yb2QnLCBkZXNjOiAnVWtyYWluZSAtIFV6aGdvcm9kIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0V1cm9wZS9aYXBvcm96aHllJywgZGVzYzogJ1VrcmFpbmUgLSBaYXBvcm96aHllIChHTVQrMDM6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FmcmljYS9LYW1wYWxhJywgZGVzYzogJ1VnYW5kYSAtIEthbXBhbGEgKEdNVCswMzowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9Kb2huc3RvbicsIGRlc2M6ICdVUyBNaW5vciBPdXRseWluZyBJc2xhbmRzIC0gSm9obnN0b24gKEdNVC0xMDowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9NaWR3YXknLCBkZXNjOiAnVVMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyAtIE1pZHdheSAoR01ULTExOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL1dha2UnLCBkZXNjOiAnVVMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyAtIFdha2UgKEdNVCsxMjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9OZXdfWW9yaycsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBOZXcgWW9yayAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0RldHJvaXQnLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gRGV0cm9pdCAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0tlbnR1Y2t5L0xvdWlzdmlsbGUnLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gTG91aXN2aWxsZSAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0tlbnR1Y2t5L01vbnRpY2VsbG8nLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gTW9udGljZWxsbyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0luZGlhbmEvSW5kaWFuYXBvbGlzJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIEluZGlhbmFwb2xpcyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0luZGlhbmEvVmluY2VubmVzJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIFZpbmNlbm5lcyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0luZGlhbmEvV2luYW1hYycsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBXaW5hbWFjIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvSW5kaWFuYS9NYXJlbmdvJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIE1hcmVuZ28gKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9JbmRpYW5hL1BldGVyc2J1cmcnLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gUGV0ZXJzYnVyZyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0luZGlhbmEvVmV2YXknLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gVmV2YXkgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9DaGljYWdvJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIENoaWNhZ28gKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9JbmRpYW5hL1RlbGxfQ2l0eScsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBUZWxsIENpdHkgKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9JbmRpYW5hL0tub3gnLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gS25veCAoR01ULTA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL01lbm9taW5lZScsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBNZW5vbWluZWUgKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9Ob3J0aF9EYWtvdGEvQ2VudGVyJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIENlbnRlciAoR01ULTA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL05vcnRoX0Rha290YS9OZXdfU2FsZW0nLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gTmV3IFNhbGVtIChHTVQtMDU6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvTm9ydGhfRGFrb3RhL0JldWxhaCcsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBCZXVsYWggKEdNVC0wNTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9EZW52ZXInLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gRGVudmVyIChHTVQtMDY6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvQm9pc2UnLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gQm9pc2UgKEdNVC0wNjowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9QaG9lbml4JywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIFBob2VuaXggKEdNVC0wNzowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9Mb3NfQW5nZWxlcycsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBMb3MgQW5nZWxlcyAoR01ULTA3OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0FuY2hvcmFnZScsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBBbmNob3JhZ2UgKEdNVC0wODowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9KdW5lYXUnLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gSnVuZWF1IChHTVQtMDg6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvU2l0a2EnLCBkZXNjOiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIChVU0EpIC0gU2l0a2EgKEdNVC0wODowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9ZYWt1dGF0JywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIFlha3V0YXQgKEdNVC0wODowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9Ob21lJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIE5vbWUgKEdNVC0wODowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9BZGFrJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIEFkYWsgKEdNVC0wOTowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9NZXRsYWthdGxhJywgZGVzYzogJ1VuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSAoVVNBKSAtIE1ldGxha2F0bGEgKEdNVC0wODowMCknIH0sXG4gICAgeyBuYW1lOiAnUGFjaWZpYy9Ib25vbHVsdScsIGRlc2M6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EgKFVTQSkgLSBIb25vbHVsdSAoR01ULTEwOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL01vbnRldmlkZW8nLCBkZXNjOiAnVXJ1Z3VheSAtIE1vbnRldmlkZW8gKEdNVC0wMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9TYW1hcmthbmQnLCBkZXNjOiAnVXpiZWtpc3RhbiAtIFNhbWFya2FuZCAoR01UKzA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBc2lhL1Rhc2hrZW50JywgZGVzYzogJ1V6YmVraXN0YW4gLSBUYXNoa2VudCAoR01UKzA1OjAwKScgfSxcbiAgICB7IG5hbWU6ICdFdXJvcGUvVmF0aWNhbicsIGRlc2M6ICdWYXRpY2FuIENpdHkgU3RhdGUgLSBWYXRpY2FuIChHTVQrMDI6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FtZXJpY2EvU3RfVmluY2VudCcsIGRlc2M6ICdTYWludCBWaW5jZW50IGFuZCBHcmVuYWRpbmVzIC0gU3QgVmluY2VudCAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL0NhcmFjYXMnLCBkZXNjOiAnVmVuZXp1ZWxhIC0gQ2FyYWNhcyAoR01ULTA0OjAwKScgfSxcbiAgICB7IG5hbWU6ICdBbWVyaWNhL1RvcnRvbGEnLCBkZXNjOiAnQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyAtIFRvcnRvbGEgKEdNVC0wNDowMCknIH0sXG4gICAgeyBuYW1lOiAnQW1lcmljYS9TdF9UaG9tYXMnLCBkZXNjOiAnVmlyZ2luIElzbGFuZHMsIFVTIC0gU3QgVGhvbWFzIChHTVQtMDQ6MDApJyB9LFxuICAgIHsgbmFtZTogJ0FzaWEvSG9fQ2hpX01pbmgnLCBkZXNjOiAnVmlldCBOYW0gLSBIbyBDaGlfTWluaCAoR01UKzA3OjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL0VmYXRlJywgZGVzYzogJ1ZhbnVhdHUgLSBFZmF0ZSAoR01UKzExOjAwKScgfSxcbiAgICB7IG5hbWU6ICdQYWNpZmljL1dhbGxpcycsIGRlc2M6ICdXYWxsaXMgYW5kIEZ1dHVuYSBJc2xhbmRzIC0gV2FsbGlzIChHTVQrMTI6MDApJyB9LFxuICAgIHsgbmFtZTogJ1BhY2lmaWMvQXBpYScsIGRlc2M6ICdTYW1vYSAtIEFwaWEgKEdNVCsxMzowMCknIH0sXG4gICAgeyBuYW1lOiAnQXNpYS9BZGVuJywgZGVzYzogJ1llbWVuIC0gQWRlbiAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdJbmRpYW4vTWF5b3R0ZScsIGRlc2M6ICdNYXlvdHRlIC0gTWF5b3R0ZSAoR01UKzAzOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvSm9oYW5uZXNidXJnJywgZGVzYzogJ1NvdXRoIEFmcmljYSAtIEpvaGFubmVzYnVyZyAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvTHVzYWthJywgZGVzYzogJ1phbWJpYSAtIEx1c2FrYSAoR01UKzAyOjAwKScgfSxcbiAgICB7IG5hbWU6ICdBZnJpY2EvSGFyYXJlJywgZGVzYzogJ1ppbWJhYndlIC0gSGFyYXJlIChHTVQrMDI6MDApJyB9LFxuXTtcblxuLy8gVE9ETzogaXMgdGhpcyBhIHNlcnZpY2Ugb3IgYSBoZWxwZXIgZnVuY3Rpb24/XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXhUaW1lem9uZVNlcnZpY2Uge1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydCBjb3VudHJ5IElTTyBjb2RlIHRvIGNvdW50cnkgbmFtZSAoaW4gZW5nbGlzaClcbiAgICAgKi9cbiAgICBpc28yY291bnRyeShpc286IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBVWF9DT1VOVFJJRVNbaXNvXSA/IFVYX0NPVU5UUklFU1tpc29dIDogaXNvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxpc3Qgb2YgSVNPLWNvZGVzIGZvciBhbGwgY291bnRyaWVzXG4gICAgICovXG4gICAgZ2V0Q291bnRyaWVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoVVhfQ09VTlRSSUVTKSkge1xuICAgICAgICAgICAgcmVzLnB1c2gocHJvcCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBnZXRUaW1lem9uZXMoKTogVGltZVpvbmVbXSB7XG4gICAgICAgIHJldHVybiBVWF9USU1FWk9ORVM7XG4gICAgfVxuXG4gICAgZ2V0VGltZXpvbmUodHo6IHN0cmluZyk6IFRpbWVab25lIHtcbiAgICAgICAgcmV0dXJuIFVYX1RJTUVaT05FUy5maW5kKChpdGVtKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSB0ejtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|