@lowcodeunit/applications-flow-common 1.34.59-krakyn-app → 1.34.60-social-ui-bug-fixes

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.
Files changed (45) hide show
  1. package/esm2020/lcu.api.mjs +4 -5
  2. package/esm2020/lib/applications-flow.module.mjs +26 -42
  3. package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +3 -3
  4. package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +8 -15
  5. package/esm2020/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.mjs +3 -3
  6. package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +8 -15
  7. package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +2 -2
  8. package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +75 -0
  9. package/esm2020/lib/elements/gh-control/gh-control.component.mjs +107 -0
  10. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +5 -6
  11. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +2 -3
  12. package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +4 -2
  13. package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +4 -6
  14. package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +6 -4
  15. package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +2 -2
  16. package/esm2020/lib/elements/skeleton-feed-card/skeleton-feed-card.component.mjs +2 -2
  17. package/esm2020/lib/models/user-feed.model.mjs +1 -3
  18. package/esm2020/lib/services/applications-flow.service.mjs +25 -15
  19. package/esm2020/lib/services/eac.service.mjs +15 -78
  20. package/esm2020/lib/services/project.service.mjs +69 -36
  21. package/esm2020/lib/state/applications-flow.state.mjs +1 -1
  22. package/fesm2015/lowcodeunit-applications-flow-common.mjs +2084 -2728
  23. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
  24. package/fesm2020/lowcodeunit-applications-flow-common.mjs +2046 -2669
  25. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
  26. package/lcu.api.d.ts +3 -4
  27. package/lib/applications-flow.module.d.ts +18 -21
  28. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +0 -2
  29. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +0 -2
  30. package/lib/elements/flow-tool/flow-tool.component.d.ts +28 -0
  31. package/lib/elements/{feed-header/feed-header.component.d.ts → gh-control/gh-control.component.d.ts} +7 -9
  32. package/lib/elements/main-feed-card/main-feed-card.component.d.ts +1 -1
  33. package/lib/models/user-feed.model.d.ts +0 -17
  34. package/lib/services/applications-flow.service.d.ts +5 -4
  35. package/lib/services/eac.service.d.ts +8 -12
  36. package/lib/services/project.service.d.ts +7 -5
  37. package/lib/state/applications-flow.state.d.ts +1 -2
  38. package/package.json +1 -1
  39. package/esm2020/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.mjs +0 -275
  40. package/esm2020/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.mjs +0 -109
  41. package/esm2020/lib/dialogs/feed-header-dialog/feed-header-dialog.component.mjs +0 -280
  42. package/esm2020/lib/elements/feed-header/feed-header.component.mjs +0 -131
  43. package/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.d.ts +0 -62
  44. package/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.d.ts +0 -41
  45. package/lib/dialogs/feed-header-dialog/feed-header-dialog.component.d.ts +0 -71
@@ -83,7 +83,9 @@ export class DFSModifiersComponent {
83
83
  this.SetEditingModifier(Guid.CreateRaw());
84
84
  }
85
85
  DeleteModifier(modifierLookup, modifierName) {
86
- this.eacSvc.DeleteModifier(modifierLookup, modifierName).then();
86
+ if (confirm(`Are you sure you want to delete modifier '${modifierName}'?`)) {
87
+ this.eacSvc.DeleteSourceControl(modifierLookup);
88
+ }
87
89
  }
88
90
  SaveModifier(projectLookup = null) {
89
91
  const saveMdfrReq = {
@@ -95,8 +97,8 @@ export class DFSModifiersComponent {
95
97
  Priority: this.PriorityFormControl.value,
96
98
  Type: this.CurrentType,
97
99
  },
98
- ModifierLookups: [this.EditingModifierLookup],
99
- ProjectLookups: [projectLookup],
100
+ ModifierLookup: this.EditingModifierLookup,
101
+ ProjectLookup: projectLookup,
100
102
  };
101
103
  const details = {};
102
104
  switch (this.CurrentType) {
@@ -174,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
174
176
  type: Input,
175
177
  args: ['data']
176
178
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZzLW1vZGlmaWVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBSUwsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVNuQyxNQUFNLE9BQU8scUJBQXFCO0lBaUZoQyxnQkFBZ0I7SUFDaEIsWUFDWSxRQUFxQixFQUNyQixXQUFvQyxFQUNwQyxNQUFrQjtRQUZsQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBRTVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQTNFRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVM7WUFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFD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ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7XG4gIEVhQ1NlcnZpY2UsXG4gIFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRWFDREZTTW9kaWZpZXIsXG4gIEVhQ1Byb2plY3RBc0NvZGUsXG59IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQgeyBHdWlkIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYXBwbGljYXRpb25zLWZsb3cuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1kZnMtbW9kaWZpZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rmcy1tb2RpZmllcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZnMtbW9kaWZpZXJzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERGU01vZGlmaWVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vICBGaWVsZHNcblxuICAvLyAgUHJvcGVydGllc1xuICBwdWJsaWMgQ3VycmVudFR5cGU6IHN0cmluZztcblxuICBASW5wdXQoJ2RhdGEnKVxuICBwdWJsaWMgRGF0YToge1xuICAgIE1vZGlmaWVyczogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNERlNNb2RpZmllciB9O1xuICAgIFByb2plY3Q6IEVhQ1Byb2plY3RBc0NvZGU7XG4gICAgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuICB9O1xuXG4gIHB1YmxpYyBnZXQgRGV0YWlsc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLmRldGFpbHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEVkaXRpbmdNb2RpZmllcigpOiBFYUNERlNNb2RpZmllciB7XG4gICAgbGV0IG1kZnIgPSB0aGlzLk1vZGlmaWVyc1xuICAgICAgPyB0aGlzLk1vZGlmaWVyc1t0aGlzLkVkaXRpbmdNb2RpZmllckxvb2t1cF1cbiAgICAgIDogbnVsbDtcblxuICAgIGlmIChtZGZyID09IG51bGwgJiYgdGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXApIHtcbiAgICAgIG1kZnIgPSB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWRmcjtcbiAgfVxuXG4gIHB1YmxpYyBFZGl0aW5nTW9kaWZpZXJMb29rdXA6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IEVuYWJsZWRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBMb2NhdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLmxvY2F0aW9uO1xuICB9XG5cbiAgcHVibGljIE1vZGlmaWVyRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIGdldCBNb2RpZmllckxvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuTW9kaWZpZXJzIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgTW9kaWZpZXJzKCk6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDREZTTW9kaWZpZXIgfSB7XG4gICAgcmV0dXJuIHRoaXMuRGF0YS5Nb2RpZmllcnMgfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IE5hbWVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBQYXRoRmlsdGVyRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMucGF0aEZpbHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJpb3JpdHlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5wcmlvcml0eTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJvamVjdCgpOiBFYUNQcm9qZWN0QXNDb2RlIHtcbiAgICByZXR1cm4gdGhpcy5EYXRhLlByb2plY3QgfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNjcmlwdEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnNjcmlwdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2NyaXB0SURGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zY3JpcHRJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGVEYXRhVG9rZW5Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zdGF0ZURhdGFUb2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHlwZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnR5cGU7XG4gIH1cblxuICAvLyAgQ29uc3RydWN0b3JzXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGFwcHNGbG93U3ZjOiBBcHBsaWNhdGlvbnNGbG93U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwID0gbnVsbDtcbiAgfVxuXG4gIC8vICBMaWZlIEN5Y2xlXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5Nb2RpZmllckxvb2t1cHM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLkNyZWF0ZU5ld01vZGlmaWVyKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gIEFQSSBNZXRob2RzXG4gIHB1YmxpYyBDcmVhdGVOZXdNb2RpZmllcigpOiB2b2lkIHtcbiAgICB0aGlzLlNldEVkaXRpbmdNb2RpZmllcihHdWlkLkNyZWF0ZVJhdygpKTtcbiAgfVxuXG4gIHB1YmxpYyBEZWxldGVNb2RpZmllcihtb2RpZmllckxvb2t1cDogc3RyaW5nLCBtb2RpZmllck5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZWFjU3ZjLkRlbGV0ZU1vZGlmaWVyKG1vZGlmaWVyTG9va3VwLCBtb2RpZmllck5hbWUpLnRoZW4oKTtcbiAgfVxuXG4gIHB1YmxpYyBTYXZlTW9kaWZpZXIocHJvamVjdExvb2t1cDogc3RyaW5nID0gbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICBNb2RpZmllcjoge1xuICAgICAgICAuLi50aGlzLkVkaXRpbmdNb2RpZmllcixcbiAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIEVuYWJsZWQ6IHRoaXMuRW5hYmxlZEZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICBQYXRoRmlsdGVyUmVnZXg6IHRoaXMuUGF0aEZpbHRlckZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICBQcmlvcml0eTogdGhpcy5Qcmlvcml0eUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICBUeXBlOiB0aGlzLkN1cnJlbnRUeXBlLFxuICAgICAgfSxcbiAgICAgIE1vZGlmaWVyTG9va3VwczogW3RoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwXSxcbiAgICAgIFByb2plY3RMb29rdXBzOiBbcHJvamVjdExvb2t1cF0sXG4gICAgfTtcblxuICAgIGNvbnN0IGRldGFpbHMgPSB7fTtcblxuICAgIHN3aXRjaCAodGhpcy5DdXJyZW50VHlwZSkge1xuICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICBkZXRhaWxzWydTdGF0ZURhdGFUb2tlbiddID0gdGhpcy5TdGF0ZURhdGFUb2tlbkZvcm1Db250cm9sLnZhbHVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgZGV0YWlsc1snTG9jYXRpb24nXSA9IHRoaXMuTG9jYXRpb25Gb3JtQ29udHJvbC52YWx1ZTtcblxuICAgICAgICBkZXRhaWxzWydTY3JpcHQnXSA9IHRoaXMuU2NyaXB0Rm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgZGV0YWlsc1snU2NyaXB0SUQnXSA9IHRoaXMuU2NyaXB0SURGb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgc2F2ZU1kZnJSZXEuTW9kaWZpZXIuRGV0YWlscyA9IEpTT04uc3RyaW5naWZ5KGRldGFpbHMpO1xuXG4gICAgdGhpcy5lYWNTdmMuU2F2ZURGU01vZGlmaWVyKHNhdmVNZGZyUmVxKTtcbiAgfVxuXG4gIHB1YmxpYyBTZXRFZGl0aW5nTW9kaWZpZXIobW9kaWZpZXJMb29rdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwID0gbW9kaWZpZXJMb29rdXA7XG5cbiAgICB0aGlzLnNldHVwTW9kaWZpZXJGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU2V0VXNlRm9yUHJvamVjdChcbiAgICBtb2RpZmllckxvb2t1cDogc3RyaW5nLFxuICAgIGNoYW5nZTogTWF0U2xpZGVUb2dnbGVDaGFuZ2VcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5TZXRFZGl0aW5nTW9kaWZpZXIobW9kaWZpZXJMb29rdXApO1xuXG4gICAgdGhpcy5TYXZlTW9kaWZpZXIodGhpcy5EYXRhLlByb2plY3RMb29rdXApO1xuICB9XG5cbiAgcHVibGljIFR5cGVDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLkN1cnJlbnRUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwVHlwZUZvcm0oKTtcbiAgfVxuXG4gIC8vICBIZWxwZXJzXG4gIHByb3RlY3RlZCBzZXR1cE1vZGlmaWVyRm9ybSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5FZGl0aW5nTW9kaWZpZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5DdXJyZW50VHlwZSA9IHRoaXMuRWRpdGluZ01vZGlmaWVyPy5UeXBlO1xuXG4gICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAgIG5hbWU6IFt0aGlzLkVkaXRpbmdNb2RpZmllcj8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHR5cGU6IFt0aGlzLkN1cnJlbnRUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgcHJpb3JpdHk6IFt0aGlzLkVkaXRpbmdNb2RpZmllcj8uUHJpb3JpdHksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICBlbmFibGVkOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/LkVuYWJsZWQsIFtdXSxcbiAgICAgICAgcGF0aEZpbHRlcjogW1xuICAgICAgICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyPy5QYXRoRmlsdGVyUmVnZXgsXG4gICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldHVwVHlwZUZvcm0oKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBUeXBlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3N0YXRlRGF0YVRva2VuJyk7XG5cbiAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ2xvY2F0aW9uJyk7XG4gICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY3JpcHQnKTtcbiAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NjcmlwdElkJyk7XG5cbiAgICBjb25zdCBkZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLkVkaXRpbmdNb2RpZmllcj8uRGV0YWlscyB8fCAne30nKTtcblxuICAgIHN3aXRjaCAodGhpcy5DdXJyZW50VHlwZSkge1xuICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgJ3N0YXRlRGF0YVRva2VuJyxcbiAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU3RhdGVEYXRhVG9rZW4gfHwgJycsIFtcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgXSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuVGhpcmRQYXJ0eUxpYnJhcnlERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAnbG9jYXRpb24nLFxuICAgICAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChkZXRhaWxzPy5Mb2NhdGlvbiB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAnc2NyaXB0JyxcbiAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU2NyaXB0IHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICdzY3JpcHRJZCcsXG4gICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LlNjcmlwdElEIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdj5cbiAgPGZvcm1cbiAgICBbZm9ybUdyb3VwXT1cIk1vZGlmaWVyRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU2F2ZU1vZGlmaWVyKClcIlxuICAgICpuZ0lmPVwiRWRpdGluZ01vZGlmaWVyXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNhcmRcIj5cbiAgICAgIDxtYXQtY2FyZCBjbGFzcz1cInNwcmVhZFwiPlxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT4gREZTIE1vZGlmaWVyIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiQ29uZmlndXJlIG1vZGlmaWVycyBmb3IgeW91ciBERlMgZmlsZXMuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmlvcml0eVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUHJpb3JpdHlcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXRoRmlsdGVyXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQYXRoIEZpbHRlciAocmVnZXgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJERlMgTW9kaWZpZXIgVHlwZVwiXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiVHlwZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgdmFsdWU9XCJMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkhUTUxCYXNlREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSFRNTCBCYXNlIE1vZGZpZXJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgdmFsdWU9XCJMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExDVSBSZWcgTW9kZmllclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICB2YWx1ZT1cIkxDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuVGhpcmRQYXJ0eUxpYnJhcnlERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBUaHJpZCBQYXJ0eSBMaWJyYXJ5IE1vZGlmaWVyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgQ3VycmVudFR5cGUgPT1cbiAgICAgICAgICAgICAgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhdGVEYXRhVG9rZW5cIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhdGUgRGF0YSBUb2tlblwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBDdXJyZW50VHlwZSA9PVxuICAgICAgICAgICAgICAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY3JpcHRJZFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgSURcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNjcmlwdFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHRcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzcHJlYWRcIiBmb3JtQ29udHJvbE5hbWU9XCJlbmFibGVkXCI+XG4gICAgICAgICAgICBJcyBFbmFibGVkP1xuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgPC9tYXQtY2FyZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJTZXRFZGl0aW5nTW9kaWZpZXIobnVsbClcIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+IENhbmNlbFxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIU1vZGlmaWVyRm9ybUdyb3VwLnZhbGlkIHx8ICFNb2RpZmllckZvcm1Hcm91cC5kaXJ0eVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj4gU2F2ZSBERlMgTW9kaWZpZXJcbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuXG4gIDxkaXYgY2xhc3M9XCJzcHJlYWRcIiAqbmdJZj1cIiFFZGl0aW5nTW9kaWZpZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cImFwcHMtYWN0aW9uc1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJDcmVhdGVOZXdNb2RpZmllcigpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj5hZGQ8L21hdC1pY29uPiBDcmVhdGUgTmV3XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NwYW4+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiTW9kaWZpZXJMb29rdXBzPy5sZW5ndGggPD0gMFwiPlxuICAgICAgICA8aDI+Tm8gREZTIG1vZGlmaWVycyBjcmVhdGVkLCBjcmVhdGUgeW91ciBmaXJzdCBERlMgbW9kaWZpZXIuPC9oMj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiTW9kaWZpZXJMb29rdXBzPy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxoMj5ERlMgTW9kaWZpZXJzPC9oMj5cblxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dC5sdC1tZD1cImNvbHVtblwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGZ4RmxleD1cIjMwJVwiXG4gICAgICAgICAgICBmeEZsZXgubHQtbWQ9XCIxMDAlXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtb2RpZmllckxvb2t1cCBvZiBNb2RpZmllckxvb2t1cHNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtY2FyZFxuICAgICAgICAgICAgICBjbGFzcz1cInNwcmVhZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiTW9kaWZpZXJzW21vZGlmaWVyTG9va3VwXTsgbGV0IG1vZGlmaWVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgICA8IS0tIDxpbWcgbWF0LWNhcmQtYXZhdGFyPVwiL2Fzc2V0cy9pbWFnZXMvcHJvamVjdC1pY29uLnBuZ1wiIC8+IC0tPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1zdWJoZWFkaW5nLTJcIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwibW9kaWZpZXIuTmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgbW9kaWZpZXIuTmFtZSB8fCBtb2RpZmllci5Mb29rdXAgfX1cblxuICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ByZWFkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgUHJvamVjdD8uTW9kaWZpZXJMb29rdXBzLmluZGV4T2YobW9kaWZpZXJMb29rdXApID49IDBcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJTZXRVc2VGb3JQcm9qZWN0KG1vZGlmaWVyTG9va3VwLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlVzZSBmb3IgcHJvamVjdD9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhLWFwcC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiU2V0RWRpdGluZ01vZGlmaWVyKG1vZGlmaWVyTG9va3VwKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwiRWRpdCBERlMgTW9kaWZpZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJEZWxldGVNb2RpZmllcihtb2RpZmllckxvb2t1cCwgbW9kaWZpZXIuTmFtZSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0VG9vbHRpcD1cIkRlbGV0ZSB7eyBtb2RpZmllci5OYW1lIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgZGVsZXRlX2ZvcmV2ZXJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGEtYXBwLWZha2VzXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maWJlcl9tYW51YWxfcmVjb3JkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmZpYmVyX21hbnVhbF9yZWNvcmQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZzLW1vZGlmaWVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2Rmcy1tb2RpZmllcnMvZGZzLW1vZGlmaWVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBSUwsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFnQnhCLE9BQU8sRUFBdUIsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBWXhELE1BQU0sT0FBTyxxQkFBcUI7SUFpRmhDLGdCQUFnQjtJQUNoQixZQUNZLFFBQXFCLEVBQ3JCLFdBQW9DLEVBQ3BDLE1BQWtCO1FBRmxCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFFNUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBM0VELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUztZQUN2QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVULElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNYO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBSUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFXRCxjQUFjO0lBQ1AsUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGVBQWU7SUFDUixpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxjQUFjLENBQUMsY0FBc0IsRUFBRSxZQUFvQjtRQUNoRSxJQUNFLE9BQU8sQ0FBQyw2Q0FBNkMsWUFBWSxJQUFJLENBQUMsRUFDdEU7WUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVNLFlBQVksQ0FBQyxnQkFBd0IsSUFBSTtRQUM5QyxNQUFNLFdBQVcsR0FBZ0M7WUFDL0MsUUFBUSxFQUFFO2dCQUNSLEdBQUcsSUFBSSxDQUFDLGVBQWU7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7Z0JBQ2hDLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSztnQkFDdEMsZUFBZSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLO2dCQUNqRCxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUs7Z0JBQ3hDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVzthQUN2QjtZQUNELGNBQWMsRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQzFDLGFBQWEsRUFBRSxhQUFhO1NBQzdCLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFbkIsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hCLEtBQUssbUlBQW1JO2dCQUN0SSxNQUFNO1lBRVIsS0FBSyxpSUFBaUk7Z0JBQ3BJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pFLE1BQU07WUFFUixLQUFLLDRJQUE0STtnQkFDL0ksT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7Z0JBRXJELE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO2dCQUVqRCxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQztnQkFDckQsTUFBTTtTQUNUO1FBRUQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsY0FBc0I7UUFDOUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGNBQWMsQ0FBQztRQUU1QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLGNBQXNCLEVBQ3RCLE1BQTRCO1FBRTVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFzQjtRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFL0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO0lBQ0QsaUJBQWlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztZQUU5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQzNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3ZELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDN0MsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDL0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxVQUFVLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlO29CQUNyQyxVQUFVLENBQUMsUUFBUTtpQkFDcEI7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQztRQUVsRSxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsS0FBSyxtSUFBbUk7Z0JBQ3RJLE1BQU07WUFFUixLQUFLLGlJQUFpSTtnQkFDcEksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDL0IsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxjQUFjLElBQUksRUFBRSxFQUFFO29CQUNuRCxVQUFVLENBQUMsUUFBUTtpQkFDcEIsQ0FBQyxDQUNILENBQUM7Z0JBQ0YsTUFBTTtZQUVSLEtBQUssNElBQTRJO2dCQUMvSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQixVQUFVLEVBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDdEUsQ0FBQztnQkFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQixRQUFRLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDcEUsQ0FBQztnQkFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQixVQUFVLEVBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDdEUsQ0FBQztnQkFDRixNQUFNO1NBQ1Q7SUFDSCxDQUFDOztrSEFwT1UscUJBQXFCO3NHQUFyQixxQkFBcUIsNkZDbkNsQywyMFBBd1BBOzJGRHJOYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO2lLQVd0QixJQUFJO3NCQURWLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7XG4gIEVhQ1NlcnZpY2UsXG4gIFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRWFDQXBwbGljYXRpb25Bc0NvZGUsXG4gIEVhQ0FydGlmYWN0LFxuICBFYUNEZXZPcHNBY3Rpb24sXG4gIEVhQ0RGU01vZGlmaWVyLFxuICBFYUNFbnZpcm9ubWVudEFzQ29kZSxcbiAgRWFDUHJvY2Vzc29yLFxuICBFYUNQcm9qZWN0QXNDb2RlLFxuICBFYUNTb3VyY2VDb250cm9sLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQmFzZU1vZGVsZWRSZXNwb25zZSwgR3VpZCB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3RIb3N0aW5nRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvYXBwbGljYXRpb25zLWZsb3cuc2VydmljZSc7XG5pbXBvcnQgeyBIb3N0aW5nRGV0YWlsc0Zvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1kZnMtbW9kaWZpZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rmcy1tb2RpZmllcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZnMtbW9kaWZpZXJzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERGU01vZGlmaWVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vICBGaWVsZHNcblxuICAvLyAgUHJvcGVydGllc1xuICBwdWJsaWMgQ3VycmVudFR5cGU6IHN0cmluZztcblxuICBASW5wdXQoJ2RhdGEnKVxuICBwdWJsaWMgRGF0YToge1xuICAgIE1vZGlmaWVyczogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNERlNNb2RpZmllciB9O1xuICAgIFByb2plY3Q6IEVhQ1Byb2plY3RBc0NvZGU7XG4gICAgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuICB9O1xuXG4gIHB1YmxpYyBnZXQgRGV0YWlsc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLmRldGFpbHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEVkaXRpbmdNb2RpZmllcigpOiBFYUNERlNNb2RpZmllciB7XG4gICAgbGV0IG1kZnIgPSB0aGlzLk1vZGlmaWVyc1xuICAgICAgPyB0aGlzLk1vZGlmaWVyc1t0aGlzLkVkaXRpbmdNb2RpZmllckxvb2t1cF1cbiAgICAgIDogbnVsbDtcblxuICAgIGlmIChtZGZyID09IG51bGwgJiYgdGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXApIHtcbiAgICAgIG1kZnIgPSB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWRmcjtcbiAgfVxuXG4gIHB1YmxpYyBFZGl0aW5nTW9kaWZpZXJMb29rdXA6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IEVuYWJsZWRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBMb2NhdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLmxvY2F0aW9uO1xuICB9XG5cbiAgcHVibGljIE1vZGlmaWVyRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIGdldCBNb2RpZmllckxvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuTW9kaWZpZXJzIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgTW9kaWZpZXJzKCk6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDREZTTW9kaWZpZXIgfSB7XG4gICAgcmV0dXJuIHRoaXMuRGF0YS5Nb2RpZmllcnMgfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IE5hbWVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBQYXRoRmlsdGVyRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMucGF0aEZpbHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJpb3JpdHlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5wcmlvcml0eTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJvamVjdCgpOiBFYUNQcm9qZWN0QXNDb2RlIHtcbiAgICByZXR1cm4gdGhpcy5EYXRhLlByb2plY3QgfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNjcmlwdEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnNjcmlwdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2NyaXB0SURGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zY3JpcHRJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGVEYXRhVG9rZW5Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zdGF0ZURhdGFUb2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHlwZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnR5cGU7XG4gIH1cblxuICAvLyAgQ29uc3RydWN0b3JzXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGFwcHNGbG93U3ZjOiBBcHBsaWNhdGlvbnNGbG93U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwID0gbnVsbDtcbiAgfVxuXG4gIC8vICBMaWZlIEN5Y2xlXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5Nb2RpZmllckxvb2t1cHM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLkNyZWF0ZU5ld01vZGlmaWVyKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gIEFQSSBNZXRob2RzXG4gIHB1YmxpYyBDcmVhdGVOZXdNb2RpZmllcigpOiB2b2lkIHtcbiAgICB0aGlzLlNldEVkaXRpbmdNb2RpZmllcihHdWlkLkNyZWF0ZVJhdygpKTtcbiAgfVxuXG4gIHB1YmxpYyBEZWxldGVNb2RpZmllcihtb2RpZmllckxvb2t1cDogc3RyaW5nLCBtb2RpZmllck5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgbW9kaWZpZXIgJyR7bW9kaWZpZXJOYW1lfSc/YClcbiAgICApIHtcbiAgICAgIHRoaXMuZWFjU3ZjLkRlbGV0ZVNvdXJjZUNvbnRyb2wobW9kaWZpZXJMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBTYXZlTW9kaWZpZXIocHJvamVjdExvb2t1cDogc3RyaW5nID0gbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICBNb2RpZmllcjoge1xuICAgICAgICAuLi50aGlzLkVkaXRpbmdNb2RpZmllcixcbiAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIEVuYWJsZWQ6IHRoaXMuRW5hYmxlZEZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICBQYXRoRmlsdGVyUmVnZXg6IHRoaXMuUGF0aEZpbHRlckZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICBQcmlvcml0eTogdGhpcy5Qcmlvcml0eUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICBUeXBlOiB0aGlzLkN1cnJlbnRUeXBlLFxuICAgICAgfSxcbiAgICAgIE1vZGlmaWVyTG9va3VwOiB0aGlzLkVkaXRpbmdNb2RpZmllckxvb2t1cCxcbiAgICAgIFByb2plY3RMb29rdXA6IHByb2plY3RMb29rdXAsXG4gICAgfTtcblxuICAgIGNvbnN0IGRldGFpbHMgPSB7fTtcblxuICAgIHN3aXRjaCAodGhpcy5DdXJyZW50VHlwZSkge1xuICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICBkZXRhaWxzWydTdGF0ZURhdGFUb2tlbiddID0gdGhpcy5TdGF0ZURhdGFUb2tlbkZvcm1Db250cm9sLnZhbHVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgZGV0YWlsc1snTG9jYXRpb24nXSA9IHRoaXMuTG9jYXRpb25Gb3JtQ29udHJvbC52YWx1ZTtcblxuICAgICAgICBkZXRhaWxzWydTY3JpcHQnXSA9IHRoaXMuU2NyaXB0Rm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgZGV0YWlsc1snU2NyaXB0SUQnXSA9IHRoaXMuU2NyaXB0SURGb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgc2F2ZU1kZnJSZXEuTW9kaWZpZXIuRGV0YWlscyA9IEpTT04uc3RyaW5naWZ5KGRldGFpbHMpO1xuXG4gICAgdGhpcy5lYWNTdmMuU2F2ZURGU01vZGlmaWVyKHNhdmVNZGZyUmVxKTtcbiAgfVxuXG4gIHB1YmxpYyBTZXRFZGl0aW5nTW9kaWZpZXIobW9kaWZpZXJMb29rdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwID0gbW9kaWZpZXJMb29rdXA7XG5cbiAgICB0aGlzLnNldHVwTW9kaWZpZXJGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU2V0VXNlRm9yUHJvamVjdChcbiAgICBtb2RpZmllckxvb2t1cDogc3RyaW5nLFxuICAgIGNoYW5nZTogTWF0U2xpZGVUb2dnbGVDaGFuZ2VcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5TZXRFZGl0aW5nTW9kaWZpZXIobW9kaWZpZXJMb29rdXApO1xuXG4gICAgdGhpcy5TYXZlTW9kaWZpZXIodGhpcy5EYXRhLlByb2plY3RMb29rdXApO1xuICB9XG5cbiAgcHVibGljIFR5cGVDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLkN1cnJlbnRUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwVHlwZUZvcm0oKTtcbiAgfVxuXG4gIC8vICBIZWxwZXJzXG4gIHByb3RlY3RlZCBzZXR1cE1vZGlmaWVyRm9ybSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5FZGl0aW5nTW9kaWZpZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5DdXJyZW50VHlwZSA9IHRoaXMuRWRpdGluZ01vZGlmaWVyPy5UeXBlO1xuXG4gICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAgIG5hbWU6IFt0aGlzLkVkaXRpbmdNb2RpZmllcj8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHR5cGU6IFt0aGlzLkN1cnJlbnRUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgcHJpb3JpdHk6IFt0aGlzLkVkaXRpbmdNb2RpZmllcj8uUHJpb3JpdHksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICBlbmFibGVkOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/LkVuYWJsZWQsIFtdXSxcbiAgICAgICAgcGF0aEZpbHRlcjogW1xuICAgICAgICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyPy5QYXRoRmlsdGVyUmVnZXgsXG4gICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldHVwVHlwZUZvcm0oKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBUeXBlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3N0YXRlRGF0YVRva2VuJyk7XG5cbiAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ2xvY2F0aW9uJyk7XG4gICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY3JpcHQnKTtcbiAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NjcmlwdElkJyk7XG5cbiAgICBjb25zdCBkZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLkVkaXRpbmdNb2RpZmllcj8uRGV0YWlscyB8fCAne30nKTtcblxuICAgIHN3aXRjaCAodGhpcy5DdXJyZW50VHlwZSkge1xuICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgJ3N0YXRlRGF0YVRva2VuJyxcbiAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU3RhdGVEYXRhVG9rZW4gfHwgJycsIFtcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgXSlcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuVGhpcmRQYXJ0eUxpYnJhcnlERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAnbG9jYXRpb24nLFxuICAgICAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChkZXRhaWxzPy5Mb2NhdGlvbiB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAnc2NyaXB0JyxcbiAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU2NyaXB0IHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICdzY3JpcHRJZCcsXG4gICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LlNjcmlwdElEIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdj5cbiAgPGZvcm1cbiAgICBbZm9ybUdyb3VwXT1cIk1vZGlmaWVyRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU2F2ZU1vZGlmaWVyKClcIlxuICAgICpuZ0lmPVwiRWRpdGluZ01vZGlmaWVyXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNhcmRcIj5cbiAgICAgIDxtYXQtY2FyZCBjbGFzcz1cInNwcmVhZFwiPlxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT4gREZTIE1vZGlmaWVyIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiQ29uZmlndXJlIG1vZGlmaWVycyBmb3IgeW91ciBERlMgZmlsZXMuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmlvcml0eVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUHJpb3JpdHlcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXRoRmlsdGVyXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQYXRoIEZpbHRlciAocmVnZXgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJERlMgTW9kaWZpZXIgVHlwZVwiXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiVHlwZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgdmFsdWU9XCJMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkhUTUxCYXNlREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSFRNTCBCYXNlIE1vZGZpZXJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgdmFsdWU9XCJMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExDVSBSZWcgTW9kZmllclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICB2YWx1ZT1cIkxDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuVGhpcmRQYXJ0eUxpYnJhcnlERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBUaHJpZCBQYXJ0eSBMaWJyYXJ5IE1vZGlmaWVyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgQ3VycmVudFR5cGUgPT1cbiAgICAgICAgICAgICAgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhdGVEYXRhVG9rZW5cIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhdGUgRGF0YSBUb2tlblwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBDdXJyZW50VHlwZSA9PVxuICAgICAgICAgICAgICAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY3JpcHRJZFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgSURcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNjcmlwdFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHRcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzcHJlYWRcIiBmb3JtQ29udHJvbE5hbWU9XCJlbmFibGVkXCI+XG4gICAgICAgICAgICBJcyBFbmFibGVkP1xuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgPC9tYXQtY2FyZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJTZXRFZGl0aW5nTW9kaWZpZXIobnVsbClcIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+IENhbmNlbFxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIU1vZGlmaWVyRm9ybUdyb3VwLnZhbGlkIHx8ICFNb2RpZmllckZvcm1Hcm91cC5kaXJ0eVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj4gU2F2ZSBERlMgTW9kaWZpZXJcbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuXG4gIDxkaXYgY2xhc3M9XCJzcHJlYWRcIiAqbmdJZj1cIiFFZGl0aW5nTW9kaWZpZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cImFwcHMtYWN0aW9uc1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJDcmVhdGVOZXdNb2RpZmllcigpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj5hZGQ8L21hdC1pY29uPiBDcmVhdGUgTmV3XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NwYW4+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiTW9kaWZpZXJMb29rdXBzPy5sZW5ndGggPD0gMFwiPlxuICAgICAgICA8aDI+Tm8gREZTIG1vZGlmaWVycyBjcmVhdGVkLCBjcmVhdGUgeW91ciBmaXJzdCBERlMgbW9kaWZpZXIuPC9oMj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiTW9kaWZpZXJMb29rdXBzPy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxoMj5ERlMgTW9kaWZpZXJzPC9oMj5cblxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dC5sdC1tZD1cImNvbHVtblwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGZ4RmxleD1cIjMwJVwiXG4gICAgICAgICAgICBmeEZsZXgubHQtbWQ9XCIxMDAlXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtb2RpZmllckxvb2t1cCBvZiBNb2RpZmllckxvb2t1cHNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtY2FyZFxuICAgICAgICAgICAgICBjbGFzcz1cInNwcmVhZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiTW9kaWZpZXJzW21vZGlmaWVyTG9va3VwXTsgbGV0IG1vZGlmaWVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgICA8IS0tIDxpbWcgbWF0LWNhcmQtYXZhdGFyPVwiL2Fzc2V0cy9pbWFnZXMvcHJvamVjdC1pY29uLnBuZ1wiIC8+IC0tPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1zdWJoZWFkaW5nLTJcIlxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwibW9kaWZpZXIuTmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgbW9kaWZpZXIuTmFtZSB8fCBtb2RpZmllci5Mb29rdXAgfX1cblxuICAgICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ByZWFkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgUHJvamVjdD8uTW9kaWZpZXJMb29rdXBzLmluZGV4T2YobW9kaWZpZXJMb29rdXApID49IDBcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJTZXRVc2VGb3JQcm9qZWN0KG1vZGlmaWVyTG9va3VwLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlVzZSBmb3IgcHJvamVjdD9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhLWFwcC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiU2V0RWRpdGluZ01vZGlmaWVyKG1vZGlmaWVyTG9va3VwKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwiRWRpdCBERlMgTW9kaWZpZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1xuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJEZWxldGVNb2RpZmllcihtb2RpZmllckxvb2t1cCwgbW9kaWZpZXIuTmFtZSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0VG9vbHRpcD1cIkRlbGV0ZSB7eyBtb2RpZmllci5OYW1lIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgZGVsZXRlX2ZvcmV2ZXJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGEtYXBwLWZha2VzXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maWJlcl9tYW51YWxfcmVjb3JkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmZpYmVyX21hbnVhbF9yZWNvcmQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -55,7 +55,7 @@ export class DomainsComponent {
55
55
  config() {
56
56
  this.Config = new CardFormConfigModel({
57
57
  Icon: 'head',
58
- Title: '',
58
+ Title: 'Domains',
59
59
  Subtitle: 'In order to use a custom domain, create a CNAME dns record pointing desired subdomain to ' + this.HostDNSInstance + '.',
60
60
  FormActions: {
61
61
  Message: 'Changes will be applied to your next deployment',
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
137
137
  type: Input,
138
138
  args: ['data']
139
139
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWlucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBU3hCLE1BQU0sT0FBTyxnQkFBZ0I7SUFpRTNCLFlBQ1ksWUFBMEIsRUFDMUIsTUFBa0I7UUFEbEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtJQUUzQixDQUFDO0lBaERKOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBVUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixzREFBc0Q7UUFFdEQseURBQXlEO1FBRXpELHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDakMsQ0FBQztJQVFNLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxNQUFNO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixDQUFDO1lBQ3BDLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQ04sMkZBQTJGLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHO1lBQzFILFdBQVcsRUFBRTtnQkFDWCxPQUFPLEVBQUUsaURBQWlEO2dCQUMxRCxPQUFPLEVBQUU7b0JBQ1A7d0JBQ0UsS0FBSyxFQUFFLE9BQU87d0JBQ2QsS0FBSyxFQUFFLE1BQU07d0JBQ2IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ2xDLCtEQUErRDt3QkFDL0QsaUdBQWlHO3dCQUNqRyxJQUFJLEVBQUUsT0FBTztxQkFDZDtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsTUFBTTt3QkFDYixLQUFLLEVBQUUsUUFBUTt3QkFDZixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDN0IsSUFBSSxFQUFFLE1BQU07cUJBQ2I7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxTQUFTO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDeEIsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFO2dCQUM3QyxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFUyxRQUFRO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQix5REFBeUQ7Z0JBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMvQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsbUJBQW1CO2dCQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sU0FBUztRQUNqQixtQkFBbUI7UUFDbkIseUNBQXlDO1FBRXpDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxJQUFJO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztZQUM1QixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsT0FBTyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLE9BQU87Z0JBQ2YscURBQXFEO2dCQUNyRCxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUMzQjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUM7WUFDdEMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDOzs2R0EvSlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsdUZDakI3Qiw4cURBbURBOzJGRGxDYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTs0SEFpQ2hCLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybXNTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9mb3Jtcy5zZXJ2aWNlJztcbmltcG9ydCB7IENhcmRGb3JtQ29uZmlnTW9kZWwgfSBmcm9tICcuLy4uLy4uLy4uLy4uLy4uL21vZGVscy9jYXJkLWZvcm0tY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFYUNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWFDSG9zdCwgRWFDUHJvamVjdEFzQ29kZSB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1kb21haW5zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvbWFpbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb21haW5zLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvbWFpbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogQ2FyZCAvIEZvcm0gQ29uZmlnXG4gICAqL1xuICBwdWJsaWMgQ29uZmlnOiBDYXJkRm9ybUNvbmZpZ01vZGVsO1xuXG4gIC8qKlxuICAgKiBGb3JtR3JvdXBcbiAgICovXG4gIHB1YmxpYyBGb3JtOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEZvcm0gbmFtZVxuICAgKi9cbiAgcHJvdGVjdGVkIGZvcm1OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW4gZm9ybSBpcyBkaXJ0eSwgdGllcyBpbnRvIGZvcm1zU2VydmljZS5EaXNhYmxlRm9ybXNcbiAgICovXG4gIHB1YmxpYyBJc0RpcnR5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgZm9ybSBjb250cm9sIGZvciByb290IGRpcmVjdG9yeVxuICAgKi9cbiAgcHVibGljIGdldCBEb21haW4oKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Gb3JtLmdldCgnZG9tYWluJyk7XG4gIH1cblxuICBASW5wdXQoJ2RhdGEnKVxuICBwdWJsaWMgRGF0YToge1xuICAgIEhvc3RzOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0hvc3QgfTtcbiAgICBQcmltYXJ5SG9zdDogc3RyaW5nO1xuICAgIFByb2plY3Q6IEVhQ1Byb2plY3RBc0NvZGU7XG4gICAgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuICB9O1xuXG4gIHB1YmxpYyBnZXQgSG9zdCgpOiBFYUNIb3N0IHtcbiAgICByZXR1cm4gdGhpcy5EYXRhPy5Ib3N0c1t0aGlzLkhvc3RMb29rdXBdO1xuICB9XG5cbiAgcHVibGljIGdldCBIb3N0TG9va3VwKCk6IHN0cmluZyB7XG4gICAgLy8gbGV0IGhvc3RLZXlzID0gT2JqZWN0LmtleXModGhpcy5EYXRhPy5Ib3N0cyB8fCB7fSk7XG5cbiAgICAvLyBob3N0S2V5cyA9IGhvc3RLZXlzLmZpbHRlcihoayA9PiBoay5pbmRleE9mKCd8JykgPCAwKTtcblxuICAgIC8vIHJldHVybiBob3N0S2V5c1swXTtcbiAgICByZXR1cm4gdGhpcy5QcmltYXJ5SG9zdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgSG9zdEROU0luc3RhbmNlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuSG9zdCA/IHRoaXMuSG9zdD8uSG9zdEROU0luc3RhbmNlIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJpbWFyeUhvc3QoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5EYXRhLlByaW1hcnlIb3N0O1xuICB9XG5cbiAgcHVibGljIGdldCBQcm9qZWN0KCk6IEVhQ1Byb2plY3RBc0NvZGUge1xuICAgIHJldHVybiB0aGlzLkRhdGEuUHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJvamVjdExvb2t1cCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLkRhdGEuUHJvamVjdExvb2t1cDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3Jtc1NlcnZpY2U6IEZvcm1zU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlLFxuICAgIFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybU5hbWUgPSAnRG9tYWluRm9ybSc7XG5cbiAgICB0aGlzLnNldHVwRm9ybSgpO1xuXG4gICAgdGhpcy5jb25maWcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25maWcoKTogdm9pZCB7XG4gICAgdGhpcy5Db25maWcgPSBuZXcgQ2FyZEZvcm1Db25maWdNb2RlbCh7XG4gICAgICBJY29uOiAnaGVhZCcsXG4gICAgICBUaXRsZTogJycsXG4gICAgICBTdWJ0aXRsZTpcbiAgICAgICAgJ0luIG9yZGVyIHRvIHVzZSBhIGN1c3RvbSBkb21haW4sIGNyZWF0ZSBhIENOQU1FIGRucyByZWNvcmQgcG9pbnRpbmcgZGVzaXJlZCBzdWJkb21haW4gdG8gJyArIHRoaXMuSG9zdEROU0luc3RhbmNlICsgJy4nLFxuICAgICAgRm9ybUFjdGlvbnM6IHtcbiAgICAgICAgTWVzc2FnZTogJ0NoYW5nZXMgd2lsbCBiZSBhcHBsaWVkIHRvIHlvdXIgbmV4dCBkZXBsb3ltZW50JyxcbiAgICAgICAgQWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIExhYmVsOiAnUmVzZXQnLFxuICAgICAgICAgICAgQ29sb3I6ICd3YXJuJyxcbiAgICAgICAgICAgIENsaWNrRXZlbnQ6ICgpID0+IHRoaXMucmVzZXRGb3JtKCksXG4gICAgICAgICAgICAvLyB1c2UgYXJyb3cgZnVuY3Rpb24sIHNvICd0aGlzJyByZWZlcnMgdG8gUHJvamVjdE5hbWVDb21wb25lbnRcbiAgICAgICAgICAgIC8vIGlmIHdlIHVzZWQgQ2xpY2tlRXZlbnQ6IHRoaXMuY2xlYXJGb3JtLCB0aGVuICd0aGlzJyB3b3VsZCByZWZlciB0byB0aGlzIGN1cnJlbnQgQWN0aW9ucyBvYmplY3RcbiAgICAgICAgICAgIFR5cGU6ICdSRVNFVCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBMYWJlbDogJ1NhdmUnLFxuICAgICAgICAgICAgQ29sb3I6ICdhY2NlbnQnLFxuICAgICAgICAgICAgQ2xpY2tFdmVudDogKCkgPT4gdGhpcy5zYXZlKCksXG4gICAgICAgICAgICBUeXBlOiAnU0FWRScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgZG9tYWluOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5Ib3N0TG9va3VwIHx8ICcnLCB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKV0sXG4gICAgICAgIHVwZGF0ZU9uOiAnY2hhbmdlJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5mb3Jtc1NlcnZpY2UuRm9ybSA9IHsgSWQ6IHRoaXMuZm9ybU5hbWUsIEZvcm06IHRoaXMuRm9ybSB9O1xuICAgIHRoaXMub25DaGFuZ2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLkZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsOiBhbnkpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm1zU2VydmljZS5Gb3JSZWFsVGhvdWdoKHRoaXMuZm9ybU5hbWUsIHRoaXMuRm9ybSkpIHtcbiAgICAgICAgdGhpcy5Jc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgLy8gZGlzYWJsZSBhbGwgZm9ybXMgZXhjZXB0IHRoZSBjdXJyZW50IGZvcm0gYmVpbmcgZWRpdGVkXG4gICAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLkRpc2FibGVGb3Jtcyh0aGlzLmZvcm1OYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuSXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICAvLyBlbmFibGUgYWxsIGZvcm1zXG4gICAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLkRpc2FibGVGb3JtcyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgZm9ybSBjb250cm9scyBiYWNrIHRvIHByZXZpb3VzIHZhbHVlc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICAvLyBlbmFibGUgYWxsIGZvcm1zXG4gICAgLy8gdGhpcy5mb3Jtc1NlcnZpY2UuRGlzYWJsZUZvcm1zKGZhbHNlKTtcblxuICAgIHRoaXMuZm9ybXNTZXJ2aWNlLlJlc2V0Rm9ybVZhbHVlcyh0aGlzLmZvcm1OYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGNoYW5nZXNcbiAgICovXG4gIHByb3RlY3RlZCBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuZWFjU3ZjLlNhdmVQcm9qZWN0QXNDb2RlKHtcbiAgICAgIFByb2plY3RMb29rdXA6IHRoaXMuUHJvamVjdExvb2t1cCxcbiAgICAgIFByb2plY3Q6IHtcbiAgICAgICAgLi4udGhpcy5Qcm9qZWN0LFxuICAgICAgICAvLyBIb3N0czogWy4uLnRoaXMuUHJvamVjdC5Ib3N0cywgdGhpcy5Eb21haW4udmFsdWVdLFxuICAgICAgICBIb3N0czogW3RoaXMuRG9tYWluLnZhbHVlXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5mb3Jtc1NlcnZpY2UuVXBkYXRlVmFsdWVzUmVmZXJlbmNlKHtcbiAgICAgIElkOiB0aGlzLmZvcm1OYW1lLFxuICAgICAgRm9ybTogdGhpcy5Gb3JtLFxuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybVxuICBmeExheW91dD1cInJvd1wiXG4gIGZ4TGF5b3V0Lmx0LW1kPVwiY29sdW1uXCJcbiAgY2xhc3M9XCJwYWRkaW5nLXRvcC0zXCJcbiAgW2Zvcm1Hcm91cF09XCJGb3JtXCI+XG4gIDxkaXY+XG4gICAgPGxjdS1mb3JtLWNhcmQgXG4gICAgW2NvbmZpZ109XCJDb25maWdcIlxuICAgIFtmb3JtXT1cIkZvcm1cIlxuICAgIFtpcy1kaXJ0eV09XCJJc0RpcnR5XCJcbiAgICA+XG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwibWFyZ2luLXJpZ2h0LTNcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiRG9tYWluLnZhbGlkID8gJ3ZhbGlkLWNvbnRyb2wnIDogJ2ludmFsaWQtY29udHJvbCdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgRG9tYWluLnZhbGlkID8gXCJjaGVja19jaXJjbGVcIiA6IFwiZXJyb3Jfb3V0bGluZVwiIH19XG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJEb21haW4uaW52YWxpZCB8fCBEb21haW4uZGlzYWJsZWQgPyAnLycgOiAnJ1wiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZG9tYWluXCJcbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgICAgVGhlc2UgZG9tYWlucyBhcmUgYXNzaWduZWQgdG8geW91ciBkZXBsb3ltZW50cy4gT3B0aW9uYWxseSwgXG4gICAgICAgICAgICAgICAgYSBkaWZmZXJlbnQgR2l0IGJyYW5jaCBvciBhIHJlZGlyZWN0aW9uIHRvIGFub3RoZXIgZG9tYWluIFxuICAgICAgICAgICAgICAgIGNhbiBiZSBjb25maWd1cmVkIGZvciBlYWNoIG9uZS5cbiAgICAgICAgICAgICAgPC9tYXQtaGludD5cblxuICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiRG9tYWluLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgICAgICAgICAgRG9tYWluIGlzIHJlcXVpcmVkXG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2Nka0NvcHlUb0NsaXBib2FyZF09XCJIb3N0RE5TSW5zdGFuY2VcIiBtYXRUb29sdGlwPVwiQ29weSBzdWJkb21haW4gdG8gY2xpcGJvYXJkXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiPkFkZDwvYnV0dG9uPiAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQtZGl2aWRlclwiPjwvZGl2PiAtLT5cbiAgICA8L2xjdS1mb3JtLWNhcmQ+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWlucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBU3hCLE1BQU0sT0FBTyxnQkFBZ0I7SUFpRTNCLFlBQ1ksWUFBMEIsRUFDMUIsTUFBa0I7UUFEbEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtJQUUzQixDQUFDO0lBaERKOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBVUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixzREFBc0Q7UUFFdEQseURBQXlEO1FBRXpELHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElB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QUF5QztRQUV6QyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ08sSUFBSTtRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7WUFDNUIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLE9BQU8sRUFBRTtnQkFDUCxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUNmLHFEQUFxRDtnQkFDckQsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7YUFDM0I7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDO1lBQ3RDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBL0pVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHVGQ2pCN0IsOHFEQW1EQTsyRkRsQ2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWE7NEhBaUNoQixJQUFJO3NCQURWLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1zU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvZm9ybXMuc2VydmljZSc7XG5pbXBvcnQgeyBDYXJkRm9ybUNvbmZpZ01vZGVsIH0gZnJvbSAnLi8uLi8uLi8uLi8uLi8uLi9tb2RlbHMvY2FyZC1mb3JtLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEVhQ0hvc3QsIEVhQ1Byb2plY3RBc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsY3UtZG9tYWlucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb21haW5zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9tYWlucy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb21haW5zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIENhcmQgLyBGb3JtIENvbmZpZ1xuICAgKi9cbiAgcHVibGljIENvbmZpZzogQ2FyZEZvcm1Db25maWdNb2RlbDtcblxuICAvKipcbiAgICogRm9ybUdyb3VwXG4gICAqL1xuICBwdWJsaWMgRm9ybTogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBGb3JtIG5hbWVcbiAgICovXG4gIHByb3RlY3RlZCBmb3JtTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGVuIGZvcm0gaXMgZGlydHksIHRpZXMgaW50byBmb3Jtc1NlcnZpY2UuRGlzYWJsZUZvcm1zXG4gICAqL1xuICBwdWJsaWMgSXNEaXJ0eTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWNjZXNzIGZvcm0gY29udHJvbCBmb3Igcm9vdCBkaXJlY3RvcnlcbiAgICovXG4gIHB1YmxpYyBnZXQgRG9tYWluKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuRm9ybS5nZXQoJ2RvbWFpbicpO1xuICB9XG5cbiAgQElucHV0KCdkYXRhJylcbiAgcHVibGljIERhdGE6IHtcbiAgICBIb3N0czogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNIb3N0IH07XG4gICAgUHJpbWFyeUhvc3Q6IHN0cmluZztcbiAgICBQcm9qZWN0OiBFYUNQcm9qZWN0QXNDb2RlO1xuICAgIFByb2plY3RMb29rdXA6IHN0cmluZztcbiAgfTtcblxuICBwdWJsaWMgZ2V0IEhvc3QoKTogRWFDSG9zdCB7XG4gICAgcmV0dXJuIHRoaXMuRGF0YT8uSG9zdHNbdGhpcy5Ib3N0TG9va3VwXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgSG9zdExvb2t1cCgpOiBzdHJpbmcge1xuICAgIC8vIGxldCBob3N0S2V5cyA9IE9iamVjdC5rZXlzKHRoaXMuRGF0YT8uSG9zdHMgfHwge30pO1xuXG4gICAgLy8gaG9zdEtleXMgPSBob3N0S2V5cy5maWx0ZXIoaGsgPT4gaGsuaW5kZXhPZignfCcpIDwgMCk7XG5cbiAgICAvLyByZXR1cm4gaG9zdEtleXNbMF07XG4gICAgcmV0dXJuIHRoaXMuUHJpbWFyeUhvc3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEhvc3RETlNJbnN0YW5jZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLkhvc3QgPyB0aGlzLkhvc3Q/Lkhvc3RETlNJbnN0YW5jZSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFByaW1hcnlIb3N0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuRGF0YS5QcmltYXJ5SG9zdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJvamVjdCgpOiBFYUNQcm9qZWN0QXNDb2RlIHtcbiAgICByZXR1cm4gdGhpcy5EYXRhLlByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFByb2plY3RMb29rdXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5EYXRhLlByb2plY3RMb29rdXA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZm9ybXNTZXJ2aWNlOiBGb3Jtc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICBcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1OYW1lID0gJ0RvbWFpbkZvcm0nO1xuXG4gICAgdGhpcy5zZXR1cEZvcm0oKTtcblxuICAgIHRoaXMuY29uZmlnKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlnKCk6IHZvaWQge1xuICAgIHRoaXMuQ29uZmlnID0gbmV3IENhcmRGb3JtQ29uZmlnTW9kZWwoe1xuICAgICAgSWNvbjogJ2hlYWQnLFxuICAgICAgVGl0bGU6ICdEb21haW5zJyxcbiAgICAgIFN1YnRpdGxlOlxuICAgICAgICAnSW4gb3JkZXIgdG8gdXNlIGEgY3VzdG9tIGRvbWFpbiwgY3JlYXRlIGEgQ05BTUUgZG5zIHJlY29yZCBwb2ludGluZyBkZXNpcmVkIHN1YmRvbWFpbiB0byAnICsgdGhpcy5Ib3N0RE5TSW5zdGFuY2UgKyAnLicsXG4gICAgICBGb3JtQWN0aW9uczoge1xuICAgICAgICBNZXNzYWdlOiAnQ2hhbmdlcyB3aWxsIGJlIGFwcGxpZWQgdG8geW91ciBuZXh0IGRlcGxveW1lbnQnLFxuICAgICAgICBBY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgTGFiZWw6ICdSZXNldCcsXG4gICAgICAgICAgICBDb2xvcjogJ3dhcm4nLFxuICAgICAgICAgICAgQ2xpY2tFdmVudDogKCkgPT4gdGhpcy5yZXNldEZvcm0oKSxcbiAgICAgICAgICAgIC8vIHVzZSBhcnJvdyBmdW5jdGlvbiwgc28gJ3RoaXMnIHJlZmVycyB0byBQcm9qZWN0TmFtZUNvbXBvbmVudFxuICAgICAgICAgICAgLy8gaWYgd2UgdXNlZCBDbGlja2VFdmVudDogdGhpcy5jbGVhckZvcm0sIHRoZW4gJ3RoaXMnIHdvdWxkIHJlZmVyIHRvIHRoaXMgY3VycmVudCBBY3Rpb25zIG9iamVjdFxuICAgICAgICAgICAgVHlwZTogJ1JFU0VUJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIExhYmVsOiAnU2F2ZScsXG4gICAgICAgICAgICBDb2xvcjogJ2FjY2VudCcsXG4gICAgICAgICAgICBDbGlja0V2ZW50OiAoKSA9PiB0aGlzLnNhdmUoKSxcbiAgICAgICAgICAgIFR5cGU6ICdTQVZFJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Gb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBkb21haW46IG5ldyBGb3JtQ29udHJvbCh0aGlzLkhvc3RMb29rdXAgfHwgJycsIHtcbiAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpXSxcbiAgICAgICAgdXBkYXRlT246ICdjaGFuZ2UnLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1zU2VydmljZS5Gb3JtID0geyBJZDogdGhpcy5mb3JtTmFtZSwgRm9ybTogdGhpcy5Gb3JtIH07XG4gICAgdGhpcy5vbkNoYW5nZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWw6IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9ybXNTZXJ2aWNlLkZvclJlYWxUaG91Z2godGhpcy5mb3JtTmFtZSwgdGhpcy5Gb3JtKSkge1xuICAgICAgICB0aGlzLklzRGlydHkgPSB0cnVlO1xuICAgICAgICAvLyBkaXNhYmxlIGFsbCBmb3JtcyBleGNlcHQgdGhlIGN1cnJlbnQgZm9ybSBiZWluZyBlZGl0ZWRcbiAgICAgICAgdGhpcy5mb3Jtc1NlcnZpY2UuRGlzYWJsZUZvcm1zKHRoaXMuZm9ybU5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5Jc0RpcnR5ID0gZmFsc2U7XG4gICAgICAgIC8vIGVuYWJsZSBhbGwgZm9ybXNcbiAgICAgICAgdGhpcy5mb3Jtc1NlcnZpY2UuRGlzYWJsZUZvcm1zKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBmb3JtIGNvbnRyb2xzIGJhY2sgdG8gcHJldmlvdXMgdmFsdWVzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzZXRGb3JtKCk6IHZvaWQge1xuICAgIC8vIGVuYWJsZSBhbGwgZm9ybXNcbiAgICAvLyB0aGlzLmZvcm1zU2VydmljZS5EaXNhYmxlRm9ybXMoZmFsc2UpO1xuXG4gICAgdGhpcy5mb3Jtc1NlcnZpY2UuUmVzZXRGb3JtVmFsdWVzKHRoaXMuZm9ybU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgY2hhbmdlc1xuICAgKi9cbiAgcHJvdGVjdGVkIHNhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5lYWNTdmMuU2F2ZVByb2plY3RBc0NvZGUoe1xuICAgICAgUHJvamVjdExvb2t1cDogdGhpcy5Qcm9qZWN0TG9va3VwLFxuICAgICAgUHJvamVjdDoge1xuICAgICAgICAuLi50aGlzLlByb2plY3QsXG4gICAgICAgIC8vIEhvc3RzOiBbLi4udGhpcy5Qcm9qZWN0Lkhvc3RzLCB0aGlzLkRvbWFpbi52YWx1ZV0sXG4gICAgICAgIEhvc3RzOiBbdGhpcy5Eb21haW4udmFsdWVdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmZvcm1zU2VydmljZS5VcGRhdGVWYWx1ZXNSZWZlcmVuY2Uoe1xuICAgICAgSWQ6IHRoaXMuZm9ybU5hbWUsXG4gICAgICBGb3JtOiB0aGlzLkZvcm0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIGZ4TGF5b3V0PVwicm93XCJcbiAgZnhMYXlvdXQubHQtbWQ9XCJjb2x1bW5cIlxuICBjbGFzcz1cInBhZGRpbmctdG9wLTNcIlxuICBbZm9ybUdyb3VwXT1cIkZvcm1cIj5cbiAgPGRpdj5cbiAgICA8bGN1LWZvcm0tY2FyZCBcbiAgICBbY29uZmlnXT1cIkNvbmZpZ1wiXG4gICAgW2Zvcm1dPVwiRm9ybVwiXG4gICAgW2lzLWRpcnR5XT1cIklzRGlydHlcIlxuICAgID5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4IGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJtYXJnaW4tcmlnaHQtM1wiPlxuICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJEb21haW4udmFsaWQgPyAndmFsaWQtY29udHJvbCcgOiAnaW52YWxpZC1jb250cm9sJ1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBEb21haW4udmFsaWQgPyBcImNoZWNrX2NpcmNsZVwiIDogXCJlcnJvcl9vdXRsaW5lXCIgfX1cbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIkRvbWFpbi5pbnZhbGlkIHx8IERvbWFpbi5kaXNhYmxlZCA/ICcvJyA6ICcnXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkb21haW5cIlxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICAgICAgICBUaGVzZSBkb21haW5zIGFyZSBhc3NpZ25lZCB0byB5b3VyIGRlcGxveW1lbnRzLiBPcHRpb25hbGx5LCBcbiAgICAgICAgICAgICAgICBhIGRpZmZlcmVudCBHaXQgYnJhbmNoIG9yIGEgcmVkaXJlY3Rpb24gdG8gYW5vdGhlciBkb21haW4gXG4gICAgICAgICAgICAgICAgY2FuIGJlIGNvbmZpZ3VyZWQgZm9yIGVhY2ggb25lLlxuICAgICAgICAgICAgICA8L21hdC1oaW50PlxuXG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJEb21haW4uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgICAgICAgICBEb21haW4gaXMgcmVxdWlyZWRcbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbY2RrQ29weVRvQ2xpcGJvYXJkXT1cIkhvc3RETlNJbnN0YW5jZVwiIG1hdFRvb2x0aXA9XCJDb3B5IHN1YmRvbWFpbiB0byBjbGlwYm9hcmRcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCI+QWRkPC9idXR0b24+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC1kaXZpZGVyXCI+PC9kaXY+IC0tPlxuICAgIDwvbGN1LWZvcm0tY2FyZD5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=