@mediusinc/mng-commons 0.2.23 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/api/models/filter-param.model.mjs +1 -2
- package/esm2020/lib/api/models/mappers.mjs +2 -6
- package/esm2020/lib/api/models/query-mode.model.mjs +1 -2
- package/esm2020/lib/api/models/query-param.model.mjs +1 -2
- package/esm2020/lib/api/models/query-result.model.mjs +6 -34
- package/esm2020/lib/api/services/api.abstract.service.mjs +34 -0
- package/esm2020/lib/api/services/crud-api.abstract.service.mjs +15 -32
- package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +23 -0
- package/esm2020/lib/api/services/index.mjs +3 -1
- package/esm2020/lib/components/action/action.component.mjs +29 -7
- package/esm2020/lib/components/action/editor/action-editor.component.mjs +9 -8
- package/esm2020/lib/components/action/models/action-execution.model.mjs +1 -1
- package/esm2020/lib/components/form/editor/form-editor.component.mjs +3 -3
- package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +4 -6
- package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +30 -9
- package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +1 -1
- package/esm2020/lib/components/tableview/table/table.component.mjs +3 -3
- package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
- package/esm2020/lib/descriptors/action.descriptor.mjs +87 -4
- package/esm2020/lib/descriptors/editor.descriptor.mjs +11 -12
- package/esm2020/lib/descriptors/table.descriptor.mjs +4 -1
- package/esm2020/lib/descriptors/tableview.descriptor.mjs +5 -5
- package/esm2020/lib/mng-commons.module.mjs +6 -2
- package/esm2020/lib/models/error.model.mjs +1 -1
- package/esm2020/lib/pipes/enum.pipe.mjs +4 -1
- package/esm2020/lib/pipes/index.mjs +2 -1
- package/esm2020/lib/pipes/link-formatter.pipe.mjs +39 -0
- package/esm2020/lib/services/action-executor.service.mjs +36 -41
- package/esm2020/lib/utils/index.mjs +2 -2
- package/esm2020/lib/utils/notification.util.mjs +47 -0
- package/fesm2015/mediusinc-mng-commons.mjs +417 -246
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +413 -244
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/api/models/query-result.model.d.ts +4 -17
- package/lib/api/services/api.abstract.service.d.ts +19 -0
- package/lib/api/services/crud-api.abstract.service.d.ts +3 -11
- package/lib/api/services/get-all-api.abstract.service.d.ts +11 -0
- package/lib/api/services/index.d.ts +2 -0
- package/lib/components/action/action.component.d.ts +12 -1
- package/lib/components/action/models/action-execution.model.d.ts +2 -0
- package/lib/components/tableview/route/tableview-route.component.d.ts +4 -1
- package/lib/descriptors/action.descriptor.d.ts +35 -1
- package/lib/descriptors/editor.descriptor.d.ts +4 -6
- package/lib/descriptors/tableview.descriptor.d.ts +2 -2
- package/lib/mng-commons.module.d.ts +69 -68
- package/lib/models/error.model.d.ts +2 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/link-formatter.pipe.d.ts +11 -0
- package/lib/services/action-executor.service.d.ts +5 -3
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/{toast.util.d.ts → notification.util.d.ts} +7 -10
- package/package.json +1 -1
- package/scss/mng-overrides/_theme_button.scss +4 -0
- package/{assets/templates → templates}/tableview-route.component.html +0 -0
- package/esm2020/lib/utils/toast.util.mjs +0 -44
|
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
96
96
|
}], display: [{
|
|
97
97
|
type: Input
|
|
98
98
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsZUFBZSxFQUE0QixNQUFNLGFBQWEsQ0FBQztBQUd2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7OztBQUVsRzs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J0QyxZQUFvQixXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWY5Qix1QkFBa0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUMzRywyQkFBc0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQVE1SCxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQiwwQkFBcUIsR0FBVyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG9CQUFlLEdBQXdCLElBQUksQ0FBQztJQUVGLENBQUM7SUFFbEQsUUFBUTtRQUNKLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDaEMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTztnQkFD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QVEsS0FBSyxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLGdCQUFpQixDQUFDLGtCQUFrQixFQUFFO2dCQUMzQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3hFO1lBQ0QsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDSCxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzswSEFoRlEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIseUhDZjFDLDR3RUE0Q0E7MkZEN0JhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDSSx5QkFBeUI7b0dBTzFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ZpbHRlck1hdGNoTW9kZSwgUHJpbWVOR0NvbmZpZywgU2VsZWN0SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtGaWx0ZXJEZXNjcmlwdG9yLCBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yLCBUYWJsZURlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcblxuLyoqXG4gKiBDYW5ub3QgYmUgb24gcHVzaCBjaGFuZ2UgZGV0ZWN0aW9uIHN0cmF0ZWd5IGJlY2F1c2Ugb2YgZmlsdGVyIHVwZGF0ZXMgdHJpZ2dlcmVkIGZyb20gcm91dGUgd2hpY2ggY2F1c2VzIHRvIGZvcmNlIHVwZGF0ZSB2YWx1ZXMgaW4gZm9yY2UgbWV0YWRhdGFcbiAqIGFuZCB0aGVzZSBtdXN0IGJlIHByb3BhZ2F0ZWQgdGhyb3VnaCB0byB0aGlzIGNvbXBvbmVudCBhbmQgYmV5b25kIHRvIHByaW1lTkcuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxlLWNvbHVtbi1maWx0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNbmdUYWJsZUNvbHVtbkZpbHRlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGxvb2t1cFR5cGVEcm9wZG93bjogRmlsdGVyTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bSA9IEZpbHRlckxvb2t1cERlc2NyaXB0b3IuTG9va3VwVHlwZUVudW0uRHJvcGRvd247XG4gICAgcHVibGljIHJlYWRvbmx5IGxvb2t1cFR5cGVBdXRvY29tcGxldGU6IEZpbHRlckxvb2t1cERlc2NyaXB0b3IuTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yLkxvb2t1cFR5cGVFbnVtLkF1dG9jb21wbGV0ZTtcblxuICAgIEBJbnB1dCgpIGRlc2NyaXB0b3IhOiBGaWx0ZXJEZXNjcmlwdG9yPFQ+O1xuICAgIEBJbnB1dCgpIGRpc3BsYXkhOiBUYWJsZURlc2NyaXB0b3IuRmlsdGVyRGlzcGxheUVudW07XG5cbiAgICBwdWJsaWMgbG9va3VwRGVzY3JpcHRvcj86IEZpbHRlckxvb2t1cERlc2NyaXB0b3I8VD47XG5cbiAgICBwdWJsaWMgcHJpbWVGaWVsZCE6IHN0cmluZztcbiAgICBwdWJsaWMgcHJpbWVUeXBlID0gJ3RleHQnO1xuICAgIHB1YmxpYyBwcmltZVNob3dNYXRjaE1vZGUgPSB0cnVlO1xuICAgIHB1YmxpYyBwcmltZURlZmF1bHRNYXRjaE1vZGU6IHN0cmluZyA9IEZpbHRlck1hdGNoTW9kZS5FUVVBTFM7XG4gICAgcHVibGljIHByaW1lRGlzcGxheSA9ICdyb3cnO1xuICAgIHB1YmxpYyBwcmltZU1hdGNoTW9kZXM6IFNlbGVjdEl0ZW1bXSB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwcmltZUNvbmZpZzogUHJpbWVOR0NvbmZpZykge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuZGVzY3JpcHRvci5maWx0ZXJUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW0uQm9vbGVhbjpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdib29sZWFuJztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lU2hvd01hdGNoTW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdudW1lcmljJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyRGVzY3JpcHRvci5UeXBlRW51bS5EYXRlOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2RhdGUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLkxvb2t1cDpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdsb29rdXAnO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVTaG93TWF0Y2hNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5sb29rdXBEZXNjcmlwdG9yID0gdGhpcy5kZXNjcmlwdG9yIGFzIEZpbHRlckxvb2t1cERlc2NyaXB0b3I8VD47XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZUZpZWxkID0gYCR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fSR7dGhpcy5sb29rdXBEZXNjcmlwdG9yLml0ZW1zVmFsdWVQcm9wZXJ0eSA/IGAuJHt0aGlzLmxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5fWAgOiAnJ31gO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVNYXRjaE1vZGVzID0gW3t2YWx1ZTogRmlsdGVyRGVzY3JpcHRvci5NYXRjaE1vZGVFbnVtLkVxdWFscywgbGFiZWw6IHRoaXMucHJpbWVDb25maWcuZ2V0VHJhbnNsYXRpb24oRmlsdGVyRGVzY3JpcHRvci5NYXRjaE1vZGVFbnVtLkVxdWFscyl9XTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyRGVzY3JpcHRvci5UeXBlRW51bS5TdHJpbmc6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAndGV4dCc7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUgPSBGaWx0ZXJNYXRjaE1vZGUuQ09OVEFJTlM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLm1hdGNoTW9kZXMpIHtcbiAgICAgICAgICAgIHRoaXMucHJpbWVNYXRjaE1vZGVzID0gdGhpcy5kZXNjcmlwdG9yLm1hdGNoTW9kZXMubWFwKG1tID0+IDxTZWxlY3RJdGVtPnt2YWx1ZTogbW0sIGxhYmVsOiB0aGlzLnByaW1lQ29uZmlnLmdldFRyYW5zbGF0aW9uKG1tKX0pO1xuICAgICAgICAgICAgdGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUgPSB0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlc1swXTtcbiAgICAgICAgICAgIHRoaXMucHJpbWVTaG93TWF0Y2hNb2RlID0gdGhpcy5wcmltZU1hdGNoTW9kZXM/Lmxlbmd0aCA+IDE7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMuZGlzcGxheSkge1xuICAgICAgICAgICAgY2FzZSBUYWJsZURlc2NyaXB0b3IuRmlsdGVyRGlzcGxheUVudW0uTWVudTpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRGlzcGxheSA9ICdtZW51JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgYXV0b2NvbXBsZXRlRmlsdGVyKHZhbHVlOiBULCBmaWx0ZXJDYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBsZXQgZmlsdGVyVmFsdWU6IGFueSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMubG9va3VwRGVzY3JpcHRvciEuaXRlbXNWYWx1ZVByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZVt0aGlzLmxvb2t1cERlc2NyaXB0b3IhLml0ZW1zVmFsdWVQcm9wZXJ0eV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWx0ZXJDYWxsYmFjayhmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIGRyb3Bkb3duRmlsdGVyKHZhbHVlOiBULCBmaWx0ZXJDYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBsZXQgZmlsdGVyVmFsdWU6IGFueSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMubG9va3VwRGVzY3JpcHRvciEuaXRlbXNWYWx1ZVByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZVt0aGlzLmxvb2t1cERlc2NyaXB0b3IhLml0ZW1zVmFsdWVQcm9wZXJ0eV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWx0ZXJDYWxsYmFjayhmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8cC1jb2x1bW5GaWx0ZXJcbiAgICBjbGFzcz1cIm1sLWF1dG9cIlxuICAgIFt0eXBlXT1cInByaW1lVHlwZVwiXG4gICAgbWF0Y2hNb2RlPVwiZXF1YWxzXCJcbiAgICBbZmllbGRdPVwiZGVzY3JpcHRvci5wcm9wZXJ0eVwiXG4gICAgW2Rpc3BsYXldPVwicHJpbWVEaXNwbGF5XCJcbiAgICBbbWF0Y2hNb2RlXT1cInByaW1lRGVmYXVsdE1hdGNoTW9kZVwiXG4gICAgW21hdGNoTW9kZU9wdGlvbnNdPVwiJGFueShwcmltZU1hdGNoTW9kZXMpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUudHlwZVRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3Nob3dNYXRjaE1vZGVzXT1cInRydWVcIlxuICAgIFtzaG93T3BlcmF0b3JdPVwiZmFsc2VcIlxuICAgIFtzaG93QWRkQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbaGlkZU9uQ2xlYXJdPVwidHJ1ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImxvb2t1cERlc2NyaXB0b3JcIiBwVGVtcGxhdGU9XCJmaWx0ZXJcIiBsZXQtdmFsdWUgbGV0LWZpbHRlckNhbGxiYWNrPVwiZmlsdGVyQ2FsbGJhY2tcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibG9va3VwRGVzY3JpcHRvci5sb29rdXBUeXBlXCI+XG4gICAgICAgICAgICA8bW5nLWF1dG9jb21wbGV0ZVxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJsb29rdXBUeXBlQXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2RhdGFQcm92aWRlcl09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFQcm92aWRlclwiXG4gICAgICAgICAgICAgICAgW2RhdGFLZXlQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImxvb2t1cERlc2NyaXB0b3IubXVsdGlzZWxlY3RcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkZXNjcmlwdG9yLnBsYWNlaG9sZGVyID8/ICdtbmdUYWJsZS5zZWFyY2hUb0ZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzc05hbWVdPVwibG9va3VwRGVzY3JpcHRvci5jbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93bkNsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmRyb3Bkb3duQ2xhc3NOYW1lXCJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiYXV0b2NvbXBsZXRlRmlsdGVyKCRldmVudCwgZmlsdGVyQ2FsbGJhY2spXCI+XG4gICAgICAgICAgICA8L21uZy1hdXRvY29tcGxldGU+XG4gICAgICAgICAgICA8bW5nLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cImxvb2t1cFR5cGVEcm9wZG93blwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibG9va3VwRGVzY3JpcHRvci5kYXRhUHJvdmlkZXJcIlxuICAgICAgICAgICAgICAgIFtkYXRhS2V5UHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc0xhYmVsUHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc0xhYmVsUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc0xhYmVsVHJhbnNsYXRlXT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImxvb2t1cERlc2NyaXB0b3IubXVsdGlzZWxlY3RcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkZXNjcmlwdG9yLnBsYWNlaG9sZGVyID8/ICdtbmdUYWJsZS5zZWxlY3RUb0ZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzc05hbWVdPVwibG9va3VwRGVzY3JpcHRvci5jbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93bkNsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmRyb3Bkb3duQ2xhc3NOYW1lXCJcbiAgICAgICAgICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJkcm9wZG93bkZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiPlxuICAgICAgICAgICAgPC9tbmctZHJvcGRvd24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3AtY29sdW1uRmlsdGVyPlxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsZUFBZSxFQUE0QixNQUFNLGFBQWEsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7OztBQUVsRzs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J0QyxZQUFvQixXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWY5Qix1QkFBa0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUMzRywyQkFBc0IsR0FBMEMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQVE1SCxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQiwwQkFBcUIsR0FBVyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG9CQUFlLEdBQXdCLElBQUksQ0FBQztJQUVGLENBQUM7SUFFbEQsUUFBUTtRQUNKLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDaEMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTztnQkFD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QVEsS0FBSyxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLGdCQUFpQixDQUFDLGtCQUFrQixFQUFFO2dCQUMzQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3hFO1lBQ0QsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDSCxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDOzswSEFoRlEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIseUhDZDFDLDR3RUE0Q0E7MkZEOUJhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDSSx5QkFBeUI7b0dBTzFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ZpbHRlck1hdGNoTW9kZSwgUHJpbWVOR0NvbmZpZywgU2VsZWN0SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0ZpbHRlckRlc2NyaXB0b3IsIEZpbHRlckxvb2t1cERlc2NyaXB0b3IsIFRhYmxlRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG4vKipcbiAqIENhbm5vdCBiZSBvbiBwdXNoIGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kgYmVjYXVzZSBvZiBmaWx0ZXIgdXBkYXRlcyB0cmlnZ2VyZWQgZnJvbSByb3V0ZSB3aGljaCBjYXVzZXMgdG8gZm9yY2UgdXBkYXRlIHZhbHVlcyBpbiBmb3JjZSBtZXRhZGF0YVxuICogYW5kIHRoZXNlIG11c3QgYmUgcHJvcGFnYXRlZCB0aHJvdWdoIHRvIHRoaXMgY29tcG9uZW50IGFuZCBiZXlvbmQgdG8gcHJpbWVORy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUtY29sdW1uLWZpbHRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZURyb3Bkb3duOiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yLkxvb2t1cFR5cGVFbnVtID0gRmlsdGVyTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bS5Ecm9wZG93bjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZUF1dG9jb21wbGV0ZTogRmlsdGVyTG9va3VwRGVzY3JpcHRvci5Mb29rdXBUeXBlRW51bSA9IEZpbHRlckxvb2t1cERlc2NyaXB0b3IuTG9va3VwVHlwZUVudW0uQXV0b2NvbXBsZXRlO1xuXG4gICAgQElucHV0KCkgZGVzY3JpcHRvciE6IEZpbHRlckRlc2NyaXB0b3I8VD47XG4gICAgQElucHV0KCkgZGlzcGxheSE6IFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bTtcblxuICAgIHB1YmxpYyBsb29rdXBEZXNjcmlwdG9yPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcblxuICAgIHB1YmxpYyBwcmltZUZpZWxkITogc3RyaW5nO1xuICAgIHB1YmxpYyBwcmltZVR5cGUgPSAndGV4dCc7XG4gICAgcHVibGljIHByaW1lU2hvd01hdGNoTW9kZSA9IHRydWU7XG4gICAgcHVibGljIHByaW1lRGVmYXVsdE1hdGNoTW9kZTogc3RyaW5nID0gRmlsdGVyTWF0Y2hNb2RlLkVRVUFMUztcbiAgICBwdWJsaWMgcHJpbWVEaXNwbGF5ID0gJ3Jvdyc7XG4gICAgcHVibGljIHByaW1lTWF0Y2hNb2RlczogU2VsZWN0SXRlbVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByaW1lQ29uZmlnOiBQcmltZU5HQ29uZmlnKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5kZXNjcmlwdG9yLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyRGVzY3JpcHRvci5UeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2Jvb2xlYW4nO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVTaG93TWF0Y2hNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW0uTnVtYmVyOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ251bWVyaWMnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAnZGF0ZSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW0uTG9va3VwOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2xvb2t1cCc7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvb2t1cERlc2NyaXB0b3IgPSB0aGlzLmRlc2NyaXB0b3IgYXMgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRmllbGQgPSBgJHt0aGlzLmRlc2NyaXB0b3IucHJvcGVydHl9JHt0aGlzLmxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5ID8gYC4ke3RoaXMubG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHl9YCA6ICcnfWA7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZXMgPSBbe3ZhbHVlOiBGaWx0ZXJEZXNjcmlwdG9yLk1hdGNoTW9kZUVudW0uRXF1YWxzLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihGaWx0ZXJEZXNjcmlwdG9yLk1hdGNoTW9kZUVudW0uRXF1YWxzKX1dO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICd0ZXh0JztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IEZpbHRlck1hdGNoTW9kZS5DT05UQUlOUztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcykge1xuICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZXMgPSB0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcy5tYXAobW0gPT4gPFNlbGVjdEl0ZW0+e3ZhbHVlOiBtbSwgbGFiZWw6IHRoaXMucHJpbWVDb25maWcuZ2V0VHJhbnNsYXRpb24obW0pfSk7XG4gICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IHRoaXMuZGVzY3JpcHRvci5tYXRjaE1vZGVzWzBdO1xuICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSB0aGlzLnByaW1lTWF0Y2hNb2Rlcz8ubGVuZ3RoID4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICBjYXNlIFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bS5NZW51OlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVEaXNwbGF5ID0gJ21lbnUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBhdXRvY29tcGxldGVGaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJWYWx1ZTogYW55ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5sb29rdXBEZXNjcmlwdG9yIS5pdGVtc1ZhbHVlUHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlW3RoaXMubG9va3VwRGVzY3JpcHRvciEuaXRlbXNWYWx1ZVByb3BlcnR5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKGZpbHRlclZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgZHJvcGRvd25GaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJWYWx1ZTogYW55ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5sb29rdXBEZXNjcmlwdG9yIS5pdGVtc1ZhbHVlUHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlW3RoaXMubG9va3VwRGVzY3JpcHRvciEuaXRlbXNWYWx1ZVByb3BlcnR5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKGZpbHRlclZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxwLWNvbHVtbkZpbHRlclxuICAgIGNsYXNzPVwibWwtYXV0b1wiXG4gICAgW3R5cGVdPVwicHJpbWVUeXBlXCJcbiAgICBtYXRjaE1vZGU9XCJlcXVhbHNcIlxuICAgIFtmaWVsZF09XCJkZXNjcmlwdG9yLnByb3BlcnR5XCJcbiAgICBbZGlzcGxheV09XCJwcmltZURpc3BsYXlcIlxuICAgIFttYXRjaE1vZGVdPVwicHJpbWVEZWZhdWx0TWF0Y2hNb2RlXCJcbiAgICBbbWF0Y2hNb2RlT3B0aW9uc109XCIkYW55KHByaW1lTWF0Y2hNb2RlcylcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJkZXNjcmlwdG9yLnBsYWNlaG9sZGVyID8/ICdtbmdUYWJsZS50eXBlVG9GaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICBbc2hvd01hdGNoTW9kZXNdPVwidHJ1ZVwiXG4gICAgW3Nob3dPcGVyYXRvcl09XCJmYWxzZVwiXG4gICAgW3Nob3dBZGRCdXR0b25dPVwiZmFsc2VcIlxuICAgIFtoaWRlT25DbGVhcl09XCJ0cnVlXCI+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibG9va3VwRGVzY3JpcHRvclwiIHBUZW1wbGF0ZT1cImZpbHRlclwiIGxldC12YWx1ZSBsZXQtZmlsdGVyQ2FsbGJhY2s9XCJmaWx0ZXJDYWxsYmFja1wiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJsb29rdXBEZXNjcmlwdG9yLmxvb2t1cFR5cGVcIj5cbiAgICAgICAgICAgIDxtbmctYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cImxvb2t1cFR5cGVBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YVByb3ZpZGVyXCJcbiAgICAgICAgICAgICAgICBbZGF0YUtleVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YUtleVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwibG9va3VwRGVzY3JpcHRvci5tdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlYXJjaFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJhdXRvY29tcGxldGVGaWx0ZXIoJGV2ZW50LCBmaWx0ZXJDYWxsYmFjaylcIj5cbiAgICAgICAgICAgIDwvbW5nLWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgIDxtbmctZHJvcGRvd25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwibG9va3VwVHlwZURyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2RhdGFQcm92aWRlcl09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFQcm92aWRlclwiXG4gICAgICAgICAgICAgICAgW2RhdGFLZXlQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxUcmFuc2xhdGVdPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc0xhYmVsVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwibG9va3VwRGVzY3JpcHRvci5tdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlbGVjdFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImRyb3Bkb3duRmlsdGVyKCRldmVudCwgZmlsdGVyQ2FsbGJhY2spXCI+XG4gICAgICAgICAgICA8L21uZy1kcm9wZG93bj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1jb2x1bW5GaWx0ZXI+XG4iXX0=
|
|
@@ -6,7 +6,7 @@ import { MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult } from '..
|
|
|
6
6
|
import { MediusRestUtil } from '../../../api/utils';
|
|
7
7
|
import { FilterDescriptor, TableDescriptor } from '../../../descriptors';
|
|
8
8
|
import { MngComponentDirective, MngTemplateDirective } from '../../../directives';
|
|
9
|
-
import {
|
|
9
|
+
import { NotificationUtil } from '../../../utils';
|
|
10
10
|
import { MngTableCellClickEvent, MngTableLoadEvent } from '../models';
|
|
11
11
|
var TypeEnum = FilterDescriptor.TypeEnum;
|
|
12
12
|
var PaginationModeEnum = TableDescriptor.PaginationModeEnum;
|
|
@@ -214,7 +214,7 @@ export class MngTableComponent {
|
|
|
214
214
|
this.isSortChanged = false;
|
|
215
215
|
this.dataProviderLoadingSubject.next(false);
|
|
216
216
|
}, err => {
|
|
217
|
-
|
|
217
|
+
NotificationUtil.tableNotificationError(this.translate, this.descriptor, err, this.viewContainerService ?? undefined);
|
|
218
218
|
const emptyQueryResult = new MediusQueryResult();
|
|
219
219
|
emptyQueryResult.pageData = [];
|
|
220
220
|
emptyQueryResult.allDataCount = 0;
|
|
@@ -333,4 +333,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
333
333
|
type: ViewChild,
|
|
334
334
|
args: [Table]
|
|
335
335
|
}] } });
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RhYmxldmlldy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBRVosS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBSU4sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUUsYUFBYSxFQUFnQixFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFcEUsSUFBTyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0FBQzVDLElBQU8sa0JBQWtCLEdBQUcs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TUFBTTt1QkFBQywwQkFBMEI7Z0JBQ2MsK0JBQStCO3NCQUE5RSxNQUFNO3VCQUFDLCtCQUErQjtnQkFHTyxTQUFTO3NCQUF0RCxlQUFlO3VCQUFDLG9CQUFvQjtnQkFDTyxVQUFVO3NCQUFyRCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFDVixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtMYXp5TG9hZEV2ZW50LCBTb3J0TWV0YX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtGaWx0ZXJNZXRhZGF0YX0gZnJvbSAncHJpbWVuZy9hcGkvZmlsdGVybWV0YWRhdGEnO1xuaW1wb3J0IHtUYWJsZX0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbiwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNZWRpdXNRdWVyeVBhcmFtLCBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlciwgTWVkaXVzUXVlcnlSZXN1bHR9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtNZWRpdXNSZXN0VXRpbH0gZnJvbSAnLi4vLi4vLi4vYXBpL3V0aWxzJztcbmltcG9ydCB7SVRhYmxlRGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXByb3ZpZGVycyc7XG5pbXBvcnQge0NvbHVtbkRlc2NyaXB0b3IsIEZpbHRlckRlc2NyaXB0b3IsIFRhYmxlRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtNbmdDb21wb25lbnREaXJlY3RpdmUsIE1uZ1RlbXBsYXRlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7TW5nVmlld0NvbnRhaW5lckNvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VG9hc3RVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQge01uZ1RhYmxlQ2VsbENsaWNrRXZlbnQsIE1uZ1RhYmxlTG9hZEV2ZW50fSBmcm9tICcuLi9tb2RlbHMnO1xuXG5pbXBvcnQgVHlwZUVudW0gPSBGaWx0ZXJEZXNjcmlwdG9yLlR5cGVFbnVtO1xuaW1wb3J0IFBhZ2luYXRpb25Nb2RlRW51bSA9IFRhYmxlRGVzY3JpcHRvci5QYWdpbmF0aW9uTW9kZUVudW07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ1RhYmxlQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyByZWFkb25seSBmaWx0ZXJEaXNwbGF5Um93OiBUYWJsZURlc2NyaXB0b3IuRmlsdGVyRGlzcGxheUVudW0gPSBUYWJsZURlc2NyaXB0b3IuRmlsdGVyRGlzcGxheUVudW0uUm93O1xuICAgIHB1YmxpYyByZWFkb25seSBmaWx0ZXJEaXNwbGF5TWVudTogVGFibGVEZXNjcmlwdG9yLkZpbHRlckRpc3BsYXlFbnVtID0gVGFibGVEZXNjcmlwdG9yLkZpbHRlckRpc3BsYXlFbnVtLk1lbnU7XG5cbiAgICAvLyBtZXRhZGF0YSBpbnB1dFxuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXNjcmlwdG9yITogVGFibGVEZXNjcmlwdG9yPFQ+O1xuXG4gICAgLy8gZGF0YSBzb3VyY2UgaW5wdXRzXG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1zPzogT2JzZXJ2YWJsZTxBcnJheTxUPj4gfCBBcnJheTxUPjtcbiAgICBASW5wdXQoKSBwdWJsaWMgcXVlcnlSZXN1bHQ/OiBPYnNlcnZhYmxlPE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+PiB8IE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nPzogT2JzZXJ2YWJsZTxib29sZWFuPiB8IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGRhdGFQcm92aWRlcj86IElUYWJsZURhdGFQcm92aWRlcjxULCBhbnk+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyB1c2VRdWVyeVBhcmFtcyA9IGZhbHNlO1xuXG4gICAgLy8gZXh0cmEgZmVhdHVyZXMgaW5wdXRcbiAgICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uTW9kZSA9ICdtdWx0aXBsZSc7XG4gICAgQElucHV0KCkgcHVibGljIHNlbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTtcblxuICAgIC8vIHZpc3VhbFxuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0NvbHVtbkNsaWNrYWJsZSA9IHRydWU7XG5cbiAgICAvLyBjb21wb25lbnQgaW5wdXRzXG4gICAgQElucHV0KCkgcHVibGljIGNhcHRpb25Db21wb25lbnQ/OiBUeXBlPGFueT47XG4gICAgQElucHV0KCkgcHVibGljIGNvbHVtbkFjdGlvbkNvbXBvbmVudD86IFR5cGU8YW55PjtcblxuICAgIC8vIGV2ZW50IG91dHB1dHNcbiAgICBAT3V0cHV0KCd0YWJsZUxvYWQnKSBwdWJsaWMgbG9hZEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8TW5nVGFibGVMb2FkRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgnY2VsbENsaWNrJykgcHVibGljIGNlbGxDbGlja0V2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8TW5nVGFibGVDZWxsQ2xpY2tFdmVudDxUPj4oKTtcbiAgICBAT3V0cHV0KCdzZWxlY3Rpb25DaGFuZ2UnKSBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxUPj4oKTtcbiAgICBAT3V0cHV0KCdjYXB0aW9uQ29tcG9uZW50SW5zdGFuY2UnKSBwdWJsaWMgY2FwdGlvbkNtcEluc3RFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCdjb2x1bW5BY3Rpb25Db21wb25lbnRJbnN0YW5jZScpIHB1YmxpYyBjb2x1bW5BY3Rpb25DbXBJbnN0RXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvLyBjb250ZW50IGFuZCB2aWV3IHF1ZXJpZXNcbiAgICBAQ29udGVudENoaWxkcmVuKE1uZ1RlbXBsYXRlRGlyZWN0aXZlKSBwdWJsaWMgdGVtcGxhdGVzITogUXVlcnlMaXN0PE1uZ1RlbXBsYXRlRGlyZWN0aXZlPjtcbiAgICBAVmlld0NoaWxkcmVuKE1uZ0NvbXBvbmVudERpcmVjdGl2ZSkgcHVibGljIGNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8TW5nQ29tcG9uZW50RGlyZWN0aXZlPGFueT4+O1xuICAgIEBWaWV3Q2hpbGQoVGFibGUpIHB1YmxpYyBwcmltZVRhYmxlITogVGFibGU7XG5cbiAgICAvLyB0ZW1wbGF0ZXNcbiAgICBwdWJsaWMgY2FwdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBwdWJsaWMgY29sdW1uQWN0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLy8gZGF0YSBwcm92aWRlciBhbmQgaXRlbXNcbiAgICBwdWJsaWMgdXNlRGF0YVByb3ZpZGVyID0gZmFsc2U7XG4gICAgcHVibGljIHVzZVF1ZXJ5UGFyYW1zSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgcXVlcnlSZXN1bHQkPzogT2JzZXJ2YWJsZTxNZWRpdXNRdWVyeVJlc3VsdDxUPj47XG4gICAgcHVibGljIGxvYWRpbmckPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwdWJsaWMgZGF0YVByb3ZpZGVySW5maW5pdGVTY3JvbGxJdGVtczogQXJyYXk8VD4gPSBbXTtcblxuICAgIC8vIHBhZ2luYXRpb24sIHNvcnQgYW5kIGZpbHRlcnNcbiAgICBwdWJsaWMgcmVhZG9ubHkgcm93c1BlclBhZ2VPcHRpb25zID0gWzI1LCA1MCwgMTAwXTtcbiAgICBwdWJsaWMgcm93cyA9IHRoaXMucm93c1BlclBhZ2VPcHRpb25zWzBdO1xuICAgIHB1YmxpYyBvZmZzZXQgPSAwO1xuICAgIHB1YmxpYyBtdWx0aVNvcnRNZXRhOiBTb3J0TWV0YVtdIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGZpbHRlck1ldGFkYXRhOiB7W3M6IHN0cmluZ106IEZpbHRlck1ldGFkYXRhIHwgRmlsdGVyTWV0YWRhdGFbXX0gPSB7fTtcblxuICAgIC8vIGluZmluaXRlIHNjcm9sbFxuICAgIHB1YmxpYyBpbmZpbml0ZVNjcm9sbCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzY3JvbGxIZWlnaHQ6ICdmbGV4JyB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyByb3dIZWlnaHQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gc2VsZWN0aW9uXG4gICAgcHVibGljIHNlbGVjdGlvbjogQXJyYXk8VD4gPSBbXTtcblxuICAgIC8vIGRhdGEgcHJvdmlkZXJcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlclNlcnZpY2U6IGFueSA9IG51bGw7XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXJRdWVyeVJlc3VsdFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxNZWRpdXNRdWVyeVJlc3VsdDxUPj4oMSk7XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXJMb2FkaW5nU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICAgIHByaXZhdGUgZGF0YVByb3ZpZGVyTGF0ZXN0TGF6eUxvYWRFdmVudD86IExhenlMb2FkRXZlbnQ7XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXJMYXRlc3RMYXp5TG9hZEV2ZW50VmVyc2lvbiA9IDA7XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXJMYXRlc3RRdWVyeVBhcmFtPzogTWVkaXVzUXVlcnlQYXJhbTtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlckxhdGVzdFF1ZXJ5UGFyYW1WZXJzaW9uID0gMDtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8vIGZpbHRlciwgc29ydFxuICAgIHByaXZhdGUgaXNGaWx0ZXJDaGFuZ2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpc1NvcnRDaGFuZ2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBmaWx0ZXJEZXNjcmlwdG9yczogQXJyYXk8RmlsdGVyRGVzY3JpcHRvcjxhbnk+PiA9IFtdO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdmlld0NvbnRhaW5lclNlcnZpY2U6IE1uZ1ZpZXdDb250YWluZXJDb21wb25lbnRTZXJ2aWNlPFQsIFM+IHwgbnVsbFxuICAgICkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJEZXNjcmlwdG9ycyA9IHRoaXMuZGVzY3JpcHRvci5jb2x1bW5zLmZpbHRlcihjID0+IHR5cGVvZiBjLmZpbHRlckRlc2NyaXB0b3IgIT09ICd1bmRlZmluZWQnKS5tYXAoYyA9PiBjLmZpbHRlckRlc2NyaXB0b3IhKTtcblxuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yLnBhZ2luYXRpb25Nb2RlID09PSBQYWdpbmF0aW9uTW9kZUVudW0uSW5maW5pdGVTY3JvbGwpIHtcbiAgICAgICAgICAgIHRoaXMuaW5maW5pdGVTY3JvbGwgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIZWlnaHQgPSAnZmxleCc7XG4gICAgICAgICAgICB0aGlzLnJvd0hlaWdodCA9IHRoaXMuZGVzY3JpcHRvci5yb3dIZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLnVzZVF1ZXJ5UGFyYW1zID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjaGVjayBpZiBkYXRhIHByb3ZpZGVyIGlzIHN1cHBsaWVkLCBpZiBpcywgdXNlIGl0IHByaW1hcmlseVxuICAgICAgICBpZiAodGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIC8vIG1hcCBzdWJqZWN0cyB0byBvYnNlcnZhYmxlcyBhbmQgaW5pdGlhdGUgZGF0YVxuICAgICAgICAgICAgdGhpcy51c2VEYXRhUHJvdmlkZXIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJlc3VsdCQgPSB0aGlzLmRhdGFQcm92aWRlclF1ZXJ5UmVzdWx0U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLmRhdGFQcm92aWRlckxvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICAgICAgY29uc3QgZW1wdHlRdWVyeVJlc3VsdCA9IG5ldyBNZWRpdXNRdWVyeVJlc3VsdDxUPigpO1xuICAgICAgICAgICAgZW1wdHlRdWVyeVJlc3VsdC5wYWdlRGF0YSA9IFtdO1xuICAgICAgICAgICAgZW1wdHlRdWVyeVJlc3VsdC5hbGxEYXRhQ291bnQgPSAwO1xuICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyUXVlcnlSZXN1bHRTdWJqZWN0Lm5leHQoZW1wdHlRdWVyeVJlc3VsdCk7XG5cbiAgICAgICAgICAgIC8vIGluamVjdCBzZXJ2aWNlXG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhUHJvdmlkZXIuc2VydmljZVR5cGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlclNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxhbnk+KHRoaXMuZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGlmIHF1ZXJ5IHJlc3VsdCBpcyBwcm92aWRlZCwgdXNlIGl0IGFzIHNlY29uZGFyeSBzb3VyY2Ugb3IgZWxzZSB0cnkgdG8gdXNlIGl0ZW1zXG4gICAgICAgICAgICBpZiAodGhpcy5xdWVyeVJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSZXN1bHQkID0gdGhpcy5xdWVyeVJlc3VsdCBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyB0aGlzLnF1ZXJ5UmVzdWx0IDogb2YodGhpcy5xdWVyeVJlc3VsdCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLnF1ZXJ5UmVzdWx0ICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UmVzdWx0JCA9ICh0aGlzLml0ZW1zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IHRoaXMuaXRlbXMgOiBvZih0aGlzLml0ZW1zKSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgLy8gZGlzdGluY3RVbnRpbENoYW5nZWQoKHYxLCB2MikgPT4gdjEubGVuZ3RoID09PSB2Mi5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHYxLmV2ZXJ5KCh2MWksIGlkeCkgPT4gdjFpW3RoaXMuZGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHldID09PSB2MltpZHhdW3RoaXMuZGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHldKSksXG4gICAgICAgICAgICAgICAgICAgIG1hcChpdGVtcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IG5ldyBNZWRpdXNRdWVyeVJlc3VsdDxUPigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSZXN1bHQucGFnZURhdGEgPSBpdGVtcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UmVzdWx0LmFsbERhdGFDb3VudCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBxdWVyeVJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxvYWRpbmcgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMubG9hZGluZyBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyB0aGlzLmxvYWRpbmcgOiBvZih0aGlzLmxvYWRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudXNlUXVlcnlQYXJhbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHFwID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRUYWJsZUZyb21Sb3V0ZVVwZGF0ZShxcCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBpbml0aWFsaXplIGRlZmF1bHQgc29ydCBpZiBwcmVzZW50XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0U29ydCA9IHRoaXMuZ2V0RGVmYXVsdFNvcnRNZXRhKCk7XG4gICAgICAgICAgICBpZiAoZGVmYXVsdFNvcnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlTb3J0TWV0YSA9IGRlZmF1bHRTb3J0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCh0ZW1wbGF0ZSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRlbXBsYXRlLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NhcHRpb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcHRpb25UZW1wbGF0ZSA9IHRlbXBsYXRlLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdjb2x1bW5BY3Rpb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbkFjdGlvblRlbXBsYXRlID0gdGVtcGxhdGUudGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbG9hZChlbWl0RXZlbnQgPSBmYWxzZSwgcmVzZXRQYXJhbXMgPSBmYWxzZSkge1xuICAgICAgICB0aGlzLmxvYWRUYWJsZVdpdGhEYXRhUHJvdmlkZXIoXG4gICAgICAgICAgICByZXNldFBhcmFtcyA/IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSh0aGlzLnJvd3NQZXJQYWdlT3B0aW9uc1swXSwgMCkuYnVpbGQoKSA6IHRoaXMuZGF0YVByb3ZpZGVyTGF0ZXN0UXVlcnlQYXJhbSA/PyBuZXcgTWVkaXVzUXVlcnlQYXJhbSgpLFxuICAgICAgICAgICAgZW1pdEV2ZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFibGVMYXp5TG9hZChldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxhdGVzdExhenlMb2FkRXZlbnQgPSBldmVudDtcbiAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RMYXp5TG9hZEV2ZW50VmVyc2lvbisrO1xuXG4gICAgICAgIGlmICh0aGlzLnVzZVF1ZXJ5UGFyYW1zKSB7XG4gICAgICAgICAgICBpZiAoIWV2ZW50Lm11bHRpU29ydE1ldGEgfHwgZXZlbnQubXVsdGlTb3J0TWV0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAvLyBhZGQgZGVmYXVsdCBzb3J0IG1ldGEgdG8gZXZlbnQgaWYgbm90IG11bHRpc29ydCBtZXRhIGlzIHByZXNlbnRcbiAgICAgICAgICAgICAgICBldmVudC5tdWx0aVNvcnRNZXRhID0gdGhpcy5nZXREZWZhdWx0U29ydE1ldGEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBNZWRpdXNSZXN0VXRpbC5mcm9tUHJpbWVMYXp5TG9hZEV2ZW50VG9Bbmd1bGFyUXVlcnlQYXJhbXMoZXZlbnQsIHRoaXMucm93c1BlclBhZ2VPcHRpb25zWzBdKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBtZWRpdXNRdWVyeVBhcmFtcyA9IGV2ZW50ID8gTWVkaXVzUmVzdFV0aWwuZnJvbVByaW1lTGF6eUxvYWRFdmVudFRvTWVkaXVzUXVlcnlQYXJhbXMoZXZlbnQpIDogbmV3IE1lZGl1c1F1ZXJ5UGFyYW0oKTtcbiAgICAgICAgICAgIHRoaXMubG9hZFRhYmxlV2l0aERhdGFQcm92aWRlcihtZWRpdXNRdWVyeVBhcmFtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHVibGljIG9uVGFibGVTb3J0KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5pc1NvcnRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHVibGljIG9uVGFibGVGaWx0ZXIoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmlzRmlsdGVyQ2hhbmdlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2VsbENsaWNrKGNvbDogQ29sdW1uRGVzY3JpcHRvcjxhbnksIFQ+LCBpdGVtOiBULCBpZHg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBtbmdFdmVudCA9IG5ldyBNbmdUYWJsZUNlbGxDbGlja0V2ZW50PFQ+KGNvbCwgaXRlbSwgaWR4KTtcbiAgICAgICAgdGhpcy5jZWxsQ2xpY2tFdmVudEVtaXR0ZXIubmV4dChtbmdFdmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBBcnJheTxUPikge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZUV2ZW50RW1pdHRlci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DYXB0aW9uQ21wSW5zdDxDPihpbnN0YW5jZTogQykge1xuICAgICAgICB0aGlzLmNhcHRpb25DbXBJbnN0RXZlbnRFbWl0dGVyLm5leHQoaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbHVtbkFjdGlvbkNtcEluc3Q8Qz4oaW5zdGFuY2U6IEMpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5BY3Rpb25DbXBJbnN0RXZlbnRFbWl0dGVyLm5leHQoaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFRhYmxlV2l0aERhdGFQcm92aWRlcihxdWVyeVBhcmFtOiBNZWRpdXNRdWVyeVBhcmFtIHwgbnVsbCA9IG51bGwsIGVtaXRFdmVudCA9IHRydWUpIHtcbiAgICAgICAgaWYgKCF0aGlzLnVzZURhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyTG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcblxuICAgICAgICBpZiAoIXF1ZXJ5UGFyYW0pIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW0gPSBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlci5jcmVhdGUodGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbMF0pLmJ1aWxkKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RRdWVyeVBhcmFtID0gcXVlcnlQYXJhbTtcbiAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RRdWVyeVBhcmFtVmVyc2lvbisrO1xuXG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhUHJvdmlkZXI/LmdldEFsbChxdWVyeVBhcmFtLCB0aGlzLmRhdGFQcm92aWRlclNlcnZpY2UpLnN1YnNjcmliZShcbiAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5maW5pdGVTY3JvbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWx0ZXJDaGFuZ2VkIHx8IHRoaXMuaXNTb3J0Q2hhbmdlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJJbmZpbml0ZVNjcm9sbEl0ZW1zID0gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJJbmZpbml0ZVNjcm9sbEl0ZW1zLnNwbGljZShxdWVyeVBhcmFtIS5pdGVtc09mZnNldCA/PyAwLCBxdWVyeVBhcmFtIS5pdGVtc1BlclBhZ2UgPz8gdGhpcy5yb3dzLCAuLi4ocmVzLnBhZ2VEYXRhID8/IFtdKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVySW5maW5pdGVTY3JvbGxJdGVtcyA9IFsuLi50aGlzLmRhdGFQcm92aWRlckluZmluaXRlU2Nyb2xsSXRlbXNdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyUXVlcnlSZXN1bHRTdWJqZWN0Lm5leHQocmVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZpbHRlckNoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzU29ydENoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgVG9hc3RVdGlsLnRhYmxlTm90aWZpY2F0aW9uRXJyb3IodGhpcy50cmFuc2xhdGUsIHRoaXMuZGVzY3JpcHRvciwgZXJyLCB0aGlzLnZpZXdDb250YWluZXJTZXJ2aWNlID8/IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW1wdHlRdWVyeVJlc3VsdCA9IG5ldyBNZWRpdXNRdWVyeVJlc3VsdDxUPigpO1xuICAgICAgICAgICAgICAgIGVtcHR5UXVlcnlSZXN1bHQucGFnZURhdGEgPSBbXTtcbiAgICAgICAgICAgICAgICBlbXB0eVF1ZXJ5UmVzdWx0LmFsbERhdGFDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJRdWVyeVJlc3VsdFN1YmplY3QubmV4dChlbXB0eVF1ZXJ5UmVzdWx0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChlbWl0RXZlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1uZ0V2ZW50ID0gbmV3IE1uZ1RhYmxlTG9hZEV2ZW50KCk7XG4gICAgICAgICAgICBtbmdFdmVudC5vcmlnaW5hbEV2ZW50ID0gdGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RMYXp5TG9hZEV2ZW50ID8/IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIG1uZ0V2ZW50LnF1ZXJ5UGFyYW0gPSBxdWVyeVBhcmFtO1xuICAgICAgICAgICAgdGhpcy5sb2FkRXZlbnRFbWl0dGVyLm5leHQobW5nRXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkVGFibGVGcm9tUm91dGVVcGRhdGUocGFyYW1zOiBQYXJhbXMpIHtcbiAgICAgICAgY29uc3QgbWVkaXVzUXVlcnlQYXJhbSA9IE1lZGl1c1Jlc3RVdGlsLmZyb21Bbmd1bGFyUXVlcnlQYXJhbXNUb01lZGl1c1F1ZXJ5UGFyYW1zKHBhcmFtcywgdGhpcy5maWx0ZXJEZXNjcmlwdG9ycywgdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbMF0pO1xuICAgICAgICBpZiAodGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RMYXp5TG9hZEV2ZW50VmVyc2lvbiA8IHRoaXMuZGF0YVByb3ZpZGVyTGF0ZXN0UXVlcnlQYXJhbVZlcnNpb24gKyAxKSB7XG4gICAgICAgICAgICAvLyB1cGRhdGUgb25seSBpZiBuZXcgdmVyc2lvbiBmcm9tIHF1ZXJ5IHBhcmFtcyB3aWxsIGJlIGhpZ2hlclxuICAgICAgICAgICAgdGhpcy51cGRhdGVQcmltZVNvcnRBbmRGaWx0ZXIobWVkaXVzUXVlcnlQYXJhbSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51c2VRdWVyeVBhcmFtc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkVGFibGVXaXRoRGF0YVByb3ZpZGVyKG1lZGl1c1F1ZXJ5UGFyYW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJpbWVTb3J0QW5kRmlsdGVyKG1lZGl1c1F1ZXJ5UGFyYW06IE1lZGl1c1F1ZXJ5UGFyYW0pIHtcbiAgICAgICAgY29uc3QgcHJpbWVTb3J0TWV0YTogU29ydE1ldGFbXSA9IFtdO1xuICAgICAgICBjb25zdCBwcmltZUZpbHRlck1ldGE6IHtbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGEgfCBGaWx0ZXJNZXRhZGF0YVtdfSA9IHt9O1xuXG4gICAgICAgIHRoaXMuZmlsdGVyRGVzY3JpcHRvcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgICAgIHByaW1lRmlsdGVyTWV0YVtmLnByb3BlcnR5XSA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICAgICAgICBtYXRjaE1vZGU6IGYuZmlsdGVyVHlwZSA9PT0gVHlwZUVudW0uU3RyaW5nID8gJ2NvbnRhaW5zJyA6ICdlcXVhbHMnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICBtZWRpdXNRdWVyeVBhcmFtPy5zb3J0UHJvcGVydHk/LmZvckVhY2goKHMsIGlkeCkgPT4ge1xuICAgICAgICAgICAgcHJpbWVTb3J0TWV0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICBmaWVsZDogcyxcbiAgICAgICAgICAgICAgICBvcmRlcjogbWVkaXVzUXVlcnlQYXJhbT8uc29ydEFzYz8uW2lkeF0gPz8gdHJ1ZSA/IDEgOiAtMVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lZGl1c1F1ZXJ5UGFyYW0/LmZpbHRlclBhcmFtcz8uZm9yRWFjaChmID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB0aGlzLmZpbHRlckRlc2NyaXB0b3JzLmZpbmQoZmQgPT4gZmQuZmlsdGVyUHJvcGVydHkgPT09IGYucHJvcGVydHkgfHwgZmQucHJvcGVydHkgPT09IGYucHJvcGVydHkpO1xuICAgICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBNZWRpdXNSZXN0VXRpbC5tYXRjaE1vZGVNYXBwaW5nLmZpbmQobWFwcGluZyA9PiBtYXBwaW5nWzJdID09PSBmLmZpbHRlck1hdGNoVHlwZSk7XG4gICAgICAgICAgICBpZiAoZGVzY3JpcHRvciAmJiBvcGVyYXRvcikge1xuICAgICAgICAgICAgICAgIHByaW1lRmlsdGVyTWV0YVtkZXNjcmlwdG9yLnByb3BlcnR5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGYuZmlsdGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoTW9kZTogb3BlcmF0b3JbMF1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm11bHRpU29ydE1ldGEgPSBwcmltZVNvcnRNZXRhO1xuICAgICAgICB0aGlzLmZpbHRlck1ldGFkYXRhID0gcHJpbWVGaWx0ZXJNZXRhO1xuICAgICAgICB0aGlzLnJvd3MgPSBtZWRpdXNRdWVyeVBhcmFtPy5pdGVtc1BlclBhZ2UgPz8gdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbMF07XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gbWVkaXVzUXVlcnlQYXJhbT8uaXRlbXNPZmZzZXQgPz8gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRTb3J0TWV0YSgpOiBTb3J0TWV0YVtdIHtcbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvci5oYXNEZWZhdWx0U29ydCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvci5kZWZhdWx0U29ydFByb3BlcnR5Lm1hcChcbiAgICAgICAgICAgICAgICAocCwgaWR4KSA9PlxuICAgICAgICAgICAgICAgICAgICA8U29ydE1ldGE+e1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IHAsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogdGhpcy5kZXNjcmlwdG9yLmRlZmF1bHRTb3J0QXNjW2lkeF0gPyAxIDogLTFcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgW3N0eWxlLmhlaWdodF09XCJzY3JvbGxIZWlnaHQgPT09ICdmbGV4JyA/ICdjYWxjKDEwMHZoIC0gJyArIGRlc2NyaXB0b3IudGFibGVGdWxsSGVpZ2h0T2Zmc2V0ICsgJ3B4KScgOiBudWxsXCI+XG4gICAgPCEtLSBNVVNUIE5PVCB1c2Ugb2JzZXJ2YWJsZSBmb3IgdmFsdWUgd2hlbiB1c2luZyB2aXJ0dWFsIHNjcm9sbCAtIGRvZXMgbm90IHdvcmsgZm9yIHNvbWUgcmVhc29uIC0tPlxuICAgIDxwLXRhYmxlXG4gICAgICAgICpuZ0lmPVwiIXVzZVF1ZXJ5UGFyYW1zIHx8IHVzZVF1ZXJ5UGFyYW1zSW5pdGlhbGl6ZWRcIlxuICAgICAgICBbdmFsdWVdPVwiaW5maW5pdGVTY3JvbGwgPyBkYXRhUHJvdmlkZXJJbmZpbml0ZVNjcm9sbEl0ZW1zIDogKHF1ZXJ5UmVzdWx0JCB8IGFzeW5jKT8ucGFnZURhdGEgPz8gW11cIlxuICAgICAgICBbZGF0YUtleV09XCIkYW55KGRlc2NyaXB0b3IuZGF0YUtleVByb3BlcnR5KVwiXG4gICAgICAgIFtsYXp5XT1cInVzZURhdGFQcm92aWRlclwiXG4gICAgICAgIFtsb2FkaW5nXT1cIihsb2FkaW5nJCB8IGFzeW5jKSA/PyBmYWxzZVwiXG4gICAgICAgIFtwYWdpbmF0b3JdPVwidXNlRGF0YVByb3ZpZGVyICYmICFpbmZpbml0ZVNjcm9sbFwiXG4gICAgICAgIFtyb3dzXT1cIiRhbnkoaW5maW5pdGVTY3JvbGwgPyAyMCA6IHJvd3MpXCJcbiAgICAgICAgW2ZpcnN0XT1cIiRhbnkoaW5maW5pdGVTY3JvbGwgPyAwIDogb2Zmc2V0KVwiXG4gICAgICAgIFt0b3RhbFJlY29yZHNdPVwiJGFueShpbmZpbml0ZVNjcm9sbCA/IG51bGwgOiAocXVlcnlSZXN1bHQkIHwgYXN5bmMpPy5hbGxEYXRhQ291bnQgPz8gMClcIlxuICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIiRhbnkoaW5maW5pdGVTY3JvbGwgPyBudWxsIDogcm93c1BlclBhZ2VPcHRpb25zKVwiXG4gICAgICAgIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwiIWluZmluaXRlU2Nyb2xsXCJcbiAgICAgICAgW2N1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVdPVwiJ21uZ1RhYmxlLnBhZ2luYXRpb25Nc2cnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW211bHRpU29ydE1ldGFdPVwiJGFueShtdWx0aVNvcnRNZXRhKVwiXG4gICAgICAgIFtmaWx0ZXJzXT1cImZpbHRlck1ldGFkYXRhXCJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInNlbGVjdGlvblwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtzY3JvbGxhYmxlXT1cImluZmluaXRlU2Nyb2xsXCJcbiAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwiaW5maW5pdGVTY3JvbGxcIlxuICAgICAgICBbdmlydHVhbFJvd0hlaWdodF09XCIkYW55KHJvd0hlaWdodClcIlxuICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cIiRhbnkoc2Nyb2xsSGVpZ2h0KVwiXG4gICAgICAgIFtyb3dIb3Zlcl09XCJ0cnVlXCJcbiAgICAgICAgKG9uTGF6eUxvYWQpPVwib25UYWJsZUxhenlMb2FkKCRldmVudClcIlxuICAgICAgICAob25Tb3J0KT1cIm9uVGFibGVTb3J0KCRldmVudClcIlxuICAgICAgICAob25GaWx0ZXIpPVwib25UYWJsZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgICAgIHNvcnRNb2RlPVwibXVsdGlwbGVcIlxuICAgICAgICByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImNhcHRpb25UZW1wbGF0ZSB8fCBjYXB0aW9uQ29tcG9uZW50IHx8IGRlc2NyaXB0b3IudGl0bGVcIiBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FwdGlvblRlbXBsYXRlOyBlbHNlIGNvbXBvbmVudE9yRGVmYXVsdENhcHRpb25cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FwdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3JEZWZhdWx0Q2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FwdGlvbkNvbXBvbmVudDsgZWxzZSBkZWZhdWx0Q2FwdGlvblwiIFttbmdDb21wb25lbnRdPVwiY2FwdGlvbkNvbXBvbmVudFwiIChpbnN0YW5jZUNyZWF0ZWQpPVwib25DYXB0aW9uQ21wSW5zdCgkZXZlbnQpXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicC0wIG0tMFwiPnt7IGRlc2NyaXB0b3IudGl0bGUgfX08L2g1PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDx0ciAqbmdJZj1cIiFkZXNjcmlwdG9yLmhpZGVIZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkICYmIHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAtdGFibGVIZWFkZXJDaGVja2JveD48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDwhLS0gV2UgbmVlZCB0aGUgbGluZSBiZWxvdywgYmVjYXVzZSBvdGhlcndpc2UgcC10YWJsZVJhZGlvQnV0dG9uIHNoaWZ0cyB0aGUgcmVzdCBvZiB0aGUgY29sdW1ucyBpbiB0YWJsZSAtLT5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkICYmIHNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnXCIgc3R5bGU9XCJ3aWR0aDogMi4yNWVtXCI+PC90aD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgZGVzY3JpcHRvci5jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImNvbC5pc1NvcnRFbmFibGVkXCIgW3BTb3J0YWJsZUNvbHVtbl09XCJjb2wucHJvcGVydHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbC5wcm9wZXJ0eSB8IGkxOG5Qcm9wZXJ0eTogZGVzY3JpcHRvci5tb2RlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLXNvcnRJY29uIFtmaWVsZF09XCJjb2wucHJvcGVydHlcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1uZy10YWJsZS1jb2x1bW4tZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sLmZpbHRlckRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5maWx0ZXJEaXNwbGF5ID09PSBmaWx0ZXJEaXNwbGF5TWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5XT1cImRlc2NyaXB0b3IuZmlsdGVyRGlzcGxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdG9yXT1cImNvbC5maWx0ZXJEZXNjcmlwdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tbmctdGFibGUtY29sdW1uLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCIhY29sLmlzU29ydEVuYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbC5wcm9wZXJ0eSB8IGkxOG5Qcm9wZXJ0eTogZGVzY3JpcHRvci5tb2RlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bW5nLXRhYmxlLWNvbHVtbi1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wuZmlsdGVyRGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmZpbHRlckRpc3BsYXkgPT09IGZpbHRlckRpc3BsYXlNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC1hdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXldPVwiZGVzY3JpcHRvci5maWx0ZXJEaXNwbGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0b3JdPVwiY29sLmZpbHRlckRlc2NyaXB0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21uZy10YWJsZS1jb2x1bW4tZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiY29sdW1uQWN0aW9uVGVtcGxhdGUgfHwgY29sdW1uQWN0aW9uQ29tcG9uZW50XCI+PC90aD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJkZXNjcmlwdG9yLmZpbHRlckRpc3BsYXkgPT09IGZpbHRlckRpc3BsYXlSb3dcIj5cbiAgICAgICAgICAgICAgICA8IS0tIFdlIG5lZWQgdGhlIGxpbmUgYmVsb3csIGJlY2F1c2Ugb3RoZXJ3aXNlIHAtdGFibGVSYWRpb0J1dHRvbiBzaGlmdHMgdGhlIHJlc3Qgb2YgdGhlIGNvbHVtbnMgaW4gdGFibGUgLS0+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZCAmJiBzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJ1wiIHN0eWxlPVwid2lkdGg6IDIuMjVlbVwiPjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgZGVzY3JpcHRvci5jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nSWY9XCJjb2wuZmlsdGVyRGVzY3JpcHRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1uZy10YWJsZS1jb2x1bW4tZmlsdGVyIFtkaXNwbGF5XT1cImRlc2NyaXB0b3IuZmlsdGVyRGlzcGxheVwiIFtkZXNjcmlwdG9yXT1cImNvbC5maWx0ZXJEZXNjcmlwdG9yXCI+PC9tbmctdGFibGUtY29sdW1uLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJjb2x1bW5BY3Rpb25UZW1wbGF0ZSB8fCBjb2x1bW5BY3Rpb25Db21wb25lbnRcIj48L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1pdGVtIGxldC1pZHg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPHRyIFtzdHlsZS5oZWlnaHQucHhdPVwiZGVzY3JpcHRvci5yb3dIZWlnaHRcIj5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkICYmIHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAtdGFibGVDaGVja2JveCBbdmFsdWVdPVwiaXRlbVwiPjwvcC10YWJsZUNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZCAmJiBzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8cC10YWJsZVJhZGlvQnV0dG9uIFt2YWx1ZV09XCJpdGVtXCI+PC9wLXRhYmxlUmFkaW9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBkZXNjcmlwdG9yLmNvbHVtbnNcIiAoY2xpY2spPVwib25DZWxsQ2xpY2soY29sLCBpdGVtLCBpZHgpXCIgW2NsYXNzLmNsaWNrYWJsZV09XCJpc0NvbHVtbkNsaWNrYWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bW5nLXRhYmxlLWNvbHVtbi12YWx1ZSBbZGVzY3JpcHRvcl09XCJjb2xcIiBbaXRlbV09XCJpdGVtXCI+PC9tbmctdGFibGUtY29sdW1uLXZhbHVlPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uQWN0aW9uVGVtcGxhdGUgfHwgY29sdW1uQWN0aW9uQ29tcG9uZW50XCIgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5BY3Rpb25UZW1wbGF0ZTsgZWxzZSBzaG93Q29sdW1uQWN0aW9uQ29tcG9uZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uQWN0aW9uVGVtcGxhdGU7IGNvbnRleHQ6IHtyb3dJdGVtOiBpdGVtLCByb3dJbmRleDogaWR4fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93Q29sdW1uQWN0aW9uQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW21uZ0NvbXBvbmVudF09XCJjb2x1bW5BY3Rpb25Db21wb25lbnQhXCIgKGluc3RhbmNlQ3JlYXRlZCk9XCJvbkNvbHVtbkFjdGlvbkNtcEluc3QoJGV2ZW50KVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibG9hZGluZ2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBbc3R5bGUuaGVpZ2h0LnB4XT1cImRlc2NyaXB0b3Iucm93SGVpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiZGVzY3JpcHRvci5jb2x1bW5zLmxlbmd0aCArIChjb2x1bW5BY3Rpb25UZW1wbGF0ZSB8fCBjb2x1bW5BY3Rpb25Db21wb25lbnQgPyAxIDogMCkgKyAoc2VsZWN0aW9uRW5hYmxlZCA/IDEgOiAwKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy10ZXh0XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwLXNrZWxldG9uIFtuZ1N0eWxlXT1cInt3aWR0aDogJzEwMCUnfVwiPjwvcC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICA8dHIgW3N0eWxlLmhlaWdodC5weF09XCJyb3dIZWlnaHRcIj5cbiAgICAgICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJkZXNjcmlwdG9yLmNvbHVtbnMubGVuZ3RoICsgKGNvbHVtbkFjdGlvblRlbXBsYXRlIHx8IGNvbHVtbkFjdGlvbkNvbXBvbmVudCA/IDEgOiAwKSArIChzZWxlY3Rpb25FbmFibGVkID8gMSA6IDApXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdtbmdUYWJsZS5ub0l0ZW1zJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10YWJsZT5cbjwvZGl2PlxuIl19
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RhYmxldmlldy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBRVosS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBSU4sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUUsYUFBYSxFQUFnQixFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWhGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVwRSxJQUFPLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7QUFDNUMsSUFBTyxrQkFBa0IsR0FB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QXBFLE1BQU07dUJBQUMsMEJBQTBCO2dCQUNjLCtCQUErQjtzQkFBOUUsTUFBTTt1QkFBQywrQkFBK0I7Z0JBR08sU0FBUztzQkFBdEQsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBQ08sVUFBVTtzQkFBckQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBQ1YsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TGF6eUxvYWRFdmVudCwgU29ydE1ldGF9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7RmlsdGVyTWV0YWRhdGF9IGZyb20gJ3ByaW1lbmcvYXBpL2ZpbHRlcm1ldGFkYXRhJztcbmltcG9ydCB7VGFibGV9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJzY3JpcHRpb24sIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TWVkaXVzUXVlcnlQYXJhbSwgTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIsIE1lZGl1c1F1ZXJ5UmVzdWx0fSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7TWVkaXVzUmVzdFV0aWx9IGZyb20gJy4uLy4uLy4uL2FwaS91dGlscyc7XG5pbXBvcnQge0lUYWJsZURhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yLCBGaWx0ZXJEZXNjcmlwdG9yLCBUYWJsZURlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7TW5nQ29tcG9uZW50RGlyZWN0aXZlLCBNbmdUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge01uZ1ZpZXdDb250YWluZXJDb21wb25lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge05vdGlmaWNhdGlvblV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7TW5nVGFibGVDZWxsQ2xpY2tFdmVudCwgTW5nVGFibGVMb2FkRXZlbnR9IGZyb20gJy4uL21vZGVscyc7XG5cbmltcG9ydCBUeXBlRW51bSA9IEZpbHRlckRlc2NyaXB0b3IuVHlwZUVudW07XG5pbXBvcnQgUGFnaW5hdGlvbk1vZGVFbnVtID0gVGFibGVEZXNjcmlwdG9yLlBhZ2luYXRpb25Nb2RlRW51bTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb21wb25lbnQ8VCwgUz4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHJlYWRvbmx5IGZpbHRlckRpc3BsYXlSb3c6IFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bSA9IFRhYmxlRGVzY3JpcHRvci5GaWx0ZXJEaXNwbGF5RW51bS5Sb3c7XG4gICAgcHVibGljIHJlYWRvbmx5IGZpbHRlckRpc3BsYXlNZW51OiBUYWJsZURlc2NyaXB0b3IuRmlsdGVyRGlzcGxheUVudW0gPSBUYWJsZURlc2NyaXB0b3IuRmlsdGVyRGlzcGxheUVudW0uTWVudTtcblxuICAgIC8vIG1ldGFkYXRhIGlucHV0XG4gICAgQElucHV0KCkgcHVibGljIGRlc2NyaXB0b3IhOiBUYWJsZURlc2NyaXB0b3I8VD47XG5cbiAgICAvLyBkYXRhIHNvdXJjZSBpbnB1dHNcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbXM/OiBPYnNlcnZhYmxlPEFycmF5PFQ+PiB8IEFycmF5PFQ+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVJlc3VsdD86IE9ic2VydmFibGU8TWVkaXVzUXVlcnlSZXN1bHQ8VD4+IHwgTWVkaXVzUXVlcnlSZXN1bHQ8VD47XG4gICAgQElucHV0KCkgcHVibGljIGxvYWRpbmc/OiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0YVByb3ZpZGVyPzogSVRhYmxlRGF0YVByb3ZpZGVyPFQsIGFueT47XG4gICAgQElucHV0KCkgcHVibGljIHVzZVF1ZXJ5UGFyYW1zID0gZmFsc2U7XG5cbiAgICAvLyBleHRyYSBmZWF0dXJlcyBpbnB1dFxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3Rpb25Nb2RlID0gJ211bHRpcGxlJztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0aW9uRW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgLy8gdmlzdWFsXG4gICAgQElucHV0KCkgcHVibGljIGlzQ29sdW1uQ2xpY2thYmxlID0gdHJ1ZTtcblxuICAgIC8vIGNvbXBvbmVudCBpbnB1dHNcbiAgICBASW5wdXQoKSBwdWJsaWMgY2FwdGlvbkNvbXBvbmVudD86IFR5cGU8YW55PjtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29sdW1uQWN0aW9uQ29tcG9uZW50PzogVHlwZTxhbnk+O1xuXG4gICAgLy8gZXZlbnQgb3V0cHV0c1xuICAgIEBPdXRwdXQoJ3RhYmxlTG9hZCcpIHB1YmxpYyBsb2FkRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxNbmdUYWJsZUxvYWRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCdjZWxsQ2xpY2snKSBwdWJsaWMgY2VsbENsaWNrRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxNbmdUYWJsZUNlbGxDbGlja0V2ZW50PFQ+PigpO1xuICAgIEBPdXRwdXQoJ3NlbGVjdGlvbkNoYW5nZScpIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2VFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PFQ+PigpO1xuICAgIEBPdXRwdXQoJ2NhcHRpb25Db21wb25lbnRJbnN0YW5jZScpIHB1YmxpYyBjYXB0aW9uQ21wSW5zdEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoJ2NvbHVtbkFjdGlvbkNvbXBvbmVudEluc3RhbmNlJykgcHVibGljIGNvbHVtbkFjdGlvbkNtcEluc3RFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8vIGNvbnRlbnQgYW5kIHZpZXcgcXVlcmllc1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTW5nVGVtcGxhdGVEaXJlY3RpdmUpIHB1YmxpYyB0ZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8TW5nVGVtcGxhdGVEaXJlY3RpdmU+O1xuICAgIEBWaWV3Q2hpbGRyZW4oTW5nQ29tcG9uZW50RGlyZWN0aXZlKSBwdWJsaWMgY29tcG9uZW50cyE6IFF1ZXJ5TGlzdDxNbmdDb21wb25lbnREaXJlY3RpdmU8YW55Pj47XG4gICAgQFZpZXdDaGlsZChUYWJsZSkgcHVibGljIHByaW1lVGFibGUhOiBUYWJsZTtcblxuICAgIC8vIHRlbXBsYXRlc1xuICAgIHB1YmxpYyBjYXB0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHB1YmxpYyBjb2x1bW5BY3Rpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyBkYXRhIHByb3ZpZGVyIGFuZCBpdGVtc1xuICAgIHB1YmxpYyB1c2VEYXRhUHJvdmlkZXIgPSBmYWxzZTtcbiAgICBwdWJsaWMgdXNlUXVlcnlQYXJhbXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBxdWVyeVJlc3VsdCQ/OiBPYnNlcnZhYmxlPE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+PjtcbiAgICBwdWJsaWMgbG9hZGluZyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHB1YmxpYyBkYXRhUHJvdmlkZXJJbmZpbml0ZVNjcm9sbEl0ZW1zOiBBcnJheTxUPiA9IFtdO1xuXG4gICAgLy8gcGFnaW5hdGlvbiwgc29ydCBhbmQgZmlsdGVyc1xuICAgIHB1YmxpYyByZWFkb25seSByb3dzUGVyUGFnZU9wdGlvbnMgPSBbMjUsIDUwLCAxMDBdO1xuICAgIHB1YmxpYyByb3dzID0gdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbMF07XG4gICAgcHVibGljIG9mZnNldCA9IDA7XG4gICAgcHVibGljIG11bHRpU29ydE1ldGE6IFNvcnRNZXRhW10gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgZmlsdGVyTWV0YWRhdGE6IHtbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGEgfCBGaWx0ZXJNZXRhZGF0YVtdfSA9IHt9O1xuXG4gICAgLy8gaW5maW5pdGUgc2Nyb2xsXG4gICAgcHVibGljIGluZmluaXRlU2Nyb2xsID0gZmFsc2U7XG4gICAgcHVibGljIHNjcm9sbEhlaWdodDogJ2ZsZXgnIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHJvd0hlaWdodDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBzZWxlY3Rpb25cbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBBcnJheTxUPiA9IFtdO1xuXG4gICAgLy8gZGF0YSBwcm92aWRlclxuICAgIHByaXZhdGUgZGF0YVByb3ZpZGVyU2VydmljZTogYW55ID0gbnVsbDtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlclF1ZXJ5UmVzdWx0U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+PigxKTtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlckxvYWRpbmdTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXJMYXRlc3RMYXp5TG9hZEV2ZW50PzogTGF6eUxvYWRFdmVudDtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlckxhdGVzdExhenlMb2FkRXZlbnRWZXJzaW9uID0gMDtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlckxhdGVzdFF1ZXJ5UGFyYW0/OiBNZWRpdXNRdWVyeVBhcmFtO1xuICAgIHByaXZhdGUgZGF0YVByb3ZpZGVyTGF0ZXN0UXVlcnlQYXJhbVZlcnNpb24gPSAwO1xuICAgIHByaXZhdGUgZGF0YVByb3ZpZGVyU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgLy8gZmlsdGVyLCBzb3J0XG4gICAgcHJpdmF0ZSBpc0ZpbHRlckNoYW5nZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzU29ydENoYW5nZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGZpbHRlckRlc2NyaXB0b3JzOiBBcnJheTxGaWx0ZXJEZXNjcmlwdG9yPGFueT4+ID0gW107XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSB2aWV3Q29udGFpbmVyU2VydmljZTogTW5nVmlld0NvbnRhaW5lckNvbXBvbmVudFNlcnZpY2U8VCwgUz4gfCBudWxsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpbHRlckRlc2NyaXB0b3JzID0gdGhpcy5kZXNjcmlwdG9yLmNvbHVtbnMuZmlsdGVyKGMgPT4gdHlwZW9mIGMuZmlsdGVyRGVzY3JpcHRvciAhPT0gJ3VuZGVmaW5lZCcpLm1hcChjID0+IGMuZmlsdGVyRGVzY3JpcHRvciEpO1xuXG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IucGFnaW5hdGlvbk1vZGUgPT09IFBhZ2luYXRpb25Nb2RlRW51bS5JbmZpbml0ZVNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5pbmZpbml0ZVNjcm9sbCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhlaWdodCA9ICdmbGV4JztcbiAgICAgICAgICAgIHRoaXMucm93SGVpZ2h0ID0gdGhpcy5kZXNjcmlwdG9yLnJvd0hlaWdodDtcbiAgICAgICAgICAgIHRoaXMudXNlUXVlcnlQYXJhbXMgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNoZWNrIGlmIGRhdGEgcHJvdmlkZXIgaXMgc3VwcGxpZWQsIGlmIGlzLCB1c2UgaXQgcHJpbWFyaWx5XG4gICAgICAgIGlmICh0aGlzLmRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgLy8gbWFwIHN1YmplY3RzIHRvIG9ic2VydmFibGVzIGFuZCBpbml0aWF0ZSBkYXRhXG4gICAgICAgICAgICB0aGlzLnVzZURhdGFQcm92aWRlciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UmVzdWx0JCA9IHRoaXMuZGF0YVByb3ZpZGVyUXVlcnlSZXN1bHRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMuZGF0YVByb3ZpZGVyTG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgICAgICBjb25zdCBlbXB0eVF1ZXJ5UmVzdWx0ID0gbmV3IE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+KCk7XG4gICAgICAgICAgICBlbXB0eVF1ZXJ5UmVzdWx0LnBhZ2VEYXRhID0gW107XG4gICAgICAgICAgICBlbXB0eVF1ZXJ5UmVzdWx0LmFsbERhdGFDb3VudCA9IDA7XG4gICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJRdWVyeVJlc3VsdFN1YmplY3QubmV4dChlbXB0eVF1ZXJ5UmVzdWx0KTtcblxuICAgICAgICAgICAgLy8gaW5qZWN0IHNlcnZpY2VcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFQcm92aWRlci5zZXJ2aWNlVHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PGFueT4odGhpcy5kYXRhUHJvdmlkZXIuc2VydmljZVR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgcXVlcnkgcmVzdWx0IGlzIHByb3ZpZGVkLCB1c2UgaXQgYXMgc2Vjb25kYXJ5IHNvdXJjZSBvciBlbHNlIHRyeSB0byB1c2UgaXRlbXNcbiAgICAgICAgICAgIGlmICh0aGlzLnF1ZXJ5UmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJlc3VsdCQgPSB0aGlzLnF1ZXJ5UmVzdWx0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IHRoaXMucXVlcnlSZXN1bHQgOiBvZih0aGlzLnF1ZXJ5UmVzdWx0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMucXVlcnlSZXN1bHQgJiYgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSZXN1bHQkID0gKHRoaXMuaXRlbXMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlID8gdGhpcy5pdGVtcyA6IG9mKHRoaXMuaXRlbXMpKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAvLyBkaXN0aW5jdFVudGlsQ2hhbmdlZCgodjEsIHYyKSA9PiB2MS5sZW5ndGggPT09IHYyLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgdjEuZXZlcnkoKHYxaSwgaWR4KSA9PiB2MWlbdGhpcy5kZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eV0gPT09IHYyW2lkeF1bdGhpcy5kZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eV0pKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKGl0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UmVzdWx0ID0gbmV3IE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJlc3VsdC5wYWdlRGF0YSA9IGl0ZW1zO1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSZXN1bHQuYWxsRGF0YUNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5UmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMubG9hZGluZyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5sb2FkaW5nIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IHRoaXMubG9hZGluZyA6IG9mKHRoaXMubG9hZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy51c2VRdWVyeVBhcmFtcykge1xuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocXAgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZFRhYmxlRnJvbVJvdXRlVXBkYXRlKHFwKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGluaXRpYWxpemUgZGVmYXVsdCBzb3J0IGlmIHByZXNlbnRcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRTb3J0ID0gdGhpcy5nZXREZWZhdWx0U29ydE1ldGEoKTtcbiAgICAgICAgICAgIGlmIChkZWZhdWx0U29ydC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aVNvcnRNZXRhID0gZGVmYXVsdFNvcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnRlbXBsYXRlcy5mb3JFYWNoKHRlbXBsYXRlID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAodGVtcGxhdGUuZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2FwdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FwdGlvblRlbXBsYXRlID0gdGVtcGxhdGUudGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbHVtbkFjdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1uQWN0aW9uVGVtcGxhdGUgPSB0ZW1wbGF0ZS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVsb2FkKGVtaXRFdmVudCA9IGZhbHNlLCByZXNldFBhcmFtcyA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMubG9hZFRhYmxlV2l0aERhdGFQcm92aWRlcihcbiAgICAgICAgICAgIHJlc2V0UGFyYW1zID8gTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlKHRoaXMucm93c1BlclBhZ2VPcHRpb25zWzBdLCAwKS5idWlsZCgpIDogdGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RRdWVyeVBhcmFtID8/IG5ldyBNZWRpdXNRdWVyeVBhcmFtKCksXG4gICAgICAgICAgICBlbWl0RXZlbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWJsZUxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyTGF0ZXN0TGF6eUxvYWRFdmVudCA9IGV2ZW50O1xuICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxhdGVzdExhenlMb2FkRXZlbnRWZXJzaW9uKys7XG5cbiAgICAgICAgaWYgKHRoaXMudXNlUXVlcnlQYXJhbXMpIHtcbiAgICAgICAgICAgIGlmICghZXZlbnQubXVsdGlTb3J0TWV0YSB8fCBldmVudC5tdWx0aVNvcnRNZXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIC8vIGFkZCBkZWZhdWx0IHNvcnQgbWV0YSB0byBldmVudCBpZiBub3QgbXVsdGlzb3J0IG1ldGEgaXMgcHJlc2VudFxuICAgICAgICAgICAgICAgIGV2ZW50Lm11bHRpU29ydE1ldGEgPSB0aGlzLmdldERlZmF1bHRTb3J0TWV0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgIHJlcGxhY2VVcmw6IHRydWUsXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IE1lZGl1c1Jlc3RVdGlsLmZyb21QcmltZUxhenlMb2FkRXZlbnRUb0FuZ3VsYXJRdWVyeVBhcmFtcyhldmVudCwgdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbMF0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG1lZGl1c1F1ZXJ5UGFyYW1zID0gZXZlbnQgPyBNZWRpdXNSZXN0VXRpbC5mcm9tUHJpbWVMYXp5TG9hZEV2ZW50VG9NZWRpdXNRdWVyeVBhcmFtcyhldmVudCkgOiBuZXcgTWVkaXVzUXVlcnlQYXJhbSgpO1xuICAgICAgICAgICAgdGhpcy5sb2FkVGFibGVXaXRoRGF0YVByb3ZpZGVyKG1lZGl1c1F1ZXJ5UGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwdWJsaWMgb25UYWJsZVNvcnQoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmlzU29ydENoYW5nZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwdWJsaWMgb25UYWJsZUZpbHRlcihldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuaXNGaWx0ZXJDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DZWxsQ2xpY2soY29sOiBDb2x1bW5EZXNjcmlwdG9yPGFueSwgVD4sIGl0ZW06IFQsIGlkeDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG1uZ0V2ZW50ID0gbmV3IE1uZ1RhYmxlQ2VsbENsaWNrRXZlbnQ8VD4oY29sLCBpdGVtLCBpZHgpO1xuICAgICAgICB0aGlzLmNlbGxDbGlja0V2ZW50RW1pdHRlci5uZXh0KG1uZ0V2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IEFycmF5PFQ+KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlRXZlbnRFbWl0dGVyLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNhcHRpb25DbXBJbnN0PEM+KGluc3RhbmNlOiBDKSB7XG4gICAgICAgIHRoaXMuY2FwdGlvbkNtcEluc3RFdmVudEVtaXR0ZXIubmV4dChpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ29sdW1uQWN0aW9uQ21wSW5zdDxDPihpbnN0YW5jZTogQykge1xuICAgICAgICB0aGlzLmNvbHVtbkFjdGlvbkNtcEluc3RFdmVudEVtaXR0ZXIubmV4dChpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkVGFibGVXaXRoRGF0YVByb3ZpZGVyKHF1ZXJ5UGFyYW06IE1lZGl1c1F1ZXJ5UGFyYW0gfCBudWxsID0gbnVsbCwgZW1pdEV2ZW50ID0gdHJ1ZSkge1xuICAgICAgICBpZiAoIXRoaXMudXNlRGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRhdGFQcm92aWRlclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJMb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuXG4gICAgICAgIGlmICghcXVlcnlQYXJhbSkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbSA9IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSh0aGlzLnJvd3NQZXJQYWdlT3B0aW9uc1swXSkuYnVpbGQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxhdGVzdFF1ZXJ5UGFyYW0gPSBxdWVyeVBhcmFtO1xuICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxhdGVzdFF1ZXJ5UGFyYW1WZXJzaW9uKys7XG5cbiAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRhdGFQcm92aWRlcj8uZ2V0QWxsKHF1ZXJ5UGFyYW0sIHRoaXMuZGF0YVByb3ZpZGVyU2VydmljZSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbmZpbml0ZVNjcm9sbCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ZpbHRlckNoYW5nZWQgfHwgdGhpcy5pc1NvcnRDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlckluZmluaXRlU2Nyb2xsSXRlbXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlckluZmluaXRlU2Nyb2xsSXRlbXMuc3BsaWNlKHF1ZXJ5UGFyYW0hLml0ZW1zT2Zmc2V0ID8/IDAsIHF1ZXJ5UGFyYW0hLml0ZW1zUGVyUGFnZSA/PyB0aGlzLnJvd3MsIC4uLihyZXMucGFnZURhdGEgPz8gW10pKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJJbmZpbml0ZVNjcm9sbEl0ZW1zID0gWy4uLnRoaXMuZGF0YVByb3ZpZGVySW5maW5pdGVTY3JvbGxJdGVtc107XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJRdWVyeVJlc3VsdFN1YmplY3QubmV4dChyZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlsdGVyQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTb3J0Q2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyTG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25VdGlsLnRhYmxlTm90aWZpY2F0aW9uRXJyb3IodGhpcy50cmFuc2xhdGUsIHRoaXMuZGVzY3JpcHRvciwgZXJyLCB0aGlzLnZpZXdDb250YWluZXJTZXJ2aWNlID8/IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW1wdHlRdWVyeVJlc3VsdCA9IG5ldyBNZWRpdXNRdWVyeVJlc3VsdDxUPigpO1xuICAgICAgICAgICAgICAgIGVtcHR5UXVlcnlSZXN1bHQucGFnZURhdGEgPSBbXTtcbiAgICAgICAgICAgICAgICBlbXB0eVF1ZXJ5UmVzdWx0LmFsbERhdGFDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJRdWVyeVJlc3VsdFN1YmplY3QubmV4dChlbXB0eVF1ZXJ5UmVzdWx0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlckxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChlbWl0RXZlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1uZ0V2ZW50ID0gbmV3IE1uZ1RhYmxlTG9hZEV2ZW50KCk7XG4gICAgICAgICAgICBtbmdFdmVudC5vcmlnaW5hbEV2ZW50ID0gdGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RMYXp5TG9hZEV2ZW50ID8/IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIG1uZ0V2ZW50LnF1ZXJ5UGFyYW0gPSBxdWVyeVBhcmFtO1xuICAgICAgICAgICAgdGhpcy5sb2FkRXZlbnRFbWl0dGVyLm5leHQobW5nRXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkVGFibGVGcm9tUm91dGVVcGRhdGUocGFyYW1zOiBQYXJhbXMpIHtcbiAgICAgICAgY29uc3QgbWVkaXVzUXVlcnlQYXJhbSA9IE1lZGl1c1Jlc3RVdGlsLmZyb21Bbmd1bGFyUXVlcnlQYXJhbXNUb01lZGl1c1F1ZXJ5UGFyYW1zKHBhcmFtcywgdGhpcy5maWx0ZXJEZXNjcmlwdG9ycywgdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbMF0pO1xuICAgICAgICBpZiAodGhpcy5kYXRhUHJvdmlkZXJMYXRlc3RMYXp5TG9hZEV2ZW50VmVyc2lvbiA8IHRoaXMuZGF0YVByb3ZpZGVyTGF0ZXN0UXVlcnlQYXJhbVZlcnNpb24gKyAxKSB7XG4gICAgICAgICAgICAvLyB1cGRhdGUgb25seSBpZiBuZXcgdmVyc2lvbiBmcm9tIHF1ZXJ5IHBhcmFtcyB3aWxsIGJlIGhpZ2hlclxuICAgICAgICAgICAgdGhpcy51cGRhdGVQcmltZVNvcnRBbmRGaWx0ZXIobWVkaXVzUXVlcnlQYXJhbSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51c2VRdWVyeVBhcmFtc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkVGFibGVXaXRoRGF0YVByb3ZpZGVyKG1lZGl1c1F1ZXJ5UGFyYW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJpbWVTb3J0QW5kRmlsdGVyKG1lZGl1c1F1ZXJ5UGFyYW06IE1lZGl1c1F1ZXJ5UGFyYW0pIHtcbiAgICAgICAgY29uc3QgcHJpbWVTb3J0TWV0YTogU29ydE1ldGFbXSA9IFtdO1xuICAgICAgICBjb25zdCBwcmltZUZpbHRlck1ldGE6IHtbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGEgfCBGaWx0ZXJNZXRhZGF0YVtdfSA9IHt9O1xuXG4gICAgICAgIHRoaXMuZmlsdGVyRGVzY3JpcHRvcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgICAgIHByaW1lRmlsdGVyTWV0YVtmLnByb3BlcnR5XSA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICAgICAgICBtYXRjaE1vZGU6IGYuZmlsdGVyVHlwZSA9PT0gVHlwZUVudW0uU3RyaW5nID8gJ2NvbnRhaW5zJyA6ICdlcXVhbHMnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICBtZWRpdXNRdWVyeVBhcmFtPy5zb3J0UHJvcGVydHk/LmZvckVhY2goKHMsIGlkeCkgPT4ge1xuICAgICAgICAgICAgcHJpbWVTb3J0TWV0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICBmaWVsZDogcyxcbiAgICAgICAgICAgICAgICBvcmRlcjogbWVkaXVzUXVlcnlQYXJhbT8uc29ydEFzYz8uW2lkeF0gPz8gdHJ1ZSA/IDEgOiAtMVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lZGl1c1F1ZXJ5UGFyYW0/LmZpbHRlclBhcmFtcz8uZm9yRWFjaChmID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB0aGlzLmZpbHRlckRlc2NyaXB0b3JzLmZpbmQoZmQgPT4gZmQuZmlsdGVyUHJvcGVydHkgPT09IGYucHJvcGVydHkgfHwgZmQucHJvcGVydHkgPT09IGYucHJvcGVydHkpO1xuICAgICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBNZWRpdXNSZXN0VXRpbC5tYXRjaE1vZGVNYXBwaW5nLmZpbmQobWFwcGluZyA9PiBtYXBwaW5nWzJdID09PSBmLmZpbHRlck1hdGNoVHlwZSk7XG4gICAgICAgICAgICBpZiAoZGVzY3JpcHRvciAmJiBvcGVyYXRvcikge1xuICAgICAgICAgICAgICAgIHByaW1lRmlsdGVyTWV0YVtkZXNjcmlwdG9yLnByb3BlcnR5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGYuZmlsdGVyVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoTW9kZTogb3BlcmF0b3JbMF1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm11bHRpU29ydE1ldGEgPSBwcmltZVNvcnRNZXRhO1xuICAgICAgICB0aGlzLmZpbHRlck1ldGFkYXRhID0gcHJpbWVGaWx0ZXJNZXRhO1xuICAgICAgICB0aGlzLnJvd3MgPSBtZWRpdXNRdWVyeVBhcmFtPy5pdGVtc1BlclBhZ2UgPz8gdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnNbMF07XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gbWVkaXVzUXVlcnlQYXJhbT8uaXRlbXNPZmZzZXQgPz8gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRTb3J0TWV0YSgpOiBTb3J0TWV0YVtdIHtcbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvci5oYXNEZWZhdWx0U29ydCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvci5kZWZhdWx0U29ydFByb3BlcnR5Lm1hcChcbiAgICAgICAgICAgICAgICAocCwgaWR4KSA9PlxuICAgICAgICAgICAgICAgICAgICA8U29ydE1ldGE+e1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IHAsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogdGhpcy5kZXNjcmlwdG9yLmRlZmF1bHRTb3J0QXNjW2lkeF0gPyAxIDogLTFcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgW3N0eWxlLmhlaWdodF09XCJzY3JvbGxIZWlnaHQgPT09ICdmbGV4JyA/ICdjYWxjKDEwMHZoIC0gJyArIGRlc2NyaXB0b3IudGFibGVGdWxsSGVpZ2h0T2Zmc2V0ICsgJ3B4KScgOiBudWxsXCI+XG4gICAgPCEtLSBNVVNUIE5PVCB1c2Ugb2JzZXJ2YWJsZSBmb3IgdmFsdWUgd2hlbiB1c2luZyB2aXJ0dWFsIHNjcm9sbCAtIGRvZXMgbm90IHdvcmsgZm9yIHNvbWUgcmVhc29uIC0tPlxuICAgIDxwLXRhYmxlXG4gICAgICAgICpuZ0lmPVwiIXVzZVF1ZXJ5UGFyYW1zIHx8IHVzZVF1ZXJ5UGFyYW1zSW5pdGlhbGl6ZWRcIlxuICAgICAgICBbdmFsdWVdPVwiaW5maW5pdGVTY3JvbGwgPyBkYXRhUHJvdmlkZXJJbmZpbml0ZVNjcm9sbEl0ZW1zIDogKHF1ZXJ5UmVzdWx0JCB8IGFzeW5jKT8ucGFnZURhdGEgPz8gW11cIlxuICAgICAgICBbZGF0YUtleV09XCIkYW55KGRlc2NyaXB0b3IuZGF0YUtleVByb3BlcnR5KVwiXG4gICAgICAgIFtsYXp5XT1cInVzZURhdGFQcm92aWRlclwiXG4gICAgICAgIFtsb2FkaW5nXT1cIihsb2FkaW5nJCB8IGFzeW5jKSA/PyBmYWxzZVwiXG4gICAgICAgIFtwYWdpbmF0b3JdPVwidXNlRGF0YVByb3ZpZGVyICYmICFpbmZpbml0ZVNjcm9sbFwiXG4gICAgICAgIFtyb3dzXT1cIiRhbnkoaW5maW5pdGVTY3JvbGwgPyAyMCA6IHJvd3MpXCJcbiAgICAgICAgW2ZpcnN0XT1cIiRhbnkoaW5maW5pdGVTY3JvbGwgPyAwIDogb2Zmc2V0KVwiXG4gICAgICAgIFt0b3RhbFJlY29yZHNdPVwiJGFueShpbmZpbml0ZVNjcm9sbCA/IG51bGwgOiAocXVlcnlSZXN1bHQkIHwgYXN5bmMpPy5hbGxEYXRhQ291bnQgPz8gMClcIlxuICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIiRhbnkoaW5maW5pdGVTY3JvbGwgPyBudWxsIDogcm93c1BlclBhZ2VPcHRpb25zKVwiXG4gICAgICAgIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwiIWluZmluaXRlU2Nyb2xsXCJcbiAgICAgICAgW2N1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVdPVwiJ21uZ1RhYmxlLnBhZ2luYXRpb25Nc2cnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW211bHRpU29ydE1ldGFdPVwiJGFueShtdWx0aVNvcnRNZXRhKVwiXG4gICAgICAgIFtmaWx0ZXJzXT1cImZpbHRlck1ldGFkYXRhXCJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInNlbGVjdGlvblwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtzY3JvbGxhYmxlXT1cImluZmluaXRlU2Nyb2xsXCJcbiAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwiaW5maW5pdGVTY3JvbGxcIlxuICAgICAgICBbdmlydHVhbFJvd0hlaWdodF09XCIkYW55KHJvd0hlaWdodClcIlxuICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cIiRhbnkoc2Nyb2xsSGVpZ2h0KVwiXG4gICAgICAgIFtyb3dIb3Zlcl09XCJ0cnVlXCJcbiAgICAgICAgKG9uTGF6eUxvYWQpPVwib25UYWJsZUxhenlMb2FkKCRldmVudClcIlxuICAgICAgICAob25Tb3J0KT1cIm9uVGFibGVTb3J0KCRldmVudClcIlxuICAgICAgICAob25GaWx0ZXIpPVwib25UYWJsZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgICAgIHNvcnRNb2RlPVwibXVsdGlwbGVcIlxuICAgICAgICByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImNhcHRpb25UZW1wbGF0ZSB8fCBjYXB0aW9uQ29tcG9uZW50IHx8IGRlc2NyaXB0b3IudGl0bGVcIiBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FwdGlvblRlbXBsYXRlOyBlbHNlIGNvbXBvbmVudE9yRGVmYXVsdENhcHRpb25cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FwdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3JEZWZhdWx0Q2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FwdGlvbkNvbXBvbmVudDsgZWxzZSBkZWZhdWx0Q2FwdGlvblwiIFttbmdDb21wb25lbnRdPVwiY2FwdGlvbkNvbXBvbmVudFwiIChpbnN0YW5jZUNyZWF0ZWQpPVwib25DYXB0aW9uQ21wSW5zdCgkZXZlbnQpXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicC0wIG0tMFwiPnt7IGRlc2NyaXB0b3IudGl0bGUgfX08L2g1PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDx0ciAqbmdJZj1cIiFkZXNjcmlwdG9yLmhpZGVIZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkICYmIHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAtdGFibGVIZWFkZXJDaGVja2JveD48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDwhLS0gV2UgbmVlZCB0aGUgbGluZSBiZWxvdywgYmVjYXVzZSBvdGhlcndpc2UgcC10YWJsZVJhZGlvQnV0dG9uIHNoaWZ0cyB0aGUgcmVzdCBvZiB0aGUgY29sdW1ucyBpbiB0YWJsZSAtLT5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkICYmIHNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnXCIgc3R5bGU9XCJ3aWR0aDogMi4yNWVtXCI+PC90aD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgZGVzY3JpcHRvci5jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImNvbC5pc1NvcnRFbmFibGVkXCIgW3BTb3J0YWJsZUNvbHVtbl09XCJjb2wucHJvcGVydHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbC5wcm9wZXJ0eSB8IGkxOG5Qcm9wZXJ0eTogZGVzY3JpcHRvci5tb2RlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLXNvcnRJY29uIFtmaWVsZF09XCJjb2wucHJvcGVydHlcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1uZy10YWJsZS1jb2x1bW4tZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sLmZpbHRlckRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5maWx0ZXJEaXNwbGF5ID09PSBmaWx0ZXJEaXNwbGF5TWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5XT1cImRlc2NyaXB0b3IuZmlsdGVyRGlzcGxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdG9yXT1cImNvbC5maWx0ZXJEZXNjcmlwdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tbmctdGFibGUtY29sdW1uLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCIhY29sLmlzU29ydEVuYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbC5wcm9wZXJ0eSB8IGkxOG5Qcm9wZXJ0eTogZGVzY3JpcHRvci5tb2RlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bW5nLXRhYmxlLWNvbHVtbi1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wuZmlsdGVyRGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmZpbHRlckRpc3BsYXkgPT09IGZpbHRlckRpc3BsYXlNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC1hdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXldPVwiZGVzY3JpcHRvci5maWx0ZXJEaXNwbGF5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0b3JdPVwiY29sLmZpbHRlckRlc2NyaXB0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21uZy10YWJsZS1jb2x1bW4tZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiY29sdW1uQWN0aW9uVGVtcGxhdGUgfHwgY29sdW1uQWN0aW9uQ29tcG9uZW50XCI+PC90aD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJkZXNjcmlwdG9yLmZpbHRlckRpc3BsYXkgPT09IGZpbHRlckRpc3BsYXlSb3dcIj5cbiAgICAgICAgICAgICAgICA8IS0tIFdlIG5lZWQgdGhlIGxpbmUgYmVsb3csIGJlY2F1c2Ugb3RoZXJ3aXNlIHAtdGFibGVSYWRpb0J1dHRvbiBzaGlmdHMgdGhlIHJlc3Qgb2YgdGhlIGNvbHVtbnMgaW4gdGFibGUgLS0+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZCAmJiBzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJ1wiIHN0eWxlPVwid2lkdGg6IDIuMjVlbVwiPjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgZGVzY3JpcHRvci5jb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nSWY9XCJjb2wuZmlsdGVyRGVzY3JpcHRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1uZy10YWJsZS1jb2x1bW4tZmlsdGVyIFtkaXNwbGF5XT1cImRlc2NyaXB0b3IuZmlsdGVyRGlzcGxheVwiIFtkZXNjcmlwdG9yXT1cImNvbC5maWx0ZXJEZXNjcmlwdG9yXCI+PC9tbmctdGFibGUtY29sdW1uLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJjb2x1bW5BY3Rpb25UZW1wbGF0ZSB8fCBjb2x1bW5BY3Rpb25Db21wb25lbnRcIj48L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1pdGVtIGxldC1pZHg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPHRyIFtzdHlsZS5oZWlnaHQucHhdPVwiZGVzY3JpcHRvci5yb3dIZWlnaHRcIj5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkICYmIHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAtdGFibGVDaGVja2JveCBbdmFsdWVdPVwiaXRlbVwiPjwvcC10YWJsZUNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZCAmJiBzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8cC10YWJsZVJhZGlvQnV0dG9uIFt2YWx1ZV09XCJpdGVtXCI+PC9wLXRhYmxlUmFkaW9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBkZXNjcmlwdG9yLmNvbHVtbnNcIiAoY2xpY2spPVwib25DZWxsQ2xpY2soY29sLCBpdGVtLCBpZHgpXCIgW2NsYXNzLmNsaWNrYWJsZV09XCJpc0NvbHVtbkNsaWNrYWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bW5nLXRhYmxlLWNvbHVtbi12YWx1ZSBbZGVzY3JpcHRvcl09XCJjb2xcIiBbaXRlbV09XCJpdGVtXCI+PC9tbmctdGFibGUtY29sdW1uLXZhbHVlPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29sdW1uQWN0aW9uVGVtcGxhdGUgfHwgY29sdW1uQWN0aW9uQ29tcG9uZW50XCIgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5BY3Rpb25UZW1wbGF0ZTsgZWxzZSBzaG93Q29sdW1uQWN0aW9uQ29tcG9uZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uQWN0aW9uVGVtcGxhdGU7IGNvbnRleHQ6IHtyb3dJdGVtOiBpdGVtLCByb3dJbmRleDogaWR4fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93Q29sdW1uQWN0aW9uQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW21uZ0NvbXBvbmVudF09XCJjb2x1bW5BY3Rpb25Db21wb25lbnQhXCIgKGluc3RhbmNlQ3JlYXRlZCk9XCJvbkNvbHVtbkFjdGlvbkNtcEluc3QoJGV2ZW50KVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibG9hZGluZ2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBbc3R5bGUuaGVpZ2h0LnB4XT1cImRlc2NyaXB0b3Iucm93SGVpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiZGVzY3JpcHRvci5jb2x1bW5zLmxlbmd0aCArIChjb2x1bW5BY3Rpb25UZW1wbGF0ZSB8fCBjb2x1bW5BY3Rpb25Db21wb25lbnQgPyAxIDogMCkgKyAoc2VsZWN0aW9uRW5hYmxlZCA/IDEgOiAwKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy10ZXh0XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwLXNrZWxldG9uIFtuZ1N0eWxlXT1cInt3aWR0aDogJzEwMCUnfVwiPjwvcC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICA8dHIgW3N0eWxlLmhlaWdodC5weF09XCJyb3dIZWlnaHRcIj5cbiAgICAgICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJkZXNjcmlwdG9yLmNvbHVtbnMubGVuZ3RoICsgKGNvbHVtbkFjdGlvblRlbXBsYXRlIHx8IGNvbHVtbkFjdGlvbkNvbXBvbmVudCA/IDEgOiAwKSArIChzZWxlY3Rpb25FbmFibGVkID8gMSA6IDApXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdtbmdUYWJsZS5ub0l0ZW1zJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10YWJsZT5cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW5nLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29uZmlnL21vZGVscy9tbmctY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1uZ01vZHVsZUNvbmZpZyB7XG4gICAgYXBwPzoge1xuICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICBvd25lcj86IHN0cmluZztcbiAgICAgICAgbG9nb1BhdGg/OiBzdHJpbmc7XG4gICAgICAgIGxvZ29QYXRoTGlnaHQ/OiBzdHJpbmc7XG4gICAgICAgIGxvZ29QYXRoRGFyaz86IHN0cmluZztcbiAgICAgICAgbG9nb05hbWVQYXRoPzogc3RyaW5nO1xuICAgICAgICBsb2dvTmFtZVBhdGhMaWdodD86IHN0cmluZztcbiAgICAgICAgbG9nb05hbWVQYXRoRGFyaz86IHN0cmluZztcbiAgICAgICAgbGFuZ3VhZ2VzPzogc3RyaW5nW107XG4gICAgICAgIGNvbG9yU2NoZW1lPzogJ2xpZ2h0JyB8ICdkYXJrJztcbiAgICB9O1xuICAgIG1lbnU/OiB7XG4gICAgICAgIG1vZGU/OiAnc3RhdGljJyB8ICdzaWRlYmFyJyB8ICdzbGltJyB8ICdvdmVybGF5JztcbiAgICAgICAgbWVudUl0ZW1zPzogTWVudUl0ZW1bXTtcbiAgICAgICAgcGluRW5hYmxlZD86IGJvb2xlYW47XG4gICAgfTtcbiAgICBjb25maWd1cmF0aW9uPzoge1xuICAgICAgICBwcm9qZWN0RW52aXJvbm1lbnQ/OiBhbnk7XG4gICAgICAgIGpzb25Tb3VyY2U/OiBzdHJpbmc7XG4gICAgICAgIHNraXBKc29uU291cmNlSW5pdD86IGJvb2xlYW47XG4gICAgfTtcbiAgICBmb3JtbHk/OiB7XG4gICAgICAgIHNraXA/OiBib29sZWFuO1xuICAgICAgICBtZXJnZT86IGJvb2xlYW47XG4gICAgICAgIHR5cGVzPzogYW55W107XG4gICAgICAgIHdyYXBwZXJzPzogYW55W107XG4gICAgICAgIHZhbGlkYXRvcnM/OiBhbnlbXTtcbiAgICAgICAgZ2V0VmFsaWRhdGlvbk1lc3NhZ2VzPzogKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgPT4gYW55W107XG4gICAgfTtcbn1cbiJdfQ==
|