vcomply-workflow-engine 4.0.1 → 4.0.2

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.
@@ -3,6 +3,7 @@ export const CONSTANTS = {
3
3
  PAGE_IN_SINGLE_VIEW: 5,
4
4
  NO_DATA_IMAGE_TEXT: 'No data to display.',
5
5
  LINK_POLICY: 'isLinkedPolices',
6
- LINK_POLICY_HELP_TEXT: 'If enabled, all the related policies will be visible when this policy is published on the Policy Portal.'
6
+ LINK_POLICY_HELP_TEXT: 'If enabled, all the related policies will be visible when this policy is published on the Policy Portal.',
7
+ POLICY_ID: 'policyId',
7
8
  };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbGluay1yZWxhdGVkLXBvbGljaWVzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUU7SUFDdEIsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLGtCQUFrQixFQUFDLHFCQUFxQjtJQUN4QyxXQUFXLEVBQUcsaUJBQWlCO0lBQy9CLHFCQUFxQixFQUFHLDBHQUEwRztDQUNuSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENPTlNUQU5UUyA9e1xyXG4gIERFRkFVTFRfUEFHRV9OVU1CRVI6IDEsXHJcbiAgUEFHRV9JTl9TSU5HTEVfVklFVzogNSxcclxuICBOT19EQVRBX0lNQUdFX1RFWFQ6J05vIGRhdGEgdG8gZGlzcGxheS4nLFxyXG4gIExJTktfUE9MSUNZIDogJ2lzTGlua2VkUG9saWNlcycsXHJcbiAgTElOS19QT0xJQ1lfSEVMUF9URVhUOiAgJ0lmIGVuYWJsZWQsIGFsbCB0aGUgcmVsYXRlZCBwb2xpY2llcyB3aWxsIGJlIHZpc2libGUgd2hlbiB0aGlzIHBvbGljeSBpcyBwdWJsaXNoZWQgb24gdGhlIFBvbGljeSBQb3J0YWwuJ1xyXG59O1xyXG5cclxuXHJcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbGluay1yZWxhdGVkLXBvbGljaWVzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUU7SUFDdEIsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLGtCQUFrQixFQUFDLHFCQUFxQjtJQUN4QyxXQUFXLEVBQUcsaUJBQWlCO0lBQy9CLHFCQUFxQixFQUFHLDBHQUEwRztJQUNsSSxTQUFTLEVBQUUsVUFBVTtDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENPTlNUQU5UUyA9e1xyXG4gIERFRkFVTFRfUEFHRV9OVU1CRVI6IDEsXHJcbiAgUEFHRV9JTl9TSU5HTEVfVklFVzogNSxcclxuICBOT19EQVRBX0lNQUdFX1RFWFQ6J05vIGRhdGEgdG8gZGlzcGxheS4nLFxyXG4gIExJTktfUE9MSUNZIDogJ2lzTGlua2VkUG9saWNlcycsXHJcbiAgTElOS19QT0xJQ1lfSEVMUF9URVhUOiAgJ0lmIGVuYWJsZWQsIGFsbCB0aGUgcmVsYXRlZCBwb2xpY2llcyB3aWxsIGJlIHZpc2libGUgd2hlbiB0aGlzIHBvbGljeSBpcyBwdWJsaXNoZWQgb24gdGhlIFBvbGljeSBQb3J0YWwuJyxcclxuICBQT0xJQ1lfSUQ6ICdwb2xpY3lJZCcsXHJcbn07XHJcblxyXG5cclxuIl19
@@ -91,6 +91,9 @@ export class LinkRelatedPoliciesComponent {
91
91
  if (data?.sort) {
92
92
  params = params.append('sortBy', this.policySortBy);
93
93
  }
94
+ if (this.mode === 'EDIT') {
95
+ params = params.append(CONSTANTS.POLICY_ID, this.policyId);
96
+ }
94
97
  return params;
95
98
  }
96
99
  getPagePolicyList(res) {
@@ -126,7 +129,6 @@ export class LinkRelatedPoliciesComponent {
126
129
  next: (res) => {
127
130
  this.loader = false;
128
131
  this.policiesList = this.getPagePolicyList(res);
129
- this.policiesList.data = this.filterPolicies(this.policiesList?.data);
130
132
  if (!this.policyService?.linkRelatePolicies[this.recentPage - 1]) {
131
133
  this.policyService.linkRelatePolicies[this.recentPage - 1] =
132
134
  JSON.parse(JSON.stringify(this.policiesList));
@@ -148,12 +150,6 @@ export class LinkRelatedPoliciesComponent {
148
150
  this.selectedPolicyList = this.selectedPolicyList?.filter((item) => item?.contract_id !== data?.contract_id);
149
151
  }
150
152
  }
151
- filterPolicies(policiesList) {
152
- if (this.mode === 'EDIT') {
153
- policiesList = policiesList?.filter((policy) => policy?._id !== this.policyId);
154
- }
155
- return policiesList;
156
- }
157
153
  saveChanges() {
158
154
  this.selectedList.emit({
159
155
  selectedPolicyList: this.selectedPolicyList,
@@ -180,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
180
176
  }], selectedList: [{
181
177
  type: Output
182
178
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZWxhdGVkLXBvbGljaWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL2xpbmstcmVsYXRlZC1wb2xpY2llcy9saW5rLXJlbGF0ZWQtcG9saWNpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbGluay1yZWxhdGVkLXBvbGljaWVzL2xpbmstcmVsYXRlZC1wb2xpY2llcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBV3RFLE1BQU0sT0FBTyw0QkFBNEI7SUE0QnZDLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0JoRCxjQUFTLEdBQVEsU0FBUyxDQUFDO1FBQzNCLFVBQUssR0FBUSxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsaUJBQVksR0FBbUIsTUFBTSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFlLEVBQUUsQ0FBQztRQUNwQyx1QkFBa0IsR0FBZSxFQUFFLENBQUM7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LEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQ3ZELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxLQUFLLEtBQUssRUFBRSxXQUFXLENBQ25ELENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0FsTFUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsOE9DakJ6QyxrdlRBK09BOzs0RkQ5TmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQjtvR0EwQjVCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJy4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi93b3JrZmxvdy9zaGFyZWQvY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcclxuaW1wb3J0IHsgQVBJX1VSTFMgfSBmcm9tICcuLi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL2FwaS1jb25zdGFudHMnO1xyXG5pbXBvcnQge1xyXG4gIHBvbGljeUxpc3QsXHJcbiAgc2VhcmNoVGV4dCxcclxufSBmcm9tICcuLi9zaGFyZWRDb21wb25lbnRzL2ZyYW1ld29yay1saXN0L2ZyYW1ld29yay1pbnRlZ3JhdGlvbi1pbnRlcmZhY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWxpbmstcmVsYXRlZC1wb2xpY2llcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstcmVsYXRlZC1wb2xpY2llcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1yZWxhdGVkLXBvbGljaWVzLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaW5rUmVsYXRlZFBvbGljaWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBDT05TVEFOVFM6IGFueSA9IENPTlNUQU5UUztcclxuICBMSU5LUzogYW55ID0gTElOS1M7XHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHBvbGljeVNvcnRCeTogJ2Rlc2MnIHwgJ2FzYycgPSAnZGVzYyc7XHJcbiAgc2VsZWN0ZWRDb250cm9sSWRzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgc2VsZWN0ZWRQb2xpY3lMaXN0OiBBcnJheTxhbnk+ID0gW107XHJcbiAgZGVsZXRlZExpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuICBzZWFyY2hUZXh0OiBzZWFyY2hUZXh0ID0ge1xyXG4gICAgcG9saWN5OiAnJyxcclxuICB9O1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlY2VudFBhZ2U6IG51bWJlciA9IENPTlNUQU5UUy5ERUZBVUxUX1BBR0VfTlVNQkVSO1xyXG4gIHBvbGljaWVzTGlzdDogcG9saWN5TGlzdCA9IHtcclxuICAgIGZyb206IDEsXHJcbiAgICB0bzogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgdG90YWxQYWdlOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuICBASW5wdXQoKSBzZWxlY3RlZFBvbGljaWVzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCkgcG9saWN5SWQ6IHN0cmluZyA9ICcnO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUxpbmtQb2xpY3lMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9saWN5U2VydmljZTogUG9saWN5U2VydmljZSkge1xyXG4gICAgdGhpcy5yZWNlbnRQYWdlID0gQ09OU1RBTlRTLkRFRkFVTFRfUEFHRV9OVU1CRVI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQb2xpY3lMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5zZWxlY3RlZFBvbGljaWVzKV07XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLmdldFBvbGljaWVzKCk7XHJcbiAgfVxyXG5cclxuICBnb0JhY2soKSB7XHJcbiAgICB0aGlzLmNsb3NlTGlua1BvbGljeUxpc3QuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRJdGVtcygpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkQ29udHJhY3RJZHMgPSB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdD8ubWFwKFxyXG4gICAgICAoaXRlbSkgPT4gaXRlbT8uY29udHJhY3RfaWRcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ29udHJvbElkcyA9IHRoaXMucG9saWN5U2VydmljZT8ubGlua1JlbGF0ZVBvbGljaWVzW1xyXG4gICAgICB0aGlzLnJlY2VudFBhZ2UgLSAxXHJcbiAgICBdPy5kYXRhXHJcbiAgICAgIC5maWx0ZXIoKGVsZW1lbnQ6IGFueSkgPT5cclxuICAgICAgICBzZWxlY3RlZENvbnRyYWN0SWRzPy5pbmNsdWRlcyhlbGVtZW50Py5jb250cmFjdF9pZClcclxuICAgICAgKVxyXG4gICAgICAubWFwKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQ/LmNvbnRyYWN0X2lkKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEJ5KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRleHQ/LnBvbGljeSAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLnNlYXJjaFRleHQucG9saWN5ID0gZXZlbnQ7XHJcbiAgICAgIHRoaXMuZ2V0UG9saWNpZXMoeyBzZWFyY2g6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWV2ZW50KSB7XHJcbiAgICAgIHRoaXMucmVjZW50UGFnZSA9IENPTlNUQU5UUy5ERUZBVUxUX1BBR0VfTlVNQkVSO1xyXG4gICAgICB0aGlzLmdldFBvbGljaWVzKHsgc2VhcmNoOiBmYWxzZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yZWNlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICBpZiAodGhpcy5wb2xpY3lTZXJ2aWNlPy5saW5rUmVsYXRlUG9saWNpZXNbZXZlbnQgLSAxXSkge1xyXG4gICAgICB0aGlzLnBvbGljaWVzTGlzdCA9IHRoaXMucG9saWN5U2VydmljZT8ubGlua1JlbGF0ZVBvbGljaWVzW2V2ZW50IC0gMV07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcygpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFBvbGljaWVzKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZFBhcmFtKGRhdGE/OiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2gpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoVGV4dCcsIHRoaXMuc2VhcmNoVGV4dC5wb2xpY3kpO1xyXG4gICAgfVxyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZU5vJywgdGhpcy5yZWNlbnRQYWdlKTtcclxuICAgIGlmIChkYXRhPy5zb3J0KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRCeScsIHRoaXMucG9saWN5U29ydEJ5KTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdlUG9saWN5TGlzdChyZXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZnJvbTogcmVzPy5mcm9tID8/IDEsXHJcbiAgICAgIHRvOiByZXM/LnRvID8/IDAsXHJcbiAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLnJlY2VudFBhZ2UsXHJcbiAgICAgIHRvdGFsUGFnZTogcmVzPy50b3RhbF9wYWdlcyA/PyAwLFxyXG4gICAgICB0b3RhbFJlY29yZHM6IHJlcz8uYWxsX3JlY29yZHMgPz8gMCxcclxuICAgICAgZGF0YTogWy4uLm5ldyBTZXQocmVzPy5kYXRhKV0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0UG9saWNpZXMoZGF0YT86IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnBvbGljeVNlcnZpY2U/LmxpbmtSZWxhdGVQb2xpY2llc1t0aGlzLnJlY2VudFBhZ2UgLSAxXSAmJlxyXG4gICAgICAhZGF0YT8uc2VhcmNoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wb2xpY2llc0xpc3QgPVxyXG4gICAgICAgIHRoaXMucG9saWN5U2VydmljZS5saW5rUmVsYXRlUG9saWNpZXNbdGhpcy5yZWNlbnRQYWdlIC0gMV07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcygpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5zZWxlY3RlZFBhcmFtKGRhdGEpO1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIG1ldGhvZDogJ2dldCcsXHJcbiAgICAgIGFjdGlvbjogJy9wb2xpY3knLFxyXG4gICAgICBtb2RlOiBBUElfVVJMUy5mZXRjaFBvbGljeUxpc3QsXHJcbiAgICAgIHBhcmFtcyxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlXHJcbiAgICAgIC5nZXRQb2xpY3lMaXN0KHJlcXVlc3QpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5wb2xpY2llc0xpc3QgPSB0aGlzLmdldFBhZ2VQb2xpY3lMaXN0KHJlcyk7XHJcbiAgICAgICAgICB0aGlzLnBvbGljaWVzTGlzdC5kYXRhID0gdGhpcy5maWx0ZXJQb2xpY2llcyh0aGlzLnBvbGljaWVzTGlzdD8uZGF0YSk7XHJcblxyXG4gICAgICAgICAgaWYgKCF0aGlzLnBvbGljeVNlcnZpY2U/LmxpbmtSZWxhdGVQb2xpY2llc1t0aGlzLnJlY2VudFBhZ2UgLSAxXSkge1xyXG4gICAgICAgICAgICB0aGlzLnBvbGljeVNlcnZpY2UubGlua1JlbGF0ZVBvbGljaWVzW3RoaXMucmVjZW50UGFnZSAtIDFdID1cclxuICAgICAgICAgICAgICBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMucG9saWNpZXNMaXN0KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RQb2xpY3koZXZlbnQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZENvbnRyb2xJZHMucHVzaChkYXRhPy5jb250cmFjdF9pZCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQb2xpY3lMaXN0LnB1c2goZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29udHJvbElkcyA9IHRoaXMuc2VsZWN0ZWRDb250cm9sSWRzPy5maWx0ZXIoXHJcbiAgICAgICAgKGlkKSA9PiBpZCAhPT0gZGF0YT8uY29udHJhY3RfaWRcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBvbGljeUxpc3QgPSB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdD8uZmlsdGVyKFxyXG4gICAgICAgIChpdGVtKSA9PiBpdGVtPy5jb250cmFjdF9pZCAhPT0gZGF0YT8uY29udHJhY3RfaWRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlclBvbGljaWVzKHBvbGljaWVzTGlzdDogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XHJcbiAgICAgIHBvbGljaWVzTGlzdCA9IHBvbGljaWVzTGlzdD8uZmlsdGVyKFxyXG4gICAgICAgIChwb2xpY3kpID0+IHBvbGljeT8uX2lkICE9PSB0aGlzLnBvbGljeUlkXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9saWNpZXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgc2F2ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdC5lbWl0KHtcclxuICAgICAgc2VsZWN0ZWRQb2xpY3lMaXN0OiB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlSXRlbShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdCA9IHRoaXMuc2VsZWN0ZWRQb2xpY3lMaXN0Py5maWx0ZXIoXHJcbiAgICAgIChpdGVtKSA9PiBpdGVtPy5jb250cmFjdF9pZCAhPT0gZXZlbnQ/LmNvbnRyYWN0X2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaW5rLXBvbGljeVwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwibGluay1wb2xpY3ktaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGFnZS10aXRsZSB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+XHJcbiAgICAgICAgU2VsZWN0IFBvbGljaWVzIHRvIGxpbmsgd2l0aFxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LWJvZHkgdngtcC00IHZ4LXBiLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LXNlYXJjaCB2eC1tYi0yXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMlwiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUG9saWNpZXNcIlxyXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlYXJjaEJ5KCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHZ1aS1wYWdpbmF0aW9uXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICFsb2FkZXIgJiYgcG9saWNpZXNMaXN0LnRvdGFsUGFnZSA+IENPTlNUQU5UUy5ERUZBVUxUX1BBR0VfTlVNQkVSXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbZnJvbV09XCJwb2xpY2llc0xpc3QuZnJvbVwiXHJcbiAgICAgICAgW3RvXT1cInBvbGljaWVzTGlzdC50b1wiXHJcbiAgICAgICAgW3RvdGFsXT1cInBvbGljaWVzTGlzdC50b3RhbFJlY29yZHNcIlxyXG4gICAgICAgIFtzaG93UGFnZURldGFpbF09XCJ0cnVlXCJcclxuICAgICAgICBbdG90YWxQYWdlXT1cInBvbGljaWVzTGlzdC50b3RhbFBhZ2VcIlxyXG4gICAgICAgIFtjdXJyZW50UGFnZV09XCJwb2xpY2llc0xpc3QuY3VycmVudFBhZ2VcIlxyXG4gICAgICAgIFtwYWdlSW5TaW5nbGVWaWV3XT1cIkNPTlNUQU5UUy5QQUdFX0lOX1NJTkdMRV9WSUVXXCJcclxuICAgICAgICAocGFnZUNoYW5nZWQpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L3Z1aS1wYWdpbmF0aW9uPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJsaW5rLXBvbGljeS10YWJsZVwiXHJcbiAgICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCIhbG9hZGVyICYmIHBvbGljaWVzTGlzdC50b3RhbFBhZ2UgPiAxXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyICYmIHBvbGljaWVzTGlzdD8uZGF0YT8ubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICNcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHBvbGljaWVzXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBQT0xJQ0lFU1xyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgY2F0ZWdvcmllc1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgQ0FURUdPUklFU1xyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkQ29udHJvbElkcz8uaW5jbHVkZXMocG9saWN5Py5jb250cmFjdF9pZClcIlxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwb2xpY3kgb2YgcG9saWNpZXNMaXN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaSArIHBvbGljaWVzTGlzdC5mcm9tXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGkgKyBwb2xpY2llc0xpc3QuZnJvbSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2stYm94XCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInBvbGljeT8uY29udHJhY3RfaWRcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZENvbnRyb2xJZHM/LmluY2x1ZGVzKHBvbGljeT8uY29udHJhY3RfaWQpXCJcclxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0UG9saWN5KCRldmVudCwgcG9saWN5KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcG9saWNpZXMgY29sdW1uLWJvZHkgY2xpY2thYmxlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicG9saWN5Py5jb250cmFjdF9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RQb2xpY3koXHJcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRDb250cm9sSWRzPy5pbmNsdWRlcyhwb2xpY3k/LmNvbnRyYWN0X2lkKSxcclxuICAgICAgICAgICAgICAgICAgICAgIHBvbGljeVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICBwb2xpY3k/LmNvbnRyb2xfaWRcclxuICAgICAgICAgICAgICAgICAgICAgID8gXCJbUE9MSUQgLSBcIiArIHBvbGljeS5jb250cm9sX2lkICsgXCJdIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgfX17eyBwb2xpY3k/LmNvbnRyYWN0X25hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3JpZXNcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwb2xpY3k/LmNoaWxkQ2F0Py5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJwb2xpY3k/LmNoaWxkQ2F0WzBdPy5jYXRlZ29yeV9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHBvbGljeT8uY2hpbGRDYXRbMF0/LmNhdGVnb3J5X25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwb2xpY3k/LmNoaWxkQ2F0Py5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvdW50IHZ4LWZzLTEyIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBQb3BvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhdGVnb3J5LnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICt7eyBwb2xpY3k/LmNoaWxkQ2F0Py5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI2NhdGVnb3J5IFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNoaWxkQ2F0ZWdvcnkgb2YgcG9saWN5Py5jaGlsZENhdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNsaWNlIDogMVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZENhdGVnb3J5Py5jYXRlZ29yeV9uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICAgICAqbmdJZj1cIiFsb2FkZXIgJiYgcG9saWNpZXNMaXN0Py5kYXRhPy5sZW5ndGggPT09IDBcIlxyXG4gICAgICAgICAgW25vRGF0YUltYWdlXT1cIkxJTktTLmxpbmtQb2xpY3lOb0RhdGFJbWFnZVwiXHJcbiAgICAgICAgICBbbm9EYXRhVGV4dF09XCJDT05TVEFOVFMuTk9fREFUQV9JTUFHRV9URVhUXCJcclxuICAgICAgICA+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJsaW5rLXBvbGljeS1mbG9hdGluZy1iYXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcC0zIHZ4LW10LTFcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LWZsb2F0aW5nLWJhci1sZWZ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZFwiICpuZ0lmPVwic2VsZWN0ZWRQb2xpY3lMaXN0Py5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBvbGljeSBvZiBzZWxlY3RlZFBvbGljeUxpc3QgfCBzbGljZSA6IDAgOiAxXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlSXRlbShwb2xpY3kpXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBjcm9zcyB2eC1mcy0xMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTFcIlxyXG4gICAgICAgICAgICAgICAgICA+JiN4ZTlhZTs8L2lcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicG9saWN5Py5jb250cmFjdF9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgID57eyBwb2xpY3k/LmNvbnRyYWN0X25hbWUgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvdW50QnRuIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTRcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZFBvbGljeUxpc3QubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWxhdGVkUG9saWN5LnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAre3sgc2VsZWN0ZWRQb2xpY3lMaXN0Py5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGFwcC1wb3BvdmVyICNyZWxhdGVkUG9saWN5IFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgICAgIGxldCBwb2xpY3kgb2Ygc2VsZWN0ZWRQb2xpY3lMaXN0IHwgc2xpY2UgOiAxO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgaiA9IGluZGV4XHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIChjbGljayk9XCJkZWxldGVJdGVtKHBvbGljeSlcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICB7eyBwb2xpY3k/LmNvbnRyYWN0X25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LWZsb2F0aW5nLWJhci1yaWdodCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FuY2VsLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdHh0LXJlZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIENBTkNFTFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzYXZlQ2hhbmdlcygpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuZXh0LWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdHh0LXdoaXRlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgTkVYVCA8aSBjbGFzcz1cImljb25zIHZ4LW1sLTJcIj4mI3hlOTFlOzwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG48L2Rpdj5cclxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZWxhdGVkLXBvbGljaWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL2xpbmstcmVsYXRlZC1wb2xpY2llcy9saW5rLXJlbGF0ZWQtcG9saWNpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbGluay1yZWxhdGVkLXBvbGljaWVzL2xpbmstcmVsYXRlZC1wb2xpY2llcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBV3RFLE1BQU0sT0FBTyw0QkFBNEI7SUE0QnZDLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0JoRCxjQUFTLEdBQVEsU0FBUyxDQUFDO1FBQzNCLFVBQUssR0FBUSxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsaUJBQVksR0FBbUIsTUFBTSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFlLEVBQUUsQ0FBQztRQUNwQyx1QkFBa0IsR0FBZSxFQUFFLENBQUM7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QUFLLEtBQUssRUFBRSxXQUFXLENBQ25ELENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0EzS1UsNEJBQTRCO21HQUE1Qiw0QkFBNEIsOE9DakJ6QyxrdlRBK09BOzs0RkQ5TmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQjtvR0EwQjVCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJy4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi93b3JrZmxvdy9zaGFyZWQvY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcclxuaW1wb3J0IHsgQVBJX1VSTFMgfSBmcm9tICcuLi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL2FwaS1jb25zdGFudHMnO1xyXG5pbXBvcnQge1xyXG4gIHBvbGljeUxpc3QsXHJcbiAgc2VhcmNoVGV4dCxcclxufSBmcm9tICcuLi9zaGFyZWRDb21wb25lbnRzL2ZyYW1ld29yay1saXN0L2ZyYW1ld29yay1pbnRlZ3JhdGlvbi1pbnRlcmZhY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWxpbmstcmVsYXRlZC1wb2xpY2llcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstcmVsYXRlZC1wb2xpY2llcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1yZWxhdGVkLXBvbGljaWVzLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaW5rUmVsYXRlZFBvbGljaWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBDT05TVEFOVFM6IGFueSA9IENPTlNUQU5UUztcclxuICBMSU5LUzogYW55ID0gTElOS1M7XHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHBvbGljeVNvcnRCeTogJ2Rlc2MnIHwgJ2FzYycgPSAnZGVzYyc7XHJcbiAgc2VsZWN0ZWRDb250cm9sSWRzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgc2VsZWN0ZWRQb2xpY3lMaXN0OiBBcnJheTxhbnk+ID0gW107XHJcbiAgZGVsZXRlZExpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuICBzZWFyY2hUZXh0OiBzZWFyY2hUZXh0ID0ge1xyXG4gICAgcG9saWN5OiAnJyxcclxuICB9O1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlY2VudFBhZ2U6IG51bWJlciA9IENPTlNUQU5UUy5ERUZBVUxUX1BBR0VfTlVNQkVSO1xyXG4gIHBvbGljaWVzTGlzdDogcG9saWN5TGlzdCA9IHtcclxuICAgIGZyb206IDEsXHJcbiAgICB0bzogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgdG90YWxQYWdlOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuICBASW5wdXQoKSBzZWxlY3RlZFBvbGljaWVzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCkgcG9saWN5SWQ6IHN0cmluZyA9ICcnO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUxpbmtQb2xpY3lMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9saWN5U2VydmljZTogUG9saWN5U2VydmljZSkge1xyXG4gICAgdGhpcy5yZWNlbnRQYWdlID0gQ09OU1RBTlRTLkRFRkFVTFRfUEFHRV9OVU1CRVI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQb2xpY3lMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5zZWxlY3RlZFBvbGljaWVzKV07XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLmdldFBvbGljaWVzKCk7XHJcbiAgfVxyXG5cclxuICBnb0JhY2soKSB7XHJcbiAgICB0aGlzLmNsb3NlTGlua1BvbGljeUxpc3QuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRJdGVtcygpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkQ29udHJhY3RJZHMgPSB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdD8ubWFwKFxyXG4gICAgICAoaXRlbSkgPT4gaXRlbT8uY29udHJhY3RfaWRcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ29udHJvbElkcyA9IHRoaXMucG9saWN5U2VydmljZT8ubGlua1JlbGF0ZVBvbGljaWVzW1xyXG4gICAgICB0aGlzLnJlY2VudFBhZ2UgLSAxXHJcbiAgICBdPy5kYXRhXHJcbiAgICAgIC5maWx0ZXIoKGVsZW1lbnQ6IGFueSkgPT5cclxuICAgICAgICBzZWxlY3RlZENvbnRyYWN0SWRzPy5pbmNsdWRlcyhlbGVtZW50Py5jb250cmFjdF9pZClcclxuICAgICAgKVxyXG4gICAgICAubWFwKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQ/LmNvbnRyYWN0X2lkKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEJ5KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRleHQ/LnBvbGljeSAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLnNlYXJjaFRleHQucG9saWN5ID0gZXZlbnQ7XHJcbiAgICAgIHRoaXMuZ2V0UG9saWNpZXMoeyBzZWFyY2g6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWV2ZW50KSB7XHJcbiAgICAgIHRoaXMucmVjZW50UGFnZSA9IENPTlNUQU5UUy5ERUZBVUxUX1BBR0VfTlVNQkVSO1xyXG4gICAgICB0aGlzLmdldFBvbGljaWVzKHsgc2VhcmNoOiBmYWxzZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yZWNlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICBpZiAodGhpcy5wb2xpY3lTZXJ2aWNlPy5saW5rUmVsYXRlUG9saWNpZXNbZXZlbnQgLSAxXSkge1xyXG4gICAgICB0aGlzLnBvbGljaWVzTGlzdCA9IHRoaXMucG9saWN5U2VydmljZT8ubGlua1JlbGF0ZVBvbGljaWVzW2V2ZW50IC0gMV07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcygpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFBvbGljaWVzKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZFBhcmFtKGRhdGE/OiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2gpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoVGV4dCcsIHRoaXMuc2VhcmNoVGV4dC5wb2xpY3kpO1xyXG4gICAgfVxyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZU5vJywgdGhpcy5yZWNlbnRQYWdlKTtcclxuICAgIGlmIChkYXRhPy5zb3J0KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRCeScsIHRoaXMucG9saWN5U29ydEJ5KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKENPTlNUQU5UUy5QT0xJQ1lfSUQsIHRoaXMucG9saWN5SWQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcmFtcztcclxuICB9XHJcblxyXG4gIGdldFBhZ2VQb2xpY3lMaXN0KHJlczogYW55KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBmcm9tOiByZXM/LmZyb20gPz8gMSxcclxuICAgICAgdG86IHJlcz8udG8gPz8gMCxcclxuICAgICAgY3VycmVudFBhZ2U6IHRoaXMucmVjZW50UGFnZSxcclxuICAgICAgdG90YWxQYWdlOiByZXM/LnRvdGFsX3BhZ2VzID8/IDAsXHJcbiAgICAgIHRvdGFsUmVjb3JkczogcmVzPy5hbGxfcmVjb3JkcyA/PyAwLFxyXG4gICAgICBkYXRhOiBbLi4ubmV3IFNldChyZXM/LmRhdGEpXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXRQb2xpY2llcyhkYXRhPzogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMucG9saWN5U2VydmljZT8ubGlua1JlbGF0ZVBvbGljaWVzW3RoaXMucmVjZW50UGFnZSAtIDFdICYmXHJcbiAgICAgICFkYXRhPy5zZWFyY2hcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvbGljaWVzTGlzdCA9XHJcbiAgICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlLmxpbmtSZWxhdGVQb2xpY2llc1t0aGlzLnJlY2VudFBhZ2UgLSAxXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBwYXJhbXMgPSB0aGlzLnNlbGVjdGVkUGFyYW0oZGF0YSk7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgbWV0aG9kOiAnZ2V0JyxcclxuICAgICAgYWN0aW9uOiAnL3BvbGljeScsXHJcbiAgICAgIG1vZGU6IEFQSV9VUkxTLmZldGNoUG9saWN5TGlzdCxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnBvbGljeVNlcnZpY2VcclxuICAgICAgLmdldFBvbGljeUxpc3QocmVxdWVzdClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnBvbGljaWVzTGlzdCA9IHRoaXMuZ2V0UGFnZVBvbGljeUxpc3QocmVzKTtcclxuXHJcbiAgICAgICAgICBpZiAoIXRoaXMucG9saWN5U2VydmljZT8ubGlua1JlbGF0ZVBvbGljaWVzW3RoaXMucmVjZW50UGFnZSAtIDFdKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9saWN5U2VydmljZS5saW5rUmVsYXRlUG9saWNpZXNbdGhpcy5yZWNlbnRQYWdlIC0gMV0gPVxyXG4gICAgICAgICAgICAgIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5wb2xpY2llc0xpc3QpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFBvbGljeShldmVudDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29udHJvbElkcy5wdXNoKGRhdGE/LmNvbnRyYWN0X2lkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBvbGljeUxpc3QucHVzaChkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb250cm9sSWRzID0gdGhpcy5zZWxlY3RlZENvbnRyb2xJZHM/LmZpbHRlcihcclxuICAgICAgICAoaWQpID0+IGlkICE9PSBkYXRhPy5jb250cmFjdF9pZFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdCA9IHRoaXMuc2VsZWN0ZWRQb2xpY3lMaXN0Py5maWx0ZXIoXHJcbiAgICAgICAgKGl0ZW0pID0+IGl0ZW0/LmNvbnRyYWN0X2lkICE9PSBkYXRhPy5jb250cmFjdF9pZFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2F2ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdC5lbWl0KHtcclxuICAgICAgc2VsZWN0ZWRQb2xpY3lMaXN0OiB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlSXRlbShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUG9saWN5TGlzdCA9IHRoaXMuc2VsZWN0ZWRQb2xpY3lMaXN0Py5maWx0ZXIoXHJcbiAgICAgIChpdGVtKSA9PiBpdGVtPy5jb250cmFjdF9pZCAhPT0gZXZlbnQ/LmNvbnRyYWN0X2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaW5rLXBvbGljeVwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwibGluay1wb2xpY3ktaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGFnZS10aXRsZSB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+XHJcbiAgICAgICAgU2VsZWN0IFBvbGljaWVzIHRvIGxpbmsgd2l0aFxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LWJvZHkgdngtcC00IHZ4LXBiLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LXNlYXJjaCB2eC1tYi0yXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMlwiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUG9saWNpZXNcIlxyXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlYXJjaEJ5KCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHZ1aS1wYWdpbmF0aW9uXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICFsb2FkZXIgJiYgcG9saWNpZXNMaXN0LnRvdGFsUGFnZSA+IENPTlNUQU5UUy5ERUZBVUxUX1BBR0VfTlVNQkVSXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbZnJvbV09XCJwb2xpY2llc0xpc3QuZnJvbVwiXHJcbiAgICAgICAgW3RvXT1cInBvbGljaWVzTGlzdC50b1wiXHJcbiAgICAgICAgW3RvdGFsXT1cInBvbGljaWVzTGlzdC50b3RhbFJlY29yZHNcIlxyXG4gICAgICAgIFtzaG93UGFnZURldGFpbF09XCJ0cnVlXCJcclxuICAgICAgICBbdG90YWxQYWdlXT1cInBvbGljaWVzTGlzdC50b3RhbFBhZ2VcIlxyXG4gICAgICAgIFtjdXJyZW50UGFnZV09XCJwb2xpY2llc0xpc3QuY3VycmVudFBhZ2VcIlxyXG4gICAgICAgIFtwYWdlSW5TaW5nbGVWaWV3XT1cIkNPTlNUQU5UUy5QQUdFX0lOX1NJTkdMRV9WSUVXXCJcclxuICAgICAgICAocGFnZUNoYW5nZWQpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L3Z1aS1wYWdpbmF0aW9uPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJsaW5rLXBvbGljeS10YWJsZVwiXHJcbiAgICAgICAgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCIhbG9hZGVyICYmIHBvbGljaWVzTGlzdC50b3RhbFBhZ2UgPiAxXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyICYmIHBvbGljaWVzTGlzdD8uZGF0YT8ubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICNcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHBvbGljaWVzXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBQT0xJQ0lFU1xyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgY2F0ZWdvcmllc1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgQ0FURUdPUklFU1xyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkQ29udHJvbElkcz8uaW5jbHVkZXMocG9saWN5Py5jb250cmFjdF9pZClcIlxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwb2xpY3kgb2YgcG9saWNpZXNMaXN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiaSArIHBvbGljaWVzTGlzdC5mcm9tXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGkgKyBwb2xpY2llc0xpc3QuZnJvbSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2stYm94XCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInBvbGljeT8uY29udHJhY3RfaWRcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWxlY3RlZENvbnRyb2xJZHM/LmluY2x1ZGVzKHBvbGljeT8uY29udHJhY3RfaWQpXCJcclxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0UG9saWN5KCRldmVudCwgcG9saWN5KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcG9saWNpZXMgY29sdW1uLWJvZHkgY2xpY2thYmxlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicG9saWN5Py5jb250cmFjdF9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RQb2xpY3koXHJcbiAgICAgICAgICAgICAgICAgICAgICAhc2VsZWN0ZWRDb250cm9sSWRzPy5pbmNsdWRlcyhwb2xpY3k/LmNvbnRyYWN0X2lkKSxcclxuICAgICAgICAgICAgICAgICAgICAgIHBvbGljeVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICBwb2xpY3k/LmNvbnRyb2xfaWRcclxuICAgICAgICAgICAgICAgICAgICAgID8gXCJbUE9MSUQgLSBcIiArIHBvbGljeS5jb250cm9sX2lkICsgXCJdIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJcclxuICAgICAgICAgICAgICAgICAgfX17eyBwb2xpY3k/LmNvbnRyYWN0X25hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3JpZXNcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwb2xpY3k/LmNoaWxkQ2F0Py5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJwb2xpY3k/LmNoaWxkQ2F0WzBdPy5jYXRlZ29yeV9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHBvbGljeT8uY2hpbGRDYXRbMF0/LmNhdGVnb3J5X25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwb2xpY3k/LmNoaWxkQ2F0Py5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvdW50IHZ4LWZzLTEyIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBQb3BvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhdGVnb3J5LnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICt7eyBwb2xpY3k/LmNoaWxkQ2F0Py5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI2NhdGVnb3J5IFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNoaWxkQ2F0ZWdvcnkgb2YgcG9saWN5Py5jaGlsZENhdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNsaWNlIDogMVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZENhdGVnb3J5Py5jYXRlZ29yeV9uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICAgICAqbmdJZj1cIiFsb2FkZXIgJiYgcG9saWNpZXNMaXN0Py5kYXRhPy5sZW5ndGggPT09IDBcIlxyXG4gICAgICAgICAgW25vRGF0YUltYWdlXT1cIkxJTktTLmxpbmtQb2xpY3lOb0RhdGFJbWFnZVwiXHJcbiAgICAgICAgICBbbm9EYXRhVGV4dF09XCJDT05TVEFOVFMuTk9fREFUQV9JTUFHRV9URVhUXCJcclxuICAgICAgICA+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJsaW5rLXBvbGljeS1mbG9hdGluZy1iYXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcC0zIHZ4LW10LTFcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LWZsb2F0aW5nLWJhci1sZWZ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZFwiICpuZ0lmPVwic2VsZWN0ZWRQb2xpY3lMaXN0Py5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBvbGljeSBvZiBzZWxlY3RlZFBvbGljeUxpc3QgfCBzbGljZSA6IDAgOiAxXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlSXRlbShwb2xpY3kpXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29ucyBjcm9zcyB2eC1mcy0xMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTFcIlxyXG4gICAgICAgICAgICAgICAgICA+JiN4ZTlhZTs8L2lcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicG9saWN5Py5jb250cmFjdF9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgID57eyBwb2xpY3k/LmNvbnRyYWN0X25hbWUgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvdW50QnRuIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTRcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZFBvbGljeUxpc3QubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWxhdGVkUG9saWN5LnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAre3sgc2VsZWN0ZWRQb2xpY3lMaXN0Py5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGFwcC1wb3BvdmVyICNyZWxhdGVkUG9saWN5IFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgICAgIGxldCBwb2xpY3kgb2Ygc2VsZWN0ZWRQb2xpY3lMaXN0IHwgc2xpY2UgOiAxO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgaiA9IGluZGV4XHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIChjbGljayk9XCJkZWxldGVJdGVtKHBvbGljeSlcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICB7eyBwb2xpY3k/LmNvbnRyYWN0X25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstcG9saWN5LWZsb2F0aW5nLWJhci1yaWdodCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FuY2VsLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdHh0LXJlZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIENBTkNFTFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzYXZlQ2hhbmdlcygpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuZXh0LWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdHh0LXdoaXRlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgTkVYVCA8aSBjbGFzcz1cImljb25zIHZ4LW1sLTJcIj4mI3hlOTFlOzwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG48L2Rpdj5cclxuIl19