@vendure/admin-ui 3.0.4 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/core/common/version.d.ts +1 -1
  2. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +1 -1
  3. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +1 -1
  4. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +11 -11
  5. package/esm2022/catalog/components/product-list/product-list.component.mjs +1 -1
  6. package/esm2022/core/common/base-list.component.mjs +1 -1
  7. package/esm2022/core/common/version.mjs +2 -2
  8. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +1 -1
  9. package/esm2022/core/data/providers/base-data.service.mjs +1 -1
  10. package/esm2022/core/data/providers/collection-data.service.mjs +1 -1
  11. package/esm2022/core/data/providers/data.service.mjs +1 -1
  12. package/esm2022/core/data/providers/product-data.service.mjs +1 -1
  13. package/esm2022/core/data/query-result.mjs +5 -3
  14. package/esm2022/core/data/utils/add-custom-fields.mjs +1 -1
  15. package/esm2022/core/providers/alerts/alerts.service.mjs +1 -1
  16. package/esm2022/core/providers/auth/auth.service.mjs +1 -1
  17. package/esm2022/core/providers/data-table/data-table-config.service.mjs +1 -1
  18. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +1 -1
  19. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +1 -1
  20. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +11 -11
  21. package/esm2022/customer/components/customer-list/customer-list.component.mjs +24 -24
  22. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +11 -11
  23. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +1 -1
  24. package/esm2022/order/components/order-list/order-list.component.mjs +1 -1
  25. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +30 -30
  26. package/esm2022/settings/components/channel-list/channel-list.component.mjs +11 -11
  27. package/esm2022/settings/components/country-list/country-list.component.mjs +19 -19
  28. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +19 -19
  29. package/esm2022/settings/components/role-list/role-list.component.mjs +11 -11
  30. package/esm2022/settings/components/seller-list/seller-list.component.mjs +16 -16
  31. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +19 -19
  32. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +17 -17
  33. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +11 -11
  34. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +11 -11
  35. package/esm2022/settings/components/zone-list/zone-list.component.mjs +16 -16
  36. package/fesm2022/vendure-admin-ui-catalog.mjs +10 -10
  37. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  38. package/fesm2022/vendure-admin-ui-core.mjs +5 -3
  39. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  40. package/fesm2022/vendure-admin-ui-customer.mjs +33 -33
  41. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  42. package/fesm2022/vendure-admin-ui-marketing.mjs +10 -10
  43. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  44. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  45. package/fesm2022/vendure-admin-ui-settings.mjs +169 -169
  46. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  47. package/package.json +13 -13
@@ -199,4 +199,4 @@ export class TypedBaseListComponent extends BaseListComponent {
199
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TypedBaseListComponent, decorators: [{
200
200
  type: Directive
201
201
  }], ctorParameters: () => [] });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFFakksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQWdCakU7Ozs7Ozs7O0dBUUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGlC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QUFVLENBQUMsQ0FBQztRQUNsQyxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWtCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUF1RDtRQUN4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzVFLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBL0ZRLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVzdWx0T2YsIFR5cGVkRG9jdW1lbnROb2RlLCBWYXJpYWJsZXNPZiB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gJy4uL2RhdGEvcXVlcnktcmVzdWx0JztcclxuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2RhdGEvc2VydmVyLWNvbmZpZyc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbiB9IGZyb20gJy4uL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLWNvbGxlY3Rpb24nO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbiB9IGZyb20gJy4uL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtc29ydC1jb2xsZWN0aW9uJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGUyQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvZGF0YS10YWJsZS0yL2RhdGEtdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUN1c3RvbUZpZWxkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvZGF0YS10YWJsZS0yL2RhdGEtdGFibGUtY3VzdG9tLWZpZWxkLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgQ3VzdG9tRmllbGRzLCBMYW5ndWFnZUNvZGUgfSBmcm9tICcuL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tICcuL3V0aWxpdGllcy9zZWxlY3Rpb24tbWFuYWdlcic7XHJcblxyXG5leHBvcnQgdHlwZSBMaXN0UXVlcnlGbjxSPiA9ICh0YWtlOiBudW1iZXIsIHNraXA6IG51bWJlciwgLi4uYXJnczogYW55W10pID0+IFF1ZXJ5UmVzdWx0PFIsIGFueT47XHJcbmV4cG9ydCB0eXBlIE1hcHBpbmdGbjxULCBSPiA9IChyZXN1bHQ6IFIpID0+IHsgaXRlbXM6IFRbXTsgdG90YWxJdGVtczogbnVtYmVyIH07XHJcbmV4cG9ydCB0eXBlIE9uUGFnZUNoYW5nZUZuPFY+ID0gKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWO1xyXG5cclxuLyoqXHJcbiAqIFVud3JhcHMgYSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCB3aXRoIGFuIFwiaXRlbXNcIiBwcm9wZXJ0eSxcclxuICogcmV0dXJuaW5nIHRoZSB0eXBlIG9mIG9uZSBvZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5LlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgSXRlbU9mPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbS10gZXh0ZW5kcyB7IGl0ZW1zOiBpbmZlciBSIH1cclxuICAgID8gUiBleHRlbmRzIGFueVtdXHJcbiAgICAgICAgPyBSW251bWJlcl1cclxuICAgICAgICA6IFJcclxuICAgIDogbmV2ZXI7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoaXMgaXMgYSBiYXNlIGNsYXNzIHdoaWNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGZldGNoIGFuZCBtYW5pcHVsYXRlXHJcbiAqIGEgbGlzdCBvZiBkYXRhIGZyb20gYSBxdWVyeSB3aGljaCByZXR1cm5zIGEgUGFnaW5hdGVkTGlzdCB0eXBlLlxyXG4gKlxyXG4gKiBJdCBpcyBub3JtYWxseSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIHtAbGluayBEYXRhVGFibGUyQ29tcG9uZW50fS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgY2xhc3MgQmFzZUxpc3RDb21wb25lbnQ8UmVzdWx0VHlwZSwgSXRlbVR5cGUsIFZhcmlhYmxlVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBhbnk+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAgIHNlYXJjaFRlcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcclxuICAgIHNlbGVjdGlvbk1hbmFnZXIgPSBuZXcgU2VsZWN0aW9uTWFuYWdlcjxhbnk+KHtcclxuICAgICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcclxuICAgICAgICBpdGVtc0FyZUVxdWFsOiAoYSwgYikgPT4gYS5pZCA9PT0gYi5pZCxcclxuICAgICAgICBhZGRpdGl2ZU1vZGU6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHJlc3VsdCQ6IE9ic2VydmFibGU8UmVzdWx0VHlwZT47XHJcbiAgICBpdGVtcyQ6IE9ic2VydmFibGU8SXRlbVR5cGVbXT47XHJcbiAgICB0b3RhbEl0ZW1zJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgaXRlbXNQZXJQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBwcm90ZWN0ZWQgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBsaXN0UXVlcnk6IFF1ZXJ5UmVzdWx0PFJlc3VsdFR5cGUsIFZhcmlhYmxlVHlwZT47XHJcbiAgICBwcml2YXRlIGxpc3RRdWVyeUZuOiBMaXN0UXVlcnlGbjxSZXN1bHRUeXBlPjtcclxuICAgIHByaXZhdGUgbWFwcGluZ0ZuOiBNYXBwaW5nRm48SXRlbVR5cGUsIFJlc3VsdFR5cGU+O1xyXG4gICAgcHJpdmF0ZSBvblBhZ2VDaGFuZ2VGbjogT25QYWdlQ2hhbmdlRm48VmFyaWFibGVUeXBlPiA9IChza2lwLCB0YWtlKSA9PlxyXG4gICAgICAgICh7IG9wdGlvbnM6IHsgc2tpcCwgdGFrZSB9IH0pIGFzIGFueTtcclxuICAgIHByb3RlY3RlZCByZWZyZXNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gICAgcHJpdmF0ZSBkZWZhdWx0czogeyB0YWtlOiBudW1iZXI7IHNraXA6IG51bWJlciB9ID0geyB0YWtlOiAxMCwgc2tpcDogMCB9O1xyXG4gICAgcHJvdGVjdGVkIHZpc2libGVDdXN0b21GaWVsZENvbHVtbkNoYW5nZSQgPSBuZXcgU3ViamVjdDxcclxuICAgICAgICBBcnJheTxEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudDxhbnk+PlxyXG4gICAgPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSBmZXRjaCBmdW5jdGlvbiBmb3IgdGhlIGxpc3QgYmVpbmcgaW1wbGVtZW50ZWQuXHJcbiAgICAgKi9cclxuICAgIHNldFF1ZXJ5Rm4oXHJcbiAgICAgICAgbGlzdFF1ZXJ5Rm46IExpc3RRdWVyeUZuPFJlc3VsdFR5cGU+LFxyXG4gICAgICAgIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPixcclxuICAgICAgICBvblBhZ2VDaGFuZ2VGbj86IE9uUGFnZUNoYW5nZUZuPFZhcmlhYmxlVHlwZT4sXHJcbiAgICAgICAgZGVmYXVsdHM/OiB7IHRha2U6IG51bWJlcjsgc2tpcDogbnVtYmVyIH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmxpc3RRdWVyeUZuID0gbGlzdFF1ZXJ5Rm47XHJcbiAgICAgICAgdGhpcy5tYXBwaW5nRm4gPSBtYXBwaW5nRm47XHJcbiAgICAgICAgaWYgKG9uUGFnZUNoYW5nZUZuKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25QYWdlQ2hhbmdlRm4gPSBvblBhZ2VDaGFuZ2VGbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlZmF1bHRzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdHMgPSBkZWZhdWx0cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RRdWVyeUZuKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgIGBObyBsaXN0UXVlcnlGbiBoYXMgYmVlbiBkZWZpbmVkLiBQbGVhc2UgY2FsbCBzdXBlci5zZXRRdWVyeUZuKCkgaW4gdGhlIGNvbnN0cnVjdG9yLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5ID0gdGhpcy5saXN0UXVlcnlGbih0aGlzLmRlZmF1bHRzLnRha2UsIHRoaXMuZGVmYXVsdHMuc2tpcCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZldGNoUGFnZSA9IChbY3VycmVudFBhZ2UsIGl0ZW1zUGVyUGFnZSwgX106IFtudW1iZXIsIG51bWJlciwgdW5kZWZpbmVkXSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YWtlID0gaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICBjb25zdCBza2lwID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBpdGVtc1BlclBhZ2U7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdFF1ZXJ5LnJlZj8ucmVmZXRjaCh0aGlzLm9uUGFnZUNoYW5nZUZuKHNraXAsIHRha2UpKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnJlc3VsdCQgPSB0aGlzLmxpc3RRdWVyeS5zdHJlYW0kLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xyXG4gICAgICAgIHRoaXMuaXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkuaXRlbXMpKTtcclxuICAgICAgICB0aGlzLnRvdGFsSXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkudG90YWxJdGVtcykpO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UkID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChxcG0gPT4gcXBtLmdldCgncGFnZScpKSxcclxuICAgICAgICAgICAgbWFwKHBhZ2UgPT4gKCFwYWdlID8gMSA6ICtwYWdlKSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLml0ZW1zUGVyUGFnZSQgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZShcclxuICAgICAgICAgICAgbWFwKHFwbSA9PiBxcG0uZ2V0KCdwZXJQYWdlJykpLFxyXG4gICAgICAgICAgICBtYXAocGVyUGFnZSA9PiAoIXBlclBhZ2UgPyB0aGlzLmRlZmF1bHRzLnRha2UgOiArcGVyUGFnZSkpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5jdXJyZW50UGFnZSQsIHRoaXMuaXRlbXNQZXJQYWdlJCwgdGhpcy5yZWZyZXNoJClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGZldGNoUGFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEFjY2VwdHMgYSBsaXN0IG9mIE9ic2VydmFibGVzIHdoaWNoIHdpbGwgdHJpZ2dlciBhIHJlZnJlc2ggb2YgdGhlIGxpc3Qgd2hlbiBhbnkgb2YgdGhlbSBlbWl0LlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgcmVmcmVzaExpc3RPbkNoYW5nZXMoLi4uc3RyZWFtczogQXJyYXk8T2JzZXJ2YWJsZTxhbnk+Pikge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFRlcm0kID0gdGhpcy5zZWFyY2hUZXJtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmICgyIDwgdmFsdWUubGVuZ3RoIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkpLFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcclxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0UGFnZU51bWJlcigxKSksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgbWVyZ2Uoc2VhcmNoVGVybSQsIC4uLnN0cmVhbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2gkLm5leHQodW5kZWZpbmVkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5LmRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogU2V0cyB0aGUgY3VycmVudCBwYWdlIG51bWJlciBpbiB0aGUgdXJsLlxyXG4gICAgICovXHJcbiAgICBzZXRQYWdlTnVtYmVyKHBhZ2U6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuc2V0UXVlcnlQYXJhbSgncGFnZScsIHBhZ2UsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogU2V0cyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRoZSB1cmwuXHJcbiAgICAgKi9cclxuICAgIHNldEl0ZW1zUGVyUGFnZShwZXJQYWdlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BlclBhZ2UnLCBwZXJQYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VmlzaWJsZUNvbHVtbnMoY29sdW1uczogQXJyYXk8RGF0YVRhYmxlMkNvbHVtbkNvbXBvbmVudDxhbnk+Pikge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUN1c3RvbUZpZWxkQ29sdW1uQ2hhbmdlJC5uZXh0KFxyXG4gICAgICAgICAgICBjb2x1bW5zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChjKTogYyBpcyBEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudDxhbnk+ID0+XHJcbiAgICAgICAgICAgICAgICAgICAgYyBpbnN0YW5jZW9mIERhdGFUYWJsZUN1c3RvbUZpZWxkQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFJlLWZldGNoIHRoZSBjdXJyZW50IHBhZ2Ugb2YgcmVzdWx0cy5cclxuICAgICAqL1xyXG4gICAgcmVmcmVzaCgpIHtcclxuICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQodW5kZWZpbmVkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcclxuICAgICAgICBoYXNoOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gICAgICAgIG9wdGlvbnM/OiB7IHJlcGxhY2VVcmw/OiBib29sZWFuOyBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZyB9LFxyXG4gICAgKTtcclxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxyXG4gICAgICAgIGtleTogc3RyaW5nLFxyXG4gICAgICAgIHZhbHVlOiBhbnksXHJcbiAgICAgICAgb3B0aW9ucz86IHsgcmVwbGFjZVVybD86IGJvb2xlYW47IHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIH0sXHJcbiAgICApO1xyXG4gICAgcHJvdGVjdGVkIHNldFF1ZXJ5UGFyYW0oXHJcbiAgICAgICAga2V5T3JIYXNoOiBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gICAgICAgIHZhbHVlT3JPcHRpb25zPzogYW55LFxyXG4gICAgICAgIG1heWJlT3B0aW9ucz86IHsgcmVwbGFjZVVybD86IGJvb2xlYW47IHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIH0sXHJcbiAgICApIHtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gKHR5cGVvZiBrZXlPckhhc2ggPT09ICdzdHJpbmcnID8gbWF5YmVPcHRpb25zIDogdmFsdWVPck9wdGlvbnMpID8/IHt9O1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogdHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyB7IFtrZXlPckhhc2hdOiB2YWx1ZU9yT3B0aW9ucyB9IDoga2V5T3JIYXNoLFxyXG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgdmVyc2lvbiBvZiB0aGUge0BsaW5rIEJhc2VMaXN0Q29tcG9uZW50fSB3aGljaCBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIHdpdGggYVxyXG4gKiBbVHlwZWREb2N1bWVudE5vZGVdKGh0dHBzOi8vdGhlLWd1aWxkLmRldi9ncmFwaHFsL2NvZGVnZW4vcGx1Z2lucy90eXBlc2NyaXB0L3R5cGVkLWRvY3VtZW50LW5vZGUpLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGxpc3QtZGV0YWlsLXZpZXdzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFR5cGVkQmFzZUxpc3RDb21wb25lbnQ8XHJcbiAgICAgICAgVCBleHRlbmRzIFR5cGVkRG9jdW1lbnROb2RlPGFueSwgVmFycz4sXHJcbiAgICAgICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcclxuICAgICAgICBWYXJzIGV4dGVuZHMgeyBvcHRpb25zOiB7IGZpbHRlcjogYW55OyBzb3J0OiBhbnkgfSB9ID0gVmFyaWFibGVzT2Y8VD4sXHJcbiAgICA+XHJcbiAgICBleHRlbmRzIEJhc2VMaXN0Q29tcG9uZW50PFJlc3VsdE9mPFQ+LCBJdGVtT2Y8UmVzdWx0T2Y8VD4sIEZpZWxkPiwgVmFyaWFibGVzT2Y8VD4+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgICBhdmFpbGFibGVMYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZVtdPjtcclxuICAgIGNvbnRlbnRMYW5ndWFnZSQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VDb2RlPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2UgPSBpbmplY3QoRGF0YVNlcnZpY2UpO1xyXG4gICAgcHJvdGVjdGVkIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gICAgcHJvdGVjdGVkIHNlcnZlckNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2VydmVyQ29uZmlnU2VydmljZSk7XHJcbiAgICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KFBlcm1pc3Npb25zU2VydmljZSk7XHJcbiAgICBwcm90ZWN0ZWQgZGF0YVRhYmxlQ29uZmlnU2VydmljZSA9IGluamVjdChEYXRhVGFibGVDb25maWdTZXJ2aWNlKTtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyB3YXMgaW50cm9kdWNlZCB0byBhbGxvdyB1cyB0byBtb3JlIGVhc2lseSBtYW5hZ2UgdGhlIHJlbGF0aW9uIGJldHdlZW4gdGhlXHJcbiAgICAgKiBEYXRhVGFibGVDb21wb25lbnQgYW5kIHRoZSBCYXNlTGlzdENvbXBvbmVudC4gSXQgYWxsb3dzIHRoZSBiYXNlIGNsYXNzIHRvXHJcbiAgICAgKiBjb3JyZWN0bHkgbG9vayB1cCB0aGUgY3VycmVudGx5LXZpc2libGUgY3VzdG9tIGZpZWxkIGNvbHVtbnMsIHdoaWNoIGNhbiB0aGVuXHJcbiAgICAgKiBiZSBwYXNzZWQgdG8gdGhlIGBkYXRhU2VydmljZS5xdWVyeSgpYCBtZXRob2QuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBkYXRhVGFibGVMaXN0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIHByaXZhdGUgcmVmcmVzaFN0cmVhbXM6IEFycmF5PE9ic2VydmFibGU8YW55Pj4gPSBbXTtcclxuICAgIHByaXZhdGUgY29sbGVjdGlvbnM6IEFycmF5PERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb24gfCBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbjxhbnk+PiA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdChSb3V0ZXIpLCBpbmplY3QoQWN0aXZhdGVkUm91dGUpKTtcclxuXHJcbiAgICAgICAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICAgICAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY29sbGVjdGlvbnMuZm9yRWFjaChjID0+IGMuZGVzdHJveSgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY29uZmlndXJlKGNvbmZpZzoge1xyXG4gICAgICAgIGRvY3VtZW50OiBUO1xyXG4gICAgICAgIGdldEl0ZW1zOiAoZGF0YTogUmVzdWx0T2Y8VD4pID0+IHsgaXRlbXM6IEFycmF5PEl0ZW1PZjxSZXN1bHRPZjxUPiwgRmllbGQ+PjsgdG90YWxJdGVtczogbnVtYmVyIH07XHJcbiAgICAgICAgc2V0VmFyaWFibGVzPzogKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWYXJpYWJsZXNPZjxUPjtcclxuICAgICAgICByZWZyZXNoTGlzdE9uQ2hhbmdlcz86IEFycmF5PE9ic2VydmFibGU8YW55Pj47XHJcbiAgICB9KSB7XHJcbiAgICAgICAgY29uc3QgY3VzdG9tRmllbGRzQ2hhbmdlJCA9IHRoaXMudmlzaWJsZUN1c3RvbUZpZWxkQ29sdW1uQ2hhbmdlJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoY29sdW1ucyA9PiBjb2x1bW5zLm1hcChjID0+IGMuY3VzdG9tRmllbGQubmFtZSkpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gSlNPTi5zdHJpbmdpZnkoYSkgPT09IEpTT04uc3RyaW5naWZ5KGIpKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGluY2x1ZGVDdXN0b21GaWVsZHMgPSB0aGlzLmRhdGFUYWJsZUxpc3RJZFxyXG4gICAgICAgICAgICA/IHRoaXMuZGF0YVRhYmxlQ29uZmlnU2VydmljZS5nZXRDb25maWcodGhpcy5kYXRhVGFibGVMaXN0SWQpLnZpc2liaWxpdHlcclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgc3VwZXIuc2V0UXVlcnlGbihcclxuICAgICAgICAgICAgKGFyZ3M6IGFueSkgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAucXVlcnkoY29uZmlnLmRvY3VtZW50LCB7fSBhcyBhbnksICdjYWNoZS1hbmQtbmV0d29yaycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZUN1c3RvbUZpZWxkcyxcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5yZWZldGNoT25DaGFubmVsQ2hhbmdlKClcclxuICAgICAgICAgICAgICAgICAgICAucmVmZXRjaE9uQ3VzdG9tRmllbGRzQ2hhbmdlKGN1c3RvbUZpZWxkc0NoYW5nZSQpLFxyXG4gICAgICAgICAgICBkYXRhID0+IGNvbmZpZy5nZXRJdGVtcyhkYXRhKSxcclxuICAgICAgICAgICAgKHNraXAsIHRha2UpID0+IGNvbmZpZy5zZXRWYXJpYWJsZXM/Lihza2lwLCB0YWtlKSA/PyAoe30gYXMgYW55KSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzJCA9IHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRMYW5ndWFnZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudWlTdGF0ZSgpXHJcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLmNvbnRlbnRMYW5ndWFnZSlcclxuICAgICAgICAgICAgLnBpcGUodGFwKCgpID0+IHRoaXMucmVmcmVzaCgpKSk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoU3RyZWFtcyA9IGNvbmZpZy5yZWZyZXNoTGlzdE9uQ2hhbmdlcyA/PyBbXTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHN1cGVyLnJlZnJlc2hMaXN0T25DaGFuZ2VzKHRoaXMuY29udGVudExhbmd1YWdlJCwgLi4udGhpcy5yZWZyZXNoU3RyZWFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlRmlsdGVyQ29sbGVjdGlvbigpOiBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXT5bJ2ZpbHRlciddPj4ge1xyXG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBuZXcgRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxOb25OdWxsYWJsZTxWYXJzWydvcHRpb25zJ11bJ2ZpbHRlciddPj4odGhpcy5yb3V0ZXIpO1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMucHVzaChjb2xsZWN0aW9uKTtcclxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVTb3J0Q29sbGVjdGlvbigpOiBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbjxOb25OdWxsYWJsZTxOb25OdWxsYWJsZTxWYXJzWydvcHRpb25zJ10+Wydzb3J0J10+PiB7XHJcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IG5ldyBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbjxOb25OdWxsYWJsZTxWYXJzWydvcHRpb25zJ11bJ3NvcnQnXT4+KHRoaXMucm91dGVyKTtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLnB1c2goY29sbGVjdGlvbik7XHJcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TGFuZ3VhZ2UoY29kZTogTGFuZ3VhZ2VDb2RlKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5jbGllbnQuc2V0Q29udGVudExhbmd1YWdlKGNvZGUpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEN1c3RvbUZpZWxkQ29uZmlnKGtleTogRXhjbHVkZTxrZXlvZiBDdXN0b21GaWVsZHMsICdfX3R5cGVuYW1lJz4gfCBzdHJpbmcpOiBDdXN0b21GaWVsZENvbmZpZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcihrZXkpLmZpbHRlcihmID0+IHtcclxuICAgICAgICAgICAgaWYgKGYucmVxdWlyZXNQZXJtaXNzaW9uPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zU2VydmljZS51c2VySGFzUGVybWlzc2lvbnMoZi5yZXF1aXJlc1Blcm1pc3Npb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFFakksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQWdCakU7Ozs7Ozs7O0dBUUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGlC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QUFVLENBQUMsQ0FBQztRQUNsQyxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWtCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUF1RDtRQUN4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzVFLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBL0ZRLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUmVzdWx0T2YsIFR5cGVkRG9jdW1lbnROb2RlLCBWYXJpYWJsZXNPZiB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5cbmltcG9ydCB7IFF1ZXJ5UmVzdWx0IH0gZnJvbSAnLi4vZGF0YS9xdWVyeS1yZXN1bHQnO1xuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2RhdGEvc2VydmVyLWNvbmZpZyc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbiB9IGZyb20gJy4uL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtc29ydC1jb2xsZWN0aW9uJztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFUYWJsZUN1c3RvbUZpZWxkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvZGF0YS10YWJsZS0yL2RhdGEtdGFibGUtY3VzdG9tLWZpZWxkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcsIEN1c3RvbUZpZWxkcywgTGFuZ3VhZ2VDb2RlIH0gZnJvbSAnLi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTWFuYWdlciB9IGZyb20gJy4vdXRpbGl0aWVzL3NlbGVjdGlvbi1tYW5hZ2VyJztcblxuZXhwb3J0IHR5cGUgTGlzdFF1ZXJ5Rm48Uj4gPSAodGFrZTogbnVtYmVyLCBza2lwOiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKSA9PiBRdWVyeVJlc3VsdDxSLCBhbnk+O1xuZXhwb3J0IHR5cGUgTWFwcGluZ0ZuPFQsIFI+ID0gKHJlc3VsdDogUikgPT4geyBpdGVtczogVFtdOyB0b3RhbEl0ZW1zOiBudW1iZXIgfTtcbmV4cG9ydCB0eXBlIE9uUGFnZUNoYW5nZUZuPFY+ID0gKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWO1xuXG4vKipcbiAqIFVud3JhcHMgYSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCB3aXRoIGFuIFwiaXRlbXNcIiBwcm9wZXJ0eSxcbiAqIHJldHVybmluZyB0aGUgdHlwZSBvZiBvbmUgb2YgdGhlIGl0ZW1zIGluIHRoZSBhcnJheS5cbiAqL1xuZXhwb3J0IHR5cGUgSXRlbU9mPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbS10gZXh0ZW5kcyB7IGl0ZW1zOiBpbmZlciBSIH1cbiAgICA/IFIgZXh0ZW5kcyBhbnlbXVxuICAgICAgICA/IFJbbnVtYmVyXVxuICAgICAgICA6IFJcbiAgICA6IG5ldmVyO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhpcyBpcyBhIGJhc2UgY2xhc3Mgd2hpY2ggaW1wbGVtZW50cyB0aGUgbG9naWMgcmVxdWlyZWQgdG8gZmV0Y2ggYW5kIG1hbmlwdWxhdGVcbiAqIGEgbGlzdCBvZiBkYXRhIGZyb20gYSBxdWVyeSB3aGljaCByZXR1cm5zIGEgUGFnaW5hdGVkTGlzdCB0eXBlLlxuICpcbiAqIEl0IGlzIG5vcm1hbGx5IHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUge0BsaW5rIERhdGFUYWJsZTJDb21wb25lbnR9LlxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgbGlzdC1kZXRhaWwtdmlld3NcbiAqL1xuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBCYXNlTGlzdENvbXBvbmVudDxSZXN1bHRUeXBlLCBJdGVtVHlwZSwgVmFyaWFibGVUeXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueT5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gICAgc2VhcmNoVGVybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHNlbGVjdGlvbk1hbmFnZXIgPSBuZXcgU2VsZWN0aW9uTWFuYWdlcjxhbnk+KHtcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICAgIGl0ZW1zQXJlRXF1YWw6IChhLCBiKSA9PiBhLmlkID09PSBiLmlkLFxuICAgICAgICBhZGRpdGl2ZU1vZGU6IHRydWUsXG4gICAgfSk7XG4gICAgcmVzdWx0JDogT2JzZXJ2YWJsZTxSZXN1bHRUeXBlPjtcbiAgICBpdGVtcyQ6IE9ic2VydmFibGU8SXRlbVR5cGVbXT47XG4gICAgdG90YWxJdGVtcyQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBpdGVtc1BlclBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgcHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGxpc3RRdWVyeTogUXVlcnlSZXN1bHQ8UmVzdWx0VHlwZSwgVmFyaWFibGVUeXBlPjtcbiAgICBwcml2YXRlIGxpc3RRdWVyeUZuOiBMaXN0UXVlcnlGbjxSZXN1bHRUeXBlPjtcbiAgICBwcml2YXRlIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPjtcbiAgICBwcml2YXRlIG9uUGFnZUNoYW5nZUZuOiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+ID0gKHNraXAsIHRha2UpID0+XG4gICAgICAgICh7IG9wdGlvbnM6IHsgc2tpcCwgdGFrZSB9IH0pIGFzIGFueTtcbiAgICBwcm90ZWN0ZWQgcmVmcmVzaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICBwcml2YXRlIGRlZmF1bHRzOiB7IHRha2U6IG51bWJlcjsgc2tpcDogbnVtYmVyIH0gPSB7IHRha2U6IDEwLCBza2lwOiAwIH07XG4gICAgcHJvdGVjdGVkIHZpc2libGVDdXN0b21GaWVsZENvbHVtbkNoYW5nZSQgPSBuZXcgU3ViamVjdDxcbiAgICAgICAgQXJyYXk8RGF0YVRhYmxlQ3VzdG9tRmllbGRDb2x1bW5Db21wb25lbnQ8YW55Pj5cbiAgICA+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNldHMgdGhlIGZldGNoIGZ1bmN0aW9uIGZvciB0aGUgbGlzdCBiZWluZyBpbXBsZW1lbnRlZC5cbiAgICAgKi9cbiAgICBzZXRRdWVyeUZuKFxuICAgICAgICBsaXN0UXVlcnlGbjogTGlzdFF1ZXJ5Rm48UmVzdWx0VHlwZT4sXG4gICAgICAgIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPixcbiAgICAgICAgb25QYWdlQ2hhbmdlRm4/OiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+LFxuICAgICAgICBkZWZhdWx0cz86IHsgdGFrZTogbnVtYmVyOyBza2lwOiBudW1iZXIgfSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5saXN0UXVlcnlGbiA9IGxpc3RRdWVyeUZuO1xuICAgICAgICB0aGlzLm1hcHBpbmdGbiA9IG1hcHBpbmdGbjtcbiAgICAgICAgaWYgKG9uUGFnZUNoYW5nZUZuKSB7XG4gICAgICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZUZuID0gb25QYWdlQ2hhbmdlRm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZmF1bHRzKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGludGVybmFsICovXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5saXN0UXVlcnlGbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBObyBsaXN0UXVlcnlGbiBoYXMgYmVlbiBkZWZpbmVkLiBQbGVhc2UgY2FsbCBzdXBlci5zZXRRdWVyeUZuKCkgaW4gdGhlIGNvbnN0cnVjdG9yLmAsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5ID0gdGhpcy5saXN0UXVlcnlGbih0aGlzLmRlZmF1bHRzLnRha2UsIHRoaXMuZGVmYXVsdHMuc2tpcCk7XG5cbiAgICAgICAgY29uc3QgZmV0Y2hQYWdlID0gKFtjdXJyZW50UGFnZSwgaXRlbXNQZXJQYWdlLCBfXTogW251bWJlciwgbnVtYmVyLCB1bmRlZmluZWRdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWtlID0gaXRlbXNQZXJQYWdlO1xuICAgICAgICAgICAgY29uc3Qgc2tpcCA9IChjdXJyZW50UGFnZSAtIDEpICogaXRlbXNQZXJQYWdlO1xuICAgICAgICAgICAgdGhpcy5saXN0UXVlcnkucmVmPy5yZWZldGNoKHRoaXMub25QYWdlQ2hhbmdlRm4oc2tpcCwgdGFrZSkpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucmVzdWx0JCA9IHRoaXMubGlzdFF1ZXJ5LnN0cmVhbSQucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgICAgIHRoaXMuaXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkuaXRlbXMpKTtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zJCA9IHRoaXMucmVzdWx0JC5waXBlKG1hcChkYXRhID0+IHRoaXMubWFwcGluZ0ZuKGRhdGEpLnRvdGFsSXRlbXMpKTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZShcbiAgICAgICAgICAgIG1hcChxcG0gPT4gcXBtLmdldCgncGFnZScpKSxcbiAgICAgICAgICAgIG1hcChwYWdlID0+ICghcGFnZSA/IDEgOiArcGFnZSkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2UkID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnBpcGUoXG4gICAgICAgICAgICBtYXAocXBtID0+IHFwbS5nZXQoJ3BlclBhZ2UnKSksXG4gICAgICAgICAgICBtYXAocGVyUGFnZSA9PiAoIXBlclBhZ2UgPyB0aGlzLmRlZmF1bHRzLnRha2UgOiArcGVyUGFnZSkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuY3VycmVudFBhZ2UkLCB0aGlzLml0ZW1zUGVyUGFnZSQsIHRoaXMucmVmcmVzaCQpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGZldGNoUGFnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogQWNjZXB0cyBhIGxpc3Qgb2YgT2JzZXJ2YWJsZXMgd2hpY2ggd2lsbCB0cmlnZ2VyIGEgcmVmcmVzaCBvZiB0aGUgbGlzdCB3aGVuIGFueSBvZiB0aGVtIGVtaXQuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlZnJlc2hMaXN0T25DaGFuZ2VzKC4uLnN0cmVhbXM6IEFycmF5PE9ic2VydmFibGU8YW55Pj4pIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoVGVybSQgPSB0aGlzLnNlYXJjaFRlcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmICgyIDwgdmFsdWUubGVuZ3RoIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkpLFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDI1MCksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRQYWdlTnVtYmVyKDEpKSxcbiAgICAgICAgKTtcblxuICAgICAgICBtZXJnZShzZWFyY2hUZXJtJCwgLi4uc3RyZWFtcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoJC5uZXh0KHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5saXN0UXVlcnkuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNldHMgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgaW4gdGhlIHVybC5cbiAgICAgKi9cbiAgICBzZXRQYWdlTnVtYmVyKHBhZ2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BhZ2UnLCBwYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogU2V0cyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRoZSB1cmwuXG4gICAgICovXG4gICAgc2V0SXRlbXNQZXJQYWdlKHBlclBhZ2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BlclBhZ2UnLCBwZXJQYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgc2V0VmlzaWJsZUNvbHVtbnMoY29sdW1uczogQXJyYXk8RGF0YVRhYmxlMkNvbHVtbkNvbXBvbmVudDxhbnk+Pikge1xuICAgICAgICB0aGlzLnZpc2libGVDdXN0b21GaWVsZENvbHVtbkNoYW5nZSQubmV4dChcbiAgICAgICAgICAgIGNvbHVtbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChjKTogYyBpcyBEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudDxhbnk+ID0+XG4gICAgICAgICAgICAgICAgICAgIGMgaW5zdGFuY2VvZiBEYXRhVGFibGVDdXN0b21GaWVsZENvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmUtZmV0Y2ggdGhlIGN1cnJlbnQgcGFnZSBvZiByZXN1bHRzLlxuICAgICAqL1xuICAgIHJlZnJlc2goKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxuICAgICAgICBoYXNoOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICBvcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcbiAgICApO1xuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgb3B0aW9ucz86IHsgcmVwbGFjZVVybD86IGJvb2xlYW47IHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIH0sXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcbiAgICAgICAga2V5T3JIYXNoOiBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICB2YWx1ZU9yT3B0aW9ucz86IGFueSxcbiAgICAgICAgbWF5YmVPcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcbiAgICApIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9ICh0eXBlb2Yga2V5T3JIYXNoID09PSAnc3RyaW5nJyA/IG1heWJlT3B0aW9ucyA6IHZhbHVlT3JPcHRpb25zKSA/PyB7fTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLyddLCB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtczogdHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyB7IFtrZXlPckhhc2hdOiB2YWx1ZU9yT3B0aW9ucyB9IDoga2V5T3JIYXNoLFxuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBIHZlcnNpb24gb2YgdGhlIHtAbGluayBCYXNlTGlzdENvbXBvbmVudH0gd2hpY2ggaXMgZGVzaWduZWQgdG8gYmUgdXNlZCB3aXRoIGFcbiAqIFtUeXBlZERvY3VtZW50Tm9kZV0oaHR0cHM6Ly90aGUtZ3VpbGQuZGV2L2dyYXBocWwvY29kZWdlbi9wbHVnaW5zL3R5cGVzY3JpcHQvdHlwZWQtZG9jdW1lbnQtbm9kZSkuXG4gKlxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBUeXBlZEJhc2VMaXN0Q29tcG9uZW50PFxuICAgICAgICBUIGV4dGVuZHMgVHlwZWREb2N1bWVudE5vZGU8YW55LCBWYXJzPixcbiAgICAgICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcbiAgICAgICAgVmFycyBleHRlbmRzIHsgb3B0aW9uczogeyBmaWx0ZXI6IGFueTsgc29ydDogYW55IH0gfSA9IFZhcmlhYmxlc09mPFQ+LFxuICAgID5cbiAgICBleHRlbmRzIEJhc2VMaXN0Q29tcG9uZW50PFJlc3VsdE9mPFQ+LCBJdGVtT2Y8UmVzdWx0T2Y8VD4sIEZpZWxkPiwgVmFyaWFibGVzT2Y8VD4+XG4gICAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgICBhdmFpbGFibGVMYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZVtdPjtcbiAgICBjb250ZW50TGFuZ3VhZ2UkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZT47XG5cbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2UgPSBpbmplY3QoRGF0YVNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBwcm90ZWN0ZWQgc2VydmVyQ29uZmlnU2VydmljZSA9IGluamVjdChTZXJ2ZXJDb25maWdTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KFBlcm1pc3Npb25zU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIGRhdGFUYWJsZUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoRGF0YVRhYmxlQ29uZmlnU2VydmljZSk7XG4gICAgLyoqXG4gICAgICogVGhpcyB3YXMgaW50cm9kdWNlZCB0byBhbGxvdyB1cyB0byBtb3JlIGVhc2lseSBtYW5hZ2UgdGhlIHJlbGF0aW9uIGJldHdlZW4gdGhlXG4gICAgICogRGF0YVRhYmxlQ29tcG9uZW50IGFuZCB0aGUgQmFzZUxpc3RDb21wb25lbnQuIEl0IGFsbG93cyB0aGUgYmFzZSBjbGFzcyB0b1xuICAgICAqIGNvcnJlY3RseSBsb29rIHVwIHRoZSBjdXJyZW50bHktdmlzaWJsZSBjdXN0b20gZmllbGQgY29sdW1ucywgd2hpY2ggY2FuIHRoZW5cbiAgICAgKiBiZSBwYXNzZWQgdG8gdGhlIGBkYXRhU2VydmljZS5xdWVyeSgpYCBtZXRob2QuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGRhdGFUYWJsZUxpc3RJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVmcmVzaFN0cmVhbXM6IEFycmF5PE9ic2VydmFibGU8YW55Pj4gPSBbXTtcbiAgICBwcml2YXRlIGNvbGxlY3Rpb25zOiBBcnJheTxEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIHwgRGF0YVRhYmxlU29ydENvbGxlY3Rpb248YW55Pj4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihpbmplY3QoUm91dGVyKSwgaW5qZWN0KEFjdGl2YXRlZFJvdXRlKSk7XG5cbiAgICAgICAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICAgICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb2xsZWN0aW9ucy5mb3JFYWNoKGMgPT4gYy5kZXN0cm95KCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uZmlndXJlKGNvbmZpZzoge1xuICAgICAgICBkb2N1bWVudDogVDtcbiAgICAgICAgZ2V0SXRlbXM6IChkYXRhOiBSZXN1bHRPZjxUPikgPT4geyBpdGVtczogQXJyYXk8SXRlbU9mPFJlc3VsdE9mPFQ+LCBGaWVsZD4+OyB0b3RhbEl0ZW1zOiBudW1iZXIgfTtcbiAgICAgICAgc2V0VmFyaWFibGVzPzogKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWYXJpYWJsZXNPZjxUPjtcbiAgICAgICAgcmVmcmVzaExpc3RPbkNoYW5nZXM/OiBBcnJheTxPYnNlcnZhYmxlPGFueT4+O1xuICAgIH0pIHtcbiAgICAgICAgY29uc3QgY3VzdG9tRmllbGRzQ2hhbmdlJCA9IHRoaXMudmlzaWJsZUN1c3RvbUZpZWxkQ29sdW1uQ2hhbmdlJC5waXBlKFxuICAgICAgICAgICAgbWFwKGNvbHVtbnMgPT4gY29sdW1ucy5tYXAoYyA9PiBjLmN1c3RvbUZpZWxkLm5hbWUpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBKU09OLnN0cmluZ2lmeShhKSA9PT0gSlNPTi5zdHJpbmdpZnkoYikpLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBpbmNsdWRlQ3VzdG9tRmllbGRzID0gdGhpcy5kYXRhVGFibGVMaXN0SWRcbiAgICAgICAgICAgID8gdGhpcy5kYXRhVGFibGVDb25maWdTZXJ2aWNlLmdldENvbmZpZyh0aGlzLmRhdGFUYWJsZUxpc3RJZCkudmlzaWJpbGl0eVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHN1cGVyLnNldFF1ZXJ5Rm4oXG4gICAgICAgICAgICAoYXJnczogYW55KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLnF1ZXJ5KGNvbmZpZy5kb2N1bWVudCwge30gYXMgYW55LCAnY2FjaGUtYW5kLW5ldHdvcmsnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlQ3VzdG9tRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAucmVmZXRjaE9uQ2hhbm5lbENoYW5nZSgpXG4gICAgICAgICAgICAgICAgICAgIC5yZWZldGNoT25DdXN0b21GaWVsZHNDaGFuZ2UoY3VzdG9tRmllbGRzQ2hhbmdlJCksXG4gICAgICAgICAgICBkYXRhID0+IGNvbmZpZy5nZXRJdGVtcyhkYXRhKSxcbiAgICAgICAgICAgIChza2lwLCB0YWtlKSA9PiBjb25maWcuc2V0VmFyaWFibGVzPy4oc2tpcCwgdGFrZSkgPz8gKHt9IGFzIGFueSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzJCA9IHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcbiAgICAgICAgdGhpcy5jb250ZW50TGFuZ3VhZ2UkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcbiAgICAgICAgICAgIC51aVN0YXRlKClcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLmNvbnRlbnRMYW5ndWFnZSlcbiAgICAgICAgICAgIC5waXBlKHRhcCgoKSA9PiB0aGlzLnJlZnJlc2goKSkpO1xuICAgICAgICB0aGlzLnJlZnJlc2hTdHJlYW1zID0gY29uZmlnLnJlZnJlc2hMaXN0T25DaGFuZ2VzID8/IFtdO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBzdXBlci5yZWZyZXNoTGlzdE9uQ2hhbmdlcyh0aGlzLmNvbnRlbnRMYW5ndWFnZSQsIC4uLnRoaXMucmVmcmVzaFN0cmVhbXMpO1xuICAgIH1cblxuICAgIGNyZWF0ZUZpbHRlckNvbGxlY3Rpb24oKTogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxOb25OdWxsYWJsZTxOb25OdWxsYWJsZTxWYXJzWydvcHRpb25zJ10+WydmaWx0ZXInXT4+IHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IG5ldyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXVsnZmlsdGVyJ10+Pih0aGlzLnJvdXRlcik7XG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMucHVzaChjb2xsZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgfVxuXG4gICAgY3JlYXRlU29ydENvbGxlY3Rpb24oKTogRGF0YVRhYmxlU29ydENvbGxlY3Rpb248Tm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddPlsnc29ydCddPj4ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gbmV3IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXVsnc29ydCddPj4odGhpcy5yb3V0ZXIpO1xuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLnB1c2goY29sbGVjdGlvbik7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgIH1cblxuICAgIHNldExhbmd1YWdlKGNvZGU6IExhbmd1YWdlQ29kZSkge1xuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRDb250ZW50TGFuZ3VhZ2UoY29kZSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0Q3VzdG9tRmllbGRDb25maWcoa2V5OiBFeGNsdWRlPGtleW9mIEN1c3RvbUZpZWxkcywgJ19fdHlwZW5hbWUnPiB8IHN0cmluZyk6IEN1c3RvbUZpZWxkQ29uZmlnW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcihrZXkpLmZpbHRlcihmID0+IHtcbiAgICAgICAgICAgIGlmIChmLnJlcXVpcmVzUGVybWlzc2lvbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLnVzZXJIYXNQZXJtaXNzaW9ucyhmLnJlcXVpcmVzUGVybWlzc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by the set-version.js script.
2
- export const ADMIN_UI_VERSION = '3.0.4';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICczLjAuNCc7XG4iXX0=
2
+ export const ADMIN_UI_VERSION = '3.0.5';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICczLjAuNSc7XG4iXX0=
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
36
36
  type: HostListener,
37
37
  args: ['keydown.enter', ['$event']]
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21wb25lbnRzL3RoZW1lLXN3aXRjaGVyL3RoZW1lLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy90aGVtZS1zd2l0Y2hlci90aGVtZS1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBV3RDLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBb0IsV0FBd0IsRUFBVSxtQkFBd0M7UUFBMUUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVsRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFJRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN2QixNQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBcEJRLHNCQUFzQjttR0FBdEIsc0JBQXNCLDJKQ2JuQyw4ZEFTQTs7NEZESWEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO2tIQWEvQyxXQUFXO3NCQUZWLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2xvY2FsLXN0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItdGhlbWUtc3dpdGNoZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RoZW1lLXN3aXRjaGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRoZW1lU3dpdGNoZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgYWN0aXZlVGhlbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHByaXZhdGUgbG9jYWxTdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVRoZW1lJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVpU3RhdGUoKS5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVpU3RhdGUudGhlbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxyXG4gICAgb25Ib3N0Q2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUaGVtZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY3VycmVudCA9PiB0aGlzLnRvZ2dsZVRoZW1lKGN1cnJlbnQpKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVUaGVtZShjdXJyZW50OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBuZXdUaGVtZSA9IGN1cnJlbnQgPT09ICdkZWZhdWx0JyA/ICdkYXJrJyA6ICdkZWZhdWx0JztcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRVaVRoZW1lKG5ld1RoZW1lKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCdhY3RpdmVUaGVtZScsIG5ld1RoZW1lKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8YnV0dG9uICpuZ0lmPVwiYWN0aXZlVGhlbWUkIHwgYXN5bmMgYXMgYWN0aXZlVGhlbWVcIiBjbGFzcz1cInRoZW1lLXRvZ2dsZVwiPlxyXG4gICAgPHNwYW4+e3sgJ2NvbW1vbi50aGVtZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGhlbWUtaWNvbiBkZWZhdWx0XCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUaGVtZSA9PT0gJ2RlZmF1bHQnXCI+XHJcbiAgICAgICAgPGNsci1pY29uIHNoYXBlPVwic3VuXCIgY2xhc3M9XCJpcy1zb2xpZFwiPjwvY2xyLWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aGVtZS1pY29uIGRhcmtcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRoZW1lID09PSAnZGFyaydcIj5cclxuICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJtb29uXCIgY2xhc3M9XCJpcy1zb2xpZFwiPjwvY2xyLWljb24+XHJcbiAgICA8L2Rpdj5cclxuPC9idXR0b24+XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21wb25lbnRzL3RoZW1lLXN3aXRjaGVyL3RoZW1lLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy90aGVtZS1zd2l0Y2hlci90aGVtZS1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBV3RDLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBb0IsV0FBd0IsRUFBVSxtQkFBd0M7UUFBMUUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVsRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFJRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN2QixNQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBcEJRLHNCQUFzQjttR0FBdEIsc0JBQXNCLDJKQ2JuQyw4ZEFTQTs7NEZESWEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO2tIQWEvQyxXQUFXO3NCQUZWLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbG9jYWwtc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci10aGVtZS1zd2l0Y2hlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90aGVtZS1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVN3aXRjaGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBhY3RpdmVUaGVtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCBwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUaGVtZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC51aVN0YXRlKCkubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS51aVN0YXRlLnRoZW1lKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgb25Ib3N0Q2xpY2soKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlVGhlbWUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGN1cnJlbnQgPT4gdGhpcy50b2dnbGVUaGVtZShjdXJyZW50KSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlVGhlbWUoY3VycmVudDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG5ld1RoZW1lID0gY3VycmVudCA9PT0gJ2RlZmF1bHQnID8gJ2RhcmsnIDogJ2RlZmF1bHQnO1xuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRVaVRoZW1lKG5ld1RoZW1lKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldCgnYWN0aXZlVGhlbWUnLCBuZXdUaGVtZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxidXR0b24gKm5nSWY9XCJhY3RpdmVUaGVtZSQgfCBhc3luYyBhcyBhY3RpdmVUaGVtZVwiIGNsYXNzPVwidGhlbWUtdG9nZ2xlXCI+XHJcbiAgICA8c3Bhbj57eyAnY29tbW9uLnRoZW1lJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aGVtZS1pY29uIGRlZmF1bHRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRoZW1lID09PSAnZGVmYXVsdCdcIj5cclxuICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJzdW5cIiBjbGFzcz1cImlzLXNvbGlkXCI+PC9jbHItaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRoZW1lLWljb24gZGFya1wiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGhlbWUgPT09ICdkYXJrJ1wiPlxyXG4gICAgICAgIDxjbHItaWNvbiBzaGFwZT1cIm1vb25cIiBjbGFzcz1cImlzLXNvbGlkXCI+PC9jbHItaWNvbj5cclxuICAgIDwvZGl2PlxyXG48L2J1dHRvbj5cclxuIl19
@@ -62,4 +62,4 @@ export class BaseDataService {
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseDataService, decorators: [{
63
63
  type: Injectable
64
64
  }], ctorParameters: () => [{ type: i1.Apollo }, { type: i2.ServerConfigService }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2Jhc2UtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBcUJyRyxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNZLE1BQWMsRUFDZCxtQkFBd0M7UUFEeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDakQsQ0FBQztJQUVKLElBQVksWUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUNELEtBQTZDLEVBQzdDLFNBQWEsRUFDYixjQUFxQyxtQkFBbUIsRUFDeEQsVUFBZ0MsRUFBRTtRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBTztZQUMxQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM3RSxTQUFTO1lBQ1QsV0FBVztTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFPLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQ0YsUUFBZ0QsRUFDaEQsU0FBYSxFQUNiLE1BQTZCLEVBQzdCLFVBQWdDLEVBQUU7UUFFbEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkcsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sSUFBSSxDQUFDLE1BQU07YUFDYixNQUFNLENBQU87WUFDVixRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsTUFBTTtTQUNULENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUUsTUFBZ0MsQ0FBQyxJQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxtQkFBbUIsQ0FBSSxRQUFzQixFQUFFLFNBQVk7UUFDL0QsTUFBTSxNQUFNLEdBQUcsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxjQUFjLEdBQUcsZUFBZSxDQUFDLFNBQWdCLENBQUMsQ0FBQztnQkFDdkQsY0FBYyxHQUFHLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2dCQUMvRSxjQUFjLEdBQUcsa0NBQWtDLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3ZGLE9BQU8sY0FBYyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzsrR0E5RFEsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNdXRhdGlvblVwZGF0ZXJGbiwgU2luZ2xlRXhlY3V0aW9uUmVzdWx0LCBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3kgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcclxuaW1wb3J0IHsgVHlwZWREb2N1bWVudE5vZGUgfSBmcm9tICdAZ3JhcGhxbC10eXBlZC1kb2N1bWVudC1ub2RlL2NvcmUnO1xyXG5pbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcclxuaW1wb3J0IHsgQXBvbGxvIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBEb2N1bWVudE5vZGUgfSBmcm9tICdncmFwaHFsL2xhbmd1YWdlL2FzdCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tICcuLi9xdWVyeS1yZXN1bHQnO1xyXG5pbXBvcnQgeyBTZXJ2ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmVyLWNvbmZpZyc7XHJcbmltcG9ydCB7IGFkZEN1c3RvbUZpZWxkcyB9IGZyb20gJy4uL3V0aWxzL2FkZC1jdXN0b20tZmllbGRzJztcclxuaW1wb3J0IHsgaXNFbnRpdHlDcmVhdGVPclVwZGF0ZU11dGF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvaXMtZW50aXR5LWNyZWF0ZS1vci11cGRhdGUtbXV0YXRpb24nO1xyXG5pbXBvcnQgeyByZW1vdmVSZWFkb25seUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uL3V0aWxzL3JlbW92ZS1yZWFkb25seS1jdXN0b20tZmllbGRzJztcclxuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25DdXN0b21GaWVsZElucHV0cyB9IGZyb20gJy4uL3V0aWxzL3RyYW5zZm9ybS1yZWxhdGlvbi1jdXN0b20tZmllbGQtaW5wdXRzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQWRkaXRpb25hbCBvcHRpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCB0byB0aGUgYHF1ZXJ5YCBhbmQgYG11dGF0ZWAgbWV0aG9kcy5cclxuICpcclxuICogQHNpbmNlIDMuMC40XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkUXVlcnlPcHRpb25zIHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBBbiBhcnJheSBvZiBjdXN0b20gZmllbGQgbmFtZXMgd2hpY2ggc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBxdWVyeSBvciBtdXRhdGlvblxyXG4gICAgICogcmV0dXJuIGRhdGEuIFRoZSBhdXRvbWF0aWMgaW5jbHVzaW9uIG9mIGN1c3RvbSBmaWVsZHMgaXMgb25seSBzdXBwb3J0ZWQgZm9yXHJcbiAgICAgKiBlbnRpdGllcyB3aGljaCBhcmUgZGVmaW5lZCBhcyBGcmFnbWVudHMgaW4gdGhlIERvY3VtZW50Tm9kZS5cclxuICAgICAqXHJcbiAgICAgKiBAc2luY2UgMy4wLjRcclxuICAgICAqL1xyXG4gICAgaW5jbHVkZUN1c3RvbUZpZWxkcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlRGF0YVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBhcG9sbG86IEFwb2xsbyxcclxuICAgICAgICBwcml2YXRlIHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgY3VzdG9tRmllbGRzKCk6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmN1c3RvbUZpZWxkc01hcDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm1zIGEgR3JhcGhRTCB3YXRjaCBxdWVyeVxyXG4gICAgICovXHJcbiAgICBxdWVyeTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgICAgIHF1ZXJ5OiBEb2N1bWVudE5vZGUgfCBUeXBlZERvY3VtZW50Tm9kZTxULCBWPixcclxuICAgICAgICB2YXJpYWJsZXM/OiBWLFxyXG4gICAgICAgIGZldGNoUG9saWN5OiBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3kgPSAnY2FjaGUtYW5kLW5ldHdvcmsnLFxyXG4gICAgICAgIG9wdGlvbnM6IEV4dGVuZGVkUXVlcnlPcHRpb25zID0ge30sXHJcbiAgICApOiBRdWVyeVJlc3VsdDxULCBWPiB7XHJcbiAgICAgICAgY29uc3QgcXVlcnlSZWYgPSB0aGlzLmFwb2xsby53YXRjaFF1ZXJ5PFQsIFY+KHtcclxuICAgICAgICAgICAgcXVlcnk6IGFkZEN1c3RvbUZpZWxkcyhxdWVyeSwgdGhpcy5jdXN0b21GaWVsZHMsIG9wdGlvbnMuaW5jbHVkZUN1c3RvbUZpZWxkcyksXHJcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcclxuICAgICAgICAgICAgZmV0Y2hQb2xpY3ksXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHF1ZXJ5UmVzdWx0ID0gbmV3IFF1ZXJ5UmVzdWx0PFQsIFY+KHF1ZXJ5UmVmLCB0aGlzLmFwb2xsbywgdGhpcy5jdXN0b21GaWVsZHMpO1xyXG4gICAgICAgIHJldHVybiBxdWVyeVJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm1zIGEgR3JhcGhRTCBtdXRhdGlvblxyXG4gICAgICovXHJcbiAgICBtdXRhdGU8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcclxuICAgICAgICBtdXRhdGlvbjogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbiAgICAgICAgdmFyaWFibGVzPzogVixcclxuICAgICAgICB1cGRhdGU/OiBNdXRhdGlvblVwZGF0ZXJGbjxUPixcclxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxyXG4gICAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgY29uc3Qgd2l0aEN1c3RvbUZpZWxkcyA9IGFkZEN1c3RvbUZpZWxkcyhtdXRhdGlvbiwgdGhpcy5jdXN0b21GaWVsZHMsIG9wdGlvbnMuaW5jbHVkZUN1c3RvbUZpZWxkcyk7XHJcbiAgICAgICAgY29uc3Qgd2l0aG91dFJlYWRvbmx5RmllbGRzID0gdGhpcy5wcmVwYXJlQ3VzdG9tRmllbGRzKG11dGF0aW9uLCB2YXJpYWJsZXMpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5hcG9sbG9cclxuICAgICAgICAgICAgLm11dGF0ZTxULCBWPih7XHJcbiAgICAgICAgICAgICAgICBtdXRhdGlvbjogd2l0aEN1c3RvbUZpZWxkcyxcclxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogd2l0aG91dFJlYWRvbmx5RmllbGRzLFxyXG4gICAgICAgICAgICAgICAgdXBkYXRlLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IChyZXN1bHQgYXMgU2luZ2xlRXhlY3V0aW9uUmVzdWx0KS5kYXRhIGFzIFQpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByZXBhcmVDdXN0b21GaWVsZHM8Vj4obXV0YXRpb246IERvY3VtZW50Tm9kZSwgdmFyaWFibGVzOiBWKTogViB7XHJcbiAgICAgICAgY29uc3QgZW50aXR5ID0gaXNFbnRpdHlDcmVhdGVPclVwZGF0ZU11dGF0aW9uKG11dGF0aW9uKTtcclxuICAgICAgICBpZiAoZW50aXR5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUZpZWxkQ29uZmlnID0gdGhpcy5jdXN0b21GaWVsZHMuZ2V0KGVudGl0eSk7XHJcbiAgICAgICAgICAgIGlmICh2YXJpYWJsZXMgJiYgY3VzdG9tRmllbGRDb25maWcpIHtcclxuICAgICAgICAgICAgICAgIGxldCB2YXJpYWJsZXNDbG9uZSA9IHNpbXBsZURlZXBDbG9uZSh2YXJpYWJsZXMgYXMgYW55KTtcclxuICAgICAgICAgICAgICAgIHZhcmlhYmxlc0Nsb25lID0gcmVtb3ZlUmVhZG9ubHlDdXN0b21GaWVsZHModmFyaWFibGVzQ2xvbmUsIGN1c3RvbUZpZWxkQ29uZmlnKTtcclxuICAgICAgICAgICAgICAgIHZhcmlhYmxlc0Nsb25lID0gdHJhbnNmb3JtUmVsYXRpb25DdXN0b21GaWVsZElucHV0cyh2YXJpYWJsZXNDbG9uZSwgY3VzdG9tRmllbGRDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhcmlhYmxlc0Nsb25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YXJpYWJsZXM7XHJcbiAgICB9XHJcbn1cclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2Jhc2UtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBcUJyRyxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNZLE1BQWMsRUFDZCxtQkFBd0M7UUFEeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDakQsQ0FBQztJQUVKLElBQVksWUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUNELEtBQTZDLEVBQzdDLFNBQWEsRUFDYixjQUFxQyxtQkFBbUIsRUFDeEQsVUFBZ0MsRUFBRTtRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBTztZQUMxQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM3RSxTQUFTO1lBQ1QsV0FBVztTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFPLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQ0YsUUFBZ0QsRUFDaEQsU0FBYSxFQUNiLE1BQTZCLEVBQzdCLFVBQWdDLEVBQUU7UUFFbEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkcsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sSUFBSSxDQUFDLE1BQU07YUFDYixNQUFNLENBQU87WUFDVixRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsTUFBTTtTQUNULENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUUsTUFBZ0MsQ0FBQyxJQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxtQkFBbUIsQ0FBSSxRQUFzQixFQUFFLFNBQVk7UUFDL0QsTUFBTSxNQUFNLEdBQUcsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEQsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxjQUFjLEdBQUcsZUFBZSxDQUFDLFNBQWdCLENBQUMsQ0FBQztnQkFDdkQsY0FBYyxHQUFHLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2dCQUMvRSxjQUFjLEdBQUcsa0NBQWtDLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3ZGLE9BQU8sY0FBYyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzsrR0E5RFEsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXV0YXRpb25VcGRhdGVyRm4sIFNpbmdsZUV4ZWN1dGlvblJlc3VsdCwgV2F0Y2hRdWVyeUZldGNoUG9saWN5IH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XG5pbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcbmltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwvbGFuZ3VhZ2UvYXN0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IFF1ZXJ5UmVzdWx0IH0gZnJvbSAnLi4vcXVlcnktcmVzdWx0JztcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2ZXItY29uZmlnJztcbmltcG9ydCB7IGFkZEN1c3RvbUZpZWxkcyB9IGZyb20gJy4uL3V0aWxzL2FkZC1jdXN0b20tZmllbGRzJztcbmltcG9ydCB7IGlzRW50aXR5Q3JlYXRlT3JVcGRhdGVNdXRhdGlvbiB9IGZyb20gJy4uL3V0aWxzL2lzLWVudGl0eS1jcmVhdGUtb3ItdXBkYXRlLW11dGF0aW9uJztcbmltcG9ydCB7IHJlbW92ZVJlYWRvbmx5Q3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vdXRpbHMvcmVtb3ZlLXJlYWRvbmx5LWN1c3RvbS1maWVsZHMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25DdXN0b21GaWVsZElucHV0cyB9IGZyb20gJy4uL3V0aWxzL3RyYW5zZm9ybS1yZWxhdGlvbi1jdXN0b20tZmllbGQtaW5wdXRzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhlIGBxdWVyeWAgYW5kIGBtdXRhdGVgIG1ldGhvZHMuXG4gKlxuICogQHNpbmNlIDMuMC40XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRRdWVyeU9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEFuIGFycmF5IG9mIGN1c3RvbSBmaWVsZCBuYW1lcyB3aGljaCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHF1ZXJ5IG9yIG11dGF0aW9uXG4gICAgICogcmV0dXJuIGRhdGEuIFRoZSBhdXRvbWF0aWMgaW5jbHVzaW9uIG9mIGN1c3RvbSBmaWVsZHMgaXMgb25seSBzdXBwb3J0ZWQgZm9yXG4gICAgICogZW50aXRpZXMgd2hpY2ggYXJlIGRlZmluZWQgYXMgRnJhZ21lbnRzIGluIHRoZSBEb2N1bWVudE5vZGUuXG4gICAgICpcbiAgICAgKiBAc2luY2UgMy4wLjRcbiAgICAgKi9cbiAgICBpbmNsdWRlQ3VzdG9tRmllbGRzPzogc3RyaW5nW107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNlRGF0YVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvLFxuICAgICAgICBwcml2YXRlIHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBnZXQgY3VzdG9tRmllbGRzKCk6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5jdXN0b21GaWVsZHNNYXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBHcmFwaFFMIHdhdGNoIHF1ZXJ5XG4gICAgICovXG4gICAgcXVlcnk8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcbiAgICAgICAgcXVlcnk6IERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPFQsIFY+LFxuICAgICAgICB2YXJpYWJsZXM/OiBWLFxuICAgICAgICBmZXRjaFBvbGljeTogV2F0Y2hRdWVyeUZldGNoUG9saWN5ID0gJ2NhY2hlLWFuZC1uZXR3b3JrJyxcbiAgICAgICAgb3B0aW9uczogRXh0ZW5kZWRRdWVyeU9wdGlvbnMgPSB7fSxcbiAgICApOiBRdWVyeVJlc3VsdDxULCBWPiB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UmVmID0gdGhpcy5hcG9sbG8ud2F0Y2hRdWVyeTxULCBWPih7XG4gICAgICAgICAgICBxdWVyeTogYWRkQ3VzdG9tRmllbGRzKHF1ZXJ5LCB0aGlzLmN1c3RvbUZpZWxkcywgb3B0aW9ucy5pbmNsdWRlQ3VzdG9tRmllbGRzKSxcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgICAgIGZldGNoUG9saWN5LFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBxdWVyeVJlc3VsdCA9IG5ldyBRdWVyeVJlc3VsdDxULCBWPihxdWVyeVJlZiwgdGhpcy5hcG9sbG8sIHRoaXMuY3VzdG9tRmllbGRzKTtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5UmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGEgR3JhcGhRTCBtdXRhdGlvblxuICAgICAqL1xuICAgIG11dGF0ZTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICAgICAgICBtdXRhdGlvbjogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXG4gICAgICAgIHZhcmlhYmxlcz86IFYsXG4gICAgICAgIHVwZGF0ZT86IE11dGF0aW9uVXBkYXRlckZuPFQ+LFxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICBjb25zdCB3aXRoQ3VzdG9tRmllbGRzID0gYWRkQ3VzdG9tRmllbGRzKG11dGF0aW9uLCB0aGlzLmN1c3RvbUZpZWxkcywgb3B0aW9ucy5pbmNsdWRlQ3VzdG9tRmllbGRzKTtcbiAgICAgICAgY29uc3Qgd2l0aG91dFJlYWRvbmx5RmllbGRzID0gdGhpcy5wcmVwYXJlQ3VzdG9tRmllbGRzKG11dGF0aW9uLCB2YXJpYWJsZXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwb2xsb1xuICAgICAgICAgICAgLm11dGF0ZTxULCBWPih7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IHdpdGhDdXN0b21GaWVsZHMsXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB3aXRob3V0UmVhZG9ubHlGaWVsZHMsXG4gICAgICAgICAgICAgICAgdXBkYXRlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gKHJlc3VsdCBhcyBTaW5nbGVFeGVjdXRpb25SZXN1bHQpLmRhdGEgYXMgVCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZUN1c3RvbUZpZWxkczxWPihtdXRhdGlvbjogRG9jdW1lbnROb2RlLCB2YXJpYWJsZXM6IFYpOiBWIHtcbiAgICAgICAgY29uc3QgZW50aXR5ID0gaXNFbnRpdHlDcmVhdGVPclVwZGF0ZU11dGF0aW9uKG11dGF0aW9uKTtcbiAgICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tRmllbGRDb25maWcgPSB0aGlzLmN1c3RvbUZpZWxkcy5nZXQoZW50aXR5KTtcbiAgICAgICAgICAgIGlmICh2YXJpYWJsZXMgJiYgY3VzdG9tRmllbGRDb25maWcpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFyaWFibGVzQ2xvbmUgPSBzaW1wbGVEZWVwQ2xvbmUodmFyaWFibGVzIGFzIGFueSk7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVzQ2xvbmUgPSByZW1vdmVSZWFkb25seUN1c3RvbUZpZWxkcyh2YXJpYWJsZXNDbG9uZSwgY3VzdG9tRmllbGRDb25maWcpO1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlc0Nsb25lID0gdHJhbnNmb3JtUmVsYXRpb25DdXN0b21GaWVsZElucHV0cyh2YXJpYWJsZXNDbG9uZSwgY3VzdG9tRmllbGRDb25maWcpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YXJpYWJsZXNDbG9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFyaWFibGVzO1xuICAgIH1cbn1cbiJdfQ==
@@ -81,4 +81,4 @@ export class CollectionDataService {
81
81
  });
82
82
  }
83
83
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2NvbGxlY3Rpb24tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQixpQkFBaUIsR0FDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUkvQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQW9DLHNCQUFzQixDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QztRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixtQkFBbUIsRUFBRTtZQUNuQixPQUFPO1NBQ1YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW9DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGlCQUFpQixFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLGNBQWM7Z0JBQ2QsVUFBVTtnQkFDVixVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFvQztRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxpQkFBaUIsRUFBRTtZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJO2dCQUNKLFdBQVc7Z0JBQ1gsY0FBYztnQkFDZCxVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDZCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHekIsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDaEMsRUFDRCxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsaUJBQWlCLEVBQUU7WUFDakIsRUFBRTtTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGtCQUFrQixFQUFFO1lBQ2xCLEdBQUc7U0FDTixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQseUJBQXlCLENBQ3JCLEtBQTZDLEVBQzdDLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLDJCQUEyQixFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHFCQUFxQixDQUNqQixFQUFVLEVBQ1YsSUFBSSxHQUFHLEVBQUUsRUFDVCxJQUFJLEdBQUcsQ0FBQyxFQUNSLFVBQW1CLEVBQ25CLFVBQWdDLEVBQUU7UUFFbEMsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQXdDO1lBQzNFLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FJN0IsdUJBQXVCLEVBQ3ZCO1lBQ0ksRUFBRTtZQUNGLE9BQU8sRUFBRTtnQkFDTCxJQUFJO2dCQUNKLElBQUk7Z0JBQ0osTUFBTTthQUNUO1NBQ0osRUFDRCxtQkFBbUIsRUFDbkIsT0FBTyxDQUNWLENBQUM7SUFDTixDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBOEM7UUFDckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsNkJBQTZCLEVBQUU7WUFDN0IsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxLQUFnRDtRQUN6RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQywrQkFBK0IsRUFBRTtZQUMvQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGljayB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvcGljayc7XHJcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgYnVmZmVyQ291bnQsIGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCAqIGFzIENvZGVnZW4gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBU1NJR05fQ09MTEVDVElPTlNfVE9fQ0hBTk5FTCxcclxuICAgIENSRUFURV9DT0xMRUNUSU9OLFxyXG4gICAgREVMRVRFX0NPTExFQ1RJT04sXHJcbiAgICBERUxFVEVfQ09MTEVDVElPTlMsXHJcbiAgICBHRVRfQ09MTEVDVElPTl9DT05URU5UUyxcclxuICAgIEdFVF9DT0xMRUNUSU9OX0ZJTFRFUlMsXHJcbiAgICBHRVRfQ09MTEVDVElPTl9MSVNULFxyXG4gICAgTU9WRV9DT0xMRUNUSU9OLFxyXG4gICAgUFJFVklFV19DT0xMRUNUSU9OX0NPTlRFTlRTLFxyXG4gICAgUkVNT1ZFX0NPTExFQ1RJT05TX0ZST01fQ0hBTk5FTCxcclxuICAgIFVQREFURV9DT0xMRUNUSU9OLFxyXG59IGZyb20gJy4uL2RlZmluaXRpb25zL2NvbGxlY3Rpb24tZGVmaW5pdGlvbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZURhdGFTZXJ2aWNlLCBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4vYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EYXRhU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VEYXRhU2VydmljZTogQmFzZURhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIGdldENvbGxlY3Rpb25GaWx0ZXJzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxDb2RlZ2VuLkdldENvbGxlY3Rpb25GaWx0ZXJzUXVlcnk+KEdFVF9DT0xMRUNUSU9OX0ZJTFRFUlMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbGxlY3Rpb25zKG9wdGlvbnM/OiBDb2RlZ2VuLkNvbGxlY3Rpb25MaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25MaXN0UXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9DT0xMRUNUSU9OX0xJU1QsIHtcclxuICAgICAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVDb2xsZWN0aW9uKGlucHV0OiBDb2RlZ2VuLkNyZWF0ZUNvbGxlY3Rpb25JbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkNyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQ1JFQVRFX0NPTExFQ1RJT04sIHtcclxuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFtcclxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxyXG4gICAgICAgICAgICAgICAgJ3BhcmVudElkJyxcclxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXHJcbiAgICAgICAgICAgICAgICAnZmVhdHVyZWRBc3NldElkJyxcclxuICAgICAgICAgICAgICAgICdpbmhlcml0RmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQ29sbGVjdGlvbihpbnB1dDogQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9DT0xMRUNUSU9OLCB7XHJcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKGlucHV0LCBbXHJcbiAgICAgICAgICAgICAgICAnaWQnLFxyXG4gICAgICAgICAgICAgICAgJ2lzUHJpdmF0ZScsXHJcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcclxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXHJcbiAgICAgICAgICAgICAgICAnZmVhdHVyZWRBc3NldElkJyxcclxuICAgICAgICAgICAgICAgICdpbmhlcml0RmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXHJcbiAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbW92ZUNvbGxlY3Rpb24oaW5wdXRzOiBDb2RlZ2VuLk1vdmVDb2xsZWN0aW9uSW5wdXRbXSkge1xyXG4gICAgICAgIHJldHVybiBmcm9tKGlucHV0cykucGlwZShcclxuICAgICAgICAgICAgY29uY2F0TWFwKGlucHV0ID0+XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgICAgICAgICAgQ29kZWdlbi5Nb3ZlQ29sbGVjdGlvbk11dGF0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIENvZGVnZW4uTW92ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgICAgICAgICAgPihNT1ZFX0NPTExFQ1RJT04sIHsgaW5wdXQgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIGJ1ZmZlckNvdW50KGlucHV0cy5sZW5ndGgpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlQ29sbGVjdGlvbihpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDb2xsZWN0aW9uTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihERUxFVEVfQ09MTEVDVElPTiwge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDb2xsZWN0aW9ucyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDb2xsZWN0aW9uc011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DT0xMRUNUSU9OUywge1xyXG4gICAgICAgICAgICBpZHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlld0NvbGxlY3Rpb25WYXJpYW50cyhcclxuICAgICAgICBpbnB1dDogQ29kZWdlbi5QcmV2aWV3Q29sbGVjdGlvblZhcmlhbnRzSW5wdXQsXHJcbiAgICAgICAgb3B0aW9uczogQ29kZWdlbi5Qcm9kdWN0VmFyaWFudExpc3RPcHRpb25zLFxyXG4gICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5QcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KFBSRVZJRVdfQ09MTEVDVElPTl9DT05URU5UUywgeyBpbnB1dCwgb3B0aW9ucyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb2xsZWN0aW9uQ29udGVudHMoXHJcbiAgICAgICAgaWQ6IHN0cmluZyxcclxuICAgICAgICB0YWtlID0gMTAsXHJcbiAgICAgICAgc2tpcCA9IDAsXHJcbiAgICAgICAgZmlsdGVyVGVybT86IHN0cmluZyxcclxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyID0gZmlsdGVyVGVybVxyXG4gICAgICAgICAgICA/ICh7IG5hbWU6IHsgY29udGFpbnM6IGZpbHRlclRlcm0gfSB9IGFzIENvZGVnZW4uQ29sbGVjdGlvbkZpbHRlclBhcmFtZXRlcilcclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5VmFyaWFibGVzXHJcbiAgICAgICAgPihcclxuICAgICAgICAgICAgR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAnY2FjaGUtYW5kLW5ldHdvcmsnLFxyXG4gICAgICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWwoaW5wdXQ6IENvZGVnZW4uQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5Bc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihBU1NJR05fQ09MTEVDVElPTlNfVE9fQ0hBTk5FTCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsKGlucHV0OiBDb2RlZ2VuLlJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbE11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oUkVNT1ZFX0NPTExFQ1RJT05TX0ZST01fQ0hBTk5FTCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2NvbGxlY3Rpb24tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQixpQkFBaUIsR0FDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUkvQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQW9DLHNCQUFzQixDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QztRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixtQkFBbUIsRUFBRTtZQUNuQixPQUFPO1NBQ1YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW9DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGlCQUFpQixFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLGNBQWM7Z0JBQ2QsVUFBVTtnQkFDVixVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFvQztRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxpQkFBaUIsRUFBRTtZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJO2dCQUNKLFdBQVc7Z0JBQ1gsY0FBYztnQkFDZCxVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDZCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHekIsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDaEMsRUFDRCxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsaUJBQWlCLEVBQUU7WUFDakIsRUFBRTtTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGtCQUFrQixFQUFFO1lBQ2xCLEdBQUc7U0FDTixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQseUJBQXlCLENBQ3JCLEtBQTZDLEVBQzdDLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLDJCQUEyQixFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHFCQUFxQixDQUNqQixFQUFVLEVBQ1YsSUFBSSxHQUFHLEVBQUUsRUFDVCxJQUFJLEdBQUcsQ0FBQyxFQUNSLFVBQW1CLEVBQ25CLFVBQWdDLEVBQUU7UUFFbEMsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQXdDO1lBQzNFLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FJN0IsdUJBQXVCLEVBQ3ZCO1lBQ0ksRUFBRTtZQUNGLE9BQU8sRUFBRTtnQkFDTCxJQUFJO2dCQUNKLElBQUk7Z0JBQ0osTUFBTTthQUNUO1NBQ0osRUFDRCxtQkFBbUIsRUFDbkIsT0FBTyxDQUNWLENBQUM7SUFDTixDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBOEM7UUFDckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsNkJBQTZCLEVBQUU7WUFDN0IsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxLQUFnRDtRQUN6RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQywrQkFBK0IsRUFBRTtZQUMvQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGljayB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvcGljayc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBidWZmZXJDb3VudCwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgKiBhcyBDb2RlZ2VuIGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBBU1NJR05fQ09MTEVDVElPTlNfVE9fQ0hBTk5FTCxcbiAgICBDUkVBVEVfQ09MTEVDVElPTixcbiAgICBERUxFVEVfQ09MTEVDVElPTixcbiAgICBERUxFVEVfQ09MTEVDVElPTlMsXG4gICAgR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsXG4gICAgR0VUX0NPTExFQ1RJT05fRklMVEVSUyxcbiAgICBHRVRfQ09MTEVDVElPTl9MSVNULFxuICAgIE1PVkVfQ09MTEVDVElPTixcbiAgICBQUkVWSUVXX0NPTExFQ1RJT05fQ09OVEVOVFMsXG4gICAgUkVNT1ZFX0NPTExFQ1RJT05TX0ZST01fQ0hBTk5FTCxcbiAgICBVUERBVEVfQ09MTEVDVElPTixcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMvY29sbGVjdGlvbi1kZWZpbml0aW9ucyc7XG5cbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSwgRXh0ZW5kZWRRdWVyeU9wdGlvbnMgfSBmcm9tICcuL2Jhc2UtZGF0YS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EYXRhU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cblxuICAgIGdldENvbGxlY3Rpb25GaWx0ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5PihHRVRfQ09MTEVDVElPTl9GSUxURVJTKTtcbiAgICB9XG5cbiAgICBnZXRDb2xsZWN0aW9ucyhvcHRpb25zPzogQ29kZWdlbi5Db2xsZWN0aW9uTGlzdE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5VmFyaWFibGVzXG4gICAgICAgID4oR0VUX0NPTExFQ1RJT05fTElTVCwge1xuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlYXRlQ29sbGVjdGlvbihpbnB1dDogQ29kZWdlbi5DcmVhdGVDb2xsZWN0aW9uSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihDUkVBVEVfQ09MTEVDVElPTiwge1xuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFtcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcbiAgICAgICAgICAgICAgICAncGFyZW50SWQnLFxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXG4gICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXG4gICAgICAgICAgICAgICAgJ2luaGVyaXRGaWx0ZXJzJyxcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXG4gICAgICAgICAgICAgICAgJ2N1c3RvbUZpZWxkcycsXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ29sbGVjdGlvbihpbnB1dDogQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihVUERBVEVfQ09MTEVDVElPTiwge1xuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFtcbiAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICdpc1ByaXZhdGUnLFxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXG4gICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXG4gICAgICAgICAgICAgICAgJ2luaGVyaXRGaWx0ZXJzJyxcbiAgICAgICAgICAgICAgICAnZmlsdGVycycsXG4gICAgICAgICAgICAgICAgJ2N1c3RvbUZpZWxkcycsXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbW92ZUNvbGxlY3Rpb24oaW5wdXRzOiBDb2RlZ2VuLk1vdmVDb2xsZWN0aW9uSW5wdXRbXSkge1xuICAgICAgICByZXR1cm4gZnJvbShpbnB1dHMpLnBpcGUoXG4gICAgICAgICAgICBjb25jYXRNYXAoaW5wdXQgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICAgICAgICAgIENvZGVnZW4uTW92ZUNvbGxlY3Rpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgQ29kZWdlbi5Nb3ZlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgICAgICAgICAgPihNT1ZFX0NPTExFQ1RJT04sIHsgaW5wdXQgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgYnVmZmVyQ291bnQoaW5wdXRzLmxlbmd0aCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQ29sbGVjdGlvbihpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oREVMRVRFX0NPTExFQ1RJT04sIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVDb2xsZWN0aW9ucyhpZHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihERUxFVEVfQ09MTEVDVElPTlMsIHtcbiAgICAgICAgICAgIGlkcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJldmlld0NvbGxlY3Rpb25WYXJpYW50cyhcbiAgICAgICAgaW5wdXQ6IENvZGVnZW4uUHJldmlld0NvbGxlY3Rpb25WYXJpYW50c0lucHV0LFxuICAgICAgICBvcHRpb25zOiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcbiAgICAgICAgICAgIENvZGVnZW4uUHJldmlld0NvbGxlY3Rpb25Db250ZW50c1F1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5QcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXNcbiAgICAgICAgPihQUkVWSUVXX0NPTExFQ1RJT05fQ09OVEVOVFMsIHsgaW5wdXQsIG9wdGlvbnMgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q29sbGVjdGlvbkNvbnRlbnRzKFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICB0YWtlID0gMTAsXG4gICAgICAgIHNraXAgPSAwLFxuICAgICAgICBmaWx0ZXJUZXJtPzogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxuICAgICkge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJUZXJtXG4gICAgICAgICAgICA/ICh7IG5hbWU6IHsgY29udGFpbnM6IGZpbHRlclRlcm0gfSB9IGFzIENvZGVnZW4uQ29sbGVjdGlvbkZpbHRlclBhcmFtZXRlcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KFxuICAgICAgICAgICAgR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBza2lwLFxuICAgICAgICAgICAgICAgICAgICB0YWtlLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAnY2FjaGUtYW5kLW5ldHdvcmsnLFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5Bc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbElucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihBU1NJR05fQ09MTEVDVElPTlNfVE9fQ0hBTk5FTCwge1xuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWwoaW5wdXQ6IENvZGVnZW4uUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbElucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oUkVNT1ZFX0NPTExFQ1RJT05TX0ZST01fQ0hBTk5FTCwge1xuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -87,4 +87,4 @@ export class DataService {
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, decorators: [{
88
88
  type: Injectable
89
89
  }], ctorParameters: () => [{ type: i1.BaseDataService }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUUzRTs7Ozs7Ozs7OztHQVVHO0FBRUgsTUFBTSxPQUFPLFdBQVc7SUFhcEIsZ0JBQWdCO0lBQ2hCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtCRztJQUNILEtBQUssQ0FDRCxLQUE2QyxFQUM3QyxTQUFhLEVBQ2IsY0FBcUMsbUJBQW1CLEVBQ3hELFVBQWdDLEVBQUU7UUFFbEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSCxNQUFNLENBQ0YsUUFBZ0QsRUFDaEQsU0FBYSxFQUNiLE1BQTZCLEVBQzdCLFVBQWdDLEVBQUU7UUFFbEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQWhGUSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE11dGF0aW9uVXBkYXRlckZuLCBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3kgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcclxuaW1wb3J0IHsgVHlwZWREb2N1bWVudE5vZGUgfSBmcm9tICdAZ3JhcGhxbC10eXBlZC1kb2N1bWVudC1ub2RlL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudE5vZGUgfSBmcm9tICdncmFwaHFsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tICcuLi9xdWVyeS1yZXN1bHQnO1xyXG5cclxuaW1wb3J0IHsgQWRtaW5pc3RyYXRvckRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9hZG1pbmlzdHJhdG9yLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4vYXV0aC1kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRGF0YVNlcnZpY2UsIEV4dGVuZGVkUXVlcnlPcHRpb25zIH0gZnJvbSAnLi9iYXNlLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IENsaWVudERhdGFTZXJ2aWNlIH0gZnJvbSAnLi9jbGllbnQtZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1c3RvbWVyRGF0YVNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbWVyLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEZhY2V0RGF0YVNlcnZpY2UgfSBmcm9tICcuL2ZhY2V0LWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE9yZGVyRGF0YVNlcnZpY2UgfSBmcm9tICcuL29yZGVyLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3REYXRhU2VydmljZSB9IGZyb20gJy4vcHJvZHVjdC1kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tb3Rpb25EYXRhU2VydmljZSB9IGZyb20gJy4vcHJvbW90aW9uLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzRGF0YVNlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kRGF0YVNlcnZpY2UgfSBmcm9tICcuL3NoaXBwaW5nLW1ldGhvZC1kYXRhLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBVc2VkIHRvIGludGVyYWN0IHdpdGggdGhlIEFkbWluIEFQSSB2aWEgR3JhcGhRTCBxdWVyaWVzLiBJbnRlcm5hbGx5IHRoaXMgc2VydmljZSB1c2VzIHRoZVxyXG4gKiBBcG9sbG8gQ2xpZW50LCB3aGljaCBtZWFucyBpdCBtYWludGFpbnMgYSBub3JtYWxpemVkIGVudGl0eSBjYWNoZS4gRm9yIHRoaXMgcmVhc29uLCBpdCBpc1xyXG4gKiBhZHZpc2FibGUgdG8gYWx3YXlzIHNlbGVjdCB0aGUgYGlkYCBmaWVsZCBvZiBhbnkgZW50aXR5LCB3aGljaCB3aWxsIGFsbG93IHRoZSByZXR1cm5lZCBkYXRhXHJcbiAqIHRvIGJlIGVmZmVjdGl2ZWx5IGNhY2hlZC5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBzZXJ2aWNlc1xyXG4gKiBAZG9jc1BhZ2UgRGF0YVNlcnZpY2VcclxuICogQGRvY3NXZWlnaHQgMFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2Uge1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqLyBwcm9tb3Rpb246IFByb21vdGlvbkRhdGFTZXJ2aWNlO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqLyBhZG1pbmlzdHJhdG9yOiBBZG1pbmlzdHJhdG9yRGF0YVNlcnZpY2U7XHJcbiAgICAvKiogQGludGVybmFsICovIGF1dGg6IEF1dGhEYXRhU2VydmljZTtcclxuICAgIC8qKiBAaW50ZXJuYWwgKi8gY29sbGVjdGlvbjogQ29sbGVjdGlvbkRhdGFTZXJ2aWNlO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqLyBwcm9kdWN0OiBQcm9kdWN0RGF0YVNlcnZpY2U7XHJcbiAgICAvKiogQGludGVybmFsICovIGNsaWVudDogQ2xpZW50RGF0YVNlcnZpY2U7XHJcbiAgICAvKiogQGludGVybmFsICovIGZhY2V0OiBGYWNldERhdGFTZXJ2aWNlO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqLyBvcmRlcjogT3JkZXJEYXRhU2VydmljZTtcclxuICAgIC8qKiBAaW50ZXJuYWwgKi8gc2V0dGluZ3M6IFNldHRpbmdzRGF0YVNlcnZpY2U7XHJcbiAgICAvKiogQGludGVybmFsICovIGN1c3RvbWVyOiBDdXN0b21lckRhdGFTZXJ2aWNlO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqLyBzaGlwcGluZ01ldGhvZDogU2hpcHBpbmdNZXRob2REYXRhU2VydmljZTtcclxuXHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VEYXRhU2VydmljZTogQmFzZURhdGFTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5wcm9tb3Rpb24gPSBuZXcgUHJvbW90aW9uRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLmFkbWluaXN0cmF0b3IgPSBuZXcgQWRtaW5pc3RyYXRvckRhdGFTZXJ2aWNlKGJhc2VEYXRhU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5hdXRoID0gbmV3IEF1dGhEYXRhU2VydmljZShiYXNlRGF0YVNlcnZpY2UpO1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbiA9IG5ldyBDb2xsZWN0aW9uRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLnByb2R1Y3QgPSBuZXcgUHJvZHVjdERhdGFTZXJ2aWNlKGJhc2VEYXRhU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5jbGllbnQgPSBuZXcgQ2xpZW50RGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLmZhY2V0ID0gbmV3IEZhY2V0RGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLm9yZGVyID0gbmV3IE9yZGVyRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLnNldHRpbmdzID0gbmV3IFNldHRpbmdzRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLmN1c3RvbWVyID0gbmV3IEN1c3RvbWVyRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLnNoaXBwaW5nTWV0aG9kID0gbmV3IFNoaXBwaW5nTWV0aG9kRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogUGVyZm9ybSBhIEdyYXBoUUwgcXVlcnkuIFJldHVybnMgYSB7QGxpbmsgUXVlcnlSZXN1bHR9IHdoaWNoIGFsbG93cyBmdXJ0aGVyIGNvbnRyb2wgb3ZlclxyXG4gICAgICogdGhleSB0eXBlIG9mIHJlc3VsdCByZXR1cm5lZCwgZS5nLiBzdHJlYW0gb2YgdmFsdWVzLCBzaW5nbGUgdmFsdWUgZXRjLlxyXG4gICAgICpcclxuICAgICAqIEBleGFtcGxlXHJcbiAgICAgKiBgYGB0c1xyXG4gICAgICogY29uc3QgcmVzdWx0JCA9IHRoaXMuZGF0YVNlcnZpY2UucXVlcnkoZ3FsYFxyXG4gICAgICogICBxdWVyeSBNeVF1ZXJ5KCRpZDogSUQhKSB7XHJcbiAgICAgKiAgICAgcHJvZHVjdChpZDogJGlkKSB7XHJcbiAgICAgKiAgICAgICBpZFxyXG4gICAgICogICAgICAgbmFtZVxyXG4gICAgICogICAgICAgc2x1Z1xyXG4gICAgICogICAgIH1cclxuICAgICAqICAgfSxcclxuICAgICAqICAgeyBpZDogMTIzIH0sXHJcbiAgICAgKiApLm1hcFNpbmdsZShkYXRhID0+IGRhdGEucHJvZHVjdCk7XHJcbiAgICAgKiBgYGBcclxuICAgICAqL1xyXG4gICAgcXVlcnk8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcclxuICAgICAgICBxdWVyeTogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbiAgICAgICAgdmFyaWFibGVzPzogVixcclxuICAgICAgICBmZXRjaFBvbGljeTogV2F0Y2hRdWVyeUZldGNoUG9saWN5ID0gJ2NhY2hlLWFuZC1uZXR3b3JrJyxcclxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxyXG4gICAgKTogUXVlcnlSZXN1bHQ8VCwgVj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeShxdWVyeSwgdmFyaWFibGVzLCBmZXRjaFBvbGljeSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFBlcmZvcm0gYSBHcmFwaFFMIG11dGF0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEBleGFtcGxlXHJcbiAgICAgKiBgYGB0c1xyXG4gICAgICogY29uc3QgcmVzdWx0JCA9IHRoaXMuZGF0YVNlcnZpY2UubXV0YXRlKGdxbGBcclxuICAgICAqICAgbXV0YXRpb24gTXlNdXRhdGlvbigkQ29kZWdlbi5VcGRhdGVFbnRpdHlJbnB1dCEpIHtcclxuICAgICAqICAgICB1cGRhdGVFbnRpdHkoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICogICAgICAgaWRcclxuICAgICAqICAgICAgIG5hbWVcclxuICAgICAqICAgICB9XHJcbiAgICAgKiAgIH0sXHJcbiAgICAgKiAgIHsgQ29kZWdlbi51cGRhdGVFbnRpdHlJbnB1dCB9LFxyXG4gICAgICogKTtcclxuICAgICAqIGBgYFxyXG4gICAgICovXHJcbiAgICBtdXRhdGU8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcclxuICAgICAgICBtdXRhdGlvbjogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXHJcbiAgICAgICAgdmFyaWFibGVzPzogVixcclxuICAgICAgICB1cGRhdGU/OiBNdXRhdGlvblVwZGF0ZXJGbjxUPixcclxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxyXG4gICAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZShtdXRhdGlvbiwgdmFyaWFibGVzLCB1cGRhdGUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUUzRTs7Ozs7Ozs7OztHQVVHO0FBRUgsTUFBTSxPQUFPLFdBQVc7SUFhcEIsZ0JBQWdCO0lBQ2hCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtCRztJQUNILEtBQUssQ0FDRCxLQUE2QyxFQUM3QyxTQUFhLEVBQ2IsY0FBcUMsbUJBQW1CLEVBQ3hELFVBQWdDLEVBQUU7UUFFbEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSCxNQUFNLENBQ0YsUUFBZ0QsRUFDaEQsU0FBYSxFQUNiLE1BQTZCLEVBQzdCLFVBQWdDLEVBQUU7UUFFbEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RSxDQUFDOytHQWhGUSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNdXRhdGlvblVwZGF0ZXJGbiwgV2F0Y2hRdWVyeUZldGNoUG9saWN5IH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XG5pbXBvcnQgeyBEb2N1bWVudE5vZGUgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tICcuLi9xdWVyeS1yZXN1bHQnO1xuXG5pbXBvcnQgeyBBZG1pbmlzdHJhdG9yRGF0YVNlcnZpY2UgfSBmcm9tICcuL2FkbWluaXN0cmF0b3ItZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4vYXV0aC1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZURhdGFTZXJ2aWNlLCBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4vYmFzZS1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50RGF0YVNlcnZpY2UgfSBmcm9tICcuL2NsaWVudC1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21lckRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9jdXN0b21lci1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmFjZXREYXRhU2VydmljZSB9IGZyb20gJy4vZmFjZXQtZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyRGF0YVNlcnZpY2UgfSBmcm9tICcuL29yZGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RGF0YVNlcnZpY2UgfSBmcm9tICcuL3Byb2R1Y3QtZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb21vdGlvbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9wcm9tb3Rpb24tZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzRGF0YVNlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZERhdGFTZXJ2aWNlIH0gZnJvbSAnLi9zaGlwcGluZy1tZXRob2QtZGF0YS5zZXJ2aWNlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFVzZWQgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgQWRtaW4gQVBJIHZpYSBHcmFwaFFMIHF1ZXJpZXMuIEludGVybmFsbHkgdGhpcyBzZXJ2aWNlIHVzZXMgdGhlXG4gKiBBcG9sbG8gQ2xpZW50LCB3aGljaCBtZWFucyBpdCBtYWludGFpbnMgYSBub3JtYWxpemVkIGVudGl0eSBjYWNoZS4gRm9yIHRoaXMgcmVhc29uLCBpdCBpc1xuICogYWR2aXNhYmxlIHRvIGFsd2F5cyBzZWxlY3QgdGhlIGBpZGAgZmllbGQgb2YgYW55IGVudGl0eSwgd2hpY2ggd2lsbCBhbGxvdyB0aGUgcmV0dXJuZWQgZGF0YVxuICogdG8gYmUgZWZmZWN0aXZlbHkgY2FjaGVkLlxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgc2VydmljZXNcbiAqIEBkb2NzUGFnZSBEYXRhU2VydmljZVxuICogQGRvY3NXZWlnaHQgMFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2Uge1xuICAgIC8qKiBAaW50ZXJuYWwgKi8gcHJvbW90aW9uOiBQcm9tb3Rpb25EYXRhU2VydmljZTtcbiAgICAvKiogQGludGVybmFsICovIGFkbWluaXN0cmF0b3I6IEFkbWluaXN0cmF0b3JEYXRhU2VydmljZTtcbiAgICAvKiogQGludGVybmFsICovIGF1dGg6IEF1dGhEYXRhU2VydmljZTtcbiAgICAvKiogQGludGVybmFsICovIGNvbGxlY3Rpb246IENvbGxlY3Rpb25EYXRhU2VydmljZTtcbiAgICAvKiogQGludGVybmFsICovIHByb2R1Y3Q6IFByb2R1Y3REYXRhU2VydmljZTtcbiAgICAvKiogQGludGVybmFsICovIGNsaWVudDogQ2xpZW50RGF0YVNlcnZpY2U7XG4gICAgLyoqIEBpbnRlcm5hbCAqLyBmYWNldDogRmFjZXREYXRhU2VydmljZTtcbiAgICAvKiogQGludGVybmFsICovIG9yZGVyOiBPcmRlckRhdGFTZXJ2aWNlO1xuICAgIC8qKiBAaW50ZXJuYWwgKi8gc2V0dGluZ3M6IFNldHRpbmdzRGF0YVNlcnZpY2U7XG4gICAgLyoqIEBpbnRlcm5hbCAqLyBjdXN0b21lcjogQ3VzdG9tZXJEYXRhU2VydmljZTtcbiAgICAvKiogQGludGVybmFsICovIHNoaXBwaW5nTWV0aG9kOiBTaGlwcGluZ01ldGhvZERhdGFTZXJ2aWNlO1xuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZURhdGFTZXJ2aWNlOiBCYXNlRGF0YVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5wcm9tb3Rpb24gPSBuZXcgUHJvbW90aW9uRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5hZG1pbmlzdHJhdG9yID0gbmV3IEFkbWluaXN0cmF0b3JEYXRhU2VydmljZShiYXNlRGF0YVNlcnZpY2UpO1xuICAgICAgICB0aGlzLmF1dGggPSBuZXcgQXV0aERhdGFTZXJ2aWNlKGJhc2VEYXRhU2VydmljZSk7XG4gICAgICAgIHRoaXMuY29sbGVjdGlvbiA9IG5ldyBDb2xsZWN0aW9uRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5wcm9kdWN0ID0gbmV3IFByb2R1Y3REYXRhU2VydmljZShiYXNlRGF0YVNlcnZpY2UpO1xuICAgICAgICB0aGlzLmNsaWVudCA9IG5ldyBDbGllbnREYXRhU2VydmljZShiYXNlRGF0YVNlcnZpY2UpO1xuICAgICAgICB0aGlzLmZhY2V0ID0gbmV3IEZhY2V0RGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5vcmRlciA9IG5ldyBPcmRlckRhdGFTZXJ2aWNlKGJhc2VEYXRhU2VydmljZSk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSBuZXcgU2V0dGluZ3NEYXRhU2VydmljZShiYXNlRGF0YVNlcnZpY2UpO1xuICAgICAgICB0aGlzLmN1c3RvbWVyID0gbmV3IEN1c3RvbWVyRGF0YVNlcnZpY2UoYmFzZURhdGFTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5zaGlwcGluZ01ldGhvZCA9IG5ldyBTaGlwcGluZ01ldGhvZERhdGFTZXJ2aWNlKGJhc2VEYXRhU2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUGVyZm9ybSBhIEdyYXBoUUwgcXVlcnkuIFJldHVybnMgYSB7QGxpbmsgUXVlcnlSZXN1bHR9IHdoaWNoIGFsbG93cyBmdXJ0aGVyIGNvbnRyb2wgb3ZlclxuICAgICAqIHRoZXkgdHlwZSBvZiByZXN1bHQgcmV0dXJuZWQsIGUuZy4gc3RyZWFtIG9mIHZhbHVlcywgc2luZ2xlIHZhbHVlIGV0Yy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHNcbiAgICAgKiBjb25zdCByZXN1bHQkID0gdGhpcy5kYXRhU2VydmljZS5xdWVyeShncWxgXG4gICAgICogICBxdWVyeSBNeVF1ZXJ5KCRpZDogSUQhKSB7XG4gICAgICogICAgIHByb2R1Y3QoaWQ6ICRpZCkge1xuICAgICAqICAgICAgIGlkXG4gICAgICogICAgICAgbmFtZVxuICAgICAqICAgICAgIHNsdWdcbiAgICAgKiAgICAgfVxuICAgICAqICAgfSxcbiAgICAgKiAgIHsgaWQ6IDEyMyB9LFxuICAgICAqICkubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5wcm9kdWN0KTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBxdWVyeTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICAgICAgICBxdWVyeTogRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8VCwgVj4sXG4gICAgICAgIHZhcmlhYmxlcz86IFYsXG4gICAgICAgIGZldGNoUG9saWN5OiBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3kgPSAnY2FjaGUtYW5kLW5ldHdvcmsnLFxuICAgICAgICBvcHRpb25zOiBFeHRlbmRlZFF1ZXJ5T3B0aW9ucyA9IHt9LFxuICAgICk6IFF1ZXJ5UmVzdWx0PFQsIFY+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5KHF1ZXJ5LCB2YXJpYWJsZXMsIGZldGNoUG9saWN5LCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBQZXJmb3JtIGEgR3JhcGhRTCBtdXRhdGlvbi5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHNcbiAgICAgKiBjb25zdCByZXN1bHQkID0gdGhpcy5kYXRhU2VydmljZS5tdXRhdGUoZ3FsYFxuICAgICAqICAgbXV0YXRpb24gTXlNdXRhdGlvbigkQ29kZWdlbi5VcGRhdGVFbnRpdHlJbnB1dCEpIHtcbiAgICAgKiAgICAgdXBkYXRlRW50aXR5KGlucHV0OiAkaW5wdXQpIHtcbiAgICAgKiAgICAgICBpZFxuICAgICAqICAgICAgIG5hbWVcbiAgICAgKiAgICAgfVxuICAgICAqICAgfSxcbiAgICAgKiAgIHsgQ29kZWdlbi51cGRhdGVFbnRpdHlJbnB1dCB9LFxuICAgICAqICk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgbXV0YXRlPFQsIFYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4oXG4gICAgICAgIG11dGF0aW9uOiBEb2N1bWVudE5vZGUgfCBUeXBlZERvY3VtZW50Tm9kZTxULCBWPixcbiAgICAgICAgdmFyaWFibGVzPzogVixcbiAgICAgICAgdXBkYXRlPzogTXV0YXRpb25VcGRhdGVyRm48VD4sXG4gICAgICAgIG9wdGlvbnM6IEV4dGVuZGVkUXVlcnlPcHRpb25zID0ge30sXG4gICAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGUobXV0YXRpb24sIHZhcmlhYmxlcywgdXBkYXRlLCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=
@@ -256,4 +256,4 @@ export class ProductDataService {
256
256
  });
257
257
  }
258
258
  }
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL3Byb2R1Y3QtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUNILDJCQUEyQixFQUMzQixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsY0FBYyxFQUNkLDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLGFBQWEsRUFDYixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLFVBQVUsRUFDVixTQUFTLEVBQ1QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLG9DQUFvQyxFQUNwQywrQkFBK0IsRUFDL0IsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixPQUFPLEVBQ1AsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixlQUFlLEVBQ2YsWUFBWSxFQUNaLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLHVCQUF1QixFQUN2QixVQUFVLEdBQ2IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsZ0NBQWdDLEVBQ2hDLE9BQU8sRUFDUCxnQ0FBZ0MsR0FDbkMsTUFBTSxxQ0FBcUMsQ0FBQztBQUk3QyxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdB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QUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyw0QkFBNEIsRUFBRTtZQUM1QixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBb0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQzdCLFlBQVksRUFDWjtZQUNJLE9BQU87U0FDVixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTZCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFVBQVUsRUFDVjtZQUNJLEtBQUs7U0FDUixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTZCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFVBQVUsRUFDVjtZQUNJLEtBQUs7U0FDUixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FDOUIsVUFBVSxFQUNWO1lBQ0ksRUFBRTtTQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpY2sgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3BpY2snO1xyXG5cclxuaW1wb3J0ICogYXMgQ29kZWdlbiBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBRERfT1BUSU9OX0dST1VQX1RPX1BST0RVQ1QsXHJcbiAgICBBRERfT1BUSU9OX1RPX0dST1VQLFxyXG4gICAgQVNTSUdOX1BST0RVQ1RTX1RPX0NIQU5ORUwsXHJcbiAgICBBU1NJR05fVkFSSUFOVFNfVE9fQ0hBTk5FTCxcclxuICAgIENSRUFURV9BU1NFVFMsXHJcbiAgICBDUkVBVEVfUFJPRFVDVCxcclxuICAgIENSRUFURV9QUk9EVUNUX09QVElPTl9HUk9VUCxcclxuICAgIENSRUFURV9QUk9EVUNUX1ZBUklBTlRTLFxyXG4gICAgQ1JFQVRFX1RBRyxcclxuICAgIERFTEVURV9BU1NFVFMsXHJcbiAgICBERUxFVEVfUFJPRFVDVCxcclxuICAgIERFTEVURV9QUk9EVUNUX09QVElPTixcclxuICAgIERFTEVURV9QUk9EVUNUX1ZBUklBTlQsXHJcbiAgICBERUxFVEVfUFJPRFVDVF9WQVJJQU5UUyxcclxuICAgIERFTEVURV9QUk9EVUNUUyxcclxuICAgIERFTEVURV9UQUcsXHJcbiAgICBHRVRfQVNTRVQsXHJcbiAgICBHRVRfQVNTRVRfTElTVCxcclxuICAgIEdFVF9QUk9EVUNUX0xJU1QsXHJcbiAgICBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVAsXHJcbiAgICBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVBTLFxyXG4gICAgR0VUX1BST0RVQ1RfU0lNUExFLFxyXG4gICAgR0VUX1BST0RVQ1RfVkFSSUFOVCxcclxuICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVCxcclxuICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9GT1JfUFJPRFVDVCxcclxuICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9TSU1QTEUsXHJcbiAgICBHRVRfUFJPRFVDVF9WQVJJQU5UX09QVElPTlMsXHJcbiAgICBHRVRfUFJPRFVDVF9XSVRIX1ZBUklBTlRTLFxyXG4gICAgR0VUX1RBRyxcclxuICAgIEdFVF9UQUdfTElTVCxcclxuICAgIFBST0RVQ1RfU0VMRUNUT1JfU0VBUkNILFxyXG4gICAgUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QsXHJcbiAgICBSRU1PVkVfUFJPRFVDVFNfRlJPTV9DSEFOTkVMLFxyXG4gICAgUkVNT1ZFX1ZBUklBTlRTX0ZST01fQ0hBTk5FTCxcclxuICAgIFNFQVJDSF9QUk9EVUNUUyxcclxuICAgIFVQREFURV9BU1NFVCxcclxuICAgIFVQREFURV9QUk9EVUNULFxyXG4gICAgVVBEQVRFX1BST0RVQ1RfT1BUSU9OLFxyXG4gICAgVVBEQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLFxyXG4gICAgVVBEQVRFX1BST0RVQ1RfVkFSSUFOVFMsXHJcbiAgICBVUERBVEVfVEFHLFxyXG59IGZyb20gJy4uL2RlZmluaXRpb25zL3Byb2R1Y3QtZGVmaW5pdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gICAgR0VUX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXHJcbiAgICBSRUlOREVYLFxyXG4gICAgUlVOX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXHJcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMvc2V0dGluZ3MtZGVmaW5pdGlvbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZURhdGFTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWRhdGEuc2VydmljZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdERhdGFTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZURhdGFTZXJ2aWNlOiBCYXNlRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgc2VhcmNoUHJvZHVjdHModGVybTogc3RyaW5nLCB0YWtlID0gMTAsIHNraXAgPSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uU2VhcmNoUHJvZHVjdHNRdWVyeSwgQ29kZWdlbi5TZWFyY2hQcm9kdWN0c1F1ZXJ5VmFyaWFibGVzPihcclxuICAgICAgICAgICAgU0VBUkNIX1BST0RVQ1RTLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRlcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgICAgICBza2lwLFxyXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwQnlQcm9kdWN0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByb2R1Y3RTZWxlY3RvclNlYXJjaCh0ZXJtOiBzdHJpbmcsIHRha2U6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5Qcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5Qcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oUFJPRFVDVF9TRUxFQ1RPUl9TRUFSQ0gsIHtcclxuICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgdGVybSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZWluZGV4KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5SZWluZGV4TXV0YXRpb24+KFJFSU5ERVgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc1F1ZXJ5PihcclxuICAgICAgICAgICAgR0VUX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBydW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5SdW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzTXV0YXRpb24+KFxyXG4gICAgICAgICAgICBSVU5fUEVORElOR19TRUFSQ0hfSU5ERVhfVVBEQVRFUyxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RzKG9wdGlvbnM6IENvZGVnZW4uUHJvZHVjdExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0UHJvZHVjdExpc3RRdWVyeSwgQ29kZWdlbi5HZXRQcm9kdWN0TGlzdFF1ZXJ5VmFyaWFibGVzPihcclxuICAgICAgICAgICAgR0VUX1BST0RVQ1RfTElTVCxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3QoaWQ6IHN0cmluZywgdmFyaWFudExpc3RPcHRpb25zPzogQ29kZWdlbi5Qcm9kdWN0VmFyaWFudExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9QUk9EVUNUX1dJVEhfVkFSSUFOVFMsIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIHZhcmlhbnRMaXN0T3B0aW9ucyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0U2ltcGxlKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0UHJvZHVjdFNpbXBsZVF1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RTaW1wbGVRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX1BST0RVQ1RfU0lNUExFLCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFByb2R1Y3RWYXJpYW50c1NpbXBsZShvcHRpb25zOiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsIHByb2R1Y3RJZD86IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX1BST0RVQ1RfVkFSSUFOVF9MSVNUX1NJTVBMRSwgeyBvcHRpb25zLCBwcm9kdWN0SWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnRzKG9wdGlvbnM6IENvZGVnZW4uUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX1BST0RVQ1RfVkFSSUFOVF9MSVNULCB7IG9wdGlvbnMgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnRzRm9yUHJvZHVjdChvcHRpb25zOiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsIHByb2R1Y3RJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50TGlzdEZvclByb2R1Y3RRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RGb3JQcm9kdWN0UXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9GT1JfUFJPRFVDVCwgeyBvcHRpb25zLCBwcm9kdWN0SWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudFF1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50UXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9QUk9EVUNUX1ZBUklBTlQsIHsgaWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnRzT3B0aW9ucyhpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5VmFyaWFibGVzXHJcbiAgICAgICAgPihHRVRfUFJPRFVDVF9WQVJJQU5UX09QVElPTlMsIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjdE9wdGlvbkdyb3VwKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnksXHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9QUk9EVUNUX09QVElPTl9HUk9VUCwge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVQcm9kdWN0KHByb2R1Y3Q6IENvZGVnZW4uQ3JlYXRlUHJvZHVjdElucHV0KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IENvZGVnZW4uQ3JlYXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhwcm9kdWN0LCBbXHJcbiAgICAgICAgICAgICAgICAnZW5hYmxlZCcsXHJcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcclxuICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICAgICAgJ2Fzc2V0SWRzJyxcclxuICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxyXG4gICAgICAgICAgICAgICAgJ2ZhY2V0VmFsdWVJZHMnLFxyXG4gICAgICAgICAgICBdKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlUHJvZHVjdE11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkNyZWF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQ1JFQVRFX1BST0RVQ1QsIGlucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVQcm9kdWN0KHByb2R1Y3Q6IENvZGVnZW4uVXBkYXRlUHJvZHVjdElucHV0KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IENvZGVnZW4uVXBkYXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhwcm9kdWN0LCBbXHJcbiAgICAgICAgICAgICAgICAnaWQnLFxyXG4gICAgICAgICAgICAgICAgJ2VuYWJsZWQnLFxyXG4gICAgICAgICAgICAgICAgJ3RyYW5zbGF0aW9ucycsXHJcbiAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcclxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXHJcbiAgICAgICAgICAgICAgICAnZmVhdHVyZWRBc3NldElkJyxcclxuICAgICAgICAgICAgICAgICdmYWNldFZhbHVlSWRzJyxcclxuICAgICAgICAgICAgXSksXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9QUk9EVUNULCBpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlUHJvZHVjdChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVQcm9kdWN0TXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihERUxFVEVfUFJPRFVDVCwge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVQcm9kdWN0cyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVQcm9kdWN0c011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9QUk9EVUNUUywge1xyXG4gICAgICAgICAgICBpZHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlUHJvZHVjdFZhcmlhbnRzKGlucHV0OiBDb2RlZ2VuLkNyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXRbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KENSRUFURV9QUk9EVUNUX1ZBUklBTlRTLCB7XHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVByb2R1Y3RWYXJpYW50cyh2YXJpYW50czogQ29kZWdlbi5VcGRhdGVQcm9kdWN0VmFyaWFudElucHV0W10pIHtcclxuICAgICAgICBjb25zdCBpbnB1dDogQ29kZWdlbi5VcGRhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcyA9IHtcclxuICAgICAgICAgICAgaW5wdXQ6IHZhcmlhbnRzLm1hcChcclxuICAgICAgICAgICAgICAgIHBpY2soW1xyXG4gICAgICAgICAgICAgICAgICAgICdpZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2VuYWJsZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxyXG4gICAgICAgICAgICAgICAgICAgICdza3UnLFxyXG4gICAgICAgICAgICAgICAgICAgICdwcmljZScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RheENhdGVnb3J5SWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdmYWNldFZhbHVlSWRzJyxcclxuICAgICAgICAgICAgICAgICAgICAnZmVhdHVyZWRBc3NldElkJyxcclxuICAgICAgICAgICAgICAgICAgICAnYXNzZXRJZHMnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcHRpb25JZHMnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFja0ludmVudG9yeScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ291dE9mU3RvY2tUaHJlc2hvbGQnLFxyXG4gICAgICAgICAgICAgICAgICAgICd1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkJyxcclxuICAgICAgICAgICAgICAgICAgICAnc3RvY2tPbkhhbmQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICAgICAgXSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihVUERBVEVfUFJPRFVDVF9WQVJJQU5UUywgaW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVByb2R1Y3RWYXJpYW50KGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oREVMRVRFX1BST0RVQ1RfVkFSSUFOVCwge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVQcm9kdWN0VmFyaWFudHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9QUk9EVUNUX1ZBUklBTlRTLCB7XHJcbiAgICAgICAgICAgIGlkcyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBzKHByb2R1Y3RPcHRpb25Hcm91cDogQ29kZWdlbi5DcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0OiBDb2RlZ2VuLkNyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogcHJvZHVjdE9wdGlvbkdyb3VwLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQ1JFQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLCBpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QodmFyaWFibGVzOiBDb2RlZ2VuLkFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQUREX09QVElPTl9HUk9VUF9UT19QUk9EVUNULCB2YXJpYWJsZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZE9wdGlvblRvR3JvdXAoaW5wdXQ6IENvZGVnZW4uQ3JlYXRlUHJvZHVjdE9wdGlvbklucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5BZGRPcHRpb25Ub0dyb3VwTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihBRERfT1BUSU9OX1RPX0dST1VQLCB7IGlucHV0IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVByb2R1Y3RPcHRpb24oaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RPcHRpb25NdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oREVMRVRFX1BST0RVQ1RfT1BUSU9OLCB7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QodmFyaWFibGVzOiBDb2RlZ2VuLlJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QsIHZhcmlhYmxlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUHJvZHVjdE9wdGlvbihpbnB1dDogQ29kZWdlbi5VcGRhdGVQcm9kdWN0T3B0aW9uSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9QUk9EVUNUX09QVElPTiwge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhpbnB1dCwgWydpZCcsICdjb2RlJywgJ3RyYW5zbGF0aW9ucycsICdjdXN0b21GaWVsZHMnXSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwKGlucHV0OiBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oVVBEQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLCB7XHJcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKGlucHV0LCBbJ2lkJywgJ2NvZGUnLCAndHJhbnNsYXRpb25zJywgJ2N1c3RvbUZpZWxkcyddKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQcm9kdWN0T3B0aW9uR3JvdXBzKGZpbHRlclRlcm0/OiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RPcHRpb25Hcm91cHNRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX1BST0RVQ1RfT1BUSU9OX0dST1VQUywge1xyXG4gICAgICAgICAgICBmaWx0ZXJUZXJtLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFzc2V0TGlzdCh0YWtlID0gMTAsIHNraXAgPSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0QXNzZXRMaXN0UXVlcnksIENvZGVnZW4uR2V0QXNzZXRMaXN0UXVlcnlWYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBHRVRfQVNTRVRfTElTVCxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgICAgICBzb3J0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogU29ydE9yZGVyLkRFU0MsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgLy8gQnkgZGVmYXVsdCBkbyBub3QgbG9hZCBjdXN0b20gZmllbGRzIGluIHRoZSBsaXN0IHZpZXdcclxuICAgICAgICAgICAgeyBpbmNsdWRlQ3VzdG9tRmllbGRzOiBbXSB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QXNzZXQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxDb2RlZ2VuLkdldEFzc2V0UXVlcnksIENvZGVnZW4uR2V0QXNzZXRRdWVyeVZhcmlhYmxlcz4oR0VUX0FTU0VULCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUFzc2V0cyhmaWxlczogRmlsZVtdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVBc3NldHNNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVBc3NldHNNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQ1JFQVRFX0FTU0VUUywge1xyXG4gICAgICAgICAgICBpbnB1dDogZmlsZXMubWFwKGZpbGUgPT4gKHsgZmlsZSB9KSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQXNzZXQoaW5wdXQ6IENvZGVnZW4uVXBkYXRlQXNzZXRJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5VcGRhdGVBc3NldE11dGF0aW9uLCBDb2RlZ2VuLlVwZGF0ZUFzc2V0TXV0YXRpb25WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBVUERBVEVfQVNTRVQsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlQXNzZXRzKGlkczogc3RyaW5nW10sIGZvcmNlOiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVBc3NldHNNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVBc3NldHNNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oREVMRVRFX0FTU0VUUywge1xyXG4gICAgICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgICAgICAgYXNzZXRJZHM6IGlkcyxcclxuICAgICAgICAgICAgICAgIGZvcmNlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsKGlucHV0OiBDb2RlZ2VuLkFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQVNTSUdOX1BST0RVQ1RTX1RPX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5SZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFJFTU9WRV9QUk9EVUNUU19GUk9NX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXNzaWduVmFyaWFudHNUb0NoYW5uZWwoaW5wdXQ6IENvZGVnZW4uQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnblZhcmlhbnRzVG9DaGFubmVsTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQVNTSUdOX1ZBUklBTlRTX1RPX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5SZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihSRU1PVkVfVkFSSUFOVFNfRlJPTV9DSEFOTkVMLCB7XHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRhZyhpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0VGFnUXVlcnksIENvZGVnZW4uR2V0VGFnUXVlcnlWYXJpYWJsZXM+KEdFVF9UQUcsIHsgaWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VGFnTGlzdChvcHRpb25zPzogQ29kZWdlbi5UYWdMaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxDb2RlZ2VuLkdldFRhZ0xpc3RRdWVyeSwgQ29kZWdlbi5HZXRUYWdMaXN0UXVlcnlWYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBHRVRfVEFHX0xJU1QsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVUYWcoaW5wdXQ6IENvZGVnZW4uQ3JlYXRlVGFnSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENvZGVnZW4uQ3JlYXRlVGFnTXV0YXRpb24sIENvZGVnZW4uQ3JlYXRlVGFnTXV0YXRpb25WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBDUkVBVEVfVEFHLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVRhZyhpbnB1dDogQ29kZWdlbi5VcGRhdGVUYWdJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5VcGRhdGVUYWdNdXRhdGlvbiwgQ29kZWdlbi5VcGRhdGVUYWdNdXRhdGlvblZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIFVQREFURV9UQUcsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlVGFnKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENvZGVnZW4uRGVsZXRlVGFnTXV0YXRpb24sIENvZGVnZW4uRGVsZXRlVGFnTXV0YXRpb25WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBERUxFVEVfVEFHLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL3Byb2R1Y3QtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUNILDJCQUEyQixFQUMzQixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsY0FBYyxFQUNkLDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLGFBQWEsRUFDYixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLFVBQVUsRUFDVixTQUFTLEVBQ1QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLG9DQUFvQyxFQUNwQywrQkFBK0IsRUFDL0IsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixPQUFPLEVBQ1AsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixlQUFlLEVBQ2YsWUFBWSxFQUNaLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLHVCQUF1QixFQUN2QixVQUFVLEdBQ2IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsZ0NBQWdDLEVBQ2hDLE9BQU8sRUFDUCxnQ0FBZ0MsR0FDbkMsTUFBTSxxQ0FBcUMsQ0FBQztBQUk3QyxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdB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QUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyw0QkFBNEIsRUFBRTtZQUM1QixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBb0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWdDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQzdCLFlBQVksRUFDWjtZQUNJLE9BQU87U0FDVixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTZCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFVBQVUsRUFDVjtZQUNJLEtBQUs7U0FDUixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTZCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFVBQVUsRUFDVjtZQUNJLEtBQUs7U0FDUixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FDOUIsVUFBVSxFQUNWO1lBQ0ksRUFBRTtTQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpY2sgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3BpY2snO1xuXG5pbXBvcnQgKiBhcyBDb2RlZ2VuIGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQge1xuICAgIEFERF9PUFRJT05fR1JPVVBfVE9fUFJPRFVDVCxcbiAgICBBRERfT1BUSU9OX1RPX0dST1VQLFxuICAgIEFTU0lHTl9QUk9EVUNUU19UT19DSEFOTkVMLFxuICAgIEFTU0lHTl9WQVJJQU5UU19UT19DSEFOTkVMLFxuICAgIENSRUFURV9BU1NFVFMsXG4gICAgQ1JFQVRFX1BST0RVQ1QsXG4gICAgQ1JFQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQLFxuICAgIENSRUFURV9QUk9EVUNUX1ZBUklBTlRTLFxuICAgIENSRUFURV9UQUcsXG4gICAgREVMRVRFX0FTU0VUUyxcbiAgICBERUxFVEVfUFJPRFVDVCxcbiAgICBERUxFVEVfUFJPRFVDVF9PUFRJT04sXG4gICAgREVMRVRFX1BST0RVQ1RfVkFSSUFOVCxcbiAgICBERUxFVEVfUFJPRFVDVF9WQVJJQU5UUyxcbiAgICBERUxFVEVfUFJPRFVDVFMsXG4gICAgREVMRVRFX1RBRyxcbiAgICBHRVRfQVNTRVQsXG4gICAgR0VUX0FTU0VUX0xJU1QsXG4gICAgR0VUX1BST0RVQ1RfTElTVCxcbiAgICBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVAsXG4gICAgR0VUX1BST0RVQ1RfT1BUSU9OX0dST1VQUyxcbiAgICBHRVRfUFJPRFVDVF9TSU1QTEUsXG4gICAgR0VUX1BST0RVQ1RfVkFSSUFOVCxcbiAgICBHRVRfUFJPRFVDVF9WQVJJQU5UX0xJU1QsXG4gICAgR0VUX1BST0RVQ1RfVkFSSUFOVF9MSVNUX0ZPUl9QUk9EVUNULFxuICAgIEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9TSU1QTEUsXG4gICAgR0VUX1BST0RVQ1RfVkFSSUFOVF9PUFRJT05TLFxuICAgIEdFVF9QUk9EVUNUX1dJVEhfVkFSSUFOVFMsXG4gICAgR0VUX1RBRyxcbiAgICBHRVRfVEFHX0xJU1QsXG4gICAgUFJPRFVDVF9TRUxFQ1RPUl9TRUFSQ0gsXG4gICAgUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QsXG4gICAgUkVNT1ZFX1BST0RVQ1RTX0ZST01fQ0hBTk5FTCxcbiAgICBSRU1PVkVfVkFSSUFOVFNfRlJPTV9DSEFOTkVMLFxuICAgIFNFQVJDSF9QUk9EVUNUUyxcbiAgICBVUERBVEVfQVNTRVQsXG4gICAgVVBEQVRFX1BST0RVQ1QsXG4gICAgVVBEQVRFX1BST0RVQ1RfT1BUSU9OLFxuICAgIFVQREFURV9QUk9EVUNUX09QVElPTl9HUk9VUCxcbiAgICBVUERBVEVfUFJPRFVDVF9WQVJJQU5UUyxcbiAgICBVUERBVEVfVEFHLFxufSBmcm9tICcuLi9kZWZpbml0aW9ucy9wcm9kdWN0LWRlZmluaXRpb25zJztcbmltcG9ydCB7XG4gICAgR0VUX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXG4gICAgUkVJTkRFWCxcbiAgICBSVU5fUEVORElOR19TRUFSQ0hfSU5ERVhfVVBEQVRFUyxcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMvc2V0dGluZ3MtZGVmaW5pdGlvbnMnO1xuXG5pbXBvcnQgeyBCYXNlRGF0YVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtZGF0YS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3REYXRhU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cblxuICAgIHNlYXJjaFByb2R1Y3RzKHRlcm06IHN0cmluZywgdGFrZSA9IDEwLCBza2lwID0gMCkge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5TZWFyY2hQcm9kdWN0c1F1ZXJ5LCBDb2RlZ2VuLlNlYXJjaFByb2R1Y3RzUXVlcnlWYXJpYWJsZXM+KFxuICAgICAgICAgICAgU0VBUkNIX1BST0RVQ1RTLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgIHRlcm0sXG4gICAgICAgICAgICAgICAgICAgIHRha2UsXG4gICAgICAgICAgICAgICAgICAgIHNraXAsXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwQnlQcm9kdWN0OiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb2R1Y3RTZWxlY3RvclNlYXJjaCh0ZXJtOiBzdHJpbmcsIHRha2U6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XG4gICAgICAgICAgICBDb2RlZ2VuLlByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5Qcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KFBST0RVQ1RfU0VMRUNUT1JfU0VBUkNILCB7XG4gICAgICAgICAgICB0YWtlLFxuICAgICAgICAgICAgdGVybSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVpbmRleCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDb2RlZ2VuLlJlaW5kZXhNdXRhdGlvbj4oUkVJTkRFWCk7XG4gICAgfVxuXG4gICAgZ2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc1F1ZXJ5PihcbiAgICAgICAgICAgIEdFVF9QRU5ESU5HX1NFQVJDSF9JTkRFWF9VUERBVEVTLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5SdW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzTXV0YXRpb24+KFxuICAgICAgICAgICAgUlVOX1BFTkRJTkdfU0VBUkNIX0lOREVYX1VQREFURVMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0UHJvZHVjdHMob3B0aW9uczogQ29kZWdlbi5Qcm9kdWN0TGlzdE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0UHJvZHVjdExpc3RRdWVyeSwgQ29kZWdlbi5HZXRQcm9kdWN0TGlzdFF1ZXJ5VmFyaWFibGVzPihcbiAgICAgICAgICAgIEdFVF9QUk9EVUNUX0xJU1QsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0UHJvZHVjdChpZDogc3RyaW5nLCB2YXJpYW50TGlzdE9wdGlvbnM/OiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KEdFVF9QUk9EVUNUX1dJVEhfVkFSSUFOVFMsIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgdmFyaWFudExpc3RPcHRpb25zLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0U2ltcGxlKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0U2ltcGxlUXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RTaW1wbGVRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KEdFVF9QUk9EVUNUX1NJTVBMRSwge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RWYXJpYW50c1NpbXBsZShvcHRpb25zOiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsIHByb2R1Y3RJZD86IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9TSU1QTEUsIHsgb3B0aW9ucywgcHJvZHVjdElkIH0pO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RWYXJpYW50cyhvcHRpb25zOiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeSxcbiAgICAgICAgICAgIENvZGVnZW4uR2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnlWYXJpYWJsZXNcbiAgICAgICAgPihHRVRfUFJPRFVDVF9WQVJJQU5UX0xJU1QsIHsgb3B0aW9ucyB9KTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0VmFyaWFudHNGb3JQcm9kdWN0KG9wdGlvbnM6IENvZGVnZW4uUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucywgcHJvZHVjdElkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudExpc3RGb3JQcm9kdWN0UXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50TGlzdEZvclByb2R1Y3RRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVF9GT1JfUFJPRFVDVCwgeyBvcHRpb25zLCBwcm9kdWN0SWQgfSk7XG4gICAgfVxuXG4gICAgZ2V0UHJvZHVjdFZhcmlhbnQoaWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50UXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50UXVlcnlWYXJpYWJsZXNcbiAgICAgICAgPihHRVRfUFJPRFVDVF9WQVJJQU5ULCB7IGlkIH0pO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RWYXJpYW50c09wdGlvbnMoaWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5LFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KEdFVF9QUk9EVUNUX1ZBUklBTlRfT1BUSU9OUywge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RPcHRpb25Hcm91cChpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcbiAgICAgICAgICAgIENvZGVnZW4uR2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RPcHRpb25Hcm91cFF1ZXJ5VmFyaWFibGVzXG4gICAgICAgID4oR0VUX1BST0RVQ1RfT1BUSU9OX0dST1VQLCB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlYXRlUHJvZHVjdChwcm9kdWN0OiBDb2RlZ2VuLkNyZWF0ZVByb2R1Y3RJbnB1dCkge1xuICAgICAgICBjb25zdCBpbnB1dDogQ29kZWdlbi5DcmVhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSB7XG4gICAgICAgICAgICBpbnB1dDogcGljayhwcm9kdWN0LCBbXG4gICAgICAgICAgICAgICAgJ2VuYWJsZWQnLFxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxuICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxuICAgICAgICAgICAgICAgICdhc3NldElkcycsXG4gICAgICAgICAgICAgICAgJ2ZlYXR1cmVkQXNzZXRJZCcsXG4gICAgICAgICAgICAgICAgJ2ZhY2V0VmFsdWVJZHMnLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkNyZWF0ZVByb2R1Y3RNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oQ1JFQVRFX1BST0RVQ1QsIGlucHV0KTtcbiAgICB9XG5cbiAgICB1cGRhdGVQcm9kdWN0KHByb2R1Y3Q6IENvZGVnZW4uVXBkYXRlUHJvZHVjdElucHV0KSB7XG4gICAgICAgIGNvbnN0IGlucHV0OiBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcyA9IHtcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKHByb2R1Y3QsIFtcbiAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICdlbmFibGVkJyxcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcbiAgICAgICAgICAgICAgICAnY3VzdG9tRmllbGRzJyxcbiAgICAgICAgICAgICAgICAnYXNzZXRJZHMnLFxuICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxuICAgICAgICAgICAgICAgICdmYWNldFZhbHVlSWRzJyxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVQcm9kdWN0TXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICA+KFVQREFURV9QUk9EVUNULCBpbnB1dCk7XG4gICAgfVxuXG4gICAgZGVsZXRlUHJvZHVjdChpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oREVMRVRFX1BST0RVQ1QsIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVQcm9kdWN0cyhpZHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RzTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RzTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihERUxFVEVfUFJPRFVDVFMsIHtcbiAgICAgICAgICAgIGlkcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlYXRlUHJvZHVjdFZhcmlhbnRzKGlucHV0OiBDb2RlZ2VuLkNyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXRbXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihDUkVBVEVfUFJPRFVDVF9WQVJJQU5UUywge1xuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZVByb2R1Y3RWYXJpYW50cyh2YXJpYW50czogQ29kZWdlbi5VcGRhdGVQcm9kdWN0VmFyaWFudElucHV0W10pIHtcbiAgICAgICAgY29uc3QgaW5wdXQ6IENvZGVnZW4uVXBkYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXMgPSB7XG4gICAgICAgICAgICBpbnB1dDogdmFyaWFudHMubWFwKFxuICAgICAgICAgICAgICAgIHBpY2soW1xuICAgICAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICAgICAnZW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAnc2t1JyxcbiAgICAgICAgICAgICAgICAgICAgJ3ByaWNlJyxcbiAgICAgICAgICAgICAgICAgICAgJ3RheENhdGVnb3J5SWQnLFxuICAgICAgICAgICAgICAgICAgICAnZmFjZXRWYWx1ZUlkcycsXG4gICAgICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxuICAgICAgICAgICAgICAgICAgICAnYXNzZXRJZHMnLFxuICAgICAgICAgICAgICAgICAgICAnb3B0aW9uSWRzJyxcbiAgICAgICAgICAgICAgICAgICAgJ3RyYWNrSW52ZW50b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgJ291dE9mU3RvY2tUaHJlc2hvbGQnLFxuICAgICAgICAgICAgICAgICAgICAndXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZCcsXG4gICAgICAgICAgICAgICAgICAgICdzdG9ja09uSGFuZCcsXG4gICAgICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oVVBEQVRFX1BST0RVQ1RfVkFSSUFOVFMsIGlucHV0KTtcbiAgICB9XG5cbiAgICBkZWxldGVQcm9kdWN0VmFyaWFudChpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihERUxFVEVfUFJPRFVDVF9WQVJJQU5ULCB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZGVsZXRlUHJvZHVjdFZhcmlhbnRzKGlkczogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oREVMRVRFX1BST0RVQ1RfVkFSSUFOVFMsIHtcbiAgICAgICAgICAgIGlkcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlYXRlUHJvZHVjdE9wdGlvbkdyb3Vwcyhwcm9kdWN0T3B0aW9uR3JvdXA6IENvZGVnZW4uQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQpIHtcbiAgICAgICAgY29uc3QgaW5wdXQ6IENvZGVnZW4uQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSB7XG4gICAgICAgICAgICBpbnB1dDogcHJvZHVjdE9wdGlvbkdyb3VwLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihDUkVBVEVfUFJPRFVDVF9PUFRJT05fR1JPVVAsIGlucHV0KTtcbiAgICB9XG5cbiAgICBhZGRPcHRpb25Hcm91cFRvUHJvZHVjdCh2YXJpYWJsZXM6IENvZGVnZW4uQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvblZhcmlhYmxlcykge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxuICAgICAgICAgICAgQ29kZWdlbi5BZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5BZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oQUREX09QVElPTl9HUk9VUF9UT19QUk9EVUNULCB2YXJpYWJsZXMpO1xuICAgIH1cblxuICAgIGFkZE9wdGlvblRvR3JvdXAoaW5wdXQ6IENvZGVnZW4uQ3JlYXRlUHJvZHVjdE9wdGlvbklucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkFkZE9wdGlvblRvR3JvdXBNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uQWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oQUREX09QVElPTl9UT19HUk9VUCwgeyBpbnB1dCB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVQcm9kdWN0T3B0aW9uKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVQcm9kdWN0T3B0aW9uTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihERUxFVEVfUFJPRFVDVF9PUFRJT04sIHsgaWQgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCh2YXJpYWJsZXM6IENvZGVnZW4uUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QsIHZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgdXBkYXRlUHJvZHVjdE9wdGlvbihpbnB1dDogQ29kZWdlbi5VcGRhdGVQcm9kdWN0T3B0aW9uSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihVUERBVEVfUFJPRFVDVF9PUFRJT04sIHtcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKGlucHV0LCBbJ2lkJywgJ2NvZGUnLCAndHJhbnNsYXRpb25zJywgJ2N1c3RvbUZpZWxkcyddKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwKGlucHV0OiBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICA+KFVQREFURV9QUk9EVUNUX09QVElPTl9HUk9VUCwge1xuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFsnaWQnLCAnY29kZScsICd0cmFuc2xhdGlvbnMnLCAnY3VzdG9tRmllbGRzJ10pLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0T3B0aW9uR3JvdXBzKGZpbHRlclRlcm0/OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxuICAgICAgICAgICAgQ29kZWdlbi5HZXRQcm9kdWN0T3B0aW9uR3JvdXBzUXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldFByb2R1Y3RPcHRpb25Hcm91cHNRdWVyeVZhcmlhYmxlc1xuICAgICAgICA+KEdFVF9QUk9EVUNUX09QVElPTl9HUk9VUFMsIHtcbiAgICAgICAgICAgIGZpbHRlclRlcm0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEFzc2V0TGlzdCh0YWtlID0gMTAsIHNraXAgPSAwKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxDb2RlZ2VuLkdldEFzc2V0TGlzdFF1ZXJ5LCBDb2RlZ2VuLkdldEFzc2V0TGlzdFF1ZXJ5VmFyaWFibGVzPihcbiAgICAgICAgICAgIEdFVF9BU1NFVF9MSVNULFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgc2tpcCxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcbiAgICAgICAgICAgICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBTb3J0T3JkZXIuREVTQyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQgZG8gbm90IGxvYWQgY3VzdG9tIGZpZWxkcyBpbiB0aGUgbGlzdCB2aWV3XG4gICAgICAgICAgICB7IGluY2x1ZGVDdXN0b21GaWVsZHM6IFtdIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QXNzZXQoaWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRBc3NldFF1ZXJ5LCBDb2RlZ2VuLkdldEFzc2V0UXVlcnlWYXJpYWJsZXM+KEdFVF9BU1NFVCwge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNyZWF0ZUFzc2V0cyhmaWxlczogRmlsZVtdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkNyZWF0ZUFzc2V0c011dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVBc3NldHNNdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICA+KENSRUFURV9BU1NFVFMsIHtcbiAgICAgICAgICAgIGlucHV0OiBmaWxlcy5tYXAoZmlsZSA9PiAoeyBmaWxlIH0pKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlQXNzZXQoaW5wdXQ6IENvZGVnZW4uVXBkYXRlQXNzZXRJbnB1dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENvZGVnZW4uVXBkYXRlQXNzZXRNdXRhdGlvbiwgQ29kZWdlbi5VcGRhdGVBc3NldE11dGF0aW9uVmFyaWFibGVzPihcbiAgICAgICAgICAgIFVQREFURV9BU1NFVCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQXNzZXRzKGlkczogc3RyaW5nW10sIGZvcmNlOiBib29sZWFuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUFzc2V0c011dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVBc3NldHNNdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICA+KERFTEVURV9BU1NFVFMsIHtcbiAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgYXNzZXRJZHM6IGlkcyxcbiAgICAgICAgICAgICAgICBmb3JjZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsKGlucHV0OiBDb2RlZ2VuLkFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICA+KEFTU0lHTl9QUk9EVUNUU19UT19DSEFOTkVMLCB7XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5SZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uLFxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXNcbiAgICAgICAgPihSRU1PVkVfUFJPRFVDVFNfRlJPTV9DSEFOTkVMLCB7XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXNzaWduVmFyaWFudHNUb0NoYW5uZWwoaW5wdXQ6IENvZGVnZW4uQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICA+KEFTU0lHTl9WQVJJQU5UU19UT19DSEFOTkVMLCB7XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5SZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oUkVNT1ZFX1ZBUklBTlRTX0ZST01fQ0hBTk5FTCwge1xuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFRhZyhpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxDb2RlZ2VuLkdldFRhZ1F1ZXJ5LCBDb2RlZ2VuLkdldFRhZ1F1ZXJ5VmFyaWFibGVzPihHRVRfVEFHLCB7IGlkIH0pO1xuICAgIH1cblxuICAgIGdldFRhZ0xpc3Qob3B0aW9ucz86IENvZGVnZW4uVGFnTGlzdE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0VGFnTGlzdFF1ZXJ5LCBDb2RlZ2VuLkdldFRhZ0xpc3RRdWVyeVZhcmlhYmxlcz4oXG4gICAgICAgICAgICBHRVRfVEFHX0xJU1QsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlVGFnKGlucHV0OiBDb2RlZ2VuLkNyZWF0ZVRhZ0lucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5DcmVhdGVUYWdNdXRhdGlvbiwgQ29kZWdlbi5DcmVhdGVUYWdNdXRhdGlvblZhcmlhYmxlcz4oXG4gICAgICAgICAgICBDUkVBVEVfVEFHLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlucHV0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUYWcoaW5wdXQ6IENvZGVnZW4uVXBkYXRlVGFnSW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDb2RlZ2VuLlVwZGF0ZVRhZ011dGF0aW9uLCBDb2RlZ2VuLlVwZGF0ZVRhZ011dGF0aW9uVmFyaWFibGVzPihcbiAgICAgICAgICAgIFVQREFURV9UQUcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVRhZyhpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5EZWxldGVUYWdNdXRhdGlvbiwgQ29kZWdlbi5EZWxldGVUYWdNdXRhdGlvblZhcmlhYmxlcz4oXG4gICAgICAgICAgICBERUxFVEVfVEFHLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { NetworkStatus } from '@apollo/client/core';
2
2
  import { notNullOrUndefined } from '@vendure/common/lib/shared-utils';
3
3
  import { merge, Observable, Subject } from 'rxjs';
4
- import { distinctUntilChanged, filter, finalize, map, skip, take, takeUntil } from 'rxjs/operators';
4
+ import { distinctUntilChanged, filter, finalize, map, shareReplay, skip, startWith, take, takeUntil, } from 'rxjs/operators';
5
5
  import { GET_USER_STATUS } from './definitions/client-definitions';
6
6
  import { addCustomFields } from './utils/add-custom-fields';
7
7
  /**
@@ -140,7 +140,9 @@ export class QueryResult {
140
140
  this.subscribeToQueryRef(this.queryRef);
141
141
  this.queryRefSubscribed.set(this.queryRef, true);
142
142
  }
143
- this.valueChangeSubject.subscribe(subscriber);
143
+ this.valueChangeSubject
144
+ .pipe(startWith(this.queryRef.getCurrentResult()), shareReplay(1))
145
+ .subscribe(subscriber);
144
146
  return () => {
145
147
  this.queryRefSubscribed.delete(this.queryRef);
146
148
  };
@@ -160,4 +162,4 @@ export class QueryResult {
160
162
  .subscribe(this.valueChangeSubject);
161
163
  }
162
164
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3F1ZXJ5LXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFDWSxRQUF3QixFQUN4QixNQUFjLEVBQ2QsY0FBZ0Q7UUFGaEQsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFrQztRQUs1RDs7O1dBR0c7UUFDSyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU96Qzs7OztXQUlHO1FBQ0ssdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7UUFDakU7OztXQUdHO1FBQ0ssdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7UUF4QmhFLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQStCRDs7O09BR0c7SUFDSCxzQkFBc0I7UUFDbEIsTUFBTSxXQUFXLEdB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Q0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcG9sbG9RdWVyeVJlc3VsdCwgTmV0d29ya1N0YXR1cyB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xuaW1wb3J0IHsgQXBvbGxvLCBRdWVyeVJlZiB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc2tpcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgR2V0VXNlclN0YXR1c1F1ZXJ5IH0gZnJvbSAnLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5cbmltcG9ydCB7IEdFVF9VU0VSX1NUQVRVUyB9IGZyb20gJy4vZGVmaW5pdGlvbnMvY2xpZW50LWRlZmluaXRpb25zJztcbmltcG9ydCB7IGFkZEN1c3RvbUZpZWxkcyB9IGZyb20gJy4vdXRpbHMvYWRkLWN1c3RvbS1maWVsZHMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhpcyBjbGFzcyB3cmFwcyB0aGUgQXBvbGxvIEFuZ3VsYXIgUXVlcnlSZWYgb2JqZWN0IGFuZCBleHBvc2VzIHNvbWUgZ2V0dGVyc1xuICogZm9yIGNvbnZlbmllbmNlLlxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgc2VydmljZXNcbiAqIEBkb2NzUGFnZSBEYXRhU2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgUXVlcnlSZXN1bHQ8VCwgViBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcXVlcnlSZWY6IFF1ZXJ5UmVmPFQsIFY+LFxuICAgICAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvLFxuICAgICAgICBwcml2YXRlIGN1c3RvbUZpZWxkTWFwOiBNYXA8c3RyaW5nLCBDdXN0b21GaWVsZENvbmZpZ1tdPixcbiAgICApIHtcbiAgICAgICAgdGhpcy5sYXN0UXVlcnkgPSBxdWVyeVJlZi5vcHRpb25zLnF1ZXJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhdXNlcyBhbnkgc3Vic2NyaXB0aW9ucyB0byB0aGUgUXVlcnlSZWYgdG8gY29tcGxldGUsIHZpYSB0aGUgdXNlXG4gICAgICogb2YgdGhlIGB0YWtlVW50aWxgIG9wZXJhdG9yLlxuICAgICAqL1xuICAgIHByaXZhdGUgY29tcGxldGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgLyoqXG4gICAgICogVGhlIHN1YnNjcmlwdGlvbiB0byB0aGUgY3VycmVudCBRdWVyeVJlZi52YWx1ZUNoYW5nZXMgT2JzZXJ2YWJsZS5cbiAgICAgKiBUaGlzIGlzIHN0b3JlZCBzbyB0aGF0IGl0IGNhbiBiZSB1bnN1YnNjcmliZWQgZnJvbSB3aGVuIHRoZSBRdWVyeVJlZlxuICAgICAqIGNoYW5nZXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICAvKipcbiAgICAgKiBUaGlzIFN1YmplY3QgaXMgdXNlZCB0byBlbWl0IG5ldyB2YWx1ZXMgZnJvbSB0aGUgUXVlcnlSZWYudmFsdWVDaGFuZ2VzIE9ic2VydmFibGUuXG4gICAgICogV2UgdXNlIHRoaXMgcmF0aGVyIHRoYW4gZGlyZWN0bHkgc3Vic2NyaWJpbmcgdG8gdGhlIFF1ZXJ5UmVmLnZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlXG4gICAgICogc28gdGhhdCB3ZSBhcmUgYWJsZSB0byBjaGFuZ2UgdGhlIFF1ZXJ5UmVmIGFuZCByZS1zdWJzY3JpYmUgd2hlbiBuZWNlc3NhcnkuXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YWx1ZUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxBcG9sbG9RdWVyeVJlc3VsdDxUPj4oKTtcbiAgICAvKipcbiAgICAgKiBXZSBrZWVwIHRyYWNrIG9mIHRoZSBRdWVyeVJlZnMgd2hpY2ggaGF2ZSBiZWVuIHN1YnNjcmliZWQgdG8gc28gdGhhdCB3ZSBjYW4gYXZvaWRcbiAgICAgKiByZS1zdWJzY3JpYmluZyB0byB0aGUgc2FtZSBRdWVyeVJlZiBtdWx0aXBsZSB0aW1lcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHF1ZXJ5UmVmU3Vic2NyaWJlZCA9IG5ldyBXZWFrTWFwPFF1ZXJ5UmVmPFQsIFY+LCBib29sZWFuPigpO1xuICAgIC8qKlxuICAgICAqIFdlIHN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IHF1ZXJ5IHNvIHRoYXQgd2UgY2FuIGNvbXBhcmUgaXQgd2l0aCB0aGUgbmV4dCBxdWVyeVxuICAgICAqIGFuZCBhdm9pZCByZS1mZXRjaGluZyB0aGUgc2FtZSBxdWVyeSBtdWx0aXBsZSB0aW1lcy4gVGhpcyBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjb2RlXG4gICAgICogcGF0aHMgdGhhdCBhY3R1YWxseSBjaGFuZ2UgdGhlIHF1ZXJ5LCBpLmUuIHJlZmV0Y2hPbkN1c3RvbUZpZWxkc0NoYW5nZSgpLlxuICAgICAqL1xuICAgIHByaXZhdGUgbGFzdFF1ZXJ5OiBEb2N1bWVudE5vZGU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZS1mZXRjaCB0aGlzIHF1ZXJ5IHdoZW5ldmVyIHRoZSBhY3RpdmUgQ2hhbm5lbCBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHJlZmV0Y2hPbkNoYW5uZWxDaGFuZ2UoKTogUXVlcnlSZXN1bHQ8VCwgVj4ge1xuICAgICAgICBjb25zdCB1c2VyU3RhdHVzJCA9IHRoaXMuYXBvbGxvLndhdGNoUXVlcnk8R2V0VXNlclN0YXR1c1F1ZXJ5Pih7XG4gICAgICAgICAgICBxdWVyeTogR0VUX1VTRVJfU1RBVFVTLFxuICAgICAgICB9KS52YWx1ZUNoYW5nZXM7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWxJZCQgPSB1c2VyU3RhdHVzJC5waXBlKFxuICAgICAgICAgICAgbWFwKGRhdGEgPT4gZGF0YS5kYXRhLnVzZXJTdGF0dXMuYWN0aXZlQ2hhbm5lbElkKSxcbiAgICAgICAgICAgIGZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wbGV0ZWQkKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbG9nZ2VkT3V0JCA9IHVzZXJTdGF0dXMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiBkYXRhLmRhdGEudXNlclN0YXR1cy5pc0xvZ2dlZEluKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgZmlsdGVyKGlzTG9nZ2VkSW4gPT4gIWlzTG9nZ2VkSW4pLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcGxldGVkJCksXG4gICAgICAgICk7XG5cbiAgICAgICAgbWVyZ2UoYWN0aXZlQ2hhbm5lbElkJCwgdGhpcy52YWx1ZUNoYW5nZVN1YmplY3QpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwobG9nZ2VkT3V0JCksIHRha2VVbnRpbCh0aGlzLmNvbXBsZXRlZCQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKS50aGVuKCgpID0+IHRoaXMucXVlcnlSZWYucmVmZXRjaCgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmUtZmV0Y2ggdGhpcyBxdWVyeSB3aGVuZXZlciB0aGUgY3VzdG9tIGZpZWxkcyBjaGFuZ2UsIHVwZGF0aW5nIHRoZSBxdWVyeSB0byBpbmNsdWRlIHRoZVxuICAgICAqIHNwZWNpZmllZCBjdXN0b20gZmllbGRzLlxuICAgICAqXG4gICAgICogQHNpbmNlIDMuMC40XG4gICAgICovXG4gICAgcmVmZXRjaE9uQ3VzdG9tRmllbGRzQ2hhbmdlKGN1c3RvbUZpZWxkc1RvSW5jbHVkZSQ6IE9ic2VydmFibGU8c3RyaW5nW10+KTogUXVlcnlSZXN1bHQ8VCwgVj4ge1xuICAgICAgICBjdXN0b21GaWVsZHNUb0luY2x1ZGUkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoY3VzdG9tRmllbGRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UXVlcnkgPSBhZGRDdXN0b21GaWVsZHModGhpcy5sYXN0UXVlcnksIHRoaXMuY3VzdG9tRmllbGRNYXAsIGN1c3RvbUZpZWxkcyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc0NoYW5nZWQgPSBKU09OLnN0cmluZ2lmeShuZXdRdWVyeSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMubGFzdFF1ZXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc0NoYW5nZWQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcGxldGVkJCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGN1c3RvbUZpZWxkcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UXVlcnkgPSBhZGRDdXN0b21GaWVsZHModGhpcy5sYXN0UXVlcnksIHRoaXMuY3VzdG9tRmllbGRNYXAsIGN1c3RvbUZpZWxkcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0UXVlcnkgPSBuZXdRdWVyeTtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeVJlZiA9IHRoaXMuYXBvbGxvLndhdGNoUXVlcnk8VCwgVj4oe1xuICAgICAgICAgICAgICAgICAgICBxdWVyeTogbmV3UXVlcnksXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczogdGhpcy5xdWVyeVJlZi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoUG9saWN5OiB0aGlzLnF1ZXJ5UmVmLm9wdGlvbnMuZmV0Y2hQb2xpY3ksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJlZiA9IHF1ZXJ5UmVmO1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9RdWVyeVJlZihxdWVyeVJlZik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHdoaWNoIGVtaXRzIGEgc2luZ2xlIHJlc3VsdCBhbmQgdGhlbiBjb21wbGV0ZXMuXG4gICAgICovXG4gICAgZ2V0IHNpbmdsZSQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRRdWVyeVJlZlZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQubmV0d29ya1N0YXR1cyA9PT0gTmV0d29ya1N0YXR1cy5yZWFkeSksXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZWQkLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB1bnRpbCB1bnN1YnNjcmliZWQuXG4gICAgICovXG4gICAgZ2V0IHN0cmVhbSQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRRdWVyeVJlZlZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQubmV0d29ya1N0YXR1cyA9PT0gTmV0d29ya1N0YXR1cy5yZWFkeSksXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVkJC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHJlZigpOiBRdWVyeVJlZjxULCBWPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJldHVybnMgYSBzaW5nbGUtcmVzdWx0IE9ic2VydmFibGUgYWZ0ZXIgYXBwbHlpbmcgdGhlIG1hcCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBtYXBTaW5nbGU8Uj4obWFwRm46IChpdGVtOiBUKSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpbmdsZSQucGlwZShtYXAobWFwRm4pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZXR1cm5zIGEgbXVsdGlwbGUtcmVzdWx0IE9ic2VydmFibGUgYWZ0ZXIgYXBwbHlpbmcgdGhlIG1hcCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBtYXBTdHJlYW08Uj4obWFwRm46IChpdGVtOiBUKSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cmVhbSQucGlwZShtYXAobWFwRm4pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTaWduYWxzIHRvIHRoZSBpbnRlcm5hbCBPYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMgdGhhdCB0aGV5IHNob3VsZCBjb21wbGV0ZS5cbiAgICAgKi9cbiAgICBkZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNvbXBsZXRlZCQubmV4dCgpO1xuICAgICAgICB0aGlzLmNvbXBsZXRlZCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIFF1ZXJ5UmVmLnZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogV2Ugd3JhcCB0aGUgdmFsdWVDaGFuZ2VzIE9ic2VydmFibGUgaW4gYSBuZXcgT2JzZXJ2YWJsZSBzbyB0aGF0IHdlIGNhbiBoYXZlIGEgbGF6eVxuICAgICAqIGV2YWx1YXRpb24gb2YgdGhlIHZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlLiBUaGF0IGlzLCB3ZSBvbmx5IGZpcmUgdGhlIEhUVFAgcmVxdWVzdCB3aGVuXG4gICAgICogdGhlIHJldHVybmVkIE9ic2VydmFibGUgaXMgc3Vic2NyaWJlZCB0by5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBjdXJyZW50UXVlcnlSZWZWYWx1ZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucXVlcnlSZWZTdWJzY3JpYmVkLmdldCh0aGlzLnF1ZXJ5UmVmKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9RdWVyeVJlZih0aGlzLnF1ZXJ5UmVmKTtcbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UmVmU3Vic2NyaWJlZC5zZXQodGhpcy5xdWVyeVJlZiwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSZWZTdWJzY3JpYmVkLmRlbGV0ZSh0aGlzLnF1ZXJ5UmVmKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFN1YnNjcmliZXMgdG8gdGhlIHZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlIG9mIHRoZSBnaXZlbiBRdWVyeVJlZiwgYW5kIHN0b3JlcyB0aGUgc3Vic2NyaXB0aW9uXG4gICAgICogc28gdGhhdCBpdCBjYW4gYmUgdW5zdWJzY3JpYmVkIGZyb20gd2hlbiB0aGUgUXVlcnlSZWYgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN1YnNjcmliZVRvUXVlcnlSZWYocXVlcnlSZWY6IFF1ZXJ5UmVmPFQsIFY+KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHF1ZXJ5UmVmLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcGxldGVkJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMudmFsdWVDaGFuZ2VTdWJqZWN0KTtcbiAgICB9XG59XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3F1ZXJ5LXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sUUFBUSxFQUNSLEdBQUcsRUFDSCxXQUFXLEVBQ1gsSUFBSSxFQUNKLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFDWSxRQUF3QixFQUN4QixNQUFjLEVBQ2QsY0FBZ0Q7UUFGaEQsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFrQztRQUs1RDs7O1dBR0c7UUFDSyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU96Qzs7OztXQUlHO1FBQ0ssdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7UUFDakU7OztXQUdHO1FBQ0ssdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7UUF4QmhFLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQStCRDs7O09BR0c7SUFDSCxzQkFB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QztRQUNoRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxZQUFZO2FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcG9sbG9RdWVyeVJlc3VsdCwgTmV0d29ya1N0YXR1cyB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xuaW1wb3J0IHsgQXBvbGxvLCBRdWVyeVJlZiB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgZmluYWxpemUsXG4gICAgbWFwLFxuICAgIHNoYXJlUmVwbGF5LFxuICAgIHNraXAsXG4gICAgc3RhcnRXaXRoLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29uZmlnLCBHZXRVc2VyU3RhdHVzUXVlcnkgfSBmcm9tICcuLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcblxuaW1wb3J0IHsgR0VUX1VTRVJfU1RBVFVTIH0gZnJvbSAnLi9kZWZpbml0aW9ucy9jbGllbnQtZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgYWRkQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi91dGlscy9hZGQtY3VzdG9tLWZpZWxkcyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGlzIGNsYXNzIHdyYXBzIHRoZSBBcG9sbG8gQW5ndWxhciBRdWVyeVJlZiBvYmplY3QgYW5kIGV4cG9zZXMgc29tZSBnZXR0ZXJzXG4gKiBmb3IgY29udmVuaWVuY2UuXG4gKlxuICogQGRvY3NDYXRlZ29yeSBzZXJ2aWNlc1xuICogQGRvY3NQYWdlIERhdGFTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBRdWVyeVJlc3VsdDxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBxdWVyeVJlZjogUXVlcnlSZWY8VCwgVj4sXG4gICAgICAgIHByaXZhdGUgYXBvbGxvOiBBcG9sbG8sXG4gICAgICAgIHByaXZhdGUgY3VzdG9tRmllbGRNYXA6IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+LFxuICAgICkge1xuICAgICAgICB0aGlzLmxhc3RRdWVyeSA9IHF1ZXJ5UmVmLm9wdGlvbnMucXVlcnk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2F1c2VzIGFueSBzdWJzY3JpcHRpb25zIHRvIHRoZSBRdWVyeVJlZiB0byBjb21wbGV0ZSwgdmlhIHRoZSB1c2VcbiAgICAgKiBvZiB0aGUgYHRha2VVbnRpbGAgb3BlcmF0b3IuXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb21wbGV0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAvKipcbiAgICAgKiBUaGUgc3Vic2NyaXB0aW9uIHRvIHRoZSBjdXJyZW50IFF1ZXJ5UmVmLnZhbHVlQ2hhbmdlcyBPYnNlcnZhYmxlLlxuICAgICAqIFRoaXMgaXMgc3RvcmVkIHNvIHRoYXQgaXQgY2FuIGJlIHVuc3Vic2NyaWJlZCBmcm9tIHdoZW4gdGhlIFF1ZXJ5UmVmXG4gICAgICogY2hhbmdlcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIC8qKlxuICAgICAqIFRoaXMgU3ViamVjdCBpcyB1c2VkIHRvIGVtaXQgbmV3IHZhbHVlcyBmcm9tIHRoZSBRdWVyeVJlZi52YWx1ZUNoYW5nZXMgT2JzZXJ2YWJsZS5cbiAgICAgKiBXZSB1c2UgdGhpcyByYXRoZXIgdGhhbiBkaXJlY3RseSBzdWJzY3JpYmluZyB0byB0aGUgUXVlcnlSZWYudmFsdWVDaGFuZ2VzIE9ic2VydmFibGVcbiAgICAgKiBzbyB0aGF0IHdlIGFyZSBhYmxlIHRvIGNoYW5nZSB0aGUgUXVlcnlSZWYgYW5kIHJlLXN1YnNjcmliZSB3aGVuIG5lY2Vzc2FyeS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHZhbHVlQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PEFwb2xsb1F1ZXJ5UmVzdWx0PFQ+PigpO1xuICAgIC8qKlxuICAgICAqIFdlIGtlZXAgdHJhY2sgb2YgdGhlIFF1ZXJ5UmVmcyB3aGljaCBoYXZlIGJlZW4gc3Vic2NyaWJlZCB0byBzbyB0aGF0IHdlIGNhbiBhdm9pZFxuICAgICAqIHJlLXN1YnNjcmliaW5nIHRvIHRoZSBzYW1lIFF1ZXJ5UmVmIG11bHRpcGxlIHRpbWVzLlxuICAgICAqL1xuICAgIHByaXZhdGUgcXVlcnlSZWZTdWJzY3JpYmVkID0gbmV3IFdlYWtNYXA8UXVlcnlSZWY8VCwgVj4sIGJvb2xlYW4+KCk7XG4gICAgLyoqXG4gICAgICogV2Ugc3RvcmUgYSByZWZlcmVuY2UgdG8gdGhlIGxhc3QgcXVlcnkgc28gdGhhdCB3ZSBjYW4gY29tcGFyZSBpdCB3aXRoIHRoZSBuZXh0IHF1ZXJ5XG4gICAgICogYW5kIGF2b2lkIHJlLWZldGNoaW5nIHRoZSBzYW1lIHF1ZXJ5IG11bHRpcGxlIHRpbWVzLiBUaGlzIGlzIGFwcGxpY2FibGUgdG8gdGhlIGNvZGVcbiAgICAgKiBwYXRocyB0aGF0IGFjdHVhbGx5IGNoYW5nZSB0aGUgcXVlcnksIGkuZS4gcmVmZXRjaE9uQ3VzdG9tRmllbGRzQ2hhbmdlKCkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBsYXN0UXVlcnk6IERvY3VtZW50Tm9kZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJlLWZldGNoIHRoaXMgcXVlcnkgd2hlbmV2ZXIgdGhlIGFjdGl2ZSBDaGFubmVsIGNoYW5nZXMuXG4gICAgICovXG4gICAgcmVmZXRjaE9uQ2hhbm5lbENoYW5nZSgpOiBRdWVyeVJlc3VsdDxULCBWPiB7XG4gICAgICAgIGNvbnN0IHVzZXJTdGF0dXMkID0gdGhpcy5hcG9sbG8ud2F0Y2hRdWVyeTxHZXRVc2VyU3RhdHVzUXVlcnk+KHtcbiAgICAgICAgICAgIHF1ZXJ5OiBHRVRfVVNFUl9TVEFUVVMsXG4gICAgICAgIH0pLnZhbHVlQ2hhbmdlcztcbiAgICAgICAgY29uc3QgYWN0aXZlQ2hhbm5lbElkJCA9IHVzZXJTdGF0dXMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiBkYXRhLmRhdGEudXNlclN0YXR1cy5hY3RpdmVDaGFubmVsSWQpLFxuICAgICAgICAgICAgZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBsZXRlZCQpLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBsb2dnZWRPdXQkID0gdXNlclN0YXR1cyQucGlwZShcbiAgICAgICAgICAgIG1hcChkYXRhID0+IGRhdGEuZGF0YS51c2VyU3RhdHVzLmlzTG9nZ2VkSW4pLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICBmaWx0ZXIoaXNMb2dnZWRJbiA9PiAhaXNMb2dnZWRJbiksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wbGV0ZWQkKSxcbiAgICAgICAgKTtcblxuICAgICAgICBtZXJnZShhY3RpdmVDaGFubmVsSWQkLCB0aGlzLnZhbHVlQ2hhbmdlU3ViamVjdClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChsb2dnZWRPdXQkKSwgdGFrZVVudGlsKHRoaXMuY29tcGxldGVkJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkpLnRoZW4oKCkgPT4gdGhpcy5xdWVyeVJlZi5yZWZldGNoKCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZS1mZXRjaCB0aGlzIHF1ZXJ5IHdoZW5ldmVyIHRoZSBjdXN0b20gZmllbGRzIGNoYW5nZSwgdXBkYXRpbmcgdGhlIHF1ZXJ5IHRvIGluY2x1ZGUgdGhlXG4gICAgICogc3BlY2lmaWVkIGN1c3RvbSBmaWVsZHMuXG4gICAgICpcbiAgICAgKiBAc2luY2UgMy4wLjRcbiAgICAgKi9cbiAgICByZWZldGNoT25DdXN0b21GaWVsZHNDaGFuZ2UoY3VzdG9tRmllbGRzVG9JbmNsdWRlJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT4pOiBRdWVyeVJlc3VsdDxULCBWPiB7XG4gICAgICAgIGN1c3RvbUZpZWxkc1RvSW5jbHVkZSRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihjdXN0b21GaWVsZHMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdRdWVyeSA9IGFkZEN1c3RvbUZpZWxkcyh0aGlzLmxhc3RRdWVyeSwgdGhpcy5jdXN0b21GaWVsZE1hcCwgY3VzdG9tRmllbGRzKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGFzQ2hhbmdlZCA9IEpTT04uc3RyaW5naWZ5KG5ld1F1ZXJ5KSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5sYXN0UXVlcnkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFzQ2hhbmdlZDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wbGV0ZWQkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoY3VzdG9tRmllbGRzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdRdWVyeSA9IGFkZEN1c3RvbUZpZWxkcyh0aGlzLmxhc3RRdWVyeSwgdGhpcy5jdXN0b21GaWVsZE1hcCwgY3VzdG9tRmllbGRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RRdWVyeSA9IG5ld1F1ZXJ5O1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UmVmID0gdGhpcy5hcG9sbG8ud2F0Y2hRdWVyeTxULCBWPih7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBuZXdRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzOiB0aGlzLnF1ZXJ5UmVmLnZhcmlhYmxlcyxcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2hQb2xpY3k6IHRoaXMucXVlcnlSZWYub3B0aW9ucy5mZXRjaFBvbGljeSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UmVmID0gcXVlcnlSZWY7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1F1ZXJ5UmVmKHF1ZXJ5UmVmKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgYSBzaW5nbGUgcmVzdWx0IGFuZCB0aGVuIGNvbXBsZXRlcy5cbiAgICAgKi9cbiAgICBnZXQgc2luZ2xlJCgpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFF1ZXJ5UmVmVmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIocmVzdWx0ID0+IHJlc3VsdC5uZXR3b3JrU3RhdHVzID09PSBOZXR3b3JrU3RhdHVzLnJlYWR5KSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5kYXRhKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVkJC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHdoaWNoIGVtaXRzIHVudGlsIHVuc3Vic2NyaWJlZC5cbiAgICAgKi9cbiAgICBnZXQgc3RyZWFtJCgpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFF1ZXJ5UmVmVmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIocmVzdWx0ID0+IHJlc3VsdC5uZXR3b3JrU3RhdHVzID09PSBOZXR3b3JrU3RhdHVzLnJlYWR5KSxcbiAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpLFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVkJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZWQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcmVmKCk6IFF1ZXJ5UmVmPFQsIFY+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmV0dXJucyBhIHNpbmdsZS1yZXN1bHQgT2JzZXJ2YWJsZSBhZnRlciBhcHBseWluZyB0aGUgbWFwIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIG1hcFNpbmdsZTxSPihtYXBGbjogKGl0ZW06IFQpID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2luZ2xlJC5waXBlKG1hcChtYXBGbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJldHVybnMgYSBtdWx0aXBsZS1yZXN1bHQgT2JzZXJ2YWJsZSBhZnRlciBhcHBseWluZyB0aGUgbWFwIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIG1hcFN0cmVhbTxSPihtYXBGbjogKGl0ZW06IFQpID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtJC5waXBlKG1hcChtYXBGbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNpZ25hbHMgdG8gdGhlIGludGVybmFsIE9ic2VydmFibGUgc3Vic2NyaXB0aW9ucyB0aGF0IHRoZXkgc2hvdWxkIGNvbXBsZXRlLlxuICAgICAqL1xuICAgIGRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY29tcGxldGVkJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuY29tcGxldGVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgUXVlcnlSZWYudmFsdWVDaGFuZ2VzIE9ic2VydmFibGUuXG4gICAgICpcbiAgICAgKiBXZSB3cmFwIHRoZSB2YWx1ZUNoYW5nZXMgT2JzZXJ2YWJsZSBpbiBhIG5ldyBPYnNlcnZhYmxlIHNvIHRoYXQgd2UgY2FuIGhhdmUgYSBsYXp5XG4gICAgICogZXZhbHVhdGlvbiBvZiB0aGUgdmFsdWVDaGFuZ2VzIE9ic2VydmFibGUuIFRoYXQgaXMsIHdlIG9ubHkgZmlyZSB0aGUgSFRUUCByZXF1ZXN0IHdoZW5cbiAgICAgKiB0aGUgcmV0dXJuZWQgT2JzZXJ2YWJsZSBpcyBzdWJzY3JpYmVkIHRvLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGN1cnJlbnRRdWVyeVJlZlZhbHVlQ2hhbmdlcygpOiBPYnNlcnZhYmxlPEFwb2xsb1F1ZXJ5UmVzdWx0PFQ+PiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5xdWVyeVJlZlN1YnNjcmliZWQuZ2V0KHRoaXMucXVlcnlSZWYpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1F1ZXJ5UmVmKHRoaXMucXVlcnlSZWYpO1xuICAgICAgICAgICAgICAgIHRoaXMucXVlcnlSZWZTdWJzY3JpYmVkLnNldCh0aGlzLnF1ZXJ5UmVmLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2VTdWJqZWN0XG4gICAgICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMucXVlcnlSZWYuZ2V0Q3VycmVudFJlc3VsdCgpKSwgc2hhcmVSZXBsYXkoMSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWVyeVJlZlN1YnNjcmliZWQuZGVsZXRlKHRoaXMucXVlcnlSZWYpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogU3Vic2NyaWJlcyB0byB0aGUgdmFsdWVDaGFuZ2VzIE9ic2VydmFibGUgb2YgdGhlIGdpdmVuIFF1ZXJ5UmVmLCBhbmQgc3RvcmVzIHRoZSBzdWJzY3JpcHRpb25cbiAgICAgKiBzbyB0aGF0IGl0IGNhbiBiZSB1bnN1YnNjcmliZWQgZnJvbSB3aGVuIHRoZSBRdWVyeVJlZiBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9RdWVyeVJlZihxdWVyeVJlZjogUXVlcnlSZWY8VCwgVj4pIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uID0gcXVlcnlSZWYudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wbGV0ZWQkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy52YWx1ZUNoYW5nZVN1YmplY3QpO1xuICAgIH1cbn1cbiJdfQ==