ngx-mat-tui-calendar 12.0.8 → 12.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ngx-mat-tui-calendar.umd.js.map +1 -1
- package/esm2015/lib/ngx-mat-tui-calendar-editor-dialog/ngx-mat-tui-calendar-editor-dialog.component.js +1 -1
- package/esm2015/lib/ngx-mat-tui-calendar.component.js +1 -1
- package/fesm2015/ngx-mat-tui-calendar.js.map +1 -1
- package/lib/ngx-mat-tui-calendar-editor-dialog/ngx-mat-tui-calendar-editor-dialog.component.d.ts +1 -1
- package/lib/ngx-mat-tui-calendar.component.d.ts +1 -1
- package/package.json +1 -1
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
144
144
|
type: Inject,
|
145
145
|
args: [MAT_DIALOG_DATA]
|
146
146
|
}] }, { type: i1.MatDialogRef }]; } });
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LXR1aS1jYWxlbmRhci9zcmMvbGliL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cvbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LXR1aS1jYWxlbmRhci9zcmMvbGliL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cvbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUEyQixNQUFNLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUF1QixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQWdCLGVBQWUsRUFBOEIsTUFBTSwwQkFBMEIsQ0FBQztBQUlyRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7OztBQVM3QyxNQUFNLE9BQU8sc0NBQXNDO0lBZWpELFlBQ2tDLElBQTJCLEVBQ25ELFNBQStEO1FBRXZFLDBGQUEwRjtRQUgxRCxTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUNuRCxjQUFTLEdBQVQsU0FBUyxDQUFzRDtRQWZ6RSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFPeEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBUXRCLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsS0FBSyxH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LENBQUM7SUFDeEIsQ0FBQzs7b0lBN0pVLHNDQUFzQyxrQkFnQnZDLGVBQWU7d0hBaEJkLHNDQUFzQywwRUNmbkQsKzNJQWlFUTs0RkRsREssc0NBQXNDO2tCQUxsRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFdBQVcsRUFBRSxxREFBcUQ7b0JBQ2xFLFNBQVMsRUFBRSxDQUFDLHFEQUFxRCxDQUFDO2lCQUNuRTs7MEJBaUJJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRGF0ZVR5cGUsIGRlZmF1bHQgYXMgQ2FsZW5kYXIsIElFdmVudFNjaGVkdWxlT2JqZWN0LCBJU2NoZWR1bGUsIFRaRGF0ZSB9IGZyb20gJ3R1aS1jYWxlbmRhcic7XG5cbmltcG9ydCB7IExvY2FsRGF0ZSB9IGZyb20gJy4uL2xvY2FsLWRhdGUuanMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFZGl0b3JPcHRpb25zIH0gZnJvbSAnLi4vY2FsZW5kYXItZWRpdG9yLW9wdGlvbnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXRUdWlDYWxlbmRhckVkaXRvckRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgaWQ6IHN0cmluZztcbiAgdGl0bGVTdHI6IHN0cmluZyA9ICcnO1xuICBsb2NhdGlvblN0cjogc3RyaW5nID0gJyc7XG4gIGNsb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBldmVudEZvcm06IEZvcm1Hcm91cDtcbiAgZGF0ZTogRGF0ZTtcbiAgc3RhcnREYXRlOiBEYXRlO1xuICBlbmREYXRlOiBEYXRlO1xuICBzdGFydFRpbWU6IERhdGU7XG4gIGVuZFRpbWU6IERhdGU7XG4gIGlzQWxsRGF5OiBib29sZWFuID0gZmFsc2U7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHRoZW1lQ2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQ2FsZW5kYXJFZGl0b3JPcHRpb25zLFxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Tmd4TWF0VHVpQ2FsZW5kYXJFZGl0b3JEaWFsb2dDb21wb25lbnQ+LFxuICApIHtcbiAgICAvLyBjb25zb2xlLmxvZygnTmd4TWF0VHVpQ2FsZW5kYXJFZGl0b3JEaWFsb2dDb21wb25lbnQuY29uc3RydWN0b3I6IHNjaGVkdWxlOicsIHNjaGVkdWxlKTtcblxuICAgIC8vIGNvbnNvbGUubG9nKCdOZ3hNYXRUdWlDYWxlbmRhckVkaXRvckRpYWxvZ0NvbXBvbmVudC5jb25zdHJ1Y3RvcjogZGF0YTonLCBkYXRhKTtcbiAgICB0aGlzLmNvbG9yID0gZGF0YS5kYXJrTW9kZSA/ICdhY2NlbnQnIDogJ3ByaW1hcnknO1xuXG4gICAgY29uc3Qgc2NoZWR1bGUgPSBkYXRhLnNjaGVkdWxlO1xuICAgIGlmIChzY2hlZHVsZSA9PSBudWxsKSB7XG4gICAgICB0aGlzLmlkID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHNjaGVkdWxlLmlkKSB7XG4gICAgICAgIHRoaXMuaWQgPSBzY2hlZHVsZS5pZC50b1N0cmluZygpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnRpdGxlU3RyID0gKHNjaGVkdWxlLnRpdGxlKSA/IHNjaGVkdWxlLnRpdGxlLnRvU3RyaW5nKCkgOiAnJztcbiAgICB0aGlzLmxvY2F0aW9uU3RyID0gKHNjaGVkdWxlLmxvY2F0aW9uKSA/IHNjaGVkdWxlLmxvY2F0aW9uLnRvU3RyaW5nKCkgOiAnJztcblxuXG4gICAgdGhpcy5pc0FsbERheSA9IChzY2hlZHVsZS5pc0FsbERheSA9PSB0cnVlKTtcblxuICAgIHRoaXMuc3RhcnREYXRlID0gTG9jYWxEYXRlLmNvbnZlcnRUb0pzRGF0ZShzY2hlZHVsZS5zdGFydCkgYXMgRGF0ZTtcbiAgICB0aGlzLmVuZERhdGUgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHNjaGVkdWxlLmVuZCkgYXMgRGF0ZTtcblxuICAgIHRoaXMuc3RhcnRUaW1lID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUpO1xuICAgIHRoaXMuZW5kVGltZSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZSk7XG4gICAgdGhpcy5zdGFydERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMSk7XG4gICAgdGhpcy5lbmREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDEpO1xuXG4gICAgdGhpcy5ldmVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKFxuICAgICAge1xuICAgICAgICB0aXRsZTogbmV3IEZvcm1Db250cm9sKHRoaXMudGl0bGVTdHIpLFxuICAgICAgICBsb2NhdGlvbjogbmV3IEZvcm1Db250cm9sKHRoaXMubG9jYXRpb25TdHIpLFxuICAgICAgICBzY2hlZHVsZVR5cGU6IG5ldyBGb3JtQ29udHJvbCgoc2NoZWR1bGUuaXNBbGxEYXkgPT0gdHJ1ZSkgPyBcImFsbC1kYXlcIiA6IFwidGltZS1zbG90XCIpLFxuICAgICAgICBzdGFydDogbmV3IEZvcm1Db250cm9sKHRoaXMuc3RhcnREYXRlKSxcbiAgICAgICAgZW5kOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbmREYXRlKSxcbiAgICAgICAgZGF0ZTogbmV3IEZvcm1Db250cm9sKHRoaXMuc3RhcnREYXRlKSxcbiAgICAgICAgdGltZTE6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnN0YXJ0VGltZSksXG4gICAgICAgIHRpbWUyOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5lbmRUaW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgfSxcbiAgICAgIHRoaXMuZ2V0RGF0ZVZhbGlkYXRvcigpLFxuICAgICk7XG5cbiAgfVxuXG4gIGdldERhdGVWYWxpZGF0b3IoKSB7XG4gICAgY29uc3QgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChncm91cDogRm9ybUdyb3VwKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICBjb25zdCBzY2hlZHVsZVR5cGUgPSBncm91cC5nZXQoXCJzY2hlZHVsZVR5cGVcIikudmFsdWU7XG4gICAgICBpZiAoZ3JvdXAuZ2V0KFwic2NoZWR1bGVUeXBlXCIpLnZhbHVlID09IFwidGltZS1zbG90XCIpIHtcbiAgICAgICAgbGV0IHRpbWUxID0gZ3JvdXAuZ2V0KFwidGltZTFcIikudmFsdWU7XG4gICAgICAgIGxldCB0aW1lMiA9IGdyb3VwLmdldChcInRpbWUyXCIpLnZhbHVlO1xuICAgICAgICBpZiAodGltZTEgPj0gdGltZTIpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0ZXM6IFwiRW5kIHRpbWUgbXVzdCBiZSBsYXRlciB0aGFuIHRoZSBzdGFydCB0aW1lXCJcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfTtcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmRpcihgRGlhbG9nIGNvbmZpZzogJHt0aGlzLmRpYWxvZ0NvbmZpZ31gKTtcbiAgICAvLyBsZXQgc3RhcnQ6IERhdGUgPSAoTG9jYWxEYXRlLmNvbnZlcnRUb0pzRGF0ZSh0aGlzLnNjaGVkdWxlLnN0YXJ0KSkudG9EYXRlKCk7XG4gICAgLy8gbGV0IGVuZDogRGF0ZSA9IChMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHRoaXMuc2NoZWR1bGUuZW5kKSkudG9EYXRlKCk7XG4gICAgLy8gdGhpcy5ldmVudEZvcm0uZ2V0KFwiZGF0ZVwiKS5zZXRWYWx1ZShzdGFydCk7XG4gICAgLy8gdGhpcy5ldmVudEZvcm0uZ2V0KFwic3RhcnRcIikuc2V0VmFsdWUoc3RhcnQpO1xuICAgIC8vIHRoaXMuZXZlbnRGb3JtLmdldChcImVuZFwiKS5zZXRWYWx1ZShlbmQpO1xuXG4gIH1cblxuXG5cbiAgb25TYXZlKGZvcm06IE5nRm9ybSkge1xuICAgIC8vIGNvbnNvbGUubG9nKGBvblNhdmUgZm9ybS5pbnZhbGlkPSR7Zm9ybS5pbnZhbGlkfTsgdGhpcy5jbG9zZWQ9JHt0aGlzLmNsb3NlZH0gdGhpcy50aXRsZVN0cj0ke3RoaXMudGl0bGVTdHJ9YCk7XG4gICAgaWYgKGZvcm0uaW52YWxpZCB8fCB0aGlzLmNsb3NlZCkgcmV0dXJuO1xuICAgIGxldCBzY2hlZHVsZSA9IHRoaXMuZGF0YS5zY2hlZHVsZTtcbiAgICBzY2hlZHVsZS50aXRsZSA9IHRoaXMuZXZlbnRGb3JtLmdldChcInRpdGxlXCIpLnZhbHVlO1xuICAgIHNjaGVkdWxlLmxvY2F0aW9uID0gdGhpcy5ldmVudEZvcm0uZ2V0KFwibG9jYXRpb25cIikudmFsdWU7XG4gICAgc2NoZWR1bGUuaXNBbGxEYXkgPSB0aGlzLmlzQWxsRGF5O1xuICAgIHNjaGVkdWxlLmNhdGVnb3J5ID0gdGhpcy5pc0FsbERheSA/ICdhbGxkYXknIDogJ3RpbWUnOyAgLy8gQ0FURUdPUlkgTVVTVCBCRSBERUZJTkVEOiAnbWlsZXN0b25lJywgJ3Rhc2snLCBhbGxkYXknLCAndGltZSdcbiAgICBpZiAodGhpcy5pc0FsbERheSkge1xuICAgICAgc2NoZWR1bGUuc3RhcnQgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHRoaXMuZXZlbnRGb3JtLmdldChcInN0YXJ0XCIpLnZhbHVlKSBhcyBEYXRlO1xuICAgICAgc2NoZWR1bGUuc3RhcnQuc2V0SG91cnMoMCwgMCwgMCwgMSk7XG4gICAgICBzY2hlZHVsZS5lbmQgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHRoaXMuZXZlbnRGb3JtLmdldChcImVuZFwiKS52YWx1ZSkgYXMgRGF0ZTtcbiAgICAgIHNjaGVkdWxlLmVuZC5zZXRIb3VycygwLCAwLCAwLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHRoaXMuZXZlbnRGb3JtLmdldChcInRpbWUxXCIpLnZhbHVlKSBhcyBEYXRlO1xuICAgICAgc2NoZWR1bGUuc3RhcnQgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHRoaXMuZXZlbnRGb3JtLmdldChcImRhdGVcIikudmFsdWUpIGFzIERhdGU7XG4gICAgICBzY2hlZHVsZS5zdGFydC5zZXRIb3VycyhcbiAgICAgICAgdGhpcy5zdGFydFRpbWUuZ2V0SG91cnMoKSxcbiAgICAgICAgdGhpcy5zdGFydFRpbWUuZ2V0TWludXRlcygpLFxuICAgICAgICB0aGlzLnN0YXJ0VGltZS5nZXRTZWNvbmRzKCksXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZW5kVGltZSA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUodGhpcy5ldmVudEZvcm0uZ2V0KFwidGltZTJcIikudmFsdWUpIGFzIERhdGU7XG4gICAgICBzY2hlZHVsZS5lbmQgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHRoaXMuZXZlbnRGb3JtLmdldChcImRhdGVcIikudmFsdWUpIGFzIERhdGU7XG4gICAgICBzY2hlZHVsZS5lbmQuc2V0SG91cnMoXG4gICAgICAgIHRoaXMuZW5kVGltZS5nZXRIb3VycygpLFxuICAgICAgICB0aGlzLmVuZFRpbWUuZ2V0TWludXRlcygpLFxuICAgICAgICB0aGlzLmVuZFRpbWUuZ2V0U2Vjb25kcygpLFxuICAgICAgICB0aGlzLmVuZFRpbWUuZ2V0TWlsbGlzZWNvbmRzKCksXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyhgcG9wLXVwLWV2ZW50LWVkaXRvci5jb21wb25lbnQudHM6IHVzZXIgY2xpY2tlZCBTQVZFIGV2ZW50PSR7c2NoZWR1bGV9YCk7XG4gICAgLy8gdGhpcy5ldmVudE91dHB1dC5lbWl0KHNjaGVkdWxlKTtcbiAgICBmb3JtLnJlc2V0Rm9ybSgpO1xuICAgIHRoaXMuY2xvc2VNZShzY2hlZHVsZSk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICAvLyB0aGlzLmNhbmNlbGxlZC5lbWl0KCk7XG4gICAgLy8gY29uc29sZS5sb2coJ29wZW5Qb3B1cFNjaGVkdWxlRWRpdG9yOiB1c2VyIGNsaWNrZWQgQ0FOQ0VMJyk7XG4gICAgdGhpcy5jbG9zZU1lKG51bGwpO1xuICB9XG5cbiAgb25EZWxldGUoKSB7XG4gICAgLy8gdGhpcy5jYW5jZWxsZWQuZW1pdCgpO1xuICAgIC8vIGNvbnNvbGUubG9nKCdvcGVuUG9wdXBTY2hlZHVsZUVkaXRvcjogdXNlciBjbGlja2VkIERFTEVURScpO1xuICAgIHRoaXMuY2xvc2VNZSh0aGlzLmRhdGEuc2NoZWR1bGUsIHRydWUpO1xuICB9XG5cblxuICBjbG9zZU1lKHNjaGVkdWxlOiBJU2NoZWR1bGUsIHBlcmZvcm1EZWxldGU/OiBib29sZWFuKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2Nsb3NlTWU6IFRoZSBkaWFsb2cgaXMgY2xvc2luZycsIHNjaGVkdWxlKTtcbiAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBzY2hlZHVsZSwgcGVyZm9ybURlbGV0ZTogKHBlcmZvcm1EZWxldGUgPT0gdHJ1ZSkgfSk7XG4gIH1cblxuICBsb2coc3RyKSB7XG4gICAgLy8gY29uc29sZS53YXJuKHN0cik7XG4gIH1cblxuICBvblVzZUFsbERheSgpIHtcbiAgICB0aGlzLmlzQWxsRGF5ID0gdHJ1ZTtcbiAgfVxuICBvblVzZVRpbWVTbG90KCkge1xuICAgIHRoaXMuaXNBbGxEYXkgPSBmYWxzZTtcbiAgfVxuXG59XG4iLCI8ZGl2IFtjbGFzc05hbWVdPVwiZGF0YS50aGVtZUNsYXNzICsgJyAnICsgJ2V2ZW50LWVkaXRvcidcIj5cbiAgICA8Zm9ybSBpZD1cIm15LWZvcm1cIiBbZm9ybUdyb3VwXT1cImV2ZW50Rm9ybVwiIGNsYXNzPVwiZXZlbnQtZWRpdG9yLWZvcm1cIiAoc3VibWl0KT1cIm9uU2F2ZShwb3N0Rm9ybSk7XCIgI3Bvc3RGb3JtPVwibmdGb3JtXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXRpdGxlXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtjb2xvcl09XCJjb2xvclwiIGNsYXNzPVwiZWRpdG9yLXRpdGxlXCI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwidGl0bGVcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHBsYWNlaG9sZGVyPVwiVGl0bGVcIj5cbiAgICAgICAgICAgIDwhLS0gPG1hdC1lcnJvciBzdHlsZT1cImhlaWdodDogZml0LWNvbnRlbnQ7XCIgKm5nSWY9XCJ0aXRsZS5pbnZhbGlkXCI+UGxlYXNlIGVudGVyIGEgdGl0bGUgKG9mIDEgY2hhcmFjdGVycyBvciBtb3JlKVxuICAgICAgICAgICAgICBmb3JcbiAgICAgICAgICAgICAgeW91ciBldmVudC48L21hdC1lcnJvcj4gLS0+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWxvY2F0aW9uXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtjb2xvcl09XCJjb2xvclwiIGNsYXNzPVwiZWRpdG9yLWxvY2F0aW9uXCI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cImxvY2F0aW9uXCIgbmFtZT1cImxvY2F0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwibG9jYXRpb25cIiBwbGFjZWhvbGRlcj1cIkxvY2F0aW9uXCI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXJhZGlvc1wiIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwIFtjb2xvcl09XCJjb2xvclwiIGFyaWEtbGFiZWw9XCJTZWxlY3QgYW4gb3B0aW9uXCIgIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMWVtO1wiIG5hbWU9XCJzY2hlZHVsZVR5cGVcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2NoZWR1bGVUeXBlXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cImFsbC1kYXlcIiAoY2hhbmdlKT1cIm9uVXNlQWxsRGF5KClcIiBpZD1cImJ1dHRvbi1hbGwtZGF5XCIgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJyYWRpby1idXR0b25cIj5BbGwgRGF5XG4gICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cInRpbWUtc2xvdFwiIChjaGFuZ2UpPVwib25Vc2VUaW1lU2xvdCgpXCIgaWQ9XCJidXR0b24tdGltZS1zbG90XCIgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJyYWRpby1idXR0b25cIj5UaW1lIFNsb3RcbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWRhdGVcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJpc0FsbERheVwiIFtjb2xvcl09XCJjb2xvclwiIGNsYXNzPVwiZGF0ZS1yYW5nZS1mb3JtLWZpZWxkXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWwgW2NvbG9yXT1cImNvbG9yXCI+UGljayBhIERhdGUgUmFuZ2U8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbY29sb3JdPVwiY29sb3JcIiBbcGFuZWxDbGFzc109XCJkYXRhLnRoZW1lQ2xhc3NcIiBbcmFuZ2VQaWNrZXJdPVwicmFuZ2VQaWNrZXJcIiAjZGF0ZVJhbmdlSW5wdXQ+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRTdGFydERhdGUgcGxhY2Vob2xkZXI9XCJTdGFydCBkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIiBuYW1lPVwic3RhcnRcIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdEVuZERhdGUgcGxhY2Vob2xkZXI9XCJFbmQgZGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImVuZFwiIG5hbWU9XCJlbmRcIj5cbiAgICAgICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgW2NvbG9yXT1cImNvbG9yXCIgW3BhbmVsQ2xhc3NdPVwiZGF0YS50aGVtZUNsYXNzXCIgbWF0U3VmZml4IFtmb3JdPVwicmFuZ2VQaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJwaWNrZXJcIiAjcmFuZ2VQaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2NvbG9yXT1cImNvbG9yXCIgKm5nSWY9XCIhaXNBbGxEYXlcIiBjbGFzcz1cImRhdGUtZm9ybS1maWVsZFwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPkNob29zZSBhIGRhdGU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJkcGlja2VyXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVwiIG5hbWU9XCJkYXRlXCI+XG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIFtjb2xvcl09XCJjb2xvclwiIG1hdFN1ZmZpeCBbZm9yXT1cImRwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciBbY29sb3JdPVwiY29sb3JcIiAjZHBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzQWxsRGF5XCIgY2xhc3M9XCJncmlkLXRpbWUgdGltZS1zbG90XCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtjb2xvcl09XCJjb2xvclwiIGNsYXNzPVwiZm9ybS1maWVsZC10aW1lXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+U3RhcnQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRUaW1lcGlja2VyIFtjb2xvcl09XCJjb2xvclwiIFtzdHJpY3RdPVwiZmFsc2VcIiBpZD1cInRpbWVwaWNrZXItc3RhcnRcIiBtb2RlPVwiMTJoXCIgZm9ybUNvbnRyb2xOYW1lPVwidGltZTFcIiBuYW1lPVwidGltZTFcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlBsZWFzZSBzZWxlY3QgdGltZS4uLlwiPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtjb2xvcl09XCJjb2xvclwiIGNsYXNzPVwiZm9ybS1maWVsZC10aW1lXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+RW5kPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0VGltZXBpY2tlciBbY29sb3JdPVwiY29sb3JcIiBbc3RyaWN0XT1cImZhbHNlXCIgaWQ9XCJ0aW1lcGlja2VyLWVuZFwiIG1vZGU9XCIxMmhcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aW1lMlwiIG5hbWU9XCJ0aW1lMlwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGxlYXNlIHNlbGVjdCB0aW1lLi4uXCI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNBbGxEYXlcIiBjbGFzcz1cImdyaWQtZXJyb3JcIj5cbiAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJldmVudEZvcm0uaW52YWxpZFwiPnt7IGV2ZW50Rm9ybS5lcnJvcnM/LmRhdGVzIH19PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBbY29sb3JdPVwiY29sb3JcIiBpZD1cImVkaXRvci1zdWJtaXQtYnV0dG9uXCIgdHlwZT1cInN1Ym1pdFwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA0cHg7XCI+U0FWRTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGlkPVwiZWRpdG9yLWRlbGV0ZS1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRGVsZXRlKClcIiAqbmdJZj1cIihkYXRhLnNjaGVkdWxlLmlkIT1udWxsKVwiPkRFTEVURTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGlkPVwiZWRpdG9yLWNhbmNlbC1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5DQU5DRUw8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+Il19
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LXR1aS1jYWxlbmRhci9zcmMvbGliL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cvbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LXR1aS1jYWxlbmRhci9zcmMvbGliL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cvbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUEyQixNQUFNLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUF1QixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQWdCLGVBQWUsRUFBOEIsTUFBTSwwQkFBMEIsQ0FBQztBQUlyRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7OztBQVM3QyxNQUFNLE9BQU8sc0NBQXNDO0lBZWpELFlBQ2tDLElBQTJCLEVBQ3BELFNBQStEO1FBRXRFLDBGQUEwRjtRQUgxRCxTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUNwRCxjQUFTLEdBQVQsU0FBUyxDQUFzRDtRQWZ4RSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFPeEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBUXRCLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWxELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO2FBQU07WUFDTCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2xDO1NBQ0Y7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRzNFLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFTLENBQUM7UUFDbkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVMsQ0FBQztRQUUvRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUM1QjtZQUNFLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3JDLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzNDLFlBQVksRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3BGLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3RDLEdBQUcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2xDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3JDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3RDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVELEVBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQ3hCLENBQUM7SUFFSixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxTQUFTLEdBQWdCLENBQUMsS0FBZ0IsRUFBMEIsRUFBRTtZQUMxRSxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNyRCxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxJQUFJLFdBQVcsRUFBRTtnQkFDbEQsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3JDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUU7b0JBQ2xCLE9BQU87d0JBQ0wsS0FBSyxFQUFFLDRDQUE0QztxQkFDcEQsQ0FBQztpQkFDSDthQUNGO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBR0QsUUFBUTtRQUNOLHNEQUFzRDtRQUN0RCwrRUFBK0U7UUFDL0UsMkVBQTJFO1FBQzNFLDhDQUE4QztRQUM5QywrQ0FBK0M7UUFDL0MsMkNBQTJDO0lBRTdDLENBQUM7SUFJRCxNQUFNLENBQUMsSUFBWTtRQUNqQixpSEFBaUg7UUFDakgsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN4QyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuRCxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN6RCxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFFLGlFQUFpRTtRQUN6SCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsUUFBUSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBUyxDQUFDO1lBQ3RGLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQVMsQ0FBQztZQUNsRixRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBUyxDQUFDO1lBQ3RGLFFBQVEsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQVMsQ0FBQztZQUNyRixRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FDakMsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQVMsQ0FBQztZQUNwRixRQUFRLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFTLENBQUM7WUFDbkYsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQy9CLENBQUM7U0FDSDtRQUNELHdGQUF3RjtRQUN4RixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDTix5QkFBeUI7UUFDekIsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTix5QkFBeUI7UUFDekIsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdELE9BQU8sQ0FBQyxRQUFtQixFQUFFLGFBQXVCO1FBQ2xELDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBRztRQUNMLHFCQUFxQjtJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQzs7b0lBN0pVLHNDQUFzQyxrQkFnQnZDLGVBQWU7d0hBaEJkLHNDQUFzQywwRUNmbkQsKzNJQWlFUTs0RkRsREssc0NBQXNDO2tCQUxsRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFdBQVcsRUFBRSxxREFBcUQ7b0JBQ2xFLFNBQVMsRUFBRSxDQUFDLHFEQUFxRCxDQUFDO2lCQUNuRTs7MEJBaUJJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRGF0ZVR5cGUsIGRlZmF1bHQgYXMgQ2FsZW5kYXIsIElFdmVudFNjaGVkdWxlT2JqZWN0LCBJU2NoZWR1bGUsIFRaRGF0ZSB9IGZyb20gJ3R1aS1jYWxlbmRhcic7XG5cbmltcG9ydCB7IExvY2FsRGF0ZSB9IGZyb20gJy4uL2xvY2FsLWRhdGUuanMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFZGl0b3JPcHRpb25zIH0gZnJvbSAnLi4vY2FsZW5kYXItZWRpdG9yLW9wdGlvbnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXRUdWlDYWxlbmRhckVkaXRvckRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgaWQ6IHN0cmluZztcbiAgdGl0bGVTdHI6IHN0cmluZyA9ICcnO1xuICBsb2NhdGlvblN0cjogc3RyaW5nID0gJyc7XG4gIGNsb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBldmVudEZvcm06IEZvcm1Hcm91cDtcbiAgZGF0ZTogRGF0ZTtcbiAgc3RhcnREYXRlOiBEYXRlO1xuICBlbmREYXRlOiBEYXRlO1xuICBzdGFydFRpbWU6IERhdGU7XG4gIGVuZFRpbWU6IERhdGU7XG4gIGlzQWxsRGF5OiBib29sZWFuID0gZmFsc2U7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHRoZW1lQ2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQ2FsZW5kYXJFZGl0b3JPcHRpb25zLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxOZ3hNYXRUdWlDYWxlbmRhckVkaXRvckRpYWxvZ0NvbXBvbmVudD4sXG4gICkge1xuICAgIC8vIGNvbnNvbGUubG9nKCdOZ3hNYXRUdWlDYWxlbmRhckVkaXRvckRpYWxvZ0NvbXBvbmVudC5jb25zdHJ1Y3Rvcjogc2NoZWR1bGU6Jywgc2NoZWR1bGUpO1xuXG4gICAgLy8gY29uc29sZS5sb2coJ05neE1hdFR1aUNhbGVuZGFyRWRpdG9yRGlhbG9nQ29tcG9uZW50LmNvbnN0cnVjdG9yOiBkYXRhOicsIGRhdGEpO1xuICAgIHRoaXMuY29sb3IgPSBkYXRhLmRhcmtNb2RlID8gJ2FjY2VudCcgOiAncHJpbWFyeSc7XG5cbiAgICBjb25zdCBzY2hlZHVsZSA9IGRhdGEuc2NoZWR1bGU7XG4gICAgaWYgKHNjaGVkdWxlID09IG51bGwpIHtcbiAgICAgIHRoaXMuaWQgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc2NoZWR1bGUuaWQpIHtcbiAgICAgICAgdGhpcy5pZCA9IHNjaGVkdWxlLmlkLnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudGl0bGVTdHIgPSAoc2NoZWR1bGUudGl0bGUpID8gc2NoZWR1bGUudGl0bGUudG9TdHJpbmcoKSA6ICcnO1xuICAgIHRoaXMubG9jYXRpb25TdHIgPSAoc2NoZWR1bGUubG9jYXRpb24pID8gc2NoZWR1bGUubG9jYXRpb24udG9TdHJpbmcoKSA6ICcnO1xuXG5cbiAgICB0aGlzLmlzQWxsRGF5ID0gKHNjaGVkdWxlLmlzQWxsRGF5ID09IHRydWUpO1xuXG4gICAgdGhpcy5zdGFydERhdGUgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHNjaGVkdWxlLnN0YXJ0KSBhcyBEYXRlO1xuICAgIHRoaXMuZW5kRGF0ZSA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUoc2NoZWR1bGUuZW5kKSBhcyBEYXRlO1xuXG4gICAgdGhpcy5zdGFydFRpbWUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5lbmRUaW1lID0gbmV3IERhdGUodGhpcy5lbmREYXRlKTtcbiAgICB0aGlzLnN0YXJ0RGF0ZS5zZXRIb3VycygwLCAwLCAwLCAxKTtcbiAgICB0aGlzLmVuZERhdGUuc2V0SG91cnMoMCwgMCwgMCwgMSk7XG5cbiAgICB0aGlzLmV2ZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy50aXRsZVN0ciksXG4gICAgICAgIGxvY2F0aW9uOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5sb2NhdGlvblN0ciksXG4gICAgICAgIHNjaGVkdWxlVHlwZTogbmV3IEZvcm1Db250cm9sKChzY2hlZHVsZS5pc0FsbERheSA9PSB0cnVlKSA/IFwiYWxsLWRheVwiIDogXCJ0aW1lLXNsb3RcIiksXG4gICAgICAgIHN0YXJ0OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5zdGFydERhdGUpLFxuICAgICAgICBlbmQ6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVuZERhdGUpLFxuICAgICAgICBkYXRlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5zdGFydERhdGUpLFxuICAgICAgICB0aW1lMTogbmV3IEZvcm1Db250cm9sKHRoaXMuc3RhcnRUaW1lKSxcbiAgICAgICAgdGltZTI6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmVuZFRpbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgICB9LFxuICAgICAgdGhpcy5nZXREYXRlVmFsaWRhdG9yKCksXG4gICAgKTtcblxuICB9XG5cbiAgZ2V0RGF0ZVZhbGlkYXRvcigpIHtcbiAgICBjb25zdCB2YWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKGdyb3VwOiBGb3JtR3JvdXApOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgIGNvbnN0IHNjaGVkdWxlVHlwZSA9IGdyb3VwLmdldChcInNjaGVkdWxlVHlwZVwiKS52YWx1ZTtcbiAgICAgIGlmIChncm91cC5nZXQoXCJzY2hlZHVsZVR5cGVcIikudmFsdWUgPT0gXCJ0aW1lLXNsb3RcIikge1xuICAgICAgICBsZXQgdGltZTEgPSBncm91cC5nZXQoXCJ0aW1lMVwiKS52YWx1ZTtcbiAgICAgICAgbGV0IHRpbWUyID0gZ3JvdXAuZ2V0KFwidGltZTJcIikudmFsdWU7XG4gICAgICAgIGlmICh0aW1lMSA+PSB0aW1lMikge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRlczogXCJFbmQgdGltZSBtdXN0IGJlIGxhdGVyIHRoYW4gdGhlIHN0YXJ0IHRpbWVcIlxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9O1xuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cblxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIGNvbnNvbGUuZGlyKGBEaWFsb2cgY29uZmlnOiAke3RoaXMuZGlhbG9nQ29uZmlnfWApO1xuICAgIC8vIGxldCBzdGFydDogRGF0ZSA9IChMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKHRoaXMuc2NoZWR1bGUuc3RhcnQpKS50b0RhdGUoKTtcbiAgICAvLyBsZXQgZW5kOiBEYXRlID0gKExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUodGhpcy5zY2hlZHVsZS5lbmQpKS50b0RhdGUoKTtcbiAgICAvLyB0aGlzLmV2ZW50Rm9ybS5nZXQoXCJkYXRlXCIpLnNldFZhbHVlKHN0YXJ0KTtcbiAgICAvLyB0aGlzLmV2ZW50Rm9ybS5nZXQoXCJzdGFydFwiKS5zZXRWYWx1ZShzdGFydCk7XG4gICAgLy8gdGhpcy5ldmVudEZvcm0uZ2V0KFwiZW5kXCIpLnNldFZhbHVlKGVuZCk7XG5cbiAgfVxuXG5cblxuICBvblNhdmUoZm9ybTogTmdGb3JtKSB7XG4gICAgLy8gY29uc29sZS5sb2coYG9uU2F2ZSBmb3JtLmludmFsaWQ9JHtmb3JtLmludmFsaWR9OyB0aGlzLmNsb3NlZD0ke3RoaXMuY2xvc2VkfSB0aGlzLnRpdGxlU3RyPSR7dGhpcy50aXRsZVN0cn1gKTtcbiAgICBpZiAoZm9ybS5pbnZhbGlkIHx8IHRoaXMuY2xvc2VkKSByZXR1cm47XG4gICAgbGV0IHNjaGVkdWxlID0gdGhpcy5kYXRhLnNjaGVkdWxlO1xuICAgIHNjaGVkdWxlLnRpdGxlID0gdGhpcy5ldmVudEZvcm0uZ2V0KFwidGl0bGVcIikudmFsdWU7XG4gICAgc2NoZWR1bGUubG9jYXRpb24gPSB0aGlzLmV2ZW50Rm9ybS5nZXQoXCJsb2NhdGlvblwiKS52YWx1ZTtcbiAgICBzY2hlZHVsZS5pc0FsbERheSA9IHRoaXMuaXNBbGxEYXk7XG4gICAgc2NoZWR1bGUuY2F0ZWdvcnkgPSB0aGlzLmlzQWxsRGF5ID8gJ2FsbGRheScgOiAndGltZSc7ICAvLyBDQVRFR09SWSBNVVNUIEJFIERFRklORUQ6ICdtaWxlc3RvbmUnLCAndGFzaycsIGFsbGRheScsICd0aW1lJ1xuICAgIGlmICh0aGlzLmlzQWxsRGF5KSB7XG4gICAgICBzY2hlZHVsZS5zdGFydCA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUodGhpcy5ldmVudEZvcm0uZ2V0KFwic3RhcnRcIikudmFsdWUpIGFzIERhdGU7XG4gICAgICBzY2hlZHVsZS5zdGFydC5zZXRIb3VycygwLCAwLCAwLCAxKTtcbiAgICAgIHNjaGVkdWxlLmVuZCA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUodGhpcy5ldmVudEZvcm0uZ2V0KFwiZW5kXCIpLnZhbHVlKSBhcyBEYXRlO1xuICAgICAgc2NoZWR1bGUuZW5kLnNldEhvdXJzKDAsIDAsIDAsIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUodGhpcy5ldmVudEZvcm0uZ2V0KFwidGltZTFcIikudmFsdWUpIGFzIERhdGU7XG4gICAgICBzY2hlZHVsZS5zdGFydCA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUodGhpcy5ldmVudEZvcm0uZ2V0KFwiZGF0ZVwiKS52YWx1ZSkgYXMgRGF0ZTtcbiAgICAgIHNjaGVkdWxlLnN0YXJ0LnNldEhvdXJzKFxuICAgICAgICB0aGlzLnN0YXJ0VGltZS5nZXRIb3VycygpLFxuICAgICAgICB0aGlzLnN0YXJ0VGltZS5nZXRNaW51dGVzKCksXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lLmdldFNlY29uZHMoKSxcbiAgICAgICAgdGhpcy5zdGFydFRpbWUuZ2V0TWlsbGlzZWNvbmRzKCksXG4gICAgICApO1xuICAgICAgdGhpcy5lbmRUaW1lID0gTG9jYWxEYXRlLmNvbnZlcnRUb0pzRGF0ZSh0aGlzLmV2ZW50Rm9ybS5nZXQoXCJ0aW1lMlwiKS52YWx1ZSkgYXMgRGF0ZTtcbiAgICAgIHNjaGVkdWxlLmVuZCA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUodGhpcy5ldmVudEZvcm0uZ2V0KFwiZGF0ZVwiKS52YWx1ZSkgYXMgRGF0ZTtcbiAgICAgIHNjaGVkdWxlLmVuZC5zZXRIb3VycyhcbiAgICAgICAgdGhpcy5lbmRUaW1lLmdldEhvdXJzKCksXG4gICAgICAgIHRoaXMuZW5kVGltZS5nZXRNaW51dGVzKCksXG4gICAgICAgIHRoaXMuZW5kVGltZS5nZXRTZWNvbmRzKCksXG4gICAgICAgIHRoaXMuZW5kVGltZS5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGNvbnNvbGUubG9nKGBwb3AtdXAtZXZlbnQtZWRpdG9yLmNvbXBvbmVudC50czogdXNlciBjbGlja2VkIFNBVkUgZXZlbnQ9JHtzY2hlZHVsZX1gKTtcbiAgICAvLyB0aGlzLmV2ZW50T3V0cHV0LmVtaXQoc2NoZWR1bGUpO1xuICAgIGZvcm0ucmVzZXRGb3JtKCk7XG4gICAgdGhpcy5jbG9zZU1lKHNjaGVkdWxlKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIC8vIHRoaXMuY2FuY2VsbGVkLmVtaXQoKTtcbiAgICAvLyBjb25zb2xlLmxvZygnb3BlblBvcHVwU2NoZWR1bGVFZGl0b3I6IHVzZXIgY2xpY2tlZCBDQU5DRUwnKTtcbiAgICB0aGlzLmNsb3NlTWUobnVsbCk7XG4gIH1cblxuICBvbkRlbGV0ZSgpIHtcbiAgICAvLyB0aGlzLmNhbmNlbGxlZC5lbWl0KCk7XG4gICAgLy8gY29uc29sZS5sb2coJ29wZW5Qb3B1cFNjaGVkdWxlRWRpdG9yOiB1c2VyIGNsaWNrZWQgREVMRVRFJyk7XG4gICAgdGhpcy5jbG9zZU1lKHRoaXMuZGF0YS5zY2hlZHVsZSwgdHJ1ZSk7XG4gIH1cblxuXG4gIGNsb3NlTWUoc2NoZWR1bGU6IElTY2hlZHVsZSwgcGVyZm9ybURlbGV0ZT86IGJvb2xlYW4pIHtcbiAgICAvLyBjb25zb2xlLmxvZygnY2xvc2VNZTogVGhlIGRpYWxvZyBpcyBjbG9zaW5nJywgc2NoZWR1bGUpO1xuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IHNjaGVkdWxlLCBwZXJmb3JtRGVsZXRlOiAocGVyZm9ybURlbGV0ZSA9PSB0cnVlKSB9KTtcbiAgfVxuXG4gIGxvZyhzdHIpIHtcbiAgICAvLyBjb25zb2xlLndhcm4oc3RyKTtcbiAgfVxuXG4gIG9uVXNlQWxsRGF5KCkge1xuICAgIHRoaXMuaXNBbGxEYXkgPSB0cnVlO1xuICB9XG4gIG9uVXNlVGltZVNsb3QoKSB7XG4gICAgdGhpcy5pc0FsbERheSA9IGZhbHNlO1xuICB9XG5cbn1cbiIsIjxkaXYgW2NsYXNzTmFtZV09XCJkYXRhLnRoZW1lQ2xhc3MgKyAnICcgKyAnZXZlbnQtZWRpdG9yJ1wiPlxuICAgIDxmb3JtIGlkPVwibXktZm9ybVwiIFtmb3JtR3JvdXBdPVwiZXZlbnRGb3JtXCIgY2xhc3M9XCJldmVudC1lZGl0b3ItZm9ybVwiIChzdWJtaXQpPVwib25TYXZlKHBvc3RGb3JtKTtcIiAjcG9zdEZvcm09XCJuZ0Zvcm1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtdGl0bGVcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJlZGl0b3ItdGl0bGVcIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9XCJ0aXRsZVwiIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcGxhY2Vob2xkZXI9XCJUaXRsZVwiPlxuICAgICAgICAgICAgPCEtLSA8bWF0LWVycm9yIHN0eWxlPVwiaGVpZ2h0OiBmaXQtY29udGVudDtcIiAqbmdJZj1cInRpdGxlLmludmFsaWRcIj5QbGVhc2UgZW50ZXIgYSB0aXRsZSAob2YgMSBjaGFyYWN0ZXJzIG9yIG1vcmUpXG4gICAgICAgICAgICAgIGZvclxuICAgICAgICAgICAgICB5b3VyIGV2ZW50LjwvbWF0LWVycm9yPiAtLT5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtbG9jYXRpb25cIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJlZGl0b3ItbG9jYXRpb25cIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibG9jYXRpb25cIiBuYW1lPVwibG9jYXRpb25cIiBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvblwiIHBsYWNlaG9sZGVyPVwiTG9jYXRpb25cIj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtcmFkaW9zXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgW2NvbG9yXT1cImNvbG9yXCIgYXJpYS1sYWJlbD1cIlNlbGVjdCBhbiBvcHRpb25cIiAgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxZW07XCIgbmFtZT1cInNjaGVkdWxlVHlwZVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY2hlZHVsZVR5cGVcIiByZXF1aXJlZD5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwiYWxsLWRheVwiIChjaGFuZ2UpPVwib25Vc2VBbGxEYXkoKVwiIGlkPVwiYnV0dG9uLWFsbC1kYXlcIiBbY29sb3JdPVwiY29sb3JcIiBjbGFzcz1cInJhZGlvLWJ1dHRvblwiPkFsbCBEYXlcbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwidGltZS1zbG90XCIgKGNoYW5nZSk9XCJvblVzZVRpbWVTbG90KClcIiBpZD1cImJ1dHRvbi10aW1lLXNsb3RcIiBbY29sb3JdPVwiY29sb3JcIiBjbGFzcz1cInJhZGlvLWJ1dHRvblwiPlRpbWUgU2xvdFxuICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtZGF0ZVwiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImlzQWxsRGF5XCIgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJkYXRlLXJhbmdlLWZvcm0tZmllbGRcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCBbY29sb3JdPVwiY29sb3JcIj5QaWNrIGEgRGF0ZSBSYW5nZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0IFtjb2xvcl09XCJjb2xvclwiIFtwYW5lbENsYXNzXT1cImRhdGEudGhlbWVDbGFzc1wiIFtyYW5nZVBpY2tlcl09XCJyYW5nZVBpY2tlclwiICNkYXRlUmFuZ2VJbnB1dD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZSBwbGFjZWhvbGRlcj1cIlN0YXJ0IGRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiIG5hbWU9XCJzdGFydFwiPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0RW5kRGF0ZSBwbGFjZWhvbGRlcj1cIkVuZCBkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW5kXCIgbmFtZT1cImVuZFwiPlxuICAgICAgICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cbiAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBbY29sb3JdPVwiY29sb3JcIiBbcGFuZWxDbGFzc109XCJkYXRhLnRoZW1lQ2xhc3NcIiBtYXRTdWZmaXggW2Zvcl09XCJyYW5nZVBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciBbY29sb3JdPVwiY29sb3JcIiBjbGFzcz1cInBpY2tlclwiICNyYW5nZVBpY2tlcj48L21hdC1kYXRlLXJhbmdlLXBpY2tlcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBbY29sb3JdPVwiY29sb3JcIiAqbmdJZj1cIiFpc0FsbERheVwiIGNsYXNzPVwiZGF0ZS1mb3JtLWZpZWxkXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+Q2hvb3NlIGEgZGF0ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cImRwaWNrZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJkYXRlXCIgbmFtZT1cImRhdGVcIj5cbiAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgW2NvbG9yXT1cImNvbG9yXCIgbWF0U3VmZml4IFtmb3JdPVwiZHBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyIFtjb2xvcl09XCJjb2xvclwiICNkcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNBbGxEYXlcIiBjbGFzcz1cImdyaWQtdGltZSB0aW1lLXNsb3RcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJmb3JtLWZpZWxkLXRpbWVcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5TdGFydDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdFRpbWVwaWNrZXIgW2NvbG9yXT1cImNvbG9yXCIgW3N0cmljdF09XCJmYWxzZVwiIGlkPVwidGltZXBpY2tlci1zdGFydFwiIG1vZGU9XCIxMmhcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aW1lMVwiIG5hbWU9XCJ0aW1lMVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGxlYXNlIHNlbGVjdCB0aW1lLi4uXCI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2NvbG9yXT1cImNvbG9yXCIgY2xhc3M9XCJmb3JtLWZpZWxkLXRpbWVcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5FbmQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRUaW1lcGlja2VyIFtjb2xvcl09XCJjb2xvclwiIFtzdHJpY3RdPVwiZmFsc2VcIiBpZD1cInRpbWVwaWNrZXItZW5kXCIgbW9kZT1cIjEyaFwiIGZvcm1Db250cm9sTmFtZT1cInRpbWUyXCIgbmFtZT1cInRpbWUyXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQbGVhc2Ugc2VsZWN0IHRpbWUuLi5cIj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFpc0FsbERheVwiIGNsYXNzPVwiZ3JpZC1lcnJvclwiPlxuICAgICAgICAgIDxsYWJlbCAqbmdJZj1cImV2ZW50Rm9ybS5pbnZhbGlkXCI+e3sgZXZlbnRGb3JtLmVycm9ycz8uZGF0ZXMgfX08L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLWZvb3RlclwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtjb2xvcl09XCJjb2xvclwiIGlkPVwiZWRpdG9yLXN1Ym1pdC1idXR0b25cIiB0eXBlPVwic3VibWl0XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDRweDtcIj5TQVZFPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gaWQ9XCJlZGl0b3ItZGVsZXRlLWJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25EZWxldGUoKVwiICpuZ0lmPVwiKGRhdGEuc2NoZWR1bGUuaWQhPW51bGwpXCI+REVMRVRFPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gaWQ9XCJlZGl0b3ItY2FuY2VsLWJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPkNBTkNFTDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj4iXX0=
|
@@ -525,4 +525,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
525
525
|
}], options: [{
|
526
526
|
type: Input
|
527
527
|
}] } });
|
528
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hdC10dWktY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdC10dWktY2FsZW5kYXIvc3JjL2xpYi9uZ3gtbWF0LXR1aS1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LXR1aS1jYWxlbmRhci9zcmMvbGliL25neC1tYXQtdHVpLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE9BQU8sY0FBYyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFDTCxlQUFlLEVBR2YsT0FBTyxFQUNQLFNBQVMsRUFFVCxTQUFTLEVBQ1QsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLE9BQU8sSUFBSSxRQUFRLEdBYXBCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLFdBQVc7QUFDWCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUZBQW1GLENBQUM7Ozs7Ozs7O0FBVzNJLE1BQU0sT0FBTywwQkFBMEI7SUFzQnJDLFlBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFyQnJDLGNBQVMsR0FBRyxlQUFlLENBQUM7UUFDNUIsZ0NBQWdDO1FBQ2hDLGlDQUFpQztRQUNqQyxhQUFRLEdBQUcsV0FBVyxDQUFDO1FB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QkFQdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUU7d0JBQ1QsdUNBQXVDO3FCQUN4QztpQkFDRjtnR0FpQlcsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgZGlzdGluY3RDb2xvcnMgZnJvbSAnZGlzdGluY3QtY29sb3JzJztcclxuaW1wb3J0IHsgQ29sb3IgfSBmcm9tIFwiY2hyb21hLWpzXCI7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBmYUNhbGVuZGFyQ2hlY2ssXHJcbiAgZmFDYXJldFNxdWFyZUxlZnQsXHJcbiAgZmFDYXJldFNxdWFyZVJpZ2h0LFxyXG4gIGZhVGFibGUsXHJcbiAgZmFDb2x1bW5zLFxyXG4gIGZhTGlzdCxcclxuICBmYUxpc3RBbHQsXHJcbiAgZmFGb3J3YXJkLFxyXG4gIGZhRmFzdEJhY2t3YXJkLFxyXG4gIGZhQmFja3dhcmQsXHJcbiAgZmFDYXJldExlZnQsXHJcbiAgZmFDYXJldFJpZ2h0LFxyXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdCBhcyBDYWxlbmRhcixcclxuICBJQ2FsZW5kYXJJbmZvLFxyXG4gIElFdmVudERhdGVPYmplY3QsXHJcbiAgSUV2ZW50TW9yZU9iamVjdCxcclxuICBJRXZlbnRPYmplY3QsXHJcbiAgSUV2ZW50U2NoZWR1bGVPYmplY3QsXHJcbiAgSU9wdGlvbnMsXHJcbiAgSVNjaGVkdWxlLFxyXG4gIElUaGVtZSxcclxuICBJVGltZXpvbmUsXHJcbiAgSVdlZWtPcHRpb25zLFxyXG4gIFRFdmVudEJlZm9yZUNyZWF0ZVNjaGVkdWxlLFxyXG4gIFRaRGF0ZSxcclxufSBmcm9tICd0dWktY2FsZW5kYXInO1xyXG5cclxuLy8gcHJvamVjdCBcclxuaW1wb3J0IHsgTG9jYWxEYXRlIH0gZnJvbSAnLi9sb2NhbC1kYXRlLmpzJztcclxuaW1wb3J0IHsgTmd4TWF0VHVpQ2FsZW5kYXJFZGl0b3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cvbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck9wdGlvbnMgfSBmcm9tICcuL2NhbGVuZGFyLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckVkaXRvck9wdGlvbnMgfSBmcm9tICcuL2NhbGVuZGFyLWVkaXRvci1vcHRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LW1hdC10dWktY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3gtbWF0LXR1aS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9uZ3gtbWF0LXR1aS1jYWxlbmRhci5jb21wb25lbnQuc2NzcydcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4TWF0VHVpQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBpY29uVG9kYXkgPSBmYUNhbGVuZGFyQ2hlY2s7XHJcbiAgLy8gaWNvblByZXYgPSBmYUNhcmV0U3F1YXJlTGVmdDtcclxuICAvLyBpY29uTmV4dCA9IGZhQ2FyZXRTcXVhcmVSaWdodDtcclxuICBpY29uUHJldiA9IGZhQ2FyZXRMZWZ0O1xyXG4gIGljb25OZXh0ID0gZmFDYXJldFJpZ2h0O1xyXG4gIGljb25Mb25nUHJldiA9IGZhQmFja3dhcmQ7XHJcbiAgaWNvbkxvbmdOZXh0ID0gZmFGb3J3YXJkO1xyXG4gIGljb25CeU1vbnRoID0gZmFUYWJsZTtcclxuICBpY29uQnlXZWVrID0gZmFDb2x1bW5zO1xyXG4gIGljb25CeURheSA9IGZhTGlzdEFsdDtcclxuXHJcbiAgY2FsZW5kYXI6IENhbGVuZGFyOyAgLy8gdGhlIFRVSSBDYWxlbmRhciBPYmplY3RcclxuICBjYWxlbmRhcklkOiBzdHJpbmc7XHJcbiAgY29sb3JzOiBDb2xvcltdO1xyXG4gIGNvbG9ySW5kZXg6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgdXNlckNyZWF0ZWRTY2hlZHVsZTogRXZlbnRFbWl0dGVyPElTY2hlZHVsZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHVzZXJVcGRhdGVkU2NoZWR1bGU6IEV2ZW50RW1pdHRlcjxJU2NoZWR1bGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB1c2VyRGVsZXRlZFNjaGVkdWxlOiBFdmVudEVtaXR0ZXI8SVNjaGVkdWxlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBvcHRpb25zOiBDYWxlbmRhck9wdGlvbnM7XHJcbiAgYXBwbGllZE9wdGlvbnM6IENhbGVuZGFyT3B0aW9uczsgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHdoZW4gb3B0aW9ucyBpcyBub3QgY29ubmVjdGVkXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIC8vIHdlIHNsaWNlIG9mZiB0aGUgZmlyc3QgY29sb3Igc2luY2UgaXQgaXMgZ3JheVxyXG4gICAgdGhpcy5jb2xvcnMgPSBkaXN0aW5jdENvbG9ycyh7IGxpZ2h0TWluOiA3MCwgY291bnQ6IDE1IH0pLnNsaWNlKDEpO1xyXG4gICAgdGhpcy5jb2xvckluZGV4ID0gMDtcclxuICAgIHRoaXMuY2FsZW5kYXJJZCA9IHV1aWR2NCgpO1xyXG5cclxuICAgIHRoaXMuYXBwbGllZE9wdGlvbnMgPSB0aGlzLmdldERlZmF1bHRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIGNvbnNvbGUud2FybihgY2FsZW5kYXIuY29tcG9uZW50LnRzOiBuZ09uaXRgKVxyXG4gICAgdGhpcy5jcmVhdGVUVUlDYWxlbmRhcigpO1xyXG4gICAgdGhpcy5iaW5kQ2FsbGJhY2tzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLndhcm4oY2hhbmdlcyk7XHJcbiAgICBpZiAodGhpcy5jYWxlbmRhcikge1xyXG5cclxuICAgICAgaWYgKGNoYW5nZXMub3B0aW9ucykge1xyXG4gICAgICAgIC8vIGNvbnNvbGUud2FybihgY2hhbmdlLm9wdGlvbjpgLCBjaGFuZ2VzLm9wdGlvbnMpO1xyXG4gICAgICAgIGxldCBvcHRpb25zID0gY2hhbmdlcy5vcHRpb25zLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuY2FsZW5kYXIuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgb25DYWxlbmRhckxvbmdQcmV2KCkge1xyXG4gICAgbGV0IGRhdGU6IERhdGUgPSAodGhpcy5jYWxlbmRhci5nZXREYXRlKCkgYXMgVFpEYXRlKS50b0RhdGUoKTtcclxuICAgIGxldCBkYXlzID0gMDtcclxuICAgIGxldCBtb250aHMgPSAwO1xyXG4gICAgbGV0IHllYXJzID0gMDtcclxuICAgIHN3aXRjaCAodGhpcy5jYWxlbmRhci5nZXRWaWV3TmFtZSgpKSB7XHJcbiAgICAgIGNhc2UgJ2RheSc6XHJcbiAgICAgICAgZGF5cyA9IC03O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd3ZWVrJzpcclxuICAgICAgICBkYXlzID0gLTI4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgeWVhcnMgPSAtMTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsgeWVhcnMpO1xyXG4gICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBtb250aHMpOyAgLy8gZGF0ZSBjbGFzcyBkb2VzIHRoZSBtb2R1bGFyIGFyaXRobWV0aWNcclxuICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIGRheXMpOyAgLy8gZGF0ZSBjbGFzcyBkb2VzIHRoZSBtb2R1bGFyIGFyaXRobWV0aWNcclxuICAgIHRoaXMuY2FsZW5kYXIuc2V0RGF0ZShkYXRlKTtcclxuICB9XHJcblxyXG4gIG9uQ2FsZW5kYXJQcmV2KCkge1xyXG4gICAgdGhpcy5jYWxlbmRhci5wcmV2KCk7XHJcbiAgfVxyXG5cclxuICBvbkNhbGVuZGFyVG9kYXkoKSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnRvZGF5KCk7XHJcbiAgfVxyXG5cclxuICBvbkNhbGVuZGFyTmV4dCgpIHtcclxuICAgIHRoaXMuY2FsZW5kYXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgb25DYWxlbmRhckxvbmdOZXh0KCkge1xyXG4gICAgbGV0IGRhdGU6IERhdGUgPSAodGhpcy5jYWxlbmRhci5nZXREYXRlKCkgYXMgVFpEYXRlKS50b0RhdGUoKTtcclxuICAgIGxldCBkYXlzID0gMDtcclxuICAgIGxldCBtb250aHMgPSAwO1xyXG4gICAgbGV0IHllYXJzID0gMDtcclxuICAgIHN3aXRjaCAodGhpcy5jYWxlbmRhci5nZXRWaWV3TmFtZSgpKSB7XHJcbiAgICAgIGNhc2UgJ2RheSc6XHJcbiAgICAgICAgZGF5cyA9IDc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3dlZWsnOlxyXG4gICAgICAgIGRheXMgPSAyODtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgIHllYXJzID0gMTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsgeWVhcnMpO1xyXG4gICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBtb250aHMpOyAgLy8gZGF0ZSBjbGFzcyBkb2VzIHRoZSBtb2R1bGFyIGFyaXRobWV0aWNcclxuICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIGRheXMpOyAgLy8gZGF0ZSBjbGFzcyBkb2VzIHRoZSBtb2R1bGFyIGFyaXRobWV0aWNcclxuICAgIHRoaXMuY2FsZW5kYXIuc2V0RGF0ZShkYXRlKTtcclxuICB9XHJcblxyXG5cclxuICBvbk1vbnRoVmlldygpIHtcclxuICAgIHRoaXMuY2FsZW5kYXIuY2hhbmdlVmlldygnbW9udGgnKTtcclxuICB9XHJcblxyXG4gIG9uV2Vla1ZpZXcoKSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyLmNoYW5nZVZpZXcoJ3dlZWsnKTtcclxuICB9XHJcblxyXG4gIG9uRGF5VmlldygpIHtcclxuICAgIHRoaXMuY2FsZW5kYXIuY2hhbmdlVmlldygnZGF5Jyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0RGF0ZSgpIHtcclxuICAgIGxldCBkYXRlID0gdGhpcy5jYWxlbmRhci5nZXREYXRlKCk7XHJcbiAgICBsZXQgc3RyID0gZGF0ZS50b0RhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoXCJlbi1VU1wiLCB7XHJcbiAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgICAgbW9udGg6ICdzaG9ydCcsXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVUVUlDYWxlbmRhcigpIHtcclxuICAgIGxldCBpb3B0aW9ucyA9IHRoaXMucHJlcHJvY2Vzc0lPcHRpb25zKG51bGwpO1xyXG4gICAgLy8gY29uc29sZS53YXJuKGBjYWxlbmRhci5jb21wb25lbnQudHM6IGNyZWF0ZVRVSUNhbGVuZGFyOiBpb3B0aW9uczpgLCBpb3B0aW9ucyk7XHJcbiAgICB0aGlzLmNhbGVuZGFyID0gbmV3IENhbGVuZGFyKCcjY2FsZW5kYXInLCBpb3B0aW9ucyk7XHJcbiAgICAvLyBjb25zb2xlLndhcm4oYGNhbGVuZGFyLmNvbXBvbmVudC50czogY3JlYXRlVFVJQ2FsZW5kYXI6IHRoaXMuY2FsZW5kYXI6YCwgdGhpcy5jYWxlbmRhcik7XHJcbiAgfVxyXG5cclxuXHJcbiAgYmluZENhbGxiYWNrcygpIHtcclxuICAgIHRoaXMuYmluZEFmdGVyUmVuZGVyU2NoZWR1bGUoKTtcclxuICAgIHRoaXMuYmluZENsaWNrVGltZXpvbmVzQ29sbGFwc2VCdG4oKTtcclxuICAgIHRoaXMuYmluZENsaWNrRGF5bmFtZSgpO1xyXG4gICAgdGhpcy5iaW5kQ2xpY2tNb3JlKCk7XHJcbiAgICB0aGlzLmJpbmRDbGlja1NjaGVkdWxlKCk7XHJcbiAgICB0aGlzLmJpbmRCZWZvcmVDcmVhdGVTY2hlZHVsZSgpO1xyXG4gICAgdGhpcy5iaW5kQmVmb3JlVXBkYXRlU2NoZWR1bGUoKTtcclxuICAgIHRoaXMuYmluZEJlZm9yZURlbGV0ZVNjaGVkdWxlKCk7XHJcbiAgfVxyXG5cclxuICBiaW5kQWZ0ZXJSZW5kZXJTY2hlZHVsZSgpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoaXMuY2FsZW5kYXIub24oJ2FmdGVyUmVuZGVyU2NoZWR1bGUnLCBmdW5jdGlvbiAoZXZlbnQ6IHsgc2NoZWR1bGU6IElTY2hlZHVsZSB9KSB7XHJcbiAgICAgIC8vIGNvbnNvbGUud2FybihgYWZ0ZXJSZW5kZXJTY2hlZHVsZWAsIGV2ZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYmluZENsaWNrVGltZXpvbmVzQ29sbGFwc2VCdG4oKSB7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICB0aGlzLmNhbGVuZGFyLm9uKCdjbGlja1RpbWV6b25lc0NvbGxhcHNlQnRuJywgZnVuY3Rpb24gKHRpbWV6b25lc0NvbGxhcHNlZDogYm9vbGVhbikge1xyXG4gICAgICAvLyBjb25zb2xlLndhcm4oYGNsaWNrVGltZXpvbmVzQ29sbGFwc2VCdG5gLCB0aW1lem9uZXNDb2xsYXBzZWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYmluZENsaWNrRGF5bmFtZSgpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoaXMuY2FsZW5kYXIub24oJ2NsaWNrRGF5bmFtZScsIGZ1bmN0aW9uIChldmVudDogSUV2ZW50RGF0ZU9iamVjdCkge1xyXG4gICAgICAvLyBjb25zb2xlLndhcm4oYGNsaWNrRGF5bmFtZWAsIGV2ZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYmluZENsaWNrTW9yZSgpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoaXMuY2FsZW5kYXIub24oJ2NsaWNrTW9yZScsIGZ1bmN0aW9uIChldmVudDogSUV2ZW50TW9yZU9iamVjdCkge1xyXG4gICAgICAvLyBjb25zb2xlLndhcm4oYGNsaWNrTW9yZWAsIGV2ZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYmluZENsaWNrU2NoZWR1bGUoKSB7XHJcbiAgICAvLyBvbmx5IHdvcmtzIGlmIHVzZURldGFpbFBvcHVwOiBmYWxzZSxcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoaXMuY2FsZW5kYXIub24oJ2NsaWNrU2NoZWR1bGUnLCBmdW5jdGlvbiAoZXZlbnQ6IElFdmVudFNjaGVkdWxlT2JqZWN0KSB7XHJcbiAgICAgIC8vIGNvbnNvbGUud2FybihgY2xpY2tTY2hlZHVsZWAsIGV2ZW50KTtcclxuICAgICAgbGV0IHNjaGVkdWxlOiBJU2NoZWR1bGUgPSB7IC4uLmV2ZW50LnNjaGVkdWxlIH07XHJcbiAgICAgIHNjaGVkdWxlLnN0YXJ0ID0gKG5ldyBMb2NhbERhdGUoc2NoZWR1bGUuc3RhcnQpKS50b0RhdGUoKTtcclxuICAgICAgc2NoZWR1bGUuZW5kID0gKG5ldyBMb2NhbERhdGUoc2NoZWR1bGUuZW5kKSkudG9EYXRlKCk7XHJcbiAgICAgIHRoYXQub3BlblBvcHVwU2NoZWR1bGVFZGl0b3Ioc2NoZWR1bGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBiaW5kQmVmb3JlQ3JlYXRlU2NoZWR1bGUoKSB7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICB0aGlzLmNhbGVuZGFyLm9uKCdiZWZvcmVDcmVhdGVTY2hlZHVsZScsIGZ1bmN0aW9uIChldmVudDogVEV2ZW50QmVmb3JlQ3JlYXRlU2NoZWR1bGUpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coYGJlZm9yZUNyZWF0ZVNjaGVkdWxlYCwgZXZlbnQpO1xyXG4gICAgICBsZXQgc3RhcnQ6IERhdGUgPSAobmV3IExvY2FsRGF0ZShldmVudC5zdGFydCkpLnRvRGF0ZSgpO1xyXG4gICAgICBzdGFydC5zZXRIb3Vycyg5KTtcclxuICAgICAgbGV0IGVuZDogRGF0ZSA9IChuZXcgTG9jYWxEYXRlKGV2ZW50LmVuZCkpLnRvRGF0ZSgpO1xyXG4gICAgICBlbmQuc2V0SG91cnMoMTApO1xyXG4gICAgICB0aGF0Lm9wZW5Qb3B1cFNjaGVkdWxlRWRpdG9yKHtcclxuICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxyXG4gICAgICAgIGVuZDogZW5kLFxyXG4gICAgICAgIGlkOiBudWxsLFxyXG4gICAgICB9IGFzIElTY2hlZHVsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGJpbmRCZWZvcmVVcGRhdGVTY2hlZHVsZSgpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoaXMuY2FsZW5kYXIub24oJ2JlZm9yZVVwZGF0ZVNjaGVkdWxlJywgZnVuY3Rpb24gKGV2ZW50OiBJRXZlbnRPYmplY3QpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coYGJlZm9yZVVwZGF0ZVNjaGVkdWxlYCwgZXZlbnQpO1xyXG4gICAgICB0aGF0LnVwZGF0ZVNjaGVkdWxlQW5kTm90aWZ5UGFyZW50KGV2ZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYmluZEJlZm9yZURlbGV0ZVNjaGVkdWxlKCkge1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgdGhpcy5jYWxlbmRhci5vbignYmVmb3JlRGVsZXRlU2NoZWR1bGUnLCBmdW5jdGlvbiAoZXZlbnQ6IElFdmVudFNjaGVkdWxlT2JqZWN0KSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGBiZWZvcmVEZWxldGVTY2hlZHVsZWAsIGV2ZW50LnNjaGVkdWxlKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coYGJlZm9yZURlbGV0ZVNjaGVkdWxlYCwgZXZlbnQuc2NoZWR1bGUpO1xyXG4gICAgICB0aGF0LmRlbGV0ZVNjaGVkdWxlQW5kTm90aWZ5UGFyZW50KHsgaWQ6IGV2ZW50LnNjaGVkdWxlLmlkLCBjYWxlbmRhcklkOiBldmVudC5zY2hlZHVsZS5jYWxlbmRhcklkIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZXh0Q29sb3IoKSB7XHJcbiAgICBsZXQgY29sb3IgPSB0aGlzLmNvbG9yc1t0aGlzLmNvbG9ySW5kZXgrK10uaGV4KCk7XHJcbiAgICBpZiAodGhpcy5jb2xvckluZGV4ID49IHRoaXMuY29sb3JzLmxlbmd0aCkgdGhpcy5jb2xvckluZGV4ID0gMDtcclxuICAgIHJldHVybiBjb2xvcjtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVNjaGVkdWxlQW5kTm90aWZ5UGFyZW50KGFyZ3M6IElTY2hlZHVsZSkge1xyXG4gICAgbGV0IHNjaGVkdWxlID0gdGhpcy5jcmVhdGVTY2hlZHVsZShhcmdzKTtcclxuICAgIHRoaXMudXNlckNyZWF0ZWRTY2hlZHVsZS5lbWl0KHNjaGVkdWxlKTtcclxuICAgIHJldHVybiBzY2hlZHVsZTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVNjaGVkdWxlcyhzY2hlZHVsZXM6IElTY2hlZHVsZVtdKSB7XHJcbiAgICBsZXQgbmV3U2NoZWR1bGVzID0gW107XHJcbiAgICBmb3IgKGxldCBzY2hlZHVsZSBvZiBzY2hlZHVsZXMpIHtcclxuICAgICAgbmV3U2NoZWR1bGVzLnB1c2godGhpcy5jcmVhdGVTY2hlZHVsZShzY2hlZHVsZSkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld1NjaGVkdWxlcztcclxuICB9XHJcblxyXG4gIGNyZWF0ZVNjaGVkdWxlKGFyZ3M6IElTY2hlZHVsZSk6IElTY2hlZHVsZSB7XHJcbiAgICAvLyBpZiAoZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgLy8gY3JlYXRlIGEgY29sb3JcclxuICAgIGxldCBjb2xvciA9IHRoaXMubmV4dENvbG9yKCk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhjb2xvcik7XHJcblxyXG4gICAgLy8gY3JlYXRlIGFuIGlkXHJcbiAgICBsZXQgaWQgPSAoYXJncy5pZCA9PSBudWxsKSA/ICcnIDogYXJncy5pZC50b1N0cmluZygpO1xyXG4gICAgaWYgKGlkLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBpZCA9IHV1aWR2NCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzdGFydDogRGF0ZSA9IExvY2FsRGF0ZS5jb252ZXJ0VG9Kc0RhdGUoYXJncy5zdGFydCk7XHJcbiAgICBsZXQgZW5kOiBEYXRlID0gTG9jYWxEYXRlLmNvbnZlcnRUb0pzRGF0ZShhcmdzLmVuZCk7XHJcblxyXG4gICAgbGV0IHNjaGVkdWxlOiBJU2NoZWR1bGUgPSB7XHJcbiAgICAgIGlkLFxyXG4gICAgICBjYWxlbmRhcklkOiAoYXJncy5jYWxlbmRhcklkID09IG51bGwpID8gdGhpcy5jYWxlbmRhcklkIDogYXJncy5jYWxlbmRhcklkLFxyXG4gICAgICB0aXRsZTogYXJncy50aXRsZSxcclxuICAgICAgc3RhcnQ6IHN0YXJ0LFxyXG4gICAgICBlbmQ6IGVuZCxcclxuICAgICAgY2F0ZWdvcnk6IGFyZ3MuY2F0ZWdvcnksXHJcbiAgICAgIGlzQWxsRGF5OiBhcmdzLmlzQWxsRGF5LFxyXG4gICAgICBkdWVEYXRlQ2xhc3M6ICcnLFxyXG4gICAgICBiZ0NvbG9yOiBjb2xvcixcclxuICAgIH0gYXMgSVNjaGVkdWxlXHJcbiAgICAvLyBjb25zb2xlLmxvZyhgZXZlbnQtY2FsZW5kYXIuY29tcG9uZW50LnRzOiBjcmVhdGVFdmVudDpgLCBzY2hlZHVsZSk7XHJcbiAgICB0aGlzLmNhbGVuZGFyLmNyZWF0ZVNjaGVkdWxlcyhbc2NoZWR1bGVdKTtcclxuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyLmdldFNjaGVkdWxlKHNjaGVkdWxlLmlkLCBzY2hlZHVsZS5jYWxlbmRhcklkKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVNjaGVkdWxlQW5kTm90aWZ5UGFyZW50KGFyZ3M6IElTY2hlZHVsZSkge1xyXG4gICAgbGV0IHNjaGVkdWxlID0gdGhpcy51cGRhdGVTY2hlZHVsZShhcmdzKTtcclxuICAgIHRoaXMudXNlclVwZGF0ZWRTY2hlZHVsZS5lbWl0KHNjaGVkdWxlKTtcclxuICAgIHJldHVybiBzY2hlZHVsZTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVNjaGVkdWxlKHNjaGVkdWxlOiBJU2NoZWR1bGUpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKGBldmVudC1jYWxlbmRhci5jb21wb25lbnQudHM6IHVwZGF0ZVNjaGVkdWxlOmAsIHNjaGVkdWxlKTtcclxuICAgIGxldCBjYWxlbmRhcklkID0gKHNjaGVkdWxlLmNhbGVuZGFySWQgPT0gbnVsbCkgPyB0aGlzLmNhbGVuZGFySWQgOiBzY2hlZHVsZS5jYWxlbmRhcklkO1xyXG4gICAgdGhpcy5jYWxlbmRhci51cGRhdGVTY2hlZHVsZShzY2hlZHVsZS5pZCwgY2FsZW5kYXJJZCwgc2NoZWR1bGUsIGZhbHNlKTtcclxuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyLmdldFNjaGVkdWxlKHNjaGVkdWxlLmlkLCBjYWxlbmRhcklkKTtcclxuICB9XHJcblxyXG4gIGdldFNjaGVkdWxlKGFyZ3M6IHsgaWQ6IHN0cmluZywgY2FsZW5kYXJJZDogc3RyaW5nIH0pIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKGBldmVudC1jYWxlbmRhci5jb21wb25lbnQudHM6IGdldFNjaGVkdWxlOmAsIHNjaGVkdWxlKTtcclxuICAgIGxldCBjYWxlbmRhcklkID0gKGFyZ3MuY2FsZW5kYXJJZCA9PSBudWxsKSA/IHRoaXMuY2FsZW5kYXJJZCA6IGFyZ3MuY2FsZW5kYXJJZDtcclxuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyLmdldFNjaGVkdWxlKGFyZ3MuaWQsIGNhbGVuZGFySWQpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlU2NoZWR1bGVBbmROb3RpZnlQYXJlbnQoYXJnczogeyBpZDogc3RyaW5nLCBjYWxlbmRhcklkOiBzdHJpbmcgfSkge1xyXG4gICAgdGhpcy5kZWxldGVTY2hlZHVsZShhcmdzKTtcclxuICAgIGxldCBjYWxlbmRhcklkID0gKGFyZ3MuY2FsZW5kYXJJZCA9PSBudWxsKSA/IHRoaXMuY2FsZW5kYXJJZCA6IGFyZ3MuY2FsZW5kYXJJZDtcclxuICAgIHRoaXMudXNlckRlbGV0ZWRTY2hlZHVsZS5lbWl0KHsgaWQ6IGFyZ3MuaWQsIGNhbGVuZGFySWQgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVTY2hlZHVsZShhcmdzOiB7IGlkOiBzdHJpbmcsIGNhbGVuZGFySWQ6IHN0cmluZyB9KSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhgZXZlbnQtY2FsZW5kYXIuY29tcG9uZW50LnRzOiBkZWxldGVTY2hlZHVsZTpgLCBzY2hlZHVsZSk7XHJcbiAgICBsZXQgY2FsZW5kYXJJZCA9IChhcmdzLmNhbGVuZGFySWQgPT0gbnVsbCkgPyB0aGlzLmNhbGVuZGFySWQgOiBhcmdzLmNhbGVuZGFySWQ7XHJcbiAgICB0aGlzLmNhbGVuZGFyLmRlbGV0ZVNjaGVkdWxlKGFyZ3MuaWQsIGNhbGVuZGFySWQsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUFsbFNjaGVkdWxlcygpIHtcclxuICAgIHRoaXMuY2FsZW5kYXIuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIG9wZW5Qb3B1cFNjaGVkdWxlRWRpdG9yKHNjaGVkdWxlOiBJU2NoZWR1bGUpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdvcGVuUG9wdXBTY2hlZHVsZUVkaXRvcjogY2FsZXZlbnQ6Jywgc2NoZWR1bGUpO1xyXG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG4gICAgaWYgKHRoaXMuYXBwbGllZE9wdGlvbnMudGhlbWVDbGFzcykge1xyXG4gICAgICBkaWFsb2dDb25maWcucGFuZWxDbGFzcyA9IHRoaXMuYXBwbGllZE9wdGlvbnMudGhlbWVDbGFzcztcclxuICAgIH1cclxuICAgIC8vIGNvbnNvbGUud2Fybihgb3B0aW9uczogYCwgdGhpcy5hcHBsaWVkT3B0aW9ucyk7XHJcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IHsgc2NoZWR1bGUsIGRhcmtNb2RlOiB0aGlzLmFwcGxpZWRPcHRpb25zLmRhcmtNb2RlLCB0aGVtZUNsYXNzOiB0aGlzLmFwcGxpZWRPcHRpb25zLnRoZW1lQ2xhc3MgfSBhcyBDYWxlbmRhckVkaXRvck9wdGlvbnM7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTmd4TWF0VHVpQ2FsZW5kYXJFZGl0b3JEaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XHJcbiAgICAvLyBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE5neE1hdFR1aUNhbGVuZGFyU2NoZWR1bGVFZGl0b3JEaWFsb2dDb21wb25lbnQsIHtcclxuICAgIC8vICAgZGF0YTogc2NoZWR1bGUsXHJcbiAgICAvLyB9KTtcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiB7IHNjaGVkdWxlOiBJU2NoZWR1bGUsIHBlcmZvcm1EZWxldGU6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnb3BlblBvcHVwU2NoZWR1bGVFZGl0b3I6IFRoZSBkaWFsb2cgd2FzIGNsb3NlZCcsIHJlc3VsdCk7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXIucmVuZGVyKHRydWUpOyAgLy8gPC0tIHNvIHRoYXQgc2VsZWN0aW9uIGlzIGNsZWFyZWRcclxuICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuc2NoZWR1bGUpIHtcclxuICAgICAgICBsZXQgc2NoZWR1bGUgPSByZXN1bHQuc2NoZWR1bGU7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5wZXJmb3JtRGVsZXRlID09IHRydWUpIHtcclxuICAgICAgICAgIC8vIGRlbGV0ZVxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coYG9wZW5Qb3B1cFNjaGVkdWxlRWRpdG9yOmFmdGVyQ0xvc2VkOiBkZWxldGVTY2hlZHVsZWApO1xyXG4gICAgICAgICAgdGhpcy5kZWxldGVTY2hlZHVsZUFuZE5vdGlmeVBhcmVudCh7IGlkOiBzY2hlZHVsZS5pZCwgY2FsZW5kYXJJZDogc2NoZWR1bGUuY2FsZW5kYXJJZCB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHNjaGVkdWxlLmlkID09IG51bGwpIHtcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBvcGVuUG9wdXBTY2hlZHVsZUVkaXRvcjphZnRlckNMb3NlZDogYWRkU2NoZWR1bGVgKTtcclxuICAgICAgICAgIHRoaXMuY3JlYXRlU2NoZWR1bGVBbmROb3RpZnlQYXJlbnQoc2NoZWR1bGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgb3BlblBvcHVwU2NoZWR1bGVFZGl0b3I6YWZ0ZXJDTG9zZWQ6IHVwZGF0ZVNjaGVkdWxlYCk7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZVNjaGVkdWxlQW5kTm90aWZ5UGFyZW50KHNjaGVkdWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHNldE9wdGlvbnMob3B0aW9uczogQ2FsZW5kYXJPcHRpb25zKSB7XHJcbiAgICBpZiAob3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLmdldERlZmF1bHRPcHRpb25zKCk7XHJcbiAgICB9XHJcbiAgICBvcHRpb25zLmlvcHRpb25zID0gdGhpcy5zZXRJT3B0aW9ucyhvcHRpb25zLmlvcHRpb25zKTtcclxuICAgIHRoaXMuYXBwbGllZE9wdGlvbnMgPSB7Li4ub3B0aW9uc307XHJcbiAgfVxyXG5cclxuICBzZXRJT3B0aW9ucyhpb3B0aW9uc0luOiBJT3B0aW9ucykge1xyXG4gICAgbGV0IGlvcHRpb25zID0gdGhpcy5wcmVwcm9jZXNzSU9wdGlvbnMoaW9wdGlvbnNJbik7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnNldE9wdGlvbnMoaW9wdGlvbnMpO1xyXG4gICAgdGhpcy5jYWxlbmRhci5zZXRUaGVtZShpb3B0aW9ucy50aGVtZSk7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnJlbmRlcih0cnVlKTtcclxuICAgIHJldHVybiBpb3B0aW9ucztcclxuICB9XHJcblxyXG4gIHByZXByb2Nlc3NJT3B0aW9ucyhpb3B0aW9uczogSU9wdGlvbnMpOiBJT3B0aW9ucyB7XHJcbiAgICBsZXQgZGVmczogSU9wdGlvbnMgPSB0aGlzLmdldERlZmF1bHRJT3B0aW9ucygpO1xyXG4gICAgaWYgKGlvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgaW9wdGlvbnMgPSBkZWZzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaW9wdGlvbnMgPSB7IC4uLmRlZnMsIC4uLmlvcHRpb25zIH07XHJcbiAgICB9XHJcbiAgICBpb3B0aW9ucy51c2VDcmVhdGlvblBvcHVwID0gZmFsc2U7XHJcbiAgICBpb3B0aW9ucy51c2VEZXRhaWxQb3B1cCA9IGZhbHNlO1xyXG4gICAgaWYgKCFpb3B0aW9ucy50aGVtZSkge1xyXG4gICAgICBpb3B0aW9ucy50aGVtZSA9IHRoaXMuZ2V0RGVmYXVsdFRoZW1lKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaW9wdGlvbnM7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0RGVmYXVsdE9wdGlvbnMoKTogQ2FsZW5kYXJPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRhcmtNb2RlOiBmYWxzZSxcclxuICAgICAgdGhlbWVDbGFzczogbnVsbCxcclxuICAgICAgaW9wdGlvbnM6IHRoaXMuZ2V0RGVmYXVsdElPcHRpb25zKCksXHJcbiAgICB9IGFzIENhbGVuZGFyT3B0aW9ucztcclxuICB9XHJcblxyXG4gIGdldERlZmF1bHRJT3B0aW9ucygpOiBJT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkZWZhdWx0VmlldzogJ21vbnRoJyxcclxuICAgICAgdGFza1ZpZXc6IHRydWUsXHJcbiAgICAgIHVzZUNyZWF0aW9uUG9wdXA6IGZhbHNlLFxyXG4gICAgICB1c2VEZXRhaWxQb3B1cDogZmFsc2UsXHJcbiAgICAgIHRoZW1lOiB0aGlzLmdldERlZmF1bHRUaGVtZSgpLFxyXG4gICAgICB0ZW1wbGF0ZToge1xyXG4gICAgICAgIG1vbnRoRGF5bmFtZTogZnVuY3Rpb24gKGRheW5hbWUpIHtcclxuICAgICAgICAgIHJldHVybiAnPHNwYW4gY2xhc3M9XCJjYWxlbmRhci13ZWVrLWRheW5hbWUtbmFtZVwiPicgKyBkYXluYW1lLmxhYmVsICsgJzwvc3Bhbj4nO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgd2Vlazoge1xyXG4gICAgICAgIC8vIHN0YXJ0RGF5T2ZXZWVrOiB1bmRlZmluZWQsXHJcbiAgICAgICAgLy8gZGF5bmFtZXM6IHVuZGVmaW5lZCxcclxuICAgICAgICBuYXJyb3dXZWVrZW5kOiBmYWxzZSxcclxuICAgICAgICAvLyB3b3Jrd2VlazogdHJ1ZSxcclxuICAgICAgICBzaG93VGltZXpvbmVDb2xsYXBzZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICB0aW1lem9uZXNDb2xsYXBzZWQ6IHRydWUsXHJcbiAgICAgICAgaG91clN0YXJ0OiA3LFxyXG4gICAgICAgIGhvdXJFbmQ6IDIwLFxyXG4gICAgICB9IGFzIElXZWVrT3B0aW9ucyxcclxuICAgIH0gYXMgSU9wdGlvbnM7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3IobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYHRoZW1lLSR7bmFtZX1gKTtcclxuICAgIGlmIChlbCkge1xyXG4gICAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTtcclxuICAgICAgLy8gY29uc29sZS53YXJuKGB0aGVtZS0ke25hbWV9IGNvbG9yOmAsIHN0eWxlLmNvbG9yKTtcclxuICAgICAgcmV0dXJuIHN0eWxlLmNvbG9yO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVmYXVsdFRoZW1lKCk6IElUaGVtZSB7XHJcbiAgICBmdW5jdGlvbiBhZGp1c3RIZXhPcGFjaXR5KGNvbG9yLCBvcGFjaXR5KSB7XHJcbiAgICAgIGNvbnN0IHIgPSBwYXJzZUludChjb2xvci5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgICBjb25zdCBnID0gcGFyc2VJbnQoY29sb3Iuc2xpY2UoMywgNSksIDE2KTtcclxuICAgICAgY29uc3QgYiA9IHBhcnNlSW50KGNvbG9yLnNsaWNlKDUsIDcpLCAxNik7XHJcblxyXG4gICAgICByZXR1cm4gJ3JnYmEoJyArIHIgKyAnLCAnICsgZyArICcsICcgKyBiICsgJywgJyArIG9wYWNpdHkgKyAnKSc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZGVmYXVsdCBrZXlzIGFuZCBzdHlsZXNcclxuICAgIC8vIFRPRE86IGFwcGx5IE1hdGVyaWFsIERlc2lnbiBUaGVtZSBcclxuICAgIGxldCBiYWNrZ3JvdW5kID0gdGhpcy5nZXRDb2xvcihcImJhY2tncm91bmRcIik7XHJcbiAgICBsZXQgYm9yZGVyID0gdGhpcy5nZXRDb2xvcihcImRpdmlkZXJcIik7XHJcbiAgICBsZXQgYm9yZGVyTGlnaHQgPSB0aGlzLmdldENvbG9yKFwiZGl2aWRlci1saWdodFwiKTtcclxuICAgIGxldCBzaGFkb3cgPSB0aGlzLmdldENvbG9yKFwiZGl2aWRlclwiKTtcclxuICAgIGxldCBoaWdobGlnaHQgPSB0aGlzLmdldENvbG9yKFwiaGlnaGxpZ2h0XCIpO1xyXG4gICAgbGV0IHByaW1hcnkgPSB0aGlzLmdldENvbG9yKFwicHJpbWFyeVwiKTtcclxuICAgIGxldCB3YXJuID0gdGhpcy5nZXRDb2xvcihcIndhcm5cIik7XHJcbiAgICBsZXQgdGV4dCA9IHRoaXMuZ2V0Q29sb3IoXCJmb3JlZ3JvdW5kXCIpO1xyXG4gICAgbGV0IHByaW1hcnlTaGFkZWQgPSB0aGlzLmdldENvbG9yKFwicHJpbWFyeS1zaGFkZWRcIik7XHJcblxyXG4gICAgLy8gdHVpLWZ1bGwtY2FsZW5kYXItd2Vla2RheS1zY2hlZHVsZS10aXRsZVxyXG4gICAgLy9jYWxlbmRhci13ZWVrLWRheW5hbWUtbmFtZVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ2NvbW1vbi5ib3JkZXInOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcbiAgICAgICdjb21tb24uYmFja2dyb3VuZENvbG9yJzogYmFja2dyb3VuZCxcclxuICAgICAgJ2NvbW1vbi5ob2xpZGF5LmNvbG9yJzogd2FybixcclxuICAgICAgJ2NvbW1vbi5zYXR1cmRheS5jb2xvcic6IHRleHQsXHJcbiAgICAgICdjb21tb24uZGF5bmFtZS5jb2xvcic6IHRleHQsXHJcbiAgICAgICdjb21tb24udG9kYXkuY29sb3InOiAnIzBmMCcsXHJcblxyXG4gICAgICAvLyBjcmVhdGlvbiBndWlkZSBzdHlsZVxyXG4gICAgICAnY29tbW9uLmNyZWF0aW9uR3VpZGUuYmFja2dyb3VuZENvbG9yJzogcHJpbWFyeVNoYWRlZCxcclxuICAgICAgJ2NvbW1vbi5jcmVhdGlvbkd1aWRlLmJvcmRlcic6IGAxcHggc29saWQgJHtoaWdobGlnaHR9YCxcclxuXHJcbiAgICAgIC8vIG1vbnRoIGhlYWRlciAnZGF5bmFtZSdcclxuICAgICAgJ21vbnRoLmRheW5hbWUuaGVpZ2h0JzogJzMxcHgnLFxyXG4gICAgICAnbW9udGguZGF5bmFtZS5ib3JkZXJMZWZ0JzogYDFweCBzb2xpZCAke2JvcmRlcn1gLFxyXG4gICAgICAnbW9udGguZGF5bmFtZS5wYWRkaW5nTGVmdCc6ICcxMHB4JyxcclxuICAgICAgJ21vbnRoLmRheW5hbWUucGFkZGluZ1JpZ2h0JzogJzEwcHgnLFxyXG4gICAgICAnbW9udGguZGF5bmFtZS5iYWNrZ3JvdW5kQ29sb3InOiAnaW5oZXJpdCcsXHJcbiAgICAgICdtb250aC5kYXluYW1lLmZvbnRTaXplJzogJzEycHgnLFxyXG4gICAgICAnbW9udGguZGF5bmFtZS5mb250V2VpZ2h0JzogJ25vcm1hbCcsXHJcbiAgICAgICdtb250aC5kYXluYW1lLnRleHRBbGlnbic6ICdsZWZ0JyxcclxuXHJcbiAgICAgIC8vIG1vbnRoIGRheSBncmlkIGNlbGwgJ2RheSdcclxuICAgICAgJ21vbnRoLmhvbGlkYXlFeGNlcHRUaGlzTW9udGguY29sb3InOiAncmdiYSgyNTUsIDY0LCA2NCwgMC40KScsXHJcbiAgICAgICdtb250aC5kYXlFeGNlcHRUaGlzTW9udGguY29sb3InOiAncmdiYSg1MSwgNTEsIDUxLCAwLjQpJyxcclxuICAgICAgJ21vbnRoLndlZWtlbmQuYmFja2dyb3VuZENvbG9yJzogJ2luaGVyaXQnLFxyXG4gICAgICAnbW9udGguZGF5LmZvbnRTaXplJzogJzE0cHgnLFxyXG4gICAgICAnbW9udGguc2NoZWR1bGUuY29sb3InOiBoaWdobGlnaHQsXHJcblxyXG4gICAgICAvLyBtb250aCBzY2hlZHVsZSBzdHlsZVxyXG4gICAgICAnbW9udGguc2NoZWR1bGUuYm9yZGVyUmFkaXVzJzogJzJweCcsXHJcbiAgICAgICdtb250aC5zY2hlZHVsZS5oZWlnaHQnOiAnMjRweCcsXHJcbiAgICAgICdtb250aC5zY2hlZHVsZS5tYXJnaW5Ub3AnOiAnMnB4JyxcclxuICAgICAgJ21vbnRoLnNjaGVkdWxlLm1hcmdpbkxlZnQnOiAnOHB4JyxcclxuICAgICAgJ21vbnRoLnNjaGVkdWxlLm1hcmdpblJpZ2h0JzogJzhweCcsXHJcblxyXG4gICAgICAvLyBtb250aCBtb3JlIHZpZXdcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3LmJvcmRlcic6IGAxcHggc29saWQgJHtib3JkZXJ9YCxcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3LmJveFNoYWRvdyc6IGAwIDJweCA2cHggMCAke3NoYWRvd31gLFxyXG4gICAgICAnbW9udGgubW9yZVZpZXcuYmFja2dyb3VuZENvbG9yJzogYmFja2dyb3VuZCxcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3LnBhZGRpbmdCb3R0b20nOiAnMTdweCcsXHJcbiAgICAgICdtb250aC5tb3JlVmlld1RpdGxlLmhlaWdodCc6ICc0NHB4JyxcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3VGl0bGUubWFyZ2luQm90dG9tJzogJzEycHgnLFxyXG4gICAgICAnbW9udGgubW9yZVZpZXdUaXRsZS5iYWNrZ3JvdW5kQ29sb3InOiAnaW5oZXJpdCcsXHJcbiAgICAgICdtb250aC5tb3JlVmlld1RpdGxlLmJvcmRlckJvdHRvbSc6ICdub25lJyxcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3VGl0bGUucGFkZGluZyc6ICcxMnB4IDE3cHggMCAxN3B4JyxcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3TGlzdC5wYWRkaW5nJzogJzAgMTdweCcsXHJcblxyXG4gICAgICAvLyB3ZWVrIGhlYWRlciAnZGF5bmFtZSdcclxuICAgICAgJ3dlZWsuZGF5bmFtZS5oZWlnaHQnOiAnNDJweCcsXHJcbiAgICAgICd3ZWVrLmRheW5hbWUuYm9yZGVyVG9wJzogYDFweCBzb2xpZCAke2JvcmRlcn1gLFxyXG4gICAgICAnd2Vlay5kYXluYW1lLmJvcmRlckJvdHRvbSc6IGAxcHggc29saWQgJHtib3JkZXJ9YCxcclxuICAgICAgJ3dlZWsuZGF5bmFtZS5ib3JkZXJMZWZ0JzogJ2luaGVyaXQnLFxyXG4gICAgICAnd2Vlay5kYXluYW1lLnBhZGRpbmdMZWZ0JzogJzAnLFxyXG4gICAgICAnd2Vlay5kYXluYW1lLmJhY2tncm91bmRDb2xvcic6ICdpbmhlcml0JyxcclxuICAgICAgJ3dlZWsuZGF5bmFtZS50ZXh0QWxpZ24nOiAnbGVmdCcsXHJcbiAgICAgICd3ZWVrLnRvZGF5LmNvbG9yJzogdGV4dCxcclxuICAgICAgJ3dlZWsucGFzdERheS5jb2xvcic6IGJvcmRlckxpZ2h0LFxyXG5cclxuICAgICAgLy8gd2VlayB2ZXJ0aWNhbCBwYW5lbCAndnBhbmVsJ1xyXG4gICAgICAnd2Vlay52cGFuZWxTcGxpdHRlci5ib3JkZXInOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcbiAgICAgICd3ZWVrLnZwYW5lbFNwbGl0dGVyLmhlaWdodCc6ICczcHgnLFxyXG5cclxuICAgICAgLy8gd2VlayBkYXlncmlkICdkYXlncmlkJ1xyXG4gICAgICAnd2Vlay5kYXlncmlkLmJvcmRlclJpZ2h0JzogYDFweCBzb2xpZCAke2JvcmRlcn1gLFxyXG4gICAgICAnd2Vlay5kYXlncmlkLmJhY2tncm91bmRDb2xvcic6IGJhY2tncm91bmQsXHJcblxyXG4gICAgICAnd2Vlay5kYXlncmlkTGVmdC53aWR0aCc6ICc3MnB4JyxcclxuICAgICAgJ3dlZWsuZGF5Z3JpZExlZnQuYmFja2dyb3VuZENvbG9yJzogYmFja2dyb3VuZCxcclxuICAgICAgJ3dlZWsuZGF5Z3JpZExlZnQucGFkZGluZ1JpZ2h0JzogJzhweCcsXHJcbiAgICAgICd3ZWVrLmRheWdyaWRMZWZ0LmJvcmRlclJpZ2h0JzogYDFweCBzb2xpZCAke2JvcmRlcn1gLFxyXG5cclxuXHJcbiAgICAgICd3ZWVrLnRvZGF5LmJhY2tncm91bmRDb2xvcic6IHByaW1hcnlTaGFkZWQsXHJcbiAgICAgICd3ZWVrLndlZWtlbmQuYmFja2dyb3VuZENvbG9yJzogJ2luaGVyaXQnLFxyXG5cclxuICAgICAgLy8gd2VlayB0aW1lZ3JpZCAndGltZWdyaWQnXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkTGVmdC53aWR0aCc6ICc3MnB4JyxcclxuICAgICAgJ3dlZWsudGltZWdyaWRMZWZ0LmJhY2tncm91bmRDb2xvcic6ICdpbmhlcml0JyxcclxuICAgICAgJ3dlZWsudGltZWdyaWRMZWZ0LmJvcmRlclJpZ2h0JzogYDFweCBzb2xpZCAke2JvcmRlcn1gLFxyXG4gICAgICAnd2Vlay50aW1lZ3JpZExlZnQuZm9udFNpemUnOiAnMTFweCcsXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkTGVmdFRpbWV6b25lTGFiZWwuaGVpZ2h0JzogJzQwcHgnLFxyXG4gICAgICAnd2Vlay50aW1lZ3JpZExlZnRBZGRpdGlvbmFsVGltZXpvbmUuYmFja2dyb3VuZENvbG9yJzogYmFja2dyb3VuZCxcclxuXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkT25lSG91ci5oZWlnaHQnOiAnNTJweCcsXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkSGFsZkhvdXIuaGVpZ2h0JzogJzI2cHgnLFxyXG4gICAgICAnd2Vlay50aW1lZ3JpZEhhbGZIb3VyLmJvcmRlckJvdHRvbSc6ICdub25lJyxcclxuICAgICAgJ3dlZWsudGltZWdyaWRIb3Jpem9udGFsTGluZS5ib3JkZXJCb3R0b20nOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcblxyXG4gICAgICAnd2Vlay50aW1lZ3JpZC5wYWRkaW5nUmlnaHQnOiAnOHB4JyxcclxuICAgICAgJ3dlZWsudGltZWdyaWQuYm9yZGVyUmlnaHQnOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkU2NoZWR1bGUuYm9yZGVyUmFkaXVzJzogJzJweCcsXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkU2NoZWR1bGUucGFkZGluZ0xlZnQnOiAnMnB4JyxcclxuXHJcbiAgICAgIC8vICM1MTVjZTYgaXMgYSBzbGF0ZSBibHVlXHJcblxyXG4gICAgICAnd2Vlay5jdXJyZW50VGltZS5jb2xvcic6IGhpZ2hsaWdodCxcclxuICAgICAgJ3dlZWsuY3VycmVudFRpbWUuZm9udFNpemUnOiAnMTFweCcsXHJcbiAgICAgICd3ZWVrLmN1cnJlbnRUaW1lLmZvbnRXZWlnaHQnOiAnbm9ybWFsJyxcclxuXHJcbiAgICAgICd3ZWVrLnBhc3RUaW1lLmNvbG9yJzogYm9yZGVyTGlnaHQsXHJcbiAgICAgICd3ZWVrLnBhc3RUaW1lLmZvbnRXZWlnaHQnOiAnbm9ybWFsJyxcclxuXHJcbiAgICAgICd3ZWVrLmZ1dHVyZVRpbWUuY29sb3InOiBib3JkZXIsXHJcbiAgICAgICd3ZWVrLmZ1dHVyZVRpbWUuZm9udFdlaWdodCc6ICdub3JtYWwnLFxyXG5cclxuICAgICAgJ3dlZWsuY3VycmVudFRpbWVMaW5lUGFzdC5ib3JkZXInOiBgMXB4IGRhc2hlZCAke2hpZ2hsaWdodH1gLFxyXG4gICAgICAnd2Vlay5jdXJyZW50VGltZUxpbmVCdWxsZXQuYmFja2dyb3VuZENvbG9yJzogaGlnaGxpZ2h0LFxyXG4gICAgICAnd2Vlay5jdXJyZW50VGltZUxpbmVUb2RheS5ib3JkZXInOiBgMXB4IHNvbGlkICR7aGlnaGxpZ2h0fWAsXHJcbiAgICAgICd3ZWVrLmN1cnJlbnRUaW1lTGluZUZ1dHVyZS5ib3JkZXInOiAnbm9uZScsXHJcblxyXG4gICAgICAvLyB3ZWVrIGNyZWF0aW9uIGd1aWRlIHN0eWxlXHJcbiAgICAgICd3ZWVrLmNyZWF0aW9uR3VpZGUuY29sb3InOiBoaWdobGlnaHQsXHJcbiAgICAgICd3ZWVrLmNyZWF0aW9uR3VpZGUuZm9udFNpemUnOiAnMTFweCcsXHJcbiAgICAgICd3ZWVrLmNyZWF0aW9uR3VpZGUuZm9udFdlaWdodCc6ICdib2xkJyxcclxuXHJcbiAgICAgIC8vIHdlZWsgZGF5Z3JpZCBzY2hlZHVsZSBzdHlsZVxyXG4gICAgICAnd2Vlay5kYXlHcmlkU2NoZWR1bGUuYm9yZGVyUmFkaXVzJzogJzJweCcsXHJcbiAgICAgICd3ZWVrLmRheUdyaWRTY2hlZHVsZS5oZWlnaHQnOiAnMjRweCcsXHJcbiAgICAgICd3ZWVrLmRheUdyaWRTY2hlZHVsZS5tYXJnaW5Ub3AnOiAnMnB4JyxcclxuICAgICAgJ3dlZWsuZGF5R3JpZFNjaGVkdWxlLm1hcmdpbkxlZnQnOiAnOHB4JyxcclxuICAgICAgJ3dlZWsuZGF5R3JpZFNjaGVkdWxlLm1hcmdpblJpZ2h0JzogJzhweCdcclxuICAgIH0gYXMgSVRoZW1lO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lclwiPlxyXG4gICAgPCEtLSBUaGVzZSBkaXZzIGFyZSBoZXJlIHNvIHRoYXQgd2UgY2FuIHJlYWQgdGhlIHRoZW1lIGNvbG9ycyBmb3IgdGhlIHR1aSB0aGVtZSAtLT5cclxuICAgIDwhLS0gVGhlIG91dGVyIGRpdiBnaXZlcyB0aGUgZGVmYXVsdCBjb2xvciBmb3Igd2hlbiB1c2VyIGRvZXMgbm90IHByb3ZpZGUgYW4gQW5ndWxhciB0aGVtZSAtLT5cclxuICAgIDxkaXYgc3R5bGU9XCJjb2xvcjogYmx1ZTtcIj4gPGRpdiBpZD1cInRoZW1lLXByaW1hcnlcIj48L2Rpdj48L2Rpdj5cclxuICAgIDxkaXYgc3R5bGU9XCJjb2xvcjogYmx1ZTtcIj4gPGRpdiBpZD1cInRoZW1lLWhpZ2hsaWdodFwiPjwvZGl2PjwvZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImNvbG9yOiBibHVlO1wiPiA8ZGl2IGlkPVwidGhlbWUtYWNjZW50XCI+PC9kaXY+PC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiY29sb3I6IHJlZDtcIj4gPGRpdiBpZD1cInRoZW1lLXdhcm5cIj48L2Rpdj48L2Rpdj5cclxuICAgIDxkaXYgc3R5bGU9XCJjb2xvcjogcmdiYSgwLCAwLCAyNTUsIDAuMik7XCI+IDxkaXYgaWQ9XCJ0aGVtZS1wcmltYXJ5LXNoYWRlZFwiPjwvZGl2PjwvZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImNvbG9yOiAjM2UzZTNlO1wiPiA8ZGl2IGlkPVwidGhlbWUtZm9yZWdyb3VuZFwiPjwvZGl2PjwvZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImNvbG9yOiAjZTBlMGUwO1wiPiA8ZGl2IGlkPVwidGhlbWUtZGl2aWRlclwiPjwvZGl2PjwvZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImNvbG9yOiB3aGl0ZTtcIj4gPGRpdiBpZD1cInRoZW1lLWJhY2tncm91bmRcIj48L2Rpdj48L2Rpdj5cclxuICBcclxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jb250YWluZXJcIj5cclxuICAgICAgPCEtLSBjYWxlbmRhciB0aXRsZWJhciAtLT5cclxuICAgICAgPG1hdC10b29sYmFyIGNsYXNzPVwibWVudS1iYXJcIiBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICA8IS0tIDxkaXYgc3R5bGU9XCJhbGlnbi1zZWxmOiBjZW50ZXI7ZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XCI+IC0tPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogMTAwJTsgIFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtZGl2XCI+XHJcbiAgICAgICAgICAgIDwhLS0gTEVGVCAtLT5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibmF2aWdhdGlvbi1idXR0b25cIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDBweDsgbWFyZ2luLXJpZ2h0OiAwcHg7IGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XCIgXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FsZW5kYXJMb25nUHJldigpXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvbkxvbmdQcmV2XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibmF2aWdhdGlvbi1idXR0b25cIiBcclxuICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAwcHg7IG1hcmdpbi1yaWdodDogMHB4OyBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcIiBcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DYWxlbmRhclByZXYoKVwiPlxyXG4gICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25QcmV2XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibmF2aWdhdGlvbi1idXR0b25cIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDBweDsgbWFyZ2luLXJpZ2h0OiAwcHg7IGZvbnQtc2l6ZTogMS43cmVtICFpbXBvcnRhbnQ7XCIgXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FsZW5kYXJUb2RheSgpXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvblRvZGF5XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibmF2aWdhdGlvbi1idXR0b25cIiBcclxuICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAwcHg7IG1hcmdpbi1yaWdodDogMHB4OyBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcIiBcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DYWxlbmRhck5leHQoKVwiPlxyXG4gICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25OZXh0XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibmF2aWdhdGlvbi1idXR0b25cIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDBweDsgbWFyZ2luLXJpZ2h0OiAwcHg7IGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XCIgXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FsZW5kYXJMb25nTmV4dCgpXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvbkxvbmdOZXh0XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNlbnRlci1kaXZcIj5cclxuICAgICAgICAgICAgPCEtLSBDRU5URVIgLS0+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZlbnQtY2FsZW5kYXItdGl0bGVcIj57eyBnZXREYXRlKCkgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1kaXZcIj5cclxuICBcclxuICAgICAgICAgICAgPCEtLSBSSUdIVCAtLT5cclxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIGNsYXNzPVwidmlldy1idXR0b25cIiB2YWx1ZT1cIm1vbnRoXCIgaWQ9XCJAK2lkL3RvZ2dsZUJ1dHRvblwiIGxheW91dF93aWR0aD1cIndyYXBfY29udGVudFwiXHJcbiAgICAgICAgICAgICAgbGF5b3V0X2hlaWdodD1cIndyYXBfY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBtYXQtYnV0dG9uIHZhbHVlPVwibW9udGhcIiBjbGFzcz1cInZpZXctYnV0dG9uXCIgKGNsaWNrKT1cIm9uTW9udGhWaWV3KClcIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25CeU1vbnRoXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIG1hdC1idXR0b24gdmFsdWU9XCJ3ZWVrXCIgY2xhc3M9XCJ2aWV3LWJ1dHRvblwiIChjbGljayk9XCJvbldlZWtWaWV3KClcIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25CeVdlZWtcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgbWF0LWJ1dHRvbiB2YWx1ZT1cImRheVwiIGNsYXNzPVwidmlldy1idXR0b25cIiAoY2xpY2spPVwib25EYXlWaWV3KClcIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25CeURheVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LXRvb2xiYXI+XHJcbiAgICAgIDxuZ3gtbWF0LXR1aS1jYWxlbmRhci13cmFwcGVyPjwvbmd4LW1hdC10dWktY2FsZW5kYXItd3JhcHBlcj5cclxuICAgIDwvZGl2PlxyXG4gIFxyXG4gIDwvc2VjdGlvbj5cclxuIl19
|
528
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hdC10dWktY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdC10dWktY2FsZW5kYXIvc3JjL2xpYi9uZ3gtbWF0LXR1aS1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LXR1aS1jYWxlbmRhci9zcmMvbGliL25neC1tYXQtdHVpLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE9BQU8sY0FBYyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFDTCxlQUFlLEVBR2YsT0FBTyxFQUNQLFNBQVMsRUFFVCxTQUFTLEVBQ1QsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLE9BQU8sSUFBSSxRQUFRLEdBYXBCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLFdBQVc7QUFDWCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUZBQW1GLENBQUM7Ozs7Ozs7O0FBVzNJLE1BQU0sT0FBTywwQkFBMEI7SUFzQnJDLFlBQW1CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFyQnBDLGNBQVMsR0FBRyxlQUFlLENBQUM7UUFDNUIsZ0NBQWdDO1FBQ2hDLGlDQUFpQztRQUNqQyxhQUFRLEdBQUcsV0FBVyxDQUFDO1FB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QkFQdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUU7d0JBQ1QsdUNBQXVDO3FCQUN4QztpQkFDRjtnR0FpQlcsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgZGlzdGluY3RDb2xvcnMgZnJvbSAnZGlzdGluY3QtY29sb3JzJztcclxuaW1wb3J0IHsgQ29sb3IgfSBmcm9tIFwiY2hyb21hLWpzXCI7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBmYUNhbGVuZGFyQ2hlY2ssXHJcbiAgZmFDYXJldFNxdWFyZUxlZnQsXHJcbiAgZmFDYXJldFNxdWFyZVJpZ2h0LFxyXG4gIGZhVGFibGUsXHJcbiAgZmFDb2x1bW5zLFxyXG4gIGZhTGlzdCxcclxuICBmYUxpc3RBbHQsXHJcbiAgZmFGb3J3YXJkLFxyXG4gIGZhRmFzdEJhY2t3YXJkLFxyXG4gIGZhQmFja3dhcmQsXHJcbiAgZmFDYXJldExlZnQsXHJcbiAgZmFDYXJldFJpZ2h0LFxyXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdCBhcyBDYWxlbmRhcixcclxuICBJQ2FsZW5kYXJJbmZvLFxyXG4gIElFdmVudERhdGVPYmplY3QsXHJcbiAgSUV2ZW50TW9yZU9iamVjdCxcclxuICBJRXZlbnRPYmplY3QsXHJcbiAgSUV2ZW50U2NoZWR1bGVPYmplY3QsXHJcbiAgSU9wdGlvbnMsXHJcbiAgSVNjaGVkdWxlLFxyXG4gIElUaGVtZSxcclxuICBJVGltZXpvbmUsXHJcbiAgSVdlZWtPcHRpb25zLFxyXG4gIFRFdmVudEJlZm9yZUNyZWF0ZVNjaGVkdWxlLFxyXG4gIFRaRGF0ZSxcclxufSBmcm9tICd0dWktY2FsZW5kYXInO1xyXG5cclxuLy8gcHJvamVjdCBcclxuaW1wb3J0IHsgTG9jYWxEYXRlIH0gZnJvbSAnLi9sb2NhbC1kYXRlLmpzJztcclxuaW1wb3J0IHsgTmd4TWF0VHVpQ2FsZW5kYXJFZGl0b3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL25neC1tYXQtdHVpLWNhbGVuZGFyLWVkaXRvci1kaWFsb2cvbmd4LW1hdC10dWktY2FsZW5kYXItZWRpdG9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck9wdGlvbnMgfSBmcm9tICcuL2NhbGVuZGFyLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckVkaXRvck9wdGlvbnMgfSBmcm9tICcuL2NhbGVuZGFyLWVkaXRvci1vcHRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LW1hdC10dWktY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3gtbWF0LXR1aS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9uZ3gtbWF0LXR1aS1jYWxlbmRhci5jb21wb25lbnQuc2NzcydcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4TWF0VHVpQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBpY29uVG9kYXkgPSBmYUNhbGVuZGFyQ2hlY2s7XHJcbiAgLy8gaWNvblByZXYgPSBmYUNhcmV0U3F1YXJlTGVmdDtcclxuICAvLyBpY29uTmV4dCA9IGZhQ2FyZXRTcXVhcmVSaWdodDtcclxuICBpY29uUHJldiA9IGZhQ2FyZXRMZWZ0O1xyXG4gIGljb25OZXh0ID0gZmFDYXJldFJpZ2h0O1xyXG4gIGljb25Mb25nUHJldiA9IGZhQmFja3dhcmQ7XHJcbiAgaWNvbkxvbmdOZXh0ID0gZmFGb3J3YXJkO1xyXG4gIGljb25CeU1vbnRoID0gZmFUYWJsZTtcclxuICBpY29uQnlXZWVrID0gZmFDb2x1bW5zO1xyXG4gIGljb25CeURheSA9IGZhTGlzdEFsdDtcclxuXHJcbiAgY2FsZW5kYXI6IENhbGVuZGFyOyAgLy8gdGhlIFRVSSBDYWxlbmRhciBPYmplY3RcclxuICBjYWxlbmRhcklkOiBzdHJpbmc7XHJcbiAgY29sb3JzOiBDb2xvcltdO1xyXG4gIGNvbG9ySW5kZXg6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgdXNlckNyZWF0ZWRTY2hlZHVsZTogRXZlbnRFbWl0dGVyPElTY2hlZHVsZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHVzZXJVcGRhdGVkU2NoZWR1bGU6IEV2ZW50RW1pdHRlcjxJU2NoZWR1bGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB1c2VyRGVsZXRlZFNjaGVkdWxlOiBFdmVudEVtaXR0ZXI8SVNjaGVkdWxlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBvcHRpb25zOiBDYWxlbmRhck9wdGlvbnM7XHJcbiAgYXBwbGllZE9wdGlvbnM6IENhbGVuZGFyT3B0aW9uczsgLy8gdGhpcyBpcyBuZWVkZWQgZm9yIHdoZW4gb3B0aW9ucyBpcyBub3QgY29ubmVjdGVkXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge1xyXG4gICAgLy8gd2Ugc2xpY2Ugb2ZmIHRoZSBmaXJzdCBjb2xvciBzaW5jZSBpdCBpcyBncmF5XHJcbiAgICB0aGlzLmNvbG9ycyA9IGRpc3RpbmN0Q29sb3JzKHsgbGlnaHRNaW46IDcwLCBjb3VudDogMTUgfSkuc2xpY2UoMSk7XHJcbiAgICB0aGlzLmNvbG9ySW5kZXggPSAwO1xyXG4gICAgdGhpcy5jYWxlbmRhcklkID0gdXVpZHY0KCk7XHJcblxyXG4gICAgdGhpcy5hcHBsaWVkT3B0aW9ucyA9IHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gY29uc29sZS53YXJuKGBjYWxlbmRhci5jb21wb25lbnQudHM6IG5nT25pdGApXHJcbiAgICB0aGlzLmNyZWF0ZVRVSUNhbGVuZGFyKCk7XHJcbiAgICB0aGlzLmJpbmRDYWxsYmFja3MoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUud2FybihjaGFuZ2VzKTtcclxuICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7XHJcblxyXG4gICAgICBpZiAoY2hhbmdlcy5vcHRpb25zKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS53YXJuKGBjaGFuZ2Uub3B0aW9uOmAsIGNoYW5nZXMub3B0aW9ucyk7XHJcbiAgICAgICAgbGV0IG9wdGlvbnMgPSBjaGFuZ2VzLm9wdGlvbnMuY3VycmVudFZhbHVlO1xyXG4gICAgICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5jYWxlbmRhci5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBvbkNhbGVuZGFyTG9uZ1ByZXYoKSB7XHJcbiAgICBsZXQgZGF0ZTogRGF0ZSA9ICh0aGlzLmNhbGVuZGFyLmdldERhdGUoKSBhcyBUWkRhdGUpLnRvRGF0ZSgpO1xyXG4gICAgbGV0IGRheXMgPSAwO1xyXG4gICAgbGV0IG1vbnRocyA9IDA7XHJcbiAgICBsZXQgeWVhcnMgPSAwO1xyXG4gICAgc3dpdGNoICh0aGlzLmNhbGVuZGFyLmdldFZpZXdOYW1lKCkpIHtcclxuICAgICAgY2FzZSAnZGF5JzpcclxuICAgICAgICBkYXlzID0gLTc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3dlZWsnOlxyXG4gICAgICAgIGRheXMgPSAtMjg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB5ZWFycyA9IC0xO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgZGF0ZS5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCkgKyB5ZWFycyk7XHJcbiAgICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIG1vbnRocyk7ICAvLyBkYXRlIGNsYXNzIGRvZXMgdGhlIG1vZHVsYXIgYXJpdGhtZXRpY1xyXG4gICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgZGF5cyk7ICAvLyBkYXRlIGNsYXNzIGRvZXMgdGhlIG1vZHVsYXIgYXJpdGhtZXRpY1xyXG4gICAgdGhpcy5jYWxlbmRhci5zZXREYXRlKGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgb25DYWxlbmRhclByZXYoKSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnByZXYoKTtcclxuICB9XHJcblxyXG4gIG9uQ2FsZW5kYXJUb2RheSgpIHtcclxuICAgIHRoaXMuY2FsZW5kYXIudG9kYXkoKTtcclxuICB9XHJcblxyXG4gIG9uQ2FsZW5kYXJOZXh0KCkge1xyXG4gICAgdGhpcy5jYWxlbmRhci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNhbGVuZGFyTG9uZ05leHQoKSB7XHJcbiAgICBsZXQgZGF0ZTogRGF0ZSA9ICh0aGlzLmNhbGVuZGFyLmdldERhdGUoKSBhcyBUWkRhdGUpLnRvRGF0ZSgpO1xyXG4gICAgbGV0IGRheXMgPSAwO1xyXG4gICAgbGV0IG1vbnRocyA9IDA7XHJcbiAgICBsZXQgeWVhcnMgPSAwO1xyXG4gICAgc3dpdGNoICh0aGlzLmNhbGVuZGFyLmdldFZpZXdOYW1lKCkpIHtcclxuICAgICAgY2FzZSAnZGF5JzpcclxuICAgICAgICBkYXlzID0gNztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnd2Vlayc6XHJcbiAgICAgICAgZGF5cyA9IDI4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgeWVhcnMgPSAxO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgZGF0ZS5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCkgKyB5ZWFycyk7XHJcbiAgICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIG1vbnRocyk7ICAvLyBkYXRlIGNsYXNzIGRvZXMgdGhlIG1vZHVsYXIgYXJpdGhtZXRpY1xyXG4gICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgZGF5cyk7ICAvLyBkYXRlIGNsYXNzIGRvZXMgdGhlIG1vZHVsYXIgYXJpdGhtZXRpY1xyXG4gICAgdGhpcy5jYWxlbmRhci5zZXREYXRlKGRhdGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uTW9udGhWaWV3KCkge1xyXG4gICAgdGhpcy5jYWxlbmRhci5jaGFuZ2VWaWV3KCdtb250aCcpO1xyXG4gIH1cclxuXHJcbiAgb25XZWVrVmlldygpIHtcclxuICAgIHRoaXMuY2FsZW5kYXIuY2hhbmdlVmlldygnd2VlaycpO1xyXG4gIH1cclxuXHJcbiAgb25EYXlWaWV3KCkge1xyXG4gICAgdGhpcy5jYWxlbmRhci5jaGFuZ2VWaWV3KCdkYXknKTtcclxuICB9XHJcblxyXG5cclxuICBnZXREYXRlKCkge1xyXG4gICAgbGV0IGRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldERhdGUoKTtcclxuICAgIGxldCBzdHIgPSBkYXRlLnRvRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZyhcImVuLVVTXCIsIHtcclxuICAgICAgeWVhcjogJ251bWVyaWMnLFxyXG4gICAgICBtb250aDogJ3Nob3J0JyxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHN0cjtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVRVSUNhbGVuZGFyKCkge1xyXG4gICAgbGV0IGlvcHRpb25zID0gdGhpcy5wcmVwcm9jZXNzSU9wdGlvbnMobnVsbCk7XHJcbiAgICAvLyBjb25zb2xlLndhcm4oYGNhbGVuZGFyLmNvbXBvbmVudC50czogY3JlYXRlVFVJQ2FsZW5kYXI6IGlvcHRpb25zOmAsIGlvcHRpb25zKTtcclxuICAgIHRoaXMuY2FsZW5kYXIgPSBuZXcgQ2FsZW5kYXIoJyNjYWxlbmRhcicsIGlvcHRpb25zKTtcclxuICAgIC8vIGNvbnNvbGUud2FybihgY2FsZW5kYXIuY29tcG9uZW50LnRzOiBjcmVhdGVUVUlDYWxlbmRhcjogdGhpcy5jYWxlbmRhcjpgLCB0aGlzLmNhbGVuZGFyKTtcclxuICB9XHJcblxyXG5cclxuICBiaW5kQ2FsbGJhY2tzKCkge1xyXG4gICAgdGhpcy5iaW5kQWZ0ZXJSZW5kZXJTY2hlZHVsZSgpO1xyXG4gICAgdGhpcy5iaW5kQ2xpY2tUaW1lem9uZXNDb2xsYXBzZUJ0bigpO1xyXG4gICAgdGhpcy5iaW5kQ2xpY2tEYXluYW1lKCk7XHJcbiAgICB0aGlzLmJpbmRDbGlja01vcmUoKTtcclxuICAgIHRoaXMuYmluZENsaWNrU2NoZWR1bGUoKTtcclxuICAgIHRoaXMuYmluZEJlZm9yZUNyZWF0ZVNjaGVkdWxlKCk7XHJcbiAgICB0aGlzLmJpbmRCZWZvcmVVcGRhdGVTY2hlZHVsZSgpO1xyXG4gICAgdGhpcy5iaW5kQmVmb3JlRGVsZXRlU2NoZWR1bGUoKTtcclxuICB9XHJcblxyXG4gIGJpbmRBZnRlclJlbmRlclNjaGVkdWxlKCkge1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgdGhpcy5jYWxlbmRhci5vbignYWZ0ZXJSZW5kZXJTY2hlZHVsZScsIGZ1bmN0aW9uIChldmVudDogeyBzY2hlZHVsZTogSVNjaGVkdWxlIH0pIHtcclxuICAgICAgLy8gY29uc29sZS53YXJuKGBhZnRlclJlbmRlclNjaGVkdWxlYCwgZXZlbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBiaW5kQ2xpY2tUaW1lem9uZXNDb2xsYXBzZUJ0bigpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoaXMuY2FsZW5kYXIub24oJ2NsaWNrVGltZXpvbmVzQ29sbGFwc2VCdG4nLCBmdW5jdGlvbiAodGltZXpvbmVzQ29sbGFwc2VkOiBib29sZWFuKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUud2FybihgY2xpY2tUaW1lem9uZXNDb2xsYXBzZUJ0bmAsIHRpbWV6b25lc0NvbGxhcHNlZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBiaW5kQ2xpY2tEYXluYW1lKCkge1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgdGhpcy5jYWxlbmRhci5vbignY2xpY2tEYXluYW1lJywgZnVuY3Rpb24gKGV2ZW50OiBJRXZlbnREYXRlT2JqZWN0KSB7XHJcbiAgICAgIC8vIGNvbnNvbGUud2FybihgY2xpY2tEYXluYW1lYCwgZXZlbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBiaW5kQ2xpY2tNb3JlKCkge1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgdGhpcy5jYWxlbmRhci5vbignY2xpY2tNb3JlJywgZnVuY3Rpb24gKGV2ZW50OiBJRXZlbnRNb3JlT2JqZWN0KSB7XHJcbiAgICAgIC8vIGNvbnNvbGUud2FybihgY2xpY2tNb3JlYCwgZXZlbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBiaW5kQ2xpY2tTY2hlZHVsZSgpIHtcclxuICAgIC8vIG9ubHkgd29ya3MgaWYgdXNlRGV0YWlsUG9wdXA6IGZhbHNlLFxyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgdGhpcy5jYWxlbmRhci5vbignY2xpY2tTY2hlZHVsZScsIGZ1bmN0aW9uIChldmVudDogSUV2ZW50U2NoZWR1bGVPYmplY3QpIHtcclxuICAgICAgLy8gY29uc29sZS53YXJuKGBjbGlja1NjaGVkdWxlYCwgZXZlbnQpO1xyXG4gICAgICBsZXQgc2NoZWR1bGU6IElTY2hlZHVsZSA9IHsgLi4uZXZlbnQuc2NoZWR1bGUgfTtcclxuICAgICAgc2NoZWR1bGUuc3RhcnQgPSAobmV3IExvY2FsRGF0ZShzY2hlZHVsZS5zdGFydCkpLnRvRGF0ZSgpO1xyXG4gICAgICBzY2hlZHVsZS5lbmQgPSAobmV3IExvY2FsRGF0ZShzY2hlZHVsZS5lbmQpKS50b0RhdGUoKTtcclxuICAgICAgdGhhdC5vcGVuUG9wdXBTY2hlZHVsZUVkaXRvcihzY2hlZHVsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGJpbmRCZWZvcmVDcmVhdGVTY2hlZHVsZSgpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIHRoaXMuY2FsZW5kYXIub24oJ2JlZm9yZUNyZWF0ZVNjaGVkdWxlJywgZnVuY3Rpb24gKGV2ZW50OiBURXZlbnRCZWZvcmVDcmVhdGVTY2hlZHVsZSkge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhgYmVmb3JlQ3JlYXRlU2NoZWR1bGVgLCBldmVudCk7XHJcbiAgICAgIGxldCBzdGFydDogRGF0ZSA9IChuZXcgTG9jYWxEYXRlKGV2ZW50LnN0YXJ0KSkudG9EYXRlKCk7XHJcbiAgICAgIHN0YXJ0LnNldEhvdXJzKDkpO1xyXG4gICAgICBsZXQgZW5kOiBEYXRlID0gKG5ldyBMb2NhbERhdGUoZXZlbnQuZW5kKSkudG9EYXRlKCk7XHJcbiAgICAgIGVuZC5zZXRIb3VycygxMCk7XHJcbiAgICAgIHRoYXQub3BlblBvcHVwU2NoZWR1bGVFZGl0b3Ioe1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICBzdGFydDogc3RhcnQsXHJcbiAgICAgICAgZW5kOiBlbmQsXHJcbiAgICAgICAgaWQ6IG51bGwsXHJcbiAgICAgIH0gYXMgSVNjaGVkdWxlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYmluZEJlZm9yZVVwZGF0ZVNjaGVkdWxlKCkge1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgdGhpcy5jYWxlbmRhci5vbignYmVmb3JlVXBkYXRlU2NoZWR1bGUnLCBmdW5jdGlvbiAoZXZlbnQ6IElFdmVudE9iamVjdCkge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhgYmVmb3JlVXBkYXRlU2NoZWR1bGVgLCBldmVudCk7XHJcbiAgICAgIHRoYXQudXBkYXRlU2NoZWR1bGVBbmROb3RpZnlQYXJlbnQoZXZlbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBiaW5kQmVmb3JlRGVsZXRlU2NoZWR1bGUoKSB7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICB0aGlzLmNhbGVuZGFyLm9uKCdiZWZvcmVEZWxldGVTY2hlZHVsZScsIGZ1bmN0aW9uIChldmVudDogSUV2ZW50U2NoZWR1bGVPYmplY3QpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coYGJlZm9yZURlbGV0ZVNjaGVkdWxlYCwgZXZlbnQuc2NoZWR1bGUpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhgYmVmb3JlRGVsZXRlU2NoZWR1bGVgLCBldmVudC5zY2hlZHVsZSk7XHJcbiAgICAgIHRoYXQuZGVsZXRlU2NoZWR1bGVBbmROb3RpZnlQYXJlbnQoeyBpZDogZXZlbnQuc2NoZWR1bGUuaWQsIGNhbGVuZGFySWQ6IGV2ZW50LnNjaGVkdWxlLmNhbGVuZGFySWQgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5leHRDb2xvcigpIHtcclxuICAgIGxldCBjb2xvciA9IHRoaXMuY29sb3JzW3RoaXMuY29sb3JJbmRleCsrXS5oZXgoKTtcclxuICAgIGlmICh0aGlzLmNvbG9ySW5kZXggPj0gdGhpcy5jb2xvcnMubGVuZ3RoKSB0aGlzLmNvbG9ySW5kZXggPSAwO1xyXG4gICAgcmV0dXJuIGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU2NoZWR1bGVBbmROb3RpZnlQYXJlbnQoYXJnczogSVNjaGVkdWxlKSB7XHJcbiAgICBsZXQgc2NoZWR1bGUgPSB0aGlzLmNyZWF0ZVNjaGVkdWxlKGFyZ3MpO1xyXG4gICAgdGhpcy51c2VyQ3JlYXRlZFNjaGVkdWxlLmVtaXQoc2NoZWR1bGUpO1xyXG4gICAgcmV0dXJuIHNjaGVkdWxlO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU2NoZWR1bGVzKHNjaGVkdWxlczogSVNjaGVkdWxlW10pIHtcclxuICAgIGxldCBuZXdTY2hlZHVsZXMgPSBbXTtcclxuICAgIGZvciAobGV0IHNjaGVkdWxlIG9mIHNjaGVkdWxlcykge1xyXG4gICAgICBuZXdTY2hlZHVsZXMucHVzaCh0aGlzLmNyZWF0ZVNjaGVkdWxlKHNjaGVkdWxlKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3U2NoZWR1bGVzO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU2NoZWR1bGUoYXJnczogSVNjaGVkdWxlKTogSVNjaGVkdWxlIHtcclxuICAgIC8vIGlmIChmb3JtLmludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICAvLyBjcmVhdGUgYSBjb2xvclxyXG4gICAgbGV0IGNvbG9yID0gdGhpcy5uZXh0Q29sb3IoKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKGNvbG9yKTtcclxuXHJcbiAgICAvLyBjcmVhdGUgYW4gaWRcclxuICAgIGxldCBpZCA9IChhcmdzLmlkID09IG51bGwpID8gJycgOiBhcmdzLmlkLnRvU3RyaW5nKCk7XHJcbiAgICBpZiAoaWQubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGlkID0gdXVpZHY0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN0YXJ0OiBEYXRlID0gTG9jYWxEYXRlLmNvbnZlcnRUb0pzRGF0ZShhcmdzLnN0YXJ0KTtcclxuICAgIGxldCBlbmQ6IERhdGUgPSBMb2NhbERhdGUuY29udmVydFRvSnNEYXRlKGFyZ3MuZW5kKTtcclxuXHJcbiAgICBsZXQgc2NoZWR1bGU6IElTY2hlZHVsZSA9IHtcclxuICAgICAgaWQsXHJcbiAgICAgIGNhbGVuZGFySWQ6IChhcmdzLmNhbGVuZGFySWQgPT0gbnVsbCkgPyB0aGlzLmNhbGVuZGFySWQgOiBhcmdzLmNhbGVuZGFySWQsXHJcbiAgICAgIHRpdGxlOiBhcmdzLnRpdGxlLFxyXG4gICAgICBzdGFydDogc3RhcnQsXHJcbiAgICAgIGVuZDogZW5kLFxyXG4gICAgICBjYXRlZ29yeTogYXJncy5jYXRlZ29yeSxcclxuICAgICAgaXNBbGxEYXk6IGFyZ3MuaXNBbGxEYXksXHJcbiAgICAgIGR1ZURhdGVDbGFzczogJycsXHJcbiAgICAgIGJnQ29sb3I6IGNvbG9yLFxyXG4gICAgfSBhcyBJU2NoZWR1bGVcclxuICAgIC8vIGNvbnNvbGUubG9nKGBldmVudC1jYWxlbmRhci5jb21wb25lbnQudHM6IGNyZWF0ZUV2ZW50OmAsIHNjaGVkdWxlKTtcclxuICAgIHRoaXMuY2FsZW5kYXIuY3JlYXRlU2NoZWR1bGVzKFtzY2hlZHVsZV0pO1xyXG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXIuZ2V0U2NoZWR1bGUoc2NoZWR1bGUuaWQsIHNjaGVkdWxlLmNhbGVuZGFySWQpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2NoZWR1bGVBbmROb3RpZnlQYXJlbnQoYXJnczogSVNjaGVkdWxlKSB7XHJcbiAgICBsZXQgc2NoZWR1bGUgPSB0aGlzLnVwZGF0ZVNjaGVkdWxlKGFyZ3MpO1xyXG4gICAgdGhpcy51c2VyVXBkYXRlZFNjaGVkdWxlLmVtaXQoc2NoZWR1bGUpO1xyXG4gICAgcmV0dXJuIHNjaGVkdWxlO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2NoZWR1bGUoc2NoZWR1bGU6IElTY2hlZHVsZSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coYGV2ZW50LWNhbGVuZGFyLmNvbXBvbmVudC50czogdXBkYXRlU2NoZWR1bGU6YCwgc2NoZWR1bGUpO1xyXG4gICAgbGV0IGNhbGVuZGFySWQgPSAoc2NoZWR1bGUuY2FsZW5kYXJJZCA9PSBudWxsKSA/IHRoaXMuY2FsZW5kYXJJZCA6IHNjaGVkdWxlLmNhbGVuZGFySWQ7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnVwZGF0ZVNjaGVkdWxlKHNjaGVkdWxlLmlkLCBjYWxlbmRhcklkLCBzY2hlZHVsZSwgZmFsc2UpO1xyXG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXIuZ2V0U2NoZWR1bGUoc2NoZWR1bGUuaWQsIGNhbGVuZGFySWQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2NoZWR1bGUoYXJnczogeyBpZDogc3RyaW5nLCBjYWxlbmRhcklkOiBzdHJpbmcgfSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coYGV2ZW50LWNhbGVuZGFyLmNvbXBvbmVudC50czogZ2V0U2NoZWR1bGU6YCwgc2NoZWR1bGUpO1xyXG4gICAgbGV0IGNhbGVuZGFySWQgPSAoYXJncy5jYWxlbmRhcklkID09IG51bGwpID8gdGhpcy5jYWxlbmRhcklkIDogYXJncy5jYWxlbmRhcklkO1xyXG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXIuZ2V0U2NoZWR1bGUoYXJncy5pZCwgY2FsZW5kYXJJZCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVTY2hlZHVsZUFuZE5vdGlmeVBhcmVudChhcmdzOiB7IGlkOiBzdHJpbmcsIGNhbGVuZGFySWQ6IHN0cmluZyB9KSB7XHJcbiAgICB0aGlzLmRlbGV0ZVNjaGVkdWxlKGFyZ3MpO1xyXG4gICAgbGV0IGNhbGVuZGFySWQgPSAoYXJncy5jYWxlbmRhcklkID09IG51bGwpID8gdGhpcy5jYWxlbmRhcklkIDogYXJncy5jYWxlbmRhcklkO1xyXG4gICAgdGhpcy51c2VyRGVsZXRlZFNjaGVkdWxlLmVtaXQoeyBpZDogYXJncy5pZCwgY2FsZW5kYXJJZCB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNjaGVkdWxlKGFyZ3M6IHsgaWQ6IHN0cmluZywgY2FsZW5kYXJJZDogc3RyaW5nIH0pIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKGBldmVudC1jYWxlbmRhci5jb21wb25lbnQudHM6IGRlbGV0ZVNjaGVkdWxlOmAsIHNjaGVkdWxlKTtcclxuICAgIGxldCBjYWxlbmRhcklkID0gKGFyZ3MuY2FsZW5kYXJJZCA9PSBudWxsKSA/IHRoaXMuY2FsZW5kYXJJZCA6IGFyZ3MuY2FsZW5kYXJJZDtcclxuICAgIHRoaXMuY2FsZW5kYXIuZGVsZXRlU2NoZWR1bGUoYXJncy5pZCwgY2FsZW5kYXJJZCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQWxsU2NoZWR1bGVzKCkge1xyXG4gICAgdGhpcy5jYWxlbmRhci5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBvcHVwU2NoZWR1bGVFZGl0b3Ioc2NoZWR1bGU6IElTY2hlZHVsZSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ29wZW5Qb3B1cFNjaGVkdWxlRWRpdG9yOiBjYWxldmVudDonLCBzY2hlZHVsZSk7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBpZiAodGhpcy5hcHBsaWVkT3B0aW9ucy50aGVtZUNsYXNzKSB7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzID0gdGhpcy5hcHBsaWVkT3B0aW9ucy50aGVtZUNsYXNzO1xyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS53YXJuKGBvcHRpb25zOiBgLCB0aGlzLmFwcGxpZWRPcHRpb25zKTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0geyBzY2hlZHVsZSwgZGFya01vZGU6IHRoaXMuYXBwbGllZE9wdGlvbnMuZGFya01vZGUsIHRoZW1lQ2xhc3M6IHRoaXMuYXBwbGllZE9wdGlvbnMudGhlbWVDbGFzcyB9IGFzIENhbGVuZGFyRWRpdG9yT3B0aW9ucztcclxuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSB0cnVlO1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihOZ3hNYXRUdWlDYWxlbmRhckVkaXRvckRpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcclxuICAgIC8vIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTmd4TWF0VHVpQ2FsZW5kYXJTY2hlZHVsZUVkaXRvckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgLy8gICBkYXRhOiBzY2hlZHVsZSxcclxuICAgIC8vIH0pO1xyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IHsgc2NoZWR1bGU6IElTY2hlZHVsZSwgcGVyZm9ybURlbGV0ZTogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdvcGVuUG9wdXBTY2hlZHVsZUVkaXRvcjogVGhlIGRpYWxvZyB3YXMgY2xvc2VkJywgcmVzdWx0KTtcclxuICAgICAgdGhpcy5jYWxlbmRhci5yZW5kZXIodHJ1ZSk7ICAvLyA8LS0gc28gdGhhdCBzZWxlY3Rpb24gaXMgY2xlYXJlZFxyXG4gICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5zY2hlZHVsZSkge1xyXG4gICAgICAgIGxldCBzY2hlZHVsZSA9IHJlc3VsdC5zY2hlZHVsZTtcclxuICAgICAgICBpZiAocmVzdWx0LnBlcmZvcm1EZWxldGUgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgLy8gZGVsZXRlXHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgb3BlblBvcHVwU2NoZWR1bGVFZGl0b3I6YWZ0ZXJDTG9zZWQ6IGRlbGV0ZVNjaGVkdWxlYCk7XHJcbiAgICAgICAgICB0aGlzLmRlbGV0ZVNjaGVkdWxlQW5kTm90aWZ5UGFyZW50KHsgaWQ6IHNjaGVkdWxlLmlkLCBjYWxlbmRhcklkOiBzY2hlZHVsZS5jYWxlbmRhcklkIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc2NoZWR1bGUuaWQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coYG9wZW5Qb3B1cFNjaGVkdWxlRWRpdG9yOmFmdGVyQ0xvc2VkOiBhZGRTY2hlZHVsZWApO1xyXG4gICAgICAgICAgdGhpcy5jcmVhdGVTY2hlZHVsZUFuZE5vdGlmeVBhcmVudChzY2hlZHVsZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBvcGVuUG9wdXBTY2hlZHVsZUVkaXRvcjphZnRlckNMb3NlZDogdXBkYXRlU2NoZWR1bGVgKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlU2NoZWR1bGVBbmROb3RpZnlQYXJlbnQoc2NoZWR1bGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0T3B0aW9ucyhvcHRpb25zOiBDYWxlbmRhck9wdGlvbnMpIHtcclxuICAgIGlmIChvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgb3B0aW9ucyA9IHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKTtcclxuICAgIH1cclxuICAgIG9wdGlvbnMuaW9wdGlvbnMgPSB0aGlzLnNldElPcHRpb25zKG9wdGlvbnMuaW9wdGlvbnMpO1xyXG4gICAgdGhpcy5hcHBsaWVkT3B0aW9ucyA9IHsuLi5vcHRpb25zfTtcclxuICB9XHJcblxyXG4gIHNldElPcHRpb25zKGlvcHRpb25zSW46IElPcHRpb25zKSB7XHJcbiAgICBsZXQgaW9wdGlvbnMgPSB0aGlzLnByZXByb2Nlc3NJT3B0aW9ucyhpb3B0aW9uc0luKTtcclxuICAgIHRoaXMuY2FsZW5kYXIuc2V0T3B0aW9ucyhpb3B0aW9ucyk7XHJcbiAgICB0aGlzLmNhbGVuZGFyLnNldFRoZW1lKGlvcHRpb25zLnRoZW1lKTtcclxuICAgIHRoaXMuY2FsZW5kYXIucmVuZGVyKHRydWUpO1xyXG4gICAgcmV0dXJuIGlvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJlcHJvY2Vzc0lPcHRpb25zKGlvcHRpb25zOiBJT3B0aW9ucyk6IElPcHRpb25zIHtcclxuICAgIGxldCBkZWZzOiBJT3B0aW9ucyA9IHRoaXMuZ2V0RGVmYXVsdElPcHRpb25zKCk7XHJcbiAgICBpZiAoaW9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICBpb3B0aW9ucyA9IGRlZnM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpb3B0aW9ucyA9IHsgLi4uZGVmcywgLi4uaW9wdGlvbnMgfTtcclxuICAgIH1cclxuICAgIGlvcHRpb25zLnVzZUNyZWF0aW9uUG9wdXAgPSBmYWxzZTtcclxuICAgIGlvcHRpb25zLnVzZURldGFpbFBvcHVwID0gZmFsc2U7XHJcbiAgICBpZiAoIWlvcHRpb25zLnRoZW1lKSB7XHJcbiAgICAgIGlvcHRpb25zLnRoZW1lID0gdGhpcy5nZXREZWZhdWx0VGhlbWUoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpb3B0aW9ucztcclxuICB9XHJcblxyXG5cclxuICBnZXREZWZhdWx0T3B0aW9ucygpOiBDYWxlbmRhck9wdGlvbnMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGFya01vZGU6IGZhbHNlLFxyXG4gICAgICB0aGVtZUNsYXNzOiBudWxsLFxyXG4gICAgICBpb3B0aW9uczogdGhpcy5nZXREZWZhdWx0SU9wdGlvbnMoKSxcclxuICAgIH0gYXMgQ2FsZW5kYXJPcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVmYXVsdElPcHRpb25zKCk6IElPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRlZmF1bHRWaWV3OiAnbW9udGgnLFxyXG4gICAgICB0YXNrVmlldzogdHJ1ZSxcclxuICAgICAgdXNlQ3JlYXRpb25Qb3B1cDogZmFsc2UsXHJcbiAgICAgIHVzZURldGFpbFBvcHVwOiBmYWxzZSxcclxuICAgICAgdGhlbWU6IHRoaXMuZ2V0RGVmYXVsdFRoZW1lKCksXHJcbiAgICAgIHRlbXBsYXRlOiB7XHJcbiAgICAgICAgbW9udGhEYXluYW1lOiBmdW5jdGlvbiAoZGF5bmFtZSkge1xyXG4gICAgICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz1cImNhbGVuZGFyLXdlZWstZGF5bmFtZS1uYW1lXCI+JyArIGRheW5hbWUubGFiZWwgKyAnPC9zcGFuPic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB3ZWVrOiB7XHJcbiAgICAgICAgLy8gc3RhcnREYXlPZldlZWs6IHVuZGVmaW5lZCxcclxuICAgICAgICAvLyBkYXluYW1lczogdW5kZWZpbmVkLFxyXG4gICAgICAgIG5hcnJvd1dlZWtlbmQ6IGZhbHNlLFxyXG4gICAgICAgIC8vIHdvcmt3ZWVrOiB0cnVlLFxyXG4gICAgICAgIHNob3dUaW1lem9uZUNvbGxhcHNlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIHRpbWV6b25lc0NvbGxhcHNlZDogdHJ1ZSxcclxuICAgICAgICBob3VyU3RhcnQ6IDcsXHJcbiAgICAgICAgaG91ckVuZDogMjAsXHJcbiAgICAgIH0gYXMgSVdlZWtPcHRpb25zLFxyXG4gICAgfSBhcyBJT3B0aW9ucztcclxuXHJcbiAgfVxyXG5cclxuICBnZXRDb2xvcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgdGhlbWUtJHtuYW1lfWApO1xyXG4gICAgaWYgKGVsKSB7XHJcbiAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpO1xyXG4gICAgICAvLyBjb25zb2xlLndhcm4oYHRoZW1lLSR7bmFtZX0gY29sb3I6YCwgc3R5bGUuY29sb3IpO1xyXG4gICAgICByZXR1cm4gc3R5bGUuY29sb3I7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXREZWZhdWx0VGhlbWUoKTogSVRoZW1lIHtcclxuICAgIGZ1bmN0aW9uIGFkanVzdEhleE9wYWNpdHkoY29sb3IsIG9wYWNpdHkpIHtcclxuICAgICAgY29uc3QgciA9IHBhcnNlSW50KGNvbG9yLnNsaWNlKDEsIDMpLCAxNik7XHJcbiAgICAgIGNvbnN0IGcgPSBwYXJzZUludChjb2xvci5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgICBjb25zdCBiID0gcGFyc2VJbnQoY29sb3Iuc2xpY2UoNSwgNyksIDE2KTtcclxuXHJcbiAgICAgIHJldHVybiAncmdiYSgnICsgciArICcsICcgKyBnICsgJywgJyArIGIgKyAnLCAnICsgb3BhY2l0eSArICcpJztcclxuICAgIH1cclxuXHJcbiAgICAvLyBkZWZhdWx0IGtleXMgYW5kIHN0eWxlc1xyXG4gICAgLy8gVE9ETzogYXBwbHkgTWF0ZXJpYWwgRGVzaWduIFRoZW1lIFxyXG4gICAgbGV0IGJhY2tncm91bmQgPSB0aGlzLmdldENvbG9yKFwiYmFja2dyb3VuZFwiKTtcclxuICAgIGxldCBib3JkZXIgPSB0aGlzLmdldENvbG9yKFwiZGl2aWRlclwiKTtcclxuICAgIGxldCBib3JkZXJMaWdodCA9IHRoaXMuZ2V0Q29sb3IoXCJkaXZpZGVyLWxpZ2h0XCIpO1xyXG4gICAgbGV0IHNoYWRvdyA9IHRoaXMuZ2V0Q29sb3IoXCJkaXZpZGVyXCIpO1xyXG4gICAgbGV0IGhpZ2hsaWdodCA9IHRoaXMuZ2V0Q29sb3IoXCJoaWdobGlnaHRcIik7XHJcbiAgICBsZXQgcHJpbWFyeSA9IHRoaXMuZ2V0Q29sb3IoXCJwcmltYXJ5XCIpO1xyXG4gICAgbGV0IHdhcm4gPSB0aGlzLmdldENvbG9yKFwid2FyblwiKTtcclxuICAgIGxldCB0ZXh0ID0gdGhpcy5nZXRDb2xvcihcImZvcmVncm91bmRcIik7XHJcbiAgICBsZXQgcHJpbWFyeVNoYWRlZCA9IHRoaXMuZ2V0Q29sb3IoXCJwcmltYXJ5LXNoYWRlZFwiKTtcclxuXHJcbiAgICAvLyB0dWktZnVsbC1jYWxlbmRhci13ZWVrZGF5LXNjaGVkdWxlLXRpdGxlXHJcbiAgICAvL2NhbGVuZGFyLXdlZWstZGF5bmFtZS1uYW1lXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnY29tbW9uLmJvcmRlcic6IGAxcHggc29saWQgJHtib3JkZXJ9YCxcclxuICAgICAgJ2NvbW1vbi5iYWNrZ3JvdW5kQ29sb3InOiBiYWNrZ3JvdW5kLFxyXG4gICAgICAnY29tbW9uLmhvbGlkYXkuY29sb3InOiB3YXJuLFxyXG4gICAgICAnY29tbW9uLnNhdHVyZGF5LmNvbG9yJzogdGV4dCxcclxuICAgICAgJ2NvbW1vbi5kYXluYW1lLmNvbG9yJzogdGV4dCxcclxuICAgICAgJ2NvbW1vbi50b2RheS5jb2xvcic6ICcjMGYwJyxcclxuXHJcbiAgICAgIC8vIGNyZWF0aW9uIGd1aWRlIHN0eWxlXHJcbiAgICAgICdjb21tb24uY3JlYXRpb25HdWlkZS5iYWNrZ3JvdW5kQ29sb3InOiBwcmltYXJ5U2hhZGVkLFxyXG4gICAgICAnY29tbW9uLmNyZWF0aW9uR3VpZGUuYm9yZGVyJzogYDFweCBzb2xpZCAke2hpZ2hsaWdodH1gLFxyXG5cclxuICAgICAgLy8gbW9udGggaGVhZGVyICdkYXluYW1lJ1xyXG4gICAgICAnbW9udGguZGF5bmFtZS5oZWlnaHQnOiAnMzFweCcsXHJcbiAgICAgICdtb250aC5kYXluYW1lLmJvcmRlckxlZnQnOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcbiAgICAgICdtb250aC5kYXluYW1lLnBhZGRpbmdMZWZ0JzogJzEwcHgnLFxyXG4gICAgICAnbW9udGguZGF5bmFtZS5wYWRkaW5nUmlnaHQnOiAnMTBweCcsXHJcbiAgICAgICdtb250aC5kYXluYW1lLmJhY2tncm91bmRDb2xvcic6ICdpbmhlcml0JyxcclxuICAgICAgJ21vbnRoLmRheW5hbWUuZm9udFNpemUnOiAnMTJweCcsXHJcbiAgICAgICdtb250aC5kYXluYW1lLmZvbnRXZWlnaHQnOiAnbm9ybWFsJyxcclxuICAgICAgJ21vbnRoLmRheW5hbWUudGV4dEFsaWduJzogJ2xlZnQnLFxyXG5cclxuICAgICAgLy8gbW9udGggZGF5IGdyaWQgY2VsbCAnZGF5J1xyXG4gICAgICAnbW9udGguaG9saWRheUV4Y2VwdFRoaXNNb250aC5jb2xvcic6ICdyZ2JhKDI1NSwgNjQsIDY0LCAwLjQpJyxcclxuICAgICAgJ21vbnRoLmRheUV4Y2VwdFRoaXNNb250aC5jb2xvcic6ICdyZ2JhKDUxLCA1MSwgNTEsIDAuNCknLFxyXG4gICAgICAnbW9udGgud2Vla2VuZC5iYWNrZ3JvdW5kQ29sb3InOiAnaW5oZXJpdCcsXHJcbiAgICAgICdtb250aC5kYXkuZm9udFNpemUnOiAnMTRweCcsXHJcbiAgICAgICdtb250aC5zY2hlZHVsZS5jb2xvcic6IGhpZ2hsaWdodCxcclxuXHJcbiAgICAgIC8vIG1vbnRoIHNjaGVkdWxlIHN0eWxlXHJcbiAgICAgICdtb250aC5zY2hlZHVsZS5ib3JkZXJSYWRpdXMnOiAnMnB4JyxcclxuICAgICAgJ21vbnRoLnNjaGVkdWxlLmhlaWdodCc6ICcyNHB4JyxcclxuICAgICAgJ21vbnRoLnNjaGVkdWxlLm1hcmdpblRvcCc6ICcycHgnLFxyXG4gICAgICAnbW9udGguc2NoZWR1bGUubWFyZ2luTGVmdCc6ICc4cHgnLFxyXG4gICAgICAnbW9udGguc2NoZWR1bGUubWFyZ2luUmlnaHQnOiAnOHB4JyxcclxuXHJcbiAgICAgIC8vIG1vbnRoIG1vcmUgdmlld1xyXG4gICAgICAnbW9udGgubW9yZVZpZXcuYm9yZGVyJzogYDFweCBzb2xpZCAke2JvcmRlcn1gLFxyXG4gICAgICAnbW9udGgubW9yZVZpZXcuYm94U2hhZG93JzogYDAgMnB4IDZweCAwICR7c2hhZG93fWAsXHJcbiAgICAgICdtb250aC5tb3JlVmlldy5iYWNrZ3JvdW5kQ29sb3InOiBiYWNrZ3JvdW5kLFxyXG4gICAgICAnbW9udGgubW9yZVZpZXcucGFkZGluZ0JvdHRvbSc6ICcxN3B4JyxcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3VGl0bGUuaGVpZ2h0JzogJzQ0cHgnLFxyXG4gICAgICAnbW9udGgubW9yZVZpZXdUaXRsZS5tYXJnaW5Cb3R0b20nOiAnMTJweCcsXHJcbiAgICAgICdtb250aC5tb3JlVmlld1RpdGxlLmJhY2tncm91bmRDb2xvcic6ICdpbmhlcml0JyxcclxuICAgICAgJ21vbnRoLm1vcmVWaWV3VGl0bGUuYm9yZGVyQm90dG9tJzogJ25vbmUnLFxyXG4gICAgICAnbW9udGgubW9yZVZpZXdUaXRsZS5wYWRkaW5nJzogJzEycHggMTdweCAwIDE3cHgnLFxyXG4gICAgICAnbW9udGgubW9yZVZpZXdMaXN0LnBhZGRpbmcnOiAnMCAxN3B4JyxcclxuXHJcbiAgICAgIC8vIHdlZWsgaGVhZGVyICdkYXluYW1lJ1xyXG4gICAgICAnd2Vlay5kYXluYW1lLmhlaWdodCc6ICc0MnB4JyxcclxuICAgICAgJ3dlZWsuZGF5bmFtZS5ib3JkZXJUb3AnOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcbiAgICAgICd3ZWVrLmRheW5hbWUuYm9yZGVyQm90dG9tJzogYDFweCBzb2xpZCAke2JvcmRlcn1gLFxyXG4gICAgICAnd2Vlay5kYXluYW1lLmJvcmRlckxlZnQnOiAnaW5oZXJpdCcsXHJcbiAgICAgICd3ZWVrLmRheW5hbWUucGFkZGluZ0xlZnQnOiAnMCcsXHJcbiAgICAgICd3ZWVrLmRheW5hbWUuYmFja2dyb3VuZENvbG9yJzogJ2luaGVyaXQnLFxyXG4gICAgICAnd2Vlay5kYXluYW1lLnRleHRBbGlnbic6ICdsZWZ0JyxcclxuICAgICAgJ3dlZWsudG9kYXkuY29sb3InOiB0ZXh0LFxyXG4gICAgICAnd2Vlay5wYXN0RGF5LmNvbG9yJzogYm9yZGVyTGlnaHQsXHJcblxyXG4gICAgICAvLyB3ZWVrIHZlcnRpY2FsIHBhbmVsICd2cGFuZWwnXHJcbiAgICAgICd3ZWVrLnZwYW5lbFNwbGl0dGVyLmJvcmRlcic6IGAxcHggc29saWQgJHtib3JkZXJ9YCxcclxuICAgICAgJ3dlZWsudnBhbmVsU3BsaXR0ZXIuaGVpZ2h0JzogJzNweCcsXHJcblxyXG4gICAgICAvLyB3ZWVrIGRheWdyaWQgJ2RheWdyaWQnXHJcbiAgICAgICd3ZWVrLmRheWdyaWQuYm9yZGVyUmlnaHQnOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcbiAgICAgICd3ZWVrLmRheWdyaWQuYmFja2dyb3VuZENvbG9yJzogYmFja2dyb3VuZCxcclxuXHJcbiAgICAgICd3ZWVrLmRheWdyaWRMZWZ0LndpZHRoJzogJzcycHgnLFxyXG4gICAgICAnd2Vlay5kYXlncmlkTGVmdC5iYWNrZ3JvdW5kQ29sb3InOiBiYWNrZ3JvdW5kLFxyXG4gICAgICAnd2Vlay5kYXlncmlkTGVmdC5wYWRkaW5nUmlnaHQnOiAnOHB4JyxcclxuICAgICAgJ3dlZWsuZGF5Z3JpZExlZnQuYm9yZGVyUmlnaHQnOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcblxyXG5cclxuICAgICAgJ3dlZWsudG9kYXkuYmFja2dyb3VuZENvbG9yJzogcHJpbWFyeVNoYWRlZCxcclxuICAgICAgJ3dlZWsud2Vla2VuZC5iYWNrZ3JvdW5kQ29sb3InOiAnaW5oZXJpdCcsXHJcblxyXG4gICAgICAvLyB3ZWVrIHRpbWVncmlkICd0aW1lZ3JpZCdcclxuICAgICAgJ3dlZWsudGltZWdyaWRMZWZ0LndpZHRoJzogJzcycHgnLFxyXG4gICAgICAnd2Vlay50aW1lZ3JpZExlZnQuYmFja2dyb3VuZENvbG9yJzogJ2luaGVyaXQnLFxyXG4gICAgICAnd2Vlay50aW1lZ3JpZExlZnQuYm9yZGVyUmlnaHQnOiBgMXB4IHNvbGlkICR7Ym9yZGVyfWAsXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkTGVmdC5mb250U2l6ZSc6ICcxMXB4JyxcclxuICAgICAgJ3dlZWsudGltZWdyaWRMZWZ0VGltZXpvbmVMYWJlbC5oZWlnaHQnOiAnNDBweCcsXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkTGVmdEFkZGl0aW9uYWxUaW1lem9uZS5iYWNrZ3JvdW5kQ29sb3InOiBiYWNrZ3JvdW5kLFxyXG5cclxuICAgICAgJ3dlZWsudGltZWdyaWRPbmVIb3VyLmhlaWdodCc6ICc1MnB4JyxcclxuICAgICAgJ3dlZWsudGltZWdyaWRIYWxmSG91ci5oZWlnaHQnOiAnMjZweCcsXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkSGFsZkhvdXIuYm9yZGVyQm90dG9tJzogJ25vbmUnLFxyXG4gICAgICAnd2Vlay50aW1lZ3JpZEhvcml6b250YWxMaW5lLmJvcmRlckJvdHRvbSc6IGAxcHggc29saWQgJHtib3JkZXJ9YCxcclxuXHJcbiAgICAgICd3ZWVrLnRpbWVncmlkLnBhZGRpbmdSaWdodCc6ICc4cHgnLFxyXG4gICAgICAnd2Vlay50aW1lZ3JpZC5ib3JkZXJSaWdodCc6IGAxcHggc29saWQgJHtib3JkZXJ9YCxcclxuICAgICAgJ3dlZWsudGltZWdyaWRTY2hlZHVsZS5ib3JkZXJSYWRpdXMnOiAnMnB4JyxcclxuICAgICAgJ3dlZWsudGltZWdyaWRTY2hlZHVsZS5wYWRkaW5nTGVmdCc6ICcycHgnLFxyXG5cclxuICAgICAgLy8gIzUxNWNlNiBpcyBhIHNsYXRlIGJsdWVcclxuXHJcbiAgICAgICd3ZWVrLmN1cnJlbnRUaW1lLmNvbG9yJzogaGlnaGxpZ2h0LFxyXG4gICAgICAnd2Vlay5jdXJyZW50VGltZS5mb250U2l6ZSc6ICcxMXB4JyxcclxuICAgICAgJ3dlZWsuY3VycmVudFRpbWUuZm9udFdlaWdodCc6ICdub3JtYWwnLFxyXG5cclxuICAgICAgJ3dlZWsucGFzdFRpbWUuY29sb3InOiBib3JkZXJMaWdodCxcclxuICAgICAgJ3dlZWsucGFzdFRpbWUuZm9udFdlaWdodCc6ICdub3JtYWwnLFxyXG5cclxuICAgICAgJ3dlZWsuZnV0dXJlVGltZS5jb2xvcic6IGJvcmRlcixcclxuICAgICAgJ3dlZWsuZnV0dXJlVGltZS5mb250V2VpZ2h0JzogJ25vcm1hbCcsXHJcblxyXG4gICAgICAnd2Vlay5jdXJyZW50VGltZUxpbmVQYXN0LmJvcmRlcic6IGAxcHggZGFzaGVkICR7aGlnaGxpZ2h0fWAsXHJcbiAgICAgICd3ZWVrLmN1cnJlbnRUaW1lTGluZUJ1bGxldC5iYWNrZ3JvdW5kQ29sb3InOiBoaWdobGlnaHQsXHJcbiAgICAgICd3ZWVrLmN1cnJlbnRUaW1lTGluZVRvZGF5LmJvcmRlcic6IGAxcHggc29saWQgJHtoaWdobGlnaHR9YCxcclxuICAgICAgJ3dlZWsuY3VycmVudFRpbWVMaW5lRnV0dXJlLmJvcmRlcic6ICdub25lJyxcclxuXHJcbiAgICAgIC8vIHdlZWsgY3JlYXRpb24gZ3VpZGUgc3R5bGVcclxuICAgICAgJ3dlZWsuY3JlYXRpb25HdWlkZS5jb2xvcic6IGhpZ2hsaWdodCxcclxuICAgICAgJ3dlZWsuY3JlYXRpb25HdWlkZS5mb250U2l6ZSc6ICcxMXB4JyxcclxuICAgICAgJ3dlZWsuY3JlYXRpb25HdWlkZS5mb250V2VpZ2h0JzogJ2JvbGQnLFxyXG5cclxuICAgICAgLy8gd2VlayBkYXlncmlkIHNjaGVkdWxlIHN0eWxlXHJcbiAgICAgICd3ZWVrLmRheUdyaWRTY2hlZHVsZS5ib3JkZXJSYWRpdXMnOiAnMnB4JyxcclxuICAgICAgJ3dlZWsuZGF5R3JpZFNjaGVkdWxlLmhlaWdodCc6ICcyNHB4JyxcclxuICAgICAgJ3dlZWsuZGF5R3JpZFNjaGVkdWxlLm1hcmdpblRvcCc6ICcycHgnLFxyXG4gICAgICAnd2Vlay5kYXlHcmlkU2NoZWR1bGUubWFyZ2luTGVmdCc6ICc4cHgnLFxyXG4gICAgICAnd2Vlay5kYXlHcmlkU2NoZWR1bGUubWFyZ2luUmlnaHQnOiAnOHB4J1xyXG4gICAgfSBhcyBJVGhlbWU7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyXCI+XHJcbiAgICA8IS0tIFRoZXNlIGRpdnMgYXJlIGhlcmUgc28gdGhhdCB3ZSBjYW4gcmVhZCB0aGUgdGhlbWUgY29sb3JzIGZvciB0aGUgdHVpIHRoZW1lIC0tPlxyXG4gICAgPCEtLSBUaGUgb3V0ZXIgZGl2IGdpdmVzIHRoZSBkZWZhdWx0IGNvbG9yIGZvciB3aGVuIHVzZXIgZG9lcyBub3QgcHJvdmlkZSBhbiBBbmd1bGFyIHRoZW1lIC0tPlxyXG4gICAgPGRpdiBzdHlsZT1cImNvbG9yOiBibHVlO1wiPiA8ZGl2IGlkPVwidGhlbWUtcHJpbWFyeVwiPjwvZGl2PjwvZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImNvbG9yOiBibHVlO1wiPiA8ZGl2IGlkPVwidGhlbWUtaGlnaGxpZ2h0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiY29sb3I6IGJsdWU7XCI+IDxkaXYgaWQ9XCJ0aGVtZS1hY2NlbnRcIj48L2Rpdj48L2Rpdj5cclxuICAgIDxkaXYgc3R5bGU9XCJjb2xvcjogcmVkO1wiPiA8ZGl2IGlkPVwidGhlbWUtd2FyblwiPjwvZGl2PjwvZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImNvbG9yOiByZ2JhKDAsIDAsIDI1NSwgMC4yKTtcIj4gPGRpdiBpZD1cInRoZW1lLXByaW1hcnktc2hhZGVkXCI+PC9kaXY+PC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiY29sb3I6ICMzZTNlM2U7XCI+IDxkaXYgaWQ9XCJ0aGVtZS1mb3JlZ3JvdW5kXCI+PC9kaXY+PC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiY29sb3I6ICNlMGUwZTA7XCI+IDxkaXYgaWQ9XCJ0aGVtZS1kaXZpZGVyXCI+PC9kaXY+PC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiY29sb3I6IHdoaXRlO1wiPiA8ZGl2IGlkPVwidGhlbWUtYmFja2dyb3VuZFwiPjwvZGl2PjwvZGl2PlxyXG4gIFxyXG4gICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRhaW5lclwiPlxyXG4gICAgICA8IS0tIGNhbGVuZGFyIHRpdGxlYmFyIC0tPlxyXG4gICAgICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJtZW51LWJhclwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgIDwhLS0gPGRpdiBzdHlsZT1cImFsaWduLXNlbGY6IGNlbnRlcjtkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcIj4gLS0+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlOyAgXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1kaXZcIj5cclxuICAgICAgICAgICAgPCEtLSBMRUZUIC0tPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogMHB4OyBtYXJnaW4tcmlnaHQ6IDBweDsgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcIiBcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DYWxlbmRhckxvbmdQcmV2KClcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpY29uTG9uZ1ByZXZcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDBweDsgbWFyZ2luLXJpZ2h0OiAwcHg7IGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1wiIFxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNhbGVuZGFyUHJldigpXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvblByZXZcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogMHB4OyBtYXJnaW4tcmlnaHQ6IDBweDsgZm9udC1zaXplOiAxLjdyZW0gIWltcG9ydGFudDtcIiBcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DYWxlbmRhclRvZGF5KClcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpY29uVG9kYXlcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDBweDsgbWFyZ2luLXJpZ2h0OiAwcHg7IGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1wiIFxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNhbGVuZGFyTmV4dCgpXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvbk5leHRcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogMHB4OyBtYXJnaW4tcmlnaHQ6IDBweDsgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcIiBcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DYWxlbmRhckxvbmdOZXh0KClcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpY29uTG9uZ05leHRcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VudGVyLWRpdlwiPlxyXG4gICAgICAgICAgICA8IS0tIENFTlRFUiAtLT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudC1jYWxlbmRhci10aXRsZVwiPnt7IGdldERhdGUoKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LWRpdlwiPlxyXG4gIFxyXG4gICAgICAgICAgICA8IS0tIFJJR0hUIC0tPlxyXG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgY2xhc3M9XCJ2aWV3LWJ1dHRvblwiIHZhbHVlPVwibW9udGhcIiBpZD1cIkAraWQvdG9nZ2xlQnV0dG9uXCIgbGF5b3V0X3dpZHRoPVwid3JhcF9jb250ZW50XCJcclxuICAgICAgICAgICAgICBsYXlvdXRfaGVpZ2h0PVwid3JhcF9jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIG1hdC1idXR0b24gdmFsdWU9XCJtb250aFwiIGNsYXNzPVwidmlldy1idXR0b25cIiAoY2xpY2spPVwib25Nb250aFZpZXcoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvbkJ5TW9udGhcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgbWF0LWJ1dHRvbiB2YWx1ZT1cIndlZWtcIiBjbGFzcz1cInZpZXctYnV0dG9uXCIgKGNsaWNrKT1cIm9uV2Vla1ZpZXcoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvbkJ5V2Vla1wiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBtYXQtYnV0dG9uIHZhbHVlPVwiZGF5XCIgY2xhc3M9XCJ2aWV3LWJ1dHRvblwiIChjbGljayk9XCJvbkRheVZpZXcoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaWNvbkJ5RGF5XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtdG9vbGJhcj5cclxuICAgICAgPG5neC1tYXQtdHVpLWNhbGVuZGFyLXdyYXBwZXI+PC9uZ3gtbWF0LXR1aS1jYWxlbmRhci13cmFwcGVyPlxyXG4gICAgPC9kaXY+XHJcbiAgXHJcbiAgPC9zZWN0aW9uPlxyXG4iXX0=
|