@snabcentr/client-core 2.64.2 → 2.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cart/internal/sc-i-cart-item-dto.d.ts +2 -2
- package/catalog/classes/index.d.ts +1 -0
- package/catalog/classes/sc-catalog-item.d.ts +31 -0
- package/catalog/dto/index.d.ts +0 -2
- package/catalog/dto/sc-category.d.ts +18 -51
- package/catalog/dto/sc-product.d.ts +26 -51
- package/catalog/dto/sc-virtual-category.d.ts +13 -30
- package/catalog/interfaces/index.d.ts +4 -0
- package/catalog/interfaces/sc-i-catalog-item.d.ts +16 -0
- package/catalog/interfaces/sc-i-category.d.ts +29 -0
- package/catalog/{internal/sc-i-product-dto.d.ts → interfaces/sc-i-product.d.ts} +8 -27
- package/catalog/interfaces/sc-i-virtual-category.d.ts +20 -0
- package/catalog/internal/index.d.ts +0 -4
- package/catalog/services/sc-catalog.service.d.ts +3 -2
- package/catalog/services/sc-favorite.service.d.ts +1 -1
- package/common/classes/index.d.ts +9 -0
- package/common/classes/sc-catalogable-item.d.ts +17 -0
- package/common/classes/sc-coded-identity.d.ts +17 -0
- package/common/classes/sc-deletable-named-identity.d.ts +17 -0
- package/common/classes/sc-hidden-catalogable-item.d.ts +17 -0
- package/common/classes/sc-identity.d.ts +25 -0
- package/common/classes/sc-image.d.ts +6 -8
- package/common/classes/sc-named-identity.d.ts +17 -0
- package/common/classes/sc-primary-catalogable-item.d.ts +17 -0
- package/common/classes/sc-reference.d.ts +21 -0
- package/common/classes/sc-updatable-named-identity.d.ts +17 -0
- package/common/index.d.ts +1 -1
- package/common/interfaces/index.d.ts +16 -0
- package/common/interfaces/sc-i-catalogable-item.d.ts +10 -0
- package/common/interfaces/sc-i-coded-identity.d.ts +10 -0
- package/common/interfaces/sc-i-created-at.d.ts +9 -0
- package/common/interfaces/sc-i-date-period.d.ts +6 -0
- package/common/interfaces/sc-i-deletable-named-identity.d.ts +7 -0
- package/common/interfaces/sc-i-deleted-at.d.ts +9 -0
- package/common/interfaces/sc-i-file.d.ts +13 -0
- package/common/interfaces/sc-i-hidden-catalogable-item.d.ts +10 -0
- package/common/interfaces/sc-i-identity.d.ts +13 -0
- package/common/interfaces/sc-i-image.d.ts +1 -1
- package/common/interfaces/sc-i-named-identity.d.ts +7 -0
- package/common/interfaces/sc-i-named.d.ts +9 -0
- package/common/interfaces/sc-i-primary-catalogable-item.d.ts +10 -0
- package/common/interfaces/sc-i-reference.d.ts +14 -0
- package/common/interfaces/sc-i-typed-nullable-range.d.ts +13 -0
- package/common/interfaces/sc-i-updatable-named-identity.d.ts +7 -0
- package/common/interfaces/sc-i-updated-at.d.ts +9 -0
- package/config/index.d.ts +0 -1
- package/esm2022/cart/internal/sc-i-cart-item-dto.mjs +1 -1
- package/esm2022/catalog/classes/index.mjs +2 -1
- package/esm2022/catalog/classes/sc-catalog-item.mjs +19 -0
- package/esm2022/catalog/dto/index.mjs +1 -3
- package/esm2022/catalog/dto/sc-category.mjs +20 -38
- package/esm2022/catalog/dto/sc-product.mjs +27 -32
- package/esm2022/catalog/dto/sc-virtual-category.mjs +11 -14
- package/esm2022/catalog/interfaces/index.mjs +5 -1
- package/esm2022/catalog/interfaces/sc-i-catalog-item.mjs +2 -0
- package/esm2022/catalog/interfaces/sc-i-category.mjs +3 -0
- package/esm2022/catalog/interfaces/sc-i-product.mjs +3 -0
- package/esm2022/catalog/interfaces/sc-i-virtual-category.mjs +2 -0
- package/esm2022/catalog/internal/index.mjs +1 -5
- package/esm2022/catalog/services/sc-catalog.service.mjs +1 -1
- package/esm2022/catalog/services/sc-favorite.service.mjs +2 -2
- package/esm2022/catalog/services/sc-recommendation.service.mjs +1 -1
- package/esm2022/common/classes/index.mjs +10 -1
- package/esm2022/common/classes/sc-catalogable-item.mjs +16 -0
- package/esm2022/common/classes/sc-coded-identity.mjs +21 -0
- package/esm2022/common/classes/sc-deletable-named-identity.mjs +18 -0
- package/esm2022/common/classes/sc-hidden-catalogable-item.mjs +16 -0
- package/esm2022/common/classes/sc-identity.mjs +23 -0
- package/esm2022/common/classes/sc-image.mjs +7 -9
- package/esm2022/common/classes/sc-named-identity.mjs +21 -0
- package/esm2022/common/classes/sc-primary-catalogable-item.mjs +16 -0
- package/esm2022/common/classes/sc-reference.mjs +17 -0
- package/esm2022/common/classes/sc-updatable-named-identity.mjs +18 -0
- package/esm2022/common/index.mjs +2 -2
- package/esm2022/common/interfaces/index.mjs +17 -1
- package/esm2022/common/interfaces/sc-i-catalogable-item.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-coded-identity.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-created-at.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-date-period.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-deletable-named-identity.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-deleted-at.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-file.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-hidden-catalogable-item.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-identity.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-image.mjs +1 -1
- package/esm2022/common/interfaces/sc-i-named-identity.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-named.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-primary-catalogable-item.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-reference.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-typed-nullable-range.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-updatable-named-identity.mjs +2 -0
- package/esm2022/common/interfaces/sc-i-updated-at.mjs +2 -0
- package/esm2022/config/index.mjs +1 -2
- package/esm2022/configurator/services/sc-configurator.service.mjs +1 -1
- package/esm2022/guards/index.mjs +1 -2
- package/esm2022/helpers/sc-image-helper.mjs +13 -3
- package/esm2022/helpers/sc-units-helper.mjs +1 -1
- package/esm2022/news/classes/index.mjs +1 -5
- package/esm2022/news/classes/sc-news.mjs +13 -12
- package/esm2022/news/index.mjs +4 -7
- package/esm2022/news/interfaces/index.mjs +3 -0
- package/esm2022/news/interfaces/sc-i-news-tile.mjs +2 -0
- package/esm2022/news/interfaces/sc-i-news.mjs +2 -0
- package/esm2022/news/services/index.mjs +2 -0
- package/esm2022/news/services/sc-news.service.mjs +2 -2
- package/esm2022/news/tokens/index.mjs +2 -0
- package/esm2022/public-api.mjs +2 -6
- package/esm2022/search/services/sc-search.service.mjs +5 -5
- package/esm2022/seo/classes/index.mjs +2 -0
- package/esm2022/seo/classes/schema-org-factory.mjs +269 -0
- package/esm2022/seo/index.mjs +5 -0
- package/esm2022/seo/interfaces/index.mjs +5 -0
- package/esm2022/seo/interfaces/sc-i-default-page-meta.mjs +2 -0
- package/esm2022/seo/interfaces/sc-i-schema-org-breadcrumb-list.mjs +2 -0
- package/esm2022/seo/interfaces/sc-i-seo-resource.mjs +2 -0
- package/esm2022/seo/interfaces/sc-i-seo.mjs +2 -0
- package/esm2022/seo/services/index.mjs +2 -0
- package/esm2022/seo/services/sc-seo.service.mjs +206 -0
- package/esm2022/seo/types/index.mjs +2 -0
- package/esm2022/seo/types/robots-tag-type.mjs +2 -0
- package/esm2022/tokens/sc-default-page-meta.mjs +1 -1
- package/fesm2022/snabcentr-client-core.mjs +782 -588
- package/fesm2022/snabcentr-client-core.mjs.map +1 -1
- package/guards/index.d.ts +0 -1
- package/helpers/sc-image-helper.d.ts +1 -1
- package/helpers/sc-units-helper.d.ts +1 -1
- package/news/classes/index.d.ts +0 -1
- package/news/classes/sc-news.d.ts +18 -13
- package/news/index.d.ts +3 -3
- package/news/interfaces/index.d.ts +2 -0
- package/news/interfaces/sc-i-news-tile.d.ts +22 -0
- package/news/interfaces/sc-i-news.d.ts +11 -0
- package/news/services/index.d.ts +1 -0
- package/news/services/sc-news.service.d.ts +4 -3
- package/news/tokens/index.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -2
- package/search/services/sc-search.service.d.ts +5 -4
- package/seo/classes/index.d.ts +1 -0
- package/seo/classes/schema-org-factory.d.ts +88 -0
- package/seo/index.d.ts +4 -0
- package/seo/interfaces/index.d.ts +4 -0
- package/seo/interfaces/sc-i-default-page-meta.d.ts +17 -0
- package/seo/interfaces/sc-i-schema-org-breadcrumb-list.d.ts +34 -0
- package/seo/interfaces/sc-i-seo-resource.d.ts +14 -0
- package/{catalog/dto → seo/interfaces}/sc-i-seo.d.ts +3 -14
- package/seo/services/index.d.ts +1 -0
- package/seo/services/sc-seo.service.d.ts +125 -0
- package/seo/types/index.d.ts +1 -0
- package/tokens/sc-default-page-meta.d.ts +1 -1
- package/catalog/dto/sc-i-seo-resource.d.ts +0 -10
- package/catalog/dto/sc-seo-resource.d.ts +0 -22
- package/catalog/internal/sc-i-category-dto.d.ts +0 -48
- package/catalog/internal/sc-i-seo-resource-dto.d.ts +0 -10
- package/catalog/internal/sc-i-virtual-category-dto.d.ts +0 -37
- package/config/sc-i-default-page-meta.d.ts +0 -17
- package/esm2022/catalog/dto/sc-i-seo-resource.mjs +0 -2
- package/esm2022/catalog/dto/sc-i-seo.mjs +0 -2
- package/esm2022/catalog/dto/sc-seo-resource.mjs +0 -23
- package/esm2022/catalog/internal/sc-i-category-dto.mjs +0 -3
- package/esm2022/catalog/internal/sc-i-product-dto.mjs +0 -2
- package/esm2022/catalog/internal/sc-i-seo-resource-dto.mjs +0 -2
- package/esm2022/catalog/internal/sc-i-virtual-category-dto.mjs +0 -2
- package/esm2022/config/sc-i-default-page-meta.mjs +0 -2
- package/esm2022/guards/catalog-seo.guard.mjs +0 -71
- package/esm2022/news/classes/sc-news-tile.mjs +0 -2
- package/esm2022/news/internal/sc-i-news-dto.mjs +0 -2
- package/esm2022/sc-json-ld/index.mjs +0 -3
- package/esm2022/sc-json-ld/sc-json-ld.component.mjs +0 -49
- package/esm2022/sc-json-ld/sc-json-ld.module.mjs +0 -19
- package/esm2022/services/index.mjs +0 -3
- package/esm2022/services/sc-seo.service.mjs +0 -271
- package/esm2022/services/types/robots-tag-type.mjs +0 -2
- package/guards/catalog-seo.guard.d.ts +0 -14
- package/news/classes/sc-news-tile.d.ts +0 -25
- package/news/internal/sc-i-news-dto.d.ts +0 -30
- package/sc-json-ld/index.d.ts +0 -2
- package/sc-json-ld/sc-json-ld.component.d.ts +0 -31
- package/sc-json-ld/sc-json-ld.module.d.ts +0 -10
- package/services/index.d.ts +0 -2
- package/services/sc-seo.service.d.ts +0 -184
- /package/{services → seo}/types/robots-tag-type.d.ts +0 -0
|
@@ -338,4 +338,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
338
338
|
type: Inject,
|
|
339
339
|
args: [SC_CACHE_LIFETIME]
|
|
340
340
|
}] }, { type: i4.ScUserMetrikaService }] });
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL3NlcnZpY2VzL3NjLWNhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNckksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMv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QUFFLElBQUk7aUJBQ25CO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDRCQUE0QixDQUFDLGVBQWdDLEVBQUUsSUFBaUM7UUFDbkcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxxQkFBcUIsZUFBZSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkgsQ0FBQzsrR0E1WlEsZ0JBQWdCLDRDQTJGYixPQUFPLDJFQUdQLGlCQUFpQjttSEE5RnBCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQTRGUSxNQUFNOzJCQUFDLE9BQU87OzBCQUdkLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZVR5cGVzXG5cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHVpSXNQcmVzZW50IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBleHBhbmQsIGZpbHRlciwgZmlyc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBza2lwLCBzd2l0Y2hNYXAsIHRha2VXaGlsZSwgdGFwLCB0b0FycmF5IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjSUNhY2hlTGlmZXRpbWUgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS1jYWNoZS1saWZldGltZSc7XG5pbXBvcnQgeyBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NjLWktdXJscyc7XG5pbXBvcnQgeyBTY0NvbnZlcnRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udmVydGVycy9zZXJ2aWNlcy9zYy1jb252ZXJ0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NJUGFnaW5hdGUgfSBmcm9tICcuLi8uLi9wYWdpbmF0aW9uL2R0by9zYy1pLXBhZ2luYXRlJztcbmltcG9ydCB7IFNjSWRPclNsdWdQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvc2MtaWQtb3Itc2x1Zy5waXBlJztcbmltcG9ydCB7IFNDX0NBQ0hFX0xJRkVUSU1FIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLWNhY2hlLWxpZmV0aW1lJztcbmltcG9ydCB7IFNDX0lTX0hJRERFTl9FUlJPUl9BTEVSVF9IVFRQX0NPTlRFWFQgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtaXMtaGlkZGVuLWVycm9yLWFsZXJ0JztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY1VJU2VydmljZSB9IGZyb20gJy4uLy4uL3VpL3NlcnZpY2VzL3NjLXVpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvc2MtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0gfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2EvZW51bXMvc2MtdXNlci1tZXRyaWthLWdvYWxzLWVudW0nO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2Evc2VydmljZXMvc2MtdXNlci1tZXRyaWthLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NDYWNoZWRJdGVtIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBTY0NhdGVnb3J5IH0gZnJvbSAnLi4vZHRvL3NjLWNhdGVnb3J5JztcbmltcG9ydCB7IFNjSVByb2R1Y3ROb3RpZnlXaGVuSW5TdG9jayB9IGZyb20gJy4uL2R0by9zYy1pLXByb2R1Y3Qtbm90aWZ5LXdoZW4taW4tc3RvY2snO1xuaW1wb3J0IHsgU2NQcm9kdWN0IH0gZnJvbSAnLi4vZHRvL3NjLXByb2R1Y3QnO1xuaW1wb3J0IHsgU2NWaXJ0dWFsQ2F0ZWdvcnkgfSBmcm9tICcuLi9kdG8vc2MtdmlydHVhbC1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY01pbWVUeXBlcyB9IGZyb20gJy4uL2VudW1zL3NjLW1pbWUtdHlwZXMnO1xuaW1wb3J0IHsgU2NJQ2F0ZWdvcnlQcm9kdWN0UGFyYW1zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLWNhdGVnb3J5LXByb2R1Y3QtcGFyYW1zJztcbmltcG9ydCB7IFNjSUNhdGVnb3J5UHJvZHVjdFBhZ2luYXRpb25QYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktY2F0ZWdvcnktcHJvZHVjdHMtcGFnaW5hdGlvbi1wYXJhbXMnO1xuaW1wb3J0IHsgU2NJQ2F0ZWdvcnlEVE8sIFNjSVByb2R1Y3REVE8gfSBmcm9tICcuLi9pbnRlcm5hbCc7XG5pbXBvcnQgeyBTY0lWaXJ0dWFsQ2F0ZWdvcnlEVE8gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLXZpcnR1YWwtY2F0ZWdvcnktZHRvJztcbmltcG9ydCB7IFNDX0NPVU5UX0ZJUlNUX0RJU0NPVU5URURfUFJPRFVDVFMgfSBmcm9tICcuLi90b2tlbnMvc2MtY291bnQtZmlyc3QtZGlzY291bnRlZC1wcm9kdWN0cyc7XG5pbXBvcnQgeyBTY1ByaWNlSGlzdG9yeSB9IGZyb20gJy4uL3R5cGVzL3NjLXByaWNlLWhpc3RvcnknO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60LDRgtCw0LvQvtCz0L7QvC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nU2VydmljZSB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIE1hcH0g0LrQvtC70LvQtdC60YbQuNGPINC/0LDRgCDQutC70Y7Rhy3Qt9C90LDRh9C10L3QuNC1INC00LvRjyDQutCw0YLQtdCz0L7RgNC40Lkg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgcHJpdmF0ZSBpZENhdGVnb3J5TWFwOiBNYXA8bnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkLCBTY0NhdGVnb3J5PiA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkLCBTY0NhdGVnb3J5PigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE1hcH0g0LrQvtC70LvQtdC60YbQuNGPINC/0LDRgCDQutC70Y7Rhy3Qt9C90LDRh9C10L3QuNC1INC00LvRjyDQstC40YDRgtGD0LDQu9GM0L3Ri9GFINC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHZpcnR1YWxDYXRlZ29yeU1hcDogTWFwPHN0cmluZywgU2NDYWNoZWRJdGVtPFNjVmlydHVhbENhdGVnb3J5Pj4gPSBuZXcgTWFwPHN0cmluZywgU2NDYWNoZWRJdGVtPFNjVmlydHVhbENhdGVnb3J5Pj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9GFINC60LDRgtC10LPQvtGA0LjQuSDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcbiAgICBwcml2YXRlIGNhdGVnb3J5TWFwOiBNYXA8bnVtYmVyIHwgc3RyaW5nIHwgdm9pZCwgU2NDYWNoZWRJdGVtPFNjQ2F0ZWdvcnk+PiA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nIHwgdm9pZCwgU2NDYWNoZWRJdGVtPFNjQ2F0ZWdvcnk+PigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE1hcH0g0LrQvtC70LvQtdC60YbQuNGPINC/0LDRgCDQutC70Y7Rhy3Qt9C90LDRh9C10L3QuNC1INC00LvRjyDQv9GA0L7QtNGD0LrRgtC+0LIg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2R1Y3RNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1Byb2R1Y3Q+PiA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nLCBTY0NhY2hlZEl0ZW08U2NQcm9kdWN0Pj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9GFINGC0L7QstCw0YDQvtCyINC60LDRgtC10LPQvtGA0LjQuCDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHByaXZhdGUgY2F0ZWdvcnlQcm9kdWN0c01hcDogTWFwPG51bWJlciB8IHN0cmluZywgU2NDYWNoZWRJdGVtPFNjUHJvZHVjdFtdPj4gPSBuZXcgTWFwPG51bWJlciwgU2NDYWNoZWRJdGVtPFNjUHJvZHVjdFtdPj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LrRjdGI0LjRgNC+0LLQsNC90LjRjyDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9kdWN0SGlzdG9yeU1hcDogTWFwPG51bWJlciB8IHN0cmluZywgU2NDYWNoZWRJdGVtPFNjUHJpY2VIaXN0b3J5Pj4gPSBuZXcgTWFwPG51bWJlciB8IHN0cmluZywgU2NDYWNoZWRJdGVtPFNjUHJpY2VIaXN0b3J5Pj4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0LDQudC/LCDQstC+0LfQstGA0LDRidCw0Y7RidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4INGB0LjQvNCy0L7Qu9GM0L3QvtC1INC+0LHQvtC30L3QsNGH0LXQvdC40LUgKHNsdWcpINC40YHRhdC+0LTRjyDQuNC3INC90LDRgdGC0YDQvtC10Log0L7QutGA0YPQttC10L3QuNGPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRPclNsdWdQaXBlOiBTY0lkT3JTbHVnUGlwZSA9IGluamVjdChTY0lkT3JTbHVnUGlwZSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINGB0L7Qv9C+0YHRgtCw0LLQu9C10L3QuNGPIHNsdWcg0LggaWQg0LrQsNGC0LXQs9C+0YDQuNC5INC/0YDQuCDQutC10YjQuNGA0L7QstCw0L3QuNC4INC30LDQv9GA0L7RgdC+0LIsINC10YHQu9C4INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC+0YLQu9C40YfQsNC10YLRgdGPINC+0YIg0YPRgdGC0LDQvdC+0LLQu9C10L3QvdC+0LPQviDQsiDQv9GA0L7QtdC60YLQtSAoc2x1Zy9pZCkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeUlkT3JTbHVnTWFwOiBNYXA8bnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmc+ID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIG51bWJlciB8IHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0YHQvtC/0L7RgdGC0LDQstC70LXQvdC40Y8gc2x1ZyDQuCBpZCDRgtC+0LLQsNGA0L7QsiDQv9GA0Lgg0LrQtdGI0LjRgNC+0LLQsNC90LjQuCDQt9Cw0L/RgNC+0YHQvtCyLCDQtdGB0LvQuCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvtGC0LvQuNGH0LDQtdGC0YHRjyDQvtGCINGD0YHRgtCw0L3QvtCy0LvQtdC90L3QvtCz0L4g0LIg0L/RgNC+0LXQutGC0LUgKHNsdWcvaWQpLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdElkT3JTbHVnTWFwOiBNYXA8bnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmc+ID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIG51bWJlciB8IHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqINCn0LjRgdC70L4g0L/QtdGA0LLRi9GFINC30LDQv9C40YHQtdC5INGC0L7QstCw0YDQvtCyINGB0L4g0YHQutC40LTQutC+0LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudEZpcnN0RGlzY291bnRlZFByb2R1Y3RzOiBudW1iZXIgPSBpbmplY3QoU0NfQ09VTlRfRklSU1RfRElTQ09VTlRFRF9QUk9EVUNUUyk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UgPSBpbmplY3QoU2NVc2VyU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDRgdC+INGB0LrQuNC00LrQvtC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmaXJzdERpc2NvdW50ZWQkOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRlPFNjUHJvZHVjdD4gfCBudWxsPiA9IGluamVjdChTQ19VU0VSX0lORk8pLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodXNlcikgPT5cbiAgICAgICAgICAgIHVzZXIuaXNHdWVzdCA/IG9mKG51bGwpIDogdGhpcy5nZXRQcm9kdWN0cyQoeyBmaWx0ZXJzOiB7IG9ubHlEaXNjb3VudGVkOiB0cnVlIH0sIHBhZ2luYXRlOiB0cnVlLCBwYWdlOiAxLCBwZXJQYWdlOiB0aGlzLmNvdW50Rmlyc3REaXNjb3VudGVkUHJvZHVjdHMgfSlcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC/0LjRgdC60LAg0LjQtyDQv9C10YDQstGL0YUg0YLQvtCy0LDRgNC+0LIg0YHQviDRgdC60LjQtNC60L7QuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlyc3REaXNjb3VudGVkUHJvZHVjdHMkOiBPYnNlcnZhYmxlPFNjUHJvZHVjdFtdPiA9IHRoaXMuZmlyc3REaXNjb3VudGVkJC5waXBlKG1hcCgoZGF0YSkgPT4gZGF0YT8uZGF0YSA/PyBbXSkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQvtCx0YnQtdCz0L4g0LrQvtC70LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0YHQviDRgdC60LjQtNC60L7QuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgY291bnREaXNjb3VudGVkUHJvZHVjdHMkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLmZpcnN0RGlzY291bnRlZCQucGlwZShtYXAoKGRhdGEpID0+IGRhdGE/Lm1ldGEudG90YWwgPz8gMCkpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NhdGFsb2dTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBodHRwINCh0LXRgNCy0LjRgSDQtNC70Y8g0LLRi9C/0L7Qu9C90LXQvdC40Y8gSFRUUC3Qt9Cw0L/RgNC+0YHQvtCyLlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIHVpU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSBVSS5cbiAgICAgKiBAcGFyYW0gY29udmVydGVyc1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC60L7QvdCy0LXRgNGC0LDRhtC40Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqIEBwYXJhbSBjYWNoZUxpZmVUaW1lINCe0LHRitC10LrRgiDRgSDQuNC90YTQvtGA0LzQsNGG0LjQtdC5INC+INCy0YDQtdC80LXQvdC4INC20LjQt9C90Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqIEBwYXJhbSB1c2VyTWV0cmlrYVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVpU2VydmljZTogU2NVSVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29udmVydGVyc1NlcnZpY2U6IFNjQ29udmVydGVyc1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoU0NfQ0FDSEVfTElGRVRJTUUpIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVMaWZlVGltZTogU2NJQ2FjaGVMaWZldGltZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRVc2VyQ2hhbmdlJCgpXG4gICAgICAgICAgICAucGlwZShza2lwKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pZENhdGVnb3J5TWFwLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeU1hcC5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdEhpc3RvcnlNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5UHJvZHVjdHNNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZpcnR1YWxDYXRlZ29yeU1hcC5jbGVhcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrQsNGC0LXQs9C+0YDQuNGOINC40Lcg0LrQvtC70LvQtdC60YbQuNC4INC60LDRgtCw0LvQvtCz0LAsINC10YHQu9C4INC10ZEg0YHRgNC+0Log0LbQuNC30L3QuCDQvdC1INC40YHRgtGR0LouXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCDQo9C00LDQu9C40YLRjCDQsiDRgNCw0LzQutCw0YUg0LfQsNC00LDRh9C4IFRBU0tbIzEwMTUzXS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC60LDRgtC10LPQvtGA0LjQuCDRgtC+0LLQsNGA0L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2F0ZWdvcnlGcm9tTWFwKGNhdGVnb3J5SWRPclNsdWc/OiBudW1iZXIgfCBzdHJpbmcpOiBTY0NhdGVnb3J5IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSB0aGlzLmlkQ2F0ZWdvcnlNYXAuZ2V0KGNhdGVnb3J5SWRPclNsdWc/LnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmIChjYXRlZ29yeSAmJiAoIWNhdGVnb3J5LnBhcmVudENhdGVnb3J5IHx8ICFjYXRlZ29yeS5sb2FkZWRBdCB8fCBjYXRlZ29yeS5jYWNoZWREYXRhSXNBY3R1YWwodGhpcy5jYWNoZUxpZmVUaW1lLmNhdGVnb3J5RGF0YSkpKSB7XG4gICAgICAgICAgICByZXR1cm4gY2F0ZWdvcnk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlkQ2F0ZWdvcnlNYXAuZGVsZXRlKGNhdGVnb3J5SWRPclNsdWc/LnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5INGC0L7QstCw0YDQvtCyINC40LvQuCDRgdC/0LjRgdC+0Log0LrQvtGA0L3QtdCy0YvRhSDQutCw0YLQtdCz0L7RgNC40LksINC10YHQu9C4INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60LDRgtC10LPQvtGA0LjQuCDQvdC1INGD0LrQsNC30LDQvS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC60LDRgtC10LPQvtGA0LjQuCDRgtC+0LLQsNGA0L7Qsi5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldENhdGVnb3J5RGF0YSQoY2F0ZWdvcnlJZE9yU2x1Zz86IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8U2NDYXRlZ29yeT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lDYXRlZ29yeURUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9jYXRlZ29yaWVzLyR7Y2F0ZWdvcnlJZE9yU2x1ZyA/PyAnJ31gKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXRlZ29yeSkgPT4gbmV3IFNjQ2F0ZWdvcnkoY2F0ZWdvcnkpKSxcbiAgICAgICAgICAgIHRhcCgoY2F0ZWdvcnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2F0ZWdvcnlJZE9yU2x1Zykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5SWRPclNsdWdNYXAuc2V0KHR5cGVvZiBjYXRlZ29yeUlkT3JTbHVnID09PSAnc3RyaW5nJyA/IGNhdGVnb3J5LmlkIDogY2F0ZWdvcnkuc2x1ZywgY2F0ZWdvcnlJZE9yU2x1Zyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LrQvtGA0L3QtdCy0YvRhSDQutCw0YLQtdCz0L7RgNC40Lkg0YEg0L3QsNGB0YLRgNC+0LnQutCw0LzQuCDQvtGC0L7QsdGA0LDQttC10L3QuNGPLCDRh9GC0L7QsdGLINGA0LXQsNCz0LjRgNC+0LLQsNGC0Ywg0L3QsCDQuNC30LzQtdC90LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGdldEZpbHRlcmVkUm9vdENhdGVnb3JpZXMkKCk6IE9ic2VydmFibGU8U2NDYXRlZ29yeVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVpU2VydmljZS5nZXRIaWRkZW5DYXRlZ29yaWVzTGlzdCQoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChmaWx0ZXJzKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Um9vdENhdGVnb3JpZXMkKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YS5maWx0ZXIoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeS5pZCAmJiAhZmlsdGVycy5pbmNsdWRlcyhjYXRlZ29yeS5pZCkpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQstC40YDRgtGD0LDQu9GM0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzbHVnINCh0LjQvNCy0L7Qu9GM0L3Ri9C5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0LjRgNGC0YPQsNC70YzQvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWaXJ0dWFsQ2F0ZWdvcnlDYWNoZWQkKHNsdWc6IHN0cmluZyk6IE9ic2VydmFibGU8U2NWaXJ0dWFsQ2F0ZWdvcnkgfCBudWxsPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy52aXJ0dWFsQ2F0ZWdvcnlNYXAuZ2V0KHNsdWcpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0oXG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZUxpZmVUaW1lLmNhdGVnb3J5RGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PFNjSVZpcnR1YWxDYXRlZ29yeURUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy92LWNhdGVnb3JpZXMvJHtzbHVnfWApLnBpcGUobWFwKChjYXRlZ29yeSkgPT4gbmV3IFNjVmlydHVhbENhdGVnb3J5KGNhdGVnb3J5KSkpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDYXRlZ29yeU1hcC5zZXQoc2x1ZywgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0uY2FjaGVkRGF0YUlzQWN0dWFsKCkpIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0udXBkYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtC00LXRgNC20LjQvNC+0LPQviDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDQutCw0YLQtdCz0L7RgNC40Lgg0YLQvtCy0LDRgNC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGVnb3J5Q2FjaGVkJChjYXRlZ29yeUlkT3JTbHVnPzogbnVtYmVyIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxTY0NhdGVnb3J5IHwgbnVsbD4ge1xuICAgICAgICBpZiAoY2F0ZWdvcnlJZE9yU2x1ZyAmJiB0aGlzLmNhdGVnb3J5SWRPclNsdWdNYXAuaGFzKGNhdGVnb3J5SWRPclNsdWcpKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgIGNhdGVnb3J5SWRPclNsdWcgPSB0aGlzLmNhdGVnb3J5SWRPclNsdWdNYXAuZ2V0KGNhdGVnb3J5SWRPclNsdWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLmNhdGVnb3J5TWFwLmdldChjYXRlZ29yeUlkT3JTbHVnPy50b1N0cmluZygpKTtcblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKHRoaXMuY2FjaGVMaWZlVGltZS5jYXRlZ29yeURhdGEsIHRoaXMuZ2V0Q2F0ZWdvcnlEYXRhJChjYXRlZ29yeUlkT3JTbHVnKSk7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5TWFwLnNldChjYXRlZ29yeUlkT3JTbHVnPy50b1N0cmluZygpLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDQtdGCINC30LDQv9GA0L7RgSDQv9C+0LvRg9GH0LXQvdC40Y8g0LrQvtGA0L3QtdCy0YvRhSDQutCw0YLQtdCz0L7RgNC40LkuXG4gICAgICovXG4gICAgcHVibGljIGdldE51bGxDYXRlZ29yeSQoKTogT2JzZXJ2YWJsZTxTY0NhdGVnb3J5IHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDYXRlZ29yeUNhY2hlZCQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINC60L7RgNC90LXQstGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSb290Q2F0ZWdvcmllcyQoKTogT2JzZXJ2YWJsZTxTY0NhdGVnb3J5W10gfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE51bGxDYXRlZ29yeSQoKS5waXBlKG1hcCgobnVsbENhdGVnb3J5KSA9PiBudWxsQ2F0ZWdvcnk/LmNhdGVnb3JpZXMgPz8gbnVsbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCg0LDRgdC60YDRi9Cy0LDQtdGCINC60LDRgtCw0LvQvtCzINC00L4g0YPQutCw0LfQsNC90L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC60LDRgtC10LPQvtGA0LjQuCwg0LTQviDQutC+0YLQvtGA0L7QuSDQvdC10L7QsdGF0L7QtNC40LzQviDRgNCw0YHQutGA0YvRgtGMINC60LDRgtCw0LvQvtCzLlxuICAgICAqIEByZXR1cm5zINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRgNCw0YHQutGA0YvRgtGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkQ2F0YWxvZ1RyZWVDYWNoZWQkKGNhdGVnb3J5SWRPclNsdWc6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDYXRlZ29yeUNhY2hlZCQoY2F0ZWdvcnlJZE9yU2x1ZykucGlwZShcbiAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIGV4cGFuZCgoY2F0ZWdvcnkpID0+XG4gICAgICAgICAgICAgICAgKGNhdGVnb3J5LnBhcmVudENhdGVnb3J5ID8gdGhpcy5nZXRDYXRlZ29yeUNhY2hlZCQodGhpcy5pZE9yU2x1Z1BpcGUudHJhbnNmb3JtKGNhdGVnb3J5LnBhcmVudENhdGVnb3J5KSkgOiB0aGlzLmdldE51bGxDYXRlZ29yeSQoKSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24sc29uYXJqcy9kaWZmZXJlbnQtdHlwZXMtY29tcGFyaXNvblxuICAgICAgICAgICAgdGFrZVdoaWxlKChwYXJlbnRDYXRlZ29yeSkgPT4gcGFyZW50Q2F0ZWdvcnkucGFyZW50Q2F0ZWdvcnkgIT09IHVuZGVmaW5lZCwgdHJ1ZSksXG4gICAgICAgICAgICB0b0FycmF5KCksXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9uby1taXNsZWFkaW5nLWFycmF5LXJldmVyc2VcbiAgICAgICAgICAgIG1hcCgoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5yZXZlcnNlKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0L7Qu9GD0YfQtdC90LjRjyDQuNGB0YLQvtGA0LjQuCDQuNC30LzQtdC90LXQvdC40Y8g0YbQtdC9INC90LAg0L/RgNC+0LTRg9C60YIg0LTQu9GPINC60LvQuNC10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/RgNC+0LTRg9C60YIsINC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC30LDQv9GA0LDRiNC40LLQsNC10YLRgdGPINGG0LXQvdCwLlxuICAgICAqIEByZXR1cm5zINCY0YHRgtC+0YDQuNGPINC40LfQvNC10L3QtdC90LjRjyDRhtC10L0g0L3QsCDQv9GA0L7QtNGD0LrRgiDQtNC70Y8g0LrQu9C40LXQvdGC0LAg0LIg0YTQvtGA0LzQsNGC0LUge0BsaW5rIE9ic2VydmFibGV9INC40Lcg0LfQsNC/0YDQvtGB0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldFByaWNlSGlzdG9yeSQocHJvZHVjdDogU2NQcm9kdWN0KTogT2JzZXJ2YWJsZTxTY1ByaWNlSGlzdG9yeSB8IG51bGw+IHtcbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLnByb2R1Y3RIaXN0b3J5TWFwLmdldChwcm9kdWN0LmlkLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0oXG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZUxpZmVUaW1lLmNhdGVnb3J5RGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxTY1ByaWNlSGlzdG9yeT4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9wcm9kdWN0cy8ke3Byb2R1Y3QuaWR9L3ByaWNlLWhpc3RvcnlgLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhULFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKHt9KSkpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RIaXN0b3J5TWFwLnNldChwcm9kdWN0LmlkLnRvU3RyaW5nKCksIGNhY2hlZEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhY2hlZEl0ZW0uaXRlbSQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0YLQvtCy0LDRgNC+0LIg0LTQu9GPINC60L7QvdC60YDQtdGC0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINGC0L7QstCw0YDQvtCyINC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdHMkKHBhcmFtczogU2NJQ2F0ZWdvcnlQcm9kdWN0UGFyYW1zKTogT2JzZXJ2YWJsZTxTY1Byb2R1Y3RbXT47XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQutCw0YLQsNC70L7Qs9CwINGBINC/0LDQs9C40L3QsNGG0LjQtdC5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtcyDQn9Cw0YDQsNC80LXRgtGA0Ysg0L/QsNCz0LjQvdCw0YbQuNC4INGC0L7QstCw0YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0cyQocGFyYW1zOiBTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zKTogT2JzZXJ2YWJsZTxTY0lQYWdpbmF0ZTxTY1Byb2R1Y3Q+PjtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkdW5kYW50LXR5cGUtY29uc3RpdHVlbnRzXG4gICAgcHVibGljIGdldFByb2R1Y3RzJChwYXJhbXM6IFNjSUNhdGVnb3J5UHJvZHVjdFBhcmFtcyB8IFNjSUNhdGVnb3J5UHJvZHVjdFBhZ2luYXRpb25QYXJhbXMpOiBPYnNlcnZhYmxlPFNjUHJvZHVjdFtdIHwgU2NJUGFnaW5hdGU8U2NQcm9kdWN0Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFNjSVBhZ2luYXRlPFNjSVByb2R1Y3REVE8+IHwgU2NJUHJvZHVjdERUT1tdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzYCwge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB0aGlzLmNvbnZlcnRlcnNTZXJ2aWNlLnRvSHR0cFBhcmFtcyh7IC4uLnBhcmFtcyB9LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2Z1bmN0aW9uLXJldHVybi10eXBlXG4gICAgICAgICAgICAgICAgbWFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgnbWV0YScgaW4gZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmVEYXRhID0gc3RydWN0dXJlZENsb25lKGRhdGEpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9uZURhdGEuZGF0YSA9IGNsb25lRGF0YS5kYXRhLm1hcCgoaXRlbSkgPT4gbmV3IFNjUHJvZHVjdChpdGVtKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjbG9uZURhdGEgYXMgU2NJUGFnaW5hdGU8U2NQcm9kdWN0PjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IG5ldyBTY1Byb2R1Y3QoaXRlbSwgaW5kZXgpKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40Lgg0Lgg0LrRjdGI0LjRgNGD0LXRgiDQtdCz0L4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyYW1zINCf0LDRgNCw0LzQtdGC0YDRiyDQt9Cw0L/RgNC+0YHQsCDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgcHVibGljIGdldFByb2R1Y3RzQ2F0ZWdvcnlDYWNoZWQkKHBhcmFtczogU2NJQ2F0ZWdvcnlQcm9kdWN0UGFyYW1zKTogT2JzZXJ2YWJsZTxTY1Byb2R1Y3RbXSB8IG51bGw+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICBpZiAoIXBhcmFtcy5jYXRlZ29yeUlkICYmICFwYXJhbXMuY2F0ZWdvcnlTbHVnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ9Cd0LUg0YPQutCw0LfQsNC9IGlkL3NsdWcg0LrQsNGC0LXQs9C+0YDQuNC4LicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24sQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICBjb25zdCBjYWNoZWRLZXkgPSAocGFyYW1zLmNhdGVnb3J5U2x1ZyA/PyBwYXJhbXMuY2F0ZWdvcnlJZCkhO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbCxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLmNhdGVnb3J5UHJvZHVjdHNNYXAuZ2V0KGNhY2hlZEtleS50b1N0cmluZygpKTtcblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKHRoaXMuY2FjaGVMaWZlVGltZS5jYXRlZ29yeURhdGEsIHRoaXMuZ2V0UHJvZHVjdHMkKHBhcmFtcykpO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbFxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeVByb2R1Y3RzTWFwLnNldChjYWNoZWRLZXkudG9TdHJpbmcoKSwgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0uY2FjaGVkRGF0YUlzQWN0dWFsKCkpIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0udXBkYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINGD0LrQsNC30LDQvdC90L7QvCDQv9GA0L7QtNGD0LrRgtC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0RGF0YSQocHJvZHVjdElkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPFNjUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lQcm9kdWN0RFRPPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzLyR7cHJvZHVjdElkT3JTbHVnfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHByb2R1Y3REVE8pID0+IG5ldyBTY1Byb2R1Y3QocHJvZHVjdERUTykpLFxuICAgICAgICAgICAgdGFwKChwcm9kdWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2R1Y3RJZE9yU2x1Zykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RJZE9yU2x1Z01hcC5zZXQodHlwZW9mIHByb2R1Y3RJZE9yU2x1ZyA9PT0gJ3N0cmluZycgPyBwcm9kdWN0LmlkIDogcHJvZHVjdC5zbHVnLCBwcm9kdWN0SWRPclNsdWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb2R1Y3REYXRhQ2FjaGVkJChwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8U2NQcm9kdWN0IHwgbnVsbD4ge1xuICAgICAgICBjb25zdCB2YWx1ZUZyb21NYXAgPSB0aGlzLnByb2R1Y3RJZE9yU2x1Z01hcC5nZXQocHJvZHVjdElkT3JTbHVnKTtcblxuICAgICAgICBpZiAodmFsdWVGcm9tTWFwKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgIHByb2R1Y3RJZE9yU2x1ZyA9IHZhbHVlRnJvbU1hcDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY2FjaGVkSXRlbSA9IHRoaXMucHJvZHVjdE1hcC5nZXQocHJvZHVjdElkT3JTbHVnLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0odGhpcy5jYWNoZUxpZmVUaW1lLmNhdGVnb3J5RGF0YSwgdGhpcy5nZXRQcm9kdWN0RGF0YSQocHJvZHVjdElkT3JTbHVnKSk7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RNYXAuc2V0KHByb2R1Y3RJZE9yU2x1Zy50b1N0cmluZygpLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDQvdCwINC/0L7Qu9GD0YfQtdC90LjQtSDQs9C10L3QtdGA0LjRgNGD0LXQvNC+0LPQviDRhNCw0LnQu9CwINC/0YDQsNC50YEt0LvQuNGB0YLQsCDQsiDRhNC+0YDQvNCw0YLQtSB7QGxpbmsgQmxvYn0sINC4INCy0YvQs9GA0YPQttCw0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4g0LIg0LHRgNCw0YPQt9C10YAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZSB7QGxpbmsgU2NNaW1lVHlwZXN9INC30LDQv9GA0LDRiNC40LLQsNC10LzQvtCz0L4g0YTQsNC50LvQsC5cbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutCw0YLQtdCz0L7RgNC40LgsINC00LvRjyDQutC+0YLQvtGA0L7QuSDQt9Cw0LPRgNGD0LbQsNC10YLRgdGPINC/0YDQsNC50YEt0LvQuNGB0YIuXG4gICAgICovXG4gICAgcHVibGljIGRvd25sb2FkUHJpY2UkKHR5cGU6IFNjTWltZVR5cGVzLCBjYXRlZ29yeUlkPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29udmVydGVyc1NlcnZpY2UudG9IdHRwUGFyYW1zKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZvcm1hdDogT2JqZWN0LmtleXMoU2NNaW1lVHlwZXMpW09iamVjdC52YWx1ZXMoU2NNaW1lVHlwZXMpLmluZGV4T2YodHlwZSldLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiBjYXRlZ29yeUlkID8/IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBub25OdWxsYWJsZTogdHJ1ZSB9XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9kb3dubG9hZGAsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicsIHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGJsb2I6IEJsb2IpID0+IG5ldyBCbG9iKFtibG9iXSwgeyB0eXBlOiB0eXBlIH0pKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uY2F0YWxvZ1ByaWNlRG93bmxvYWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6IGNhdGVnb3J5SWQgPz8gJ3Jvb3QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpY2VfdHlwZTogdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC/0YDQvtGBINC90LAg0YPQstC10LTQvtC80LvQtdC90LjQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L4g0L/QvtGB0YLRg9C/0LvQtdC90LjQuCDQv9GA0L7QtNGD0LrRgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDRgtC+0LLQsNGA0LAuXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdE5vdGlmeVdoZW5JblN0b2NrJChwcm9kdWN0SWRPclNsdWc6IHN0cmluZyB8IG51bWJlciwgZGF0YTogU2NJUHJvZHVjdE5vdGlmeVdoZW5JblN0b2NrKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9wcm9kdWN0cy8ke3Byb2R1Y3RJZE9yU2x1Z30vc3RvY2stbm90aWZ5YCwgZGF0YSk7XG4gICAgfVxufVxuIl19
|
|
341
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL3NlcnZpY2VzL3NjLWNhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNckksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMv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RSxJQUFJO2lCQUNuQjthQUNKLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSw0QkFBNEIsQ0FBQyxlQUFnQyxFQUFFLElBQWlDO1FBQ25HLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0scUJBQXFCLGVBQWUsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ILENBQUM7K0dBNVpRLGdCQUFnQiw0Q0EyRmIsT0FBTywyRUFHUCxpQkFBaUI7bUhBOUZwQixnQkFBZ0IsY0FGYixNQUFNOzs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkE0RlEsTUFBTTsyQkFBQyxPQUFPOzswQkFHZCxNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVUeXBlc1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR1aUlzUHJlc2VudCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZXhwYW5kLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgc2tpcCwgc3dpdGNoTWFwLCB0YWtlV2hpbGUsIHRhcCwgdG9BcnJheSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0lDYWNoZUxpZmV0aW1lIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NjLWktY2FjaGUtbGlmZXRpbWUnO1xuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZy9zYy1pLXVybHMnO1xuaW1wb3J0IHsgU2NDb252ZXJ0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnZlcnRlcnMvc2VydmljZXMvc2MtY29udmVydGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFNjSVBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vcGFnaW5hdGlvbi9kdG8vc2MtaS1wYWdpbmF0ZSc7XG5pbXBvcnQgeyBTY0lkT3JTbHVnUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3NjLWlkLW9yLXNsdWcucGlwZSc7XG5pbXBvcnQgeyBTQ19DQUNIRV9MSUZFVElNRSB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1jYWNoZS1saWZldGltZSc7XG5pbXBvcnQgeyBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhUIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLWlzLWhpZGRlbi1lcnJvci1hbGVydCc7XG5pbXBvcnQgeyBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLXVybHMnO1xuaW1wb3J0IHsgU2NVSVNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS9zZXJ2aWNlcy9zYy11aS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3NjLXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi91c2VyL3Rva2Vucy9zYy11c2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthR29hbHNFbnVtIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthL2VudW1zL3NjLXVzZXItbWV0cmlrYS1nb2Fscy1lbnVtJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthL3NlcnZpY2VzL3NjLXVzZXItbWV0cmlrYS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjQ2FjaGVkSXRlbSB9IGZyb20gJy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgU2NDYXRlZ29yeSB9IGZyb20gJy4uL2R0by9zYy1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY0lQcm9kdWN0Tm90aWZ5V2hlbkluU3RvY2sgfSBmcm9tICcuLi9kdG8vc2MtaS1wcm9kdWN0LW5vdGlmeS13aGVuLWluLXN0b2NrJztcbmltcG9ydCB7IFNjUHJvZHVjdCB9IGZyb20gJy4uL2R0by9zYy1wcm9kdWN0JztcbmltcG9ydCB7IFNjVmlydHVhbENhdGVnb3J5IH0gZnJvbSAnLi4vZHRvL3NjLXZpcnR1YWwtY2F0ZWdvcnknO1xuaW1wb3J0IHsgU2NNaW1lVHlwZXMgfSBmcm9tICcuLi9lbnVtcy9zYy1taW1lLXR5cGVzJztcbmltcG9ydCB7IFNjSUNhdGVnb3J5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLWNhdGVnb3J5JztcbmltcG9ydCB7IFNjSUNhdGVnb3J5UHJvZHVjdFBhcmFtcyB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1jYXRlZ29yeS1wcm9kdWN0LXBhcmFtcyc7XG5pbXBvcnQgeyBTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLWNhdGVnb3J5LXByb2R1Y3RzLXBhZ2luYXRpb24tcGFyYW1zJztcbmltcG9ydCB7IFNjSVByb2R1Y3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcHJvZHVjdCc7XG5pbXBvcnQgeyBTY0lWaXJ0dWFsQ2F0ZWdvcnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktdmlydHVhbC1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTQ19DT1VOVF9GSVJTVF9ESVNDT1VOVEVEX1BST0RVQ1RTIH0gZnJvbSAnLi4vdG9rZW5zL3NjLWNvdW50LWZpcnN0LWRpc2NvdW50ZWQtcHJvZHVjdHMnO1xuaW1wb3J0IHsgU2NQcmljZUhpc3RvcnkgfSBmcm9tICcuLi90eXBlcy9zYy1wcmljZS1oaXN0b3J5JztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjQ2F0YWxvZ1NlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LrQsNGC0LXQs9C+0YDQuNC5INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHByaXZhdGUgaWRDYXRlZ29yeU1hcDogTWFwPG51bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZCwgU2NDYXRlZ29yeT4gPSBuZXcgTWFwPG51bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZCwgU2NDYXRlZ29yeT4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LLQuNGA0YLRg9Cw0LvRjNC90YvRhSDQutCw0YLQtdCz0L7RgNC40LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSB2aXJ0dWFsQ2F0ZWdvcnlNYXA6IE1hcDxzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1ZpcnR1YWxDYXRlZ29yeT4+ID0gbmV3IE1hcDxzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1ZpcnR1YWxDYXRlZ29yeT4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDQutCw0YLQtdCz0L7RgNC40Lkg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXG4gICAgcHJpdmF0ZSBjYXRlZ29yeU1hcDogTWFwPG51bWJlciB8IHN0cmluZyB8IHZvaWQsIFNjQ2FjaGVkSXRlbTxTY0NhdGVnb3J5Pj4gPSBuZXcgTWFwPG51bWJlciB8IHN0cmluZyB8IHZvaWQsIFNjQ2FjaGVkSXRlbTxTY0NhdGVnb3J5Pj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBNYXB9INC60L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0L/RgNC+0LTRg9C60YLQvtCyINC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9kdWN0TWFwOiBNYXA8bnVtYmVyIHwgc3RyaW5nLCBTY0NhY2hlZEl0ZW08U2NQcm9kdWN0Pj4gPSBuZXcgTWFwPG51bWJlciB8IHN0cmluZywgU2NDYWNoZWRJdGVtPFNjUHJvZHVjdD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40Lgg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhdGVnb3J5UHJvZHVjdHNNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1Byb2R1Y3RbXT4+ID0gbmV3IE1hcDxudW1iZXIsIFNjQ2FjaGVkSXRlbTxTY1Byb2R1Y3RbXT4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC40Y8g0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqL1xuICAgIHByaXZhdGUgcHJvZHVjdEhpc3RvcnlNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1ByaWNlSGlzdG9yeT4+ID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1ByaWNlSGlzdG9yeT4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQn9Cw0LnQvywg0LLQvtC30LLRgNCw0YnQsNGO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCDRgdC40LzQstC+0LvRjNC90L7QtSDQvtCx0L7Qt9C90LDRh9C10L3QuNC1IChzbHVnKSDQuNGB0YXQvtC00Y8g0LjQtyDQvdCw0YHRgtGA0L7QtdC6INC+0LrRgNGD0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlkT3JTbHVnUGlwZTogU2NJZE9yU2x1Z1BpcGUgPSBpbmplY3QoU2NJZE9yU2x1Z1BpcGUpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE1hcH0g0LrQvtC70LvQtdC60YbQuNGPINC/0LDRgCDQutC70Y7Rhy3Qt9C90LDRh9C10L3QuNC1INC00LvRjyDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjyBzbHVnINC4IGlkINC60LDRgtC10LPQvtGA0LjQuSDQv9GA0Lgg0LrQtdGI0LjRgNC+0LLQsNC90LjQuCDQt9Cw0L/RgNC+0YHQvtCyLCDQtdGB0LvQuCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvtGC0LvQuNGH0LDQtdGC0YHRjyDQvtGCINGD0YHRgtCw0L3QvtCy0LvQtdC90L3QvtCz0L4g0LIg0L/RgNC+0LXQutGC0LUgKHNsdWcvaWQpLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlJZE9yU2x1Z01hcDogTWFwPG51bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nPiA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINGB0L7Qv9C+0YHRgtCw0LLQu9C10L3QuNGPIHNsdWcg0LggaWQg0YLQvtCy0LDRgNC+0LIg0L/RgNC4INC60LXRiNC40YDQvtCy0LDQvdC40Lgg0LfQsNC/0YDQvtGB0L7Qsiwg0LXRgdC70Lgg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L7RgtC70LjRh9Cw0LXRgtGB0Y8g0L7RgiDRg9GB0YLQsNC90L7QstC70LXQvdC90L7Qs9C+INCyINC/0YDQvtC10LrRgtC1IChzbHVnL2lkKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RJZE9yU2x1Z01hcDogTWFwPG51bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nPiA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQp9C40YHQu9C+INC/0LXRgNCy0YvRhSDQt9Cw0L/QuNGB0LXQuSDRgtC+0LLQsNGA0L7QsiDRgdC+INGB0LrQuNC00LrQvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRGaXJzdERpc2NvdW50ZWRQcm9kdWN0czogbnVtYmVyID0gaW5qZWN0KFNDX0NPVU5UX0ZJUlNUX0RJU0NPVU5URURfUFJPRFVDVFMpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC40L3RhNC+0YDQvNCw0YbQuNC4INC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlOiBTY1VzZXJTZXJ2aWNlID0gaW5qZWN0KFNjVXNlclNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC/0LjRgdC60LAg0YLQvtCy0LDRgNC+0LIg0YHQviDRgdC60LjQtNC60L7QuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlyc3REaXNjb3VudGVkJDogT2JzZXJ2YWJsZTxTY0lQYWdpbmF0ZTxTY1Byb2R1Y3Q+IHwgbnVsbD4gPSBpbmplY3QoU0NfVVNFUl9JTkZPKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHVzZXIpID0+XG4gICAgICAgICAgICB1c2VyLmlzR3Vlc3QgPyBvZihudWxsKSA6IHRoaXMuZ2V0UHJvZHVjdHMkKHsgZmlsdGVyczogeyBvbmx5RGlzY291bnRlZDogdHJ1ZSB9LCBwYWdpbmF0ZTogdHJ1ZSwgcGFnZTogMSwgcGVyUGFnZTogdGhpcy5jb3VudEZpcnN0RGlzY291bnRlZFByb2R1Y3RzIH0pXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQv9C40YHQutCwINC40Lcg0L/QtdGA0LLRi9GFINGC0L7QstCw0YDQvtCyINGB0L4g0YHQutC40LTQutC+0LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZpcnN0RGlzY291bnRlZFByb2R1Y3RzJDogT2JzZXJ2YWJsZTxTY1Byb2R1Y3RbXT4gPSB0aGlzLmZpcnN0RGlzY291bnRlZCQucGlwZShtYXAoKGRhdGEpID0+IGRhdGE/LmRhdGEgPz8gW10pKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0L7QsdGJ0LXQs9C+INC60L7Qu9C70LjRh9C10YHRgtCy0LAg0YLQvtCy0LDRgNCwINGB0L4g0YHQutC40LTQutC+0LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvdW50RGlzY291bnRlZFByb2R1Y3RzJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5maXJzdERpc2NvdW50ZWQkLnBpcGUobWFwKChkYXRhKSA9PiBkYXRhPy5tZXRhLnRvdGFsID8/IDApKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NDYXRhbG9nU2VydmljZX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaHR0cCDQodC10YDQstC40YEg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPIEhUVFAt0LfQsNC/0YDQvtGB0L7Qsi5cbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSB1aVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEgVUkuXG4gICAgICogQHBhcmFtIGNvbnZlcnRlcnNTZXJ2aWNlINCh0LXRgNCy0LjRgSDQutC+0L3QstC10YDRgtCw0YbQuNC4INC00LDQvdC90YvRhS5cbiAgICAgKiBAcGFyYW0gY2FjaGVMaWZlVGltZSDQntCx0YrQtdC60YIg0YEg0LjQvdGE0L7RgNC80LDRhtC40LXQuSDQviDQstGA0LXQvNC10L3QuCDQttC40LfQvdC4INC00LDQvdC90YvRhS5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1aVNlcnZpY2U6IFNjVUlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRlcnNTZXJ2aWNlOiBTY0NvbnZlcnRlcnNTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX0NBQ0hFX0xJRkVUSU1FKSBwcml2YXRlIHJlYWRvbmx5IGNhY2hlTGlmZVRpbWU6IFNjSUNhY2hlTGlmZXRpbWUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlckNoYW5nZSQoKVxuICAgICAgICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaWRDYXRlZ29yeU1hcC5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RIaXN0b3J5TWFwLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0TWFwLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeVByb2R1Y3RzTWFwLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy52aXJ0dWFsQ2F0ZWdvcnlNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60LDRgtC10LPQvtGA0LjRjiDQuNC3INC60L7Qu9C70LXQutGG0LjQuCDQutCw0YLQsNC70L7Qs9CwLCDQtdGB0LvQuCDQtdGRINGB0YDQvtC6INC20LjQt9C90Lgg0L3QtSDQuNGB0YLRkdC6LlxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQg0KPQtNCw0LvQuNGC0Ywg0LIg0YDQsNC80LrQsNGFINC30LDQtNCw0YfQuCBUQVNLWyMxMDE1M10uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDQutCw0YLQtdCz0L7RgNC40Lgg0YLQvtCy0LDRgNC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGVnb3J5RnJvbU1hcChjYXRlZ29yeUlkT3JTbHVnPzogbnVtYmVyIHwgc3RyaW5nKTogU2NDYXRlZ29yeSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gdGhpcy5pZENhdGVnb3J5TWFwLmdldChjYXRlZ29yeUlkT3JTbHVnPy50b1N0cmluZygpKTtcblxuICAgICAgICBpZiAoY2F0ZWdvcnkgJiYgKCFjYXRlZ29yeS5wYXJlbnRDYXRlZ29yeSB8fCAhY2F0ZWdvcnkubG9hZGVkQXQgfHwgY2F0ZWdvcnkuY2FjaGVkRGF0YUlzQWN0dWFsKHRoaXMuY2FjaGVMaWZlVGltZS5jYXRlZ29yeURhdGEpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pZENhdGVnb3J5TWFwLmRlbGV0ZShjYXRlZ29yeUlkT3JTbHVnPy50b1N0cmluZygpKTtcblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDQtdGCINC30LDQv9GA0L7RgSDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwINC60LDRgtC10LPQvtGA0LjQuSDRgtC+0LLQsNGA0L7QsiDQuNC70Lgg0YHQv9C40YHQvtC6INC60L7RgNC90LXQstGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5LCDQtdGB0LvQuCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutCw0YLQtdCz0L7RgNC40Lgg0L3QtSDRg9C60LDQt9Cw0L0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDQutCw0YLQtdCz0L7RgNC40Lgg0YLQvtCy0LDRgNC+0LIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDYXRlZ29yeURhdGEkKGNhdGVnb3J5SWRPclNsdWc/OiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPFNjQ2F0ZWdvcnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJQ2F0ZWdvcnk+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhdGFsb2cvY2F0ZWdvcmllcy8ke2NhdGVnb3J5SWRPclNsdWcgPz8gJyd9YCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2F0ZWdvcnkpID0+IG5ldyBTY0NhdGVnb3J5KGNhdGVnb3J5KSksXG4gICAgICAgICAgICB0YXAoKGNhdGVnb3J5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNhdGVnb3J5SWRPclNsdWcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeUlkT3JTbHVnTWFwLnNldCh0eXBlb2YgY2F0ZWdvcnlJZE9yU2x1ZyA9PT0gJ3N0cmluZycgPyBjYXRlZ29yeS5pZCA6IGNhdGVnb3J5LnNsdWcsIGNhdGVnb3J5SWRPclNsdWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC60L7RgNC90LXQstGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5INGBINC90LDRgdGC0YDQvtC50LrQsNC80Lgg0L7RgtC+0LHRgNCw0LbQtdC90LjRjywg0YfRgtC+0LHRiyDRgNC10LDQs9C40YDQvtCy0LDRgtGMINC90LAg0LjQt9C80LXQvdC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGaWx0ZXJlZFJvb3RDYXRlZ29yaWVzJCgpOiBPYnNlcnZhYmxlPFNjSUNhdGVnb3J5W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudWlTZXJ2aWNlLmdldEhpZGRlbkNhdGVnb3JpZXNMaXN0JCgpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRSb290Q2F0ZWdvcmllcyQoKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChkYXRhKSA9PiBkYXRhLmZpbHRlcigoY2F0ZWdvcnkpID0+IGNhdGVnb3J5LmlkICYmICFmaWx0ZXJzLmluY2x1ZGVzKGNhdGVnb3J5LmlkKSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INCy0LjRgNGC0YPQsNC70YzQvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIHNsdWcg0KHQuNC80LLQvtC70YzQvdGL0Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQuNGA0YLRg9Cw0LvRjNC90L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgcHVibGljIGdldFZpcnR1YWxDYXRlZ29yeUNhY2hlZCQoc2x1Zzogc3RyaW5nKTogT2JzZXJ2YWJsZTxTY1ZpcnR1YWxDYXRlZ29yeSB8IG51bGw+IHtcbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLnZpcnR1YWxDYXRlZ29yeU1hcC5nZXQoc2x1Zyk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtKSB7XG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbShcbiAgICAgICAgICAgICAgICB0aGlzLmNhY2hlTGlmZVRpbWUuY2F0ZWdvcnlEYXRhLFxuICAgICAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8U2NJVmlydHVhbENhdGVnb3J5PihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3YtY2F0ZWdvcmllcy8ke3NsdWd9YCkucGlwZShtYXAoKGNhdGVnb3J5KSA9PiBuZXcgU2NWaXJ0dWFsQ2F0ZWdvcnkoY2F0ZWdvcnkpKSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMudmlydHVhbENhdGVnb3J5TWFwLnNldChzbHVnLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC60LDRgtC10LPQvtGA0LjQuCDRgtC+0LLQsNGA0L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2F0ZWdvcnlDYWNoZWQkKGNhdGVnb3J5SWRPclNsdWc/OiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPFNjQ2F0ZWdvcnkgfCBudWxsPiB7XG4gICAgICAgIGlmIChjYXRlZ29yeUlkT3JTbHVnICYmIHRoaXMuY2F0ZWdvcnlJZE9yU2x1Z01hcC5oYXMoY2F0ZWdvcnlJZE9yU2x1ZykpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgY2F0ZWdvcnlJZE9yU2x1ZyA9IHRoaXMuY2F0ZWdvcnlJZE9yU2x1Z01hcC5nZXQoY2F0ZWdvcnlJZE9yU2x1Zyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY2FjaGVkSXRlbSA9IHRoaXMuY2F0ZWdvcnlNYXAuZ2V0KGNhdGVnb3J5SWRPclNsdWc/LnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0odGhpcy5jYWNoZUxpZmVUaW1lLmNhdGVnb3J5RGF0YSwgdGhpcy5nZXRDYXRlZ29yeURhdGEkKGNhdGVnb3J5SWRPclNsdWcpKTtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlNYXAuc2V0KGNhdGVnb3J5SWRPclNsdWc/LnRvU3RyaW5nKCksIGNhY2hlZEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtLmNhY2hlZERhdGFJc0FjdHVhbCgpKSB7XG4gICAgICAgICAgICBjYWNoZWRJdGVtLnVwZGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhY2hlZEl0ZW0uaXRlbSQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDQutC+0YDQvdC10LLRi9GFINC60LDRgtC10LPQvtGA0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TnVsbENhdGVnb3J5JCgpOiBPYnNlcnZhYmxlPFNjQ2F0ZWdvcnkgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENhdGVnb3J5Q2FjaGVkJCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDQtdGCINC30LDQv9GA0L7RgSDQv9C+0LvRg9GH0LXQvdC40Y8g0LrQvtGA0L3QtdCy0YvRhSDQutCw0YLQtdCz0L7RgNC40LkuXG4gICAgICovXG4gICAgcHVibGljIGdldFJvb3RDYXRlZ29yaWVzJCgpOiBPYnNlcnZhYmxlPFNjSUNhdGVnb3J5W10gfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE51bGxDYXRlZ29yeSQoKS5waXBlKG1hcCgobnVsbENhdGVnb3J5KSA9PiBudWxsQ2F0ZWdvcnk/LmNhdGVnb3JpZXMgPz8gbnVsbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCg0LDRgdC60YDRi9Cy0LDQtdGCINC60LDRgtCw0LvQvtCzINC00L4g0YPQutCw0LfQsNC90L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC60LDRgtC10LPQvtGA0LjQuCwg0LTQviDQutC+0YLQvtGA0L7QuSDQvdC10L7QsdGF0L7QtNC40LzQviDRgNCw0YHQutGA0YvRgtGMINC60LDRgtCw0LvQvtCzLlxuICAgICAqIEByZXR1cm5zINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRgNCw0YHQutGA0YvRgtGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkQ2F0YWxvZ1RyZWVDYWNoZWQkKGNhdGVnb3J5SWRPclNsdWc6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDYXRlZ29yeUNhY2hlZCQoY2F0ZWdvcnlJZE9yU2x1ZykucGlwZShcbiAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIGV4cGFuZCgoY2F0ZWdvcnkpID0+XG4gICAgICAgICAgICAgICAgKGNhdGVnb3J5LnBhcmVudENhdGVnb3J5ID8gdGhpcy5nZXRDYXRlZ29yeUNhY2hlZCQodGhpcy5pZE9yU2x1Z1BpcGUudHJhbnNmb3JtKGNhdGVnb3J5LnBhcmVudENhdGVnb3J5KSkgOiB0aGlzLmdldE51bGxDYXRlZ29yeSQoKSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24sc29uYXJqcy9kaWZmZXJlbnQtdHlwZXMtY29tcGFyaXNvblxuICAgICAgICAgICAgdGFrZVdoaWxlKChwYXJlbnRDYXRlZ29yeSkgPT4gcGFyZW50Q2F0ZWdvcnkucGFyZW50Q2F0ZWdvcnkgIT09IHVuZGVmaW5lZCwgdHJ1ZSksXG4gICAgICAgICAgICB0b0FycmF5KCksXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9uby1taXNsZWFkaW5nLWFycmF5LXJldmVyc2VcbiAgICAgICAgICAgIG1hcCgoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5yZXZlcnNlKCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0L7Qu9GD0YfQtdC90LjRjyDQuNGB0YLQvtGA0LjQuCDQuNC30LzQtdC90LXQvdC40Y8g0YbQtdC9INC90LAg0L/RgNC+0LTRg9C60YIg0LTQu9GPINC60LvQuNC10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0J/RgNC+0LTRg9C60YIsINC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC30LDQv9GA0LDRiNC40LLQsNC10YLRgdGPINGG0LXQvdCwLlxuICAgICAqIEByZXR1cm5zINCY0YHRgtC+0YDQuNGPINC40LfQvNC10L3QtdC90LjRjyDRhtC10L0g0L3QsCDQv9GA0L7QtNGD0LrRgiDQtNC70Y8g0LrQu9C40LXQvdGC0LAg0LIg0YTQvtGA0LzQsNGC0LUge0BsaW5rIE9ic2VydmFibGV9INC40Lcg0LfQsNC/0YDQvtGB0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldFByaWNlSGlzdG9yeSQocHJvZHVjdDogU2NQcm9kdWN0KTogT2JzZXJ2YWJsZTxTY1ByaWNlSGlzdG9yeSB8IG51bGw+IHtcbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLnByb2R1Y3RIaXN0b3J5TWFwLmdldChwcm9kdWN0LmlkLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0oXG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZUxpZmVUaW1lLmNhdGVnb3J5RGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxTY1ByaWNlSGlzdG9yeT4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9wcm9kdWN0cy8ke3Byb2R1Y3QuaWR9L3ByaWNlLWhpc3RvcnlgLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhULFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKHt9KSkpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RIaXN0b3J5TWFwLnNldChwcm9kdWN0LmlkLnRvU3RyaW5nKCksIGNhY2hlZEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhY2hlZEl0ZW0uaXRlbSQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0YLQvtCy0LDRgNC+0LIg0LTQu9GPINC60L7QvdC60YDQtdGC0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINGC0L7QstCw0YDQvtCyINC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdHMkKHBhcmFtczogU2NJQ2F0ZWdvcnlQcm9kdWN0UGFyYW1zKTogT2JzZXJ2YWJsZTxTY1Byb2R1Y3RbXT47XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQutCw0YLQsNC70L7Qs9CwINGBINC/0LDQs9C40L3QsNGG0LjQtdC5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtcyDQn9Cw0YDQsNC80LXRgtGA0Ysg0L/QsNCz0LjQvdCw0YbQuNC4INGC0L7QstCw0YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0cyQocGFyYW1zOiBTY0lDYXRlZ29yeVByb2R1Y3RQYWdpbmF0aW9uUGFyYW1zKTogT2JzZXJ2YWJsZTxTY0lQYWdpbmF0ZTxTY1Byb2R1Y3Q+PjtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkdW5kYW50LXR5cGUtY29uc3RpdHVlbnRzXG4gICAgcHVibGljIGdldFByb2R1Y3RzJChwYXJhbXM6IFNjSUNhdGVnb3J5UHJvZHVjdFBhcmFtcyB8IFNjSUNhdGVnb3J5UHJvZHVjdFBhZ2luYXRpb25QYXJhbXMpOiBPYnNlcnZhYmxlPFNjUHJvZHVjdFtdIHwgU2NJUGFnaW5hdGU8U2NQcm9kdWN0Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFNjSVBhZ2luYXRlPFNjSVByb2R1Y3Q+IHwgU2NJUHJvZHVjdFtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzYCwge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB0aGlzLmNvbnZlcnRlcnNTZXJ2aWNlLnRvSHR0cFBhcmFtcyh7IC4uLnBhcmFtcyB9LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2Z1bmN0aW9uLXJldHVybi10eXBlXG4gICAgICAgICAgICAgICAgbWFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgnbWV0YScgaW4gZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmVEYXRhID0gc3RydWN0dXJlZENsb25lKGRhdGEpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9uZURhdGEuZGF0YSA9IGNsb25lRGF0YS5kYXRhLm1hcCgoaXRlbSkgPT4gbmV3IFNjUHJvZHVjdChpdGVtKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjbG9uZURhdGEgYXMgU2NJUGFnaW5hdGU8U2NQcm9kdWN0PjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IG5ldyBTY1Byb2R1Y3QoaXRlbSwgaW5kZXgpKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40Lgg0Lgg0LrRjdGI0LjRgNGD0LXRgiDQtdCz0L4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyYW1zINCf0LDRgNCw0LzQtdGC0YDRiyDQt9Cw0L/RgNC+0YHQsCDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgcHVibGljIGdldFByb2R1Y3RzQ2F0ZWdvcnlDYWNoZWQkKHBhcmFtczogU2NJQ2F0ZWdvcnlQcm9kdWN0UGFyYW1zKTogT2JzZXJ2YWJsZTxTY1Byb2R1Y3RbXSB8IG51bGw+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICBpZiAoIXBhcmFtcy5jYXRlZ29yeUlkICYmICFwYXJhbXMuY2F0ZWdvcnlTbHVnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ9Cd0LUg0YPQutCw0LfQsNC9IGlkL3NsdWcg0LrQsNGC0LXQs9C+0YDQuNC4LicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24sQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICBjb25zdCBjYWNoZWRLZXkgPSAocGFyYW1zLmNhdGVnb3J5U2x1ZyA/PyBwYXJhbXMuY2F0ZWdvcnlJZCkhO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbCxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgbGV0IGNhY2hlZEl0ZW0gPSB0aGlzLmNhdGVnb3J5UHJvZHVjdHNNYXAuZ2V0KGNhY2hlZEtleS50b1N0cmluZygpKTtcblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKHRoaXMuY2FjaGVMaWZlVGltZS5jYXRlZ29yeURhdGEsIHRoaXMuZ2V0UHJvZHVjdHMkKHBhcmFtcykpO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbFxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeVByb2R1Y3RzTWFwLnNldChjYWNoZWRLZXkudG9TdHJpbmcoKSwgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNhY2hlZEl0ZW0uY2FjaGVkRGF0YUlzQWN0dWFsKCkpIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0udXBkYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINGD0LrQsNC30LDQvdC90L7QvCDQv9GA0L7QtNGD0LrRgtC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0RGF0YSQocHJvZHVjdElkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPFNjUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lQcm9kdWN0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzLyR7cHJvZHVjdElkT3JTbHVnfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHByb2R1Y3REVE8pID0+IG5ldyBTY1Byb2R1Y3QocHJvZHVjdERUTykpLFxuICAgICAgICAgICAgdGFwKChwcm9kdWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2R1Y3RJZE9yU2x1Zykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RJZE9yU2x1Z01hcC5zZXQodHlwZW9mIHByb2R1Y3RJZE9yU2x1ZyA9PT0gJ3N0cmluZycgPyBwcm9kdWN0LmlkIDogcHJvZHVjdC5zbHVnLCBwcm9kdWN0SWRPclNsdWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb2R1Y3REYXRhQ2FjaGVkJChwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8U2NQcm9kdWN0IHwgbnVsbD4ge1xuICAgICAgICBjb25zdCB2YWx1ZUZyb21NYXAgPSB0aGlzLnByb2R1Y3RJZE9yU2x1Z01hcC5nZXQocHJvZHVjdElkT3JTbHVnKTtcblxuICAgICAgICBpZiAodmFsdWVGcm9tTWFwKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgIHByb2R1Y3RJZE9yU2x1ZyA9IHZhbHVlRnJvbU1hcDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY2FjaGVkSXRlbSA9IHRoaXMucHJvZHVjdE1hcC5nZXQocHJvZHVjdElkT3JTbHVnLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0odGhpcy5jYWNoZUxpZmVUaW1lLmNhdGVnb3J5RGF0YSwgdGhpcy5nZXRQcm9kdWN0RGF0YSQocHJvZHVjdElkT3JTbHVnKSk7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RNYXAuc2V0KHByb2R1Y3RJZE9yU2x1Zy50b1N0cmluZygpLCBjYWNoZWRJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDRkdGCINC30LDQv9GA0L7RgSDQvdCwINC/0L7Qu9GD0YfQtdC90LjQtSDQs9C10L3QtdGA0LjRgNGD0LXQvNC+0LPQviDRhNCw0LnQu9CwINC/0YDQsNC50YEt0LvQuNGB0YLQsCDQsiDRhNC+0YDQvNCw0YLQtSB7QGxpbmsgQmxvYn0sINC4INCy0YvQs9GA0YPQttCw0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4g0LIg0LHRgNCw0YPQt9C10YAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHlwZSB7QGxpbmsgU2NNaW1lVHlwZXN9INC30LDQv9GA0LDRiNC40LLQsNC10LzQvtCz0L4g0YTQsNC50LvQsC5cbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutCw0YLQtdCz0L7RgNC40LgsINC00LvRjyDQutC+0YLQvtGA0L7QuSDQt9Cw0LPRgNGD0LbQsNC10YLRgdGPINC/0YDQsNC50YEt0LvQuNGB0YIuXG4gICAgICovXG4gICAgcHVibGljIGRvd25sb2FkUHJpY2UkKHR5cGU6IFNjTWltZVR5cGVzLCBjYXRlZ29yeUlkPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29udmVydGVyc1NlcnZpY2UudG9IdHRwUGFyYW1zKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZvcm1hdDogT2JqZWN0LmtleXMoU2NNaW1lVHlwZXMpW09iamVjdC52YWx1ZXMoU2NNaW1lVHlwZXMpLmluZGV4T2YodHlwZSldLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiBjYXRlZ29yeUlkID8/IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBub25OdWxsYWJsZTogdHJ1ZSB9XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9kb3dubG9hZGAsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicsIHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGJsb2I6IEJsb2IpID0+IG5ldyBCbG9iKFtibG9iXSwgeyB0eXBlOiB0eXBlIH0pKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uY2F0YWxvZ1ByaWNlRG93bmxvYWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6IGNhdGVnb3J5SWQgPz8gJ3Jvb3QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpY2VfdHlwZTogdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC/0YDQvtGBINC90LAg0YPQstC10LTQvtC80LvQtdC90LjQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L4g0L/QvtGB0YLRg9C/0LvQtdC90LjQuCDQv9GA0L7QtNGD0LrRgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDRgtC+0LLQsNGA0LAuXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UHJvZHVjdE5vdGlmeVdoZW5JblN0b2NrJChwcm9kdWN0SWRPclNsdWc6IHN0cmluZyB8IG51bWJlciwgZGF0YTogU2NJUHJvZHVjdE5vdGlmeVdoZW5JblN0b2NrKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9wcm9kdWN0cy8ke3Byb2R1Y3RJZE9yU2x1Z30vc3RvY2stbm90aWZ5YCwgZGF0YSk7XG4gICAgfVxufVxuIl19
|
|
@@ -4,7 +4,7 @@ import { inject, Injectable } from '@angular/core';
|
|
|
4
4
|
import { BehaviorSubject, map, of, shareReplay, switchMap } from 'rxjs';
|
|
5
5
|
import { SC_URLS } from '../../tokens/sc-urls';
|
|
6
6
|
import { SC_USER_INFO } from '../../user/tokens/sc-user-providers';
|
|
7
|
-
import { ScCategory } from '../dto';
|
|
7
|
+
import { ScCategory } from '../dto/sc-category';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
/**
|
|
10
10
|
* Сервис для работы с избранными товарами и категориями.
|
|
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
88
88
|
providedIn: 'root',
|
|
89
89
|
}]
|
|
90
90
|
}] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZmF2b3JpdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2F0YWxvZy9zZXJ2aWNlcy9zYy1mYXZvcml0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtEQUErRDtBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBR2hEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlJOztXQUVHO1FBQ2MsU0FBSSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2RDs7V0FFRztRQUNjLFNBQUksR0FBWSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakQ7O1dBRUc7UUFDYyw0QkFBdUIsR0FBMEIsSUFBSSxlQUFlLENBQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVyRzs7V0FFRztRQUNjLFVBQUssR0FBdUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWxFOztXQUVHO1FBQ2EsZ0JBQVcsR0FBNkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDckYsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDM0IsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxFQUM1RSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsa0hBQWtIO1NBQ3BJLENBQUM7S0FxREw7SUFuREc7O09BRUc7SUFDSSxzQkFBc0I7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sdUJBQXVCLENBQUM7YUFDOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZLENBQUMsVUFBa0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSx5QkFBeUIsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxlQUFlLENBQUMsVUFBa0I7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSx5QkFBeUIsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQ7O09BRUc7SUFDSSx3QkFBd0I7UUFDM0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLFNBQWlCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sdUJBQXVCLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLFNBQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sdUJBQXVCLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQzsrR0FoRlEsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGZCxNQUFNOzs0RkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24sbm8tcmV0dXJuLWFzc2lnbixuby12b2lkICovXG5cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi8uLi91c2VyL2R0by9zYy11c2VyJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjQ2F0ZWdvcnkgfSBmcm9tICcuLi9kdG8vc2MtY2F0ZWdvcnknO1xuaW1wb3J0IHsgU2NJQ2F0ZWdvcnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktY2F0ZWdvcnknO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC40LfQsdGA0LDQvdC90YvQvNC4INGC0L7QstCw0YDQsNC80Lgg0Lgg0LrQsNGC0LXQs9C+0YDQuNGP0LzQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NGYXZvcml0ZVNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEJlaGF2aW9yU3ViamVjdH0g0L7QsdC90L7QstC70LXQvdC40Y8g0YHQv9C40YHQutCwINC40LfQsdGA0LDQvdC90YvRhSDQutCw0YLQtdCz0L7RgNC40LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yaWVzVXBkYXRlU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih2b2lkIHt9KTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNCw0L3QvdGL0YUg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPiA9IGluamVjdChTQ19VU0VSX0lORk8pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INGB0L/QuNGB0LrQsCDQuNC30LHRgNCw0L3QvdGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxTY0NhdGVnb3J5W10+ID0gdGhpcy5jYXRlZ29yaWVzVXBkYXRlU3ViamVjdC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy51c2VyJCksXG4gICAgICAgIHN3aXRjaE1hcCgodXNlcikgPT4gKHVzZXIuaXNHdWVzdCA/IG9mKFtdKSA6IHRoaXMuZ2V0RmF2b3JpdGVDYXRlZ29yaWVzJCgpKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpIC8vINCf0L7QtNC+0LPRgNC10LLQsNC10Lwg0LfQsNC/0YDQvtGBINCy0L4g0LjQt9Cx0LXQttCw0L3QuNC1INC/0L7QstGC0L7RgNC10L3QuNGPINC30LDQv9GA0L7RgdC+0LIg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQuNC30LHRgNCw0L3QvdGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5INC00LvRjyDQvdC+0LLRi9GFINC/0L7QtNC/0LjRgdGH0LjQutC+0LIuXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQuNC30LHRgNCw0L3QvdGL0YUg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGYXZvcml0ZUNhdGVnb3JpZXMkKCk6IE9ic2VydmFibGU8U2NDYXRlZ29yeVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8U2NJQ2F0ZWdvcnlbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vZmF2b3JpdGVzL2NhdGVnb3JpZXNgKVxuICAgICAgICAgICAgLnBpcGUobWFwKChjYXRlZ29yaWVzRFRPKSA9PiBjYXRlZ29yaWVzRFRPLm1hcCgoY2F0ZWdvcnlEVE8pID0+IG5ldyBTY0NhdGVnb3J5KGNhdGVnb3J5RFRPKSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0L/RgNC+0YEg0LTQvtCx0LDQstC70LXQvdC40Y8g0YPQutCw0LfQsNC90L3QvtC5INC60LDRgtC10LPQvtGA0LjQuCDQsiDQuNC30LHRgNCw0L3QvdC+0LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutCw0YLQtdCz0L7RgNC40LgsINC60L7RgtC+0YDRg9GOINC90LXQvtCx0YXQvtC00LjQvNC+INC00L7QsdCw0LLQuNGC0Ywg0LIg0LjQt9Cx0YDQsNC90L3QvtC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBwdXRDYXRlZ29yeSQoY2F0ZWdvcnlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS9mYXZvcml0ZXMvY2F0ZWdvcmllcy8ke2NhdGVnb3J5SWR9YCwge30pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDQt9Cw0L/RgNC+0YEg0YPQtNCw0LvQtdC90LjRjyDRg9C60LDQt9Cw0L3QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4INC40Lcg0LjQt9Cx0YDQsNC90L3Ri9GFLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQsNGC0LXQs9C+0YDQuNC4LCDQutC+0YLQvtGA0YPRjiDQvdC10L7QsdGF0L7QtNC40LzQviDRg9C00LDQu9C40YLRjCDQuNC3INC40LfQsdGA0LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlQ2F0ZWdvcnkkKGNhdGVnb3J5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHVuZGVmaW5lZD4oYCR7dGhpcy51cmxzLmFwaVVybH0vZmF2b3JpdGVzL2NhdGVnb3JpZXMvJHtjYXRlZ29yeUlkfWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDRgdC/0LjRgdC+0Log0LjQt9Cx0YDQsNC90L3Ri9GFINC60LDRgtC10LPQvtGA0LjQuSB7QGxpbmsgY2F0ZWdvcmllcyR9LlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVGYXZvcml0ZUNhdGVnb3JpZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllc1VwZGF0ZVN1YmplY3QubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDQt9Cw0L/RgNC+0YEg0LTQvtCx0LDQstC70LXQvdC40Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0YLQvtCy0LDRgNCwINCyINC40LfQsdGA0LDQvdC90L7QtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwLCDQutC+0YLQvtGA0YvQuSDQvdC10L7QsdGF0L7QtNC40LzQviDQtNC+0LHQsNCy0LjRgtGMINCyINC40LfQsdGA0LDQvdC90L7QtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0UHJvZHVjdCQocHJvZHVjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2Zhdm9yaXRlcy9wcm9kdWN0cy8ke3Byb2R1Y3RJZH1gLCB7fSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINC30LDQv9GA0L7RgSDRg9C00LDQu9C10L3QuNGPINGD0LrQsNC30LDQvdC90L7Qs9C+INC/0YDQvtC00YPQutGC0LAg0LjQtyDQuNC30LHRgNCw0L3QvdGL0YUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGC0L7QstCw0YDQsCwg0LrQvtGC0L7RgNGL0Lkg0L3QtdC+0LHRhdC+0LTQuNC80L4g0YPQtNCw0LvQuNGC0Ywg0LjQtyDQuNC30LHRgNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZVByb2R1Y3QkKHByb2R1Y3RJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS9mYXZvcml0ZXMvcHJvZHVjdHMvJHtwcm9kdWN0SWR9YCk7XG4gICAgfVxufVxuIl19
|
|
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
122
122
|
providedIn: 'root',
|
|
123
123
|
}]
|
|
124
124
|
}], ctorParameters: () => [], propDecorators: { getProductsByCart$: [] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVjb21tZW5kYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2F0YWxvZy9zZXJ2aWNlcy9zYy1yZWNvbW1lbmRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUc5Qzs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUErQmhDOztPQUVHO0lBQ0g7UUFqQ0E7O1dBRUc7UUFDYywwQkFBcUIsR0FBb0QsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFdkk7O1dBRUc7UUFDYyx5QkFBb0IsR0FBb0QsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFdEk7O1dBRUc7UUFDYyxTQUFJLEdBQWUs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QyxDQUFDLEVBQzdJLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM3RixDQUFDO0lBQ04sQ0FBQzsrR0EvSFEsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7QUF3SFg7SUFETixPQUFPO2lFQVVQOzRGQS9IUSx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCO3dEQXVIVSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0dWlQdXJlIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2tpcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NhcnQnO1xuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZy9zYy1pLXVybHMnO1xuaW1wb3J0IHsgU2NDb252ZXJ0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnZlcnRlcnMnO1xuaW1wb3J0IHsgU0NfSVNfSElEREVOX0VSUk9SX0FMRVJUX0hUVFBfQ09OVEVYVCB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1pcy1oaWRkZW4tZXJyb3ItYWxlcnQnO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy11cmxzJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjQ2FjaGVkSXRlbSB9IGZyb20gJy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgU2NQcm9kdWN0IH0gZnJvbSAnLi4vZHRvL3NjLXByb2R1Y3QnO1xuaW1wb3J0IHsgU2NJUHJvZHVjdERUTyB9IGZyb20gJy4uL2ludGVybmFsJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDRgNC10LrQvtC80LXQvdC00YPQtdC80YvQvNC4INGC0L7QstCw0YDQsNC80LguXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjUmVjb21tZW5kYXRpb25TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDRgNC10LrQvtC80LXQvdC00YPQtdC80YvRhSDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0c0J5Q2F0ZWdvcnlNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1Byb2R1Y3RbXT4+ID0gbmV3IE1hcDxudW1iZXIsIFNjQ2FjaGVkSXRlbTxTY1Byb2R1Y3RbXT4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDRgNC10LrQvtC80LXQvdC00YPQtdC80YvRhSDRgtC+0LLQsNGA0L7QsiDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0c0J5UHJvZHVjdE1hcDogTWFwPG51bWJlciB8IHN0cmluZywgU2NDYWNoZWRJdGVtPFNjUHJvZHVjdFtdPj4gPSBuZXcgTWFwPG51bWJlciwgU2NDYWNoZWRJdGVtPFNjUHJvZHVjdFtdPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC60L7QvdCy0LXRgNGC0LDRhtC40Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udmVydGVyc1NlcnZpY2U6IFNjQ29udmVydGVyc1NlcnZpY2UgPSBpbmplY3QoU2NDb252ZXJ0ZXJzU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0YDQt9C40L3QvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IFNjQ2FydFNlcnZpY2UgPSBpbmplY3QoU2NDYXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUmVjb21tZW5kYXRpb25TZXJ2aWNlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdChTQ19VU0VSX0lORk8pXG4gICAgICAgICAgICAucGlwZShza2lwKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0c0J5Q2F0ZWdvcnlNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RzQnlQcm9kdWN0TWFwLmNsZWFyKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9C+0LvRg9GH0LXQvdC40LUg0YHQv9C40YHQutCwINGA0LXQutC+0LzQtdC90LTQvtCy0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQtNC70Y8g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0LrQsNGC0LXQs9C+0YDQuNC4INGC0L7QstCw0YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0c0J5Q2F0ZWdvcnkkKGNhdGVnb3J5SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8U2NQcm9kdWN0W10gfCBudWxsPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5wcm9kdWN0c0J5Q2F0ZWdvcnlNYXAuZ2V0KGNhdGVnb3J5SWRPclNsdWcudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtKSB7XG4gICAgICAgICAgICAvLyDQo9GB0YLQsNC90LDQstC70LjQstCw0LXQvCDQstGA0LXQvNGPINC20LjQt9C90LggY2FjaGVkSXRlbSDRgNCw0LLQvdC+0LUsINC/0L7RgtC+0LzRgyDRh9GC0L4g0L3QsNC8INC90LUg0LLQsNC20L3QviDQstGA0LXQvNGPINC20LjQt9C90LguINCd0LDQvCDQvdGD0LbQtdC9INGE0YPQvdC60YbQuNC+0L3QsNC7IHVwZGF0ZSgpLlxuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0oXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxTY0lQcm9kdWN0RFRPW10+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhdGFsb2cvY2F0ZWdvcmllcy8ke2NhdGVnb3J5SWRPclNsdWd9L3JlY29tbWVuZGF0aW9uc2AsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IFNDX0lTX0hJRERFTl9FUlJPUl9BTEVSVF9IVFRQX0NPTlRFWFQsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChwcm9kdWN0c0RUTykgPT4gcHJvZHVjdHNEVE8ubWFwKChwcm9kdWN0KSA9PiBuZXcgU2NQcm9kdWN0KHByb2R1Y3QpKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdHNCeUNhdGVnb3J5TWFwLnNldChjYXRlZ29yeUlkT3JTbHVnLnRvU3RyaW5nKCksIGNhY2hlZEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhY2hlZEl0ZW0uaXRlbSQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC90LAg0L/QvtC70YPRh9C10L3QuNC1INGB0L/QuNGB0LrQsCDRgNC10LrQvtC80LXQvdC00L7QstCw0L3QvdGL0YUg0YLQvtCy0LDRgNC+0LIg0LTQu9GPINC/0YDQvtC00YPQutGC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdElkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcHVibGljIGdldFByb2R1Y3RzQnlQcm9kdWN0JChwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8U2NQcm9kdWN0W10gfCBudWxsPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5wcm9kdWN0c0J5UHJvZHVjdE1hcC5nZXQocHJvZHVjdElkT3JTbHVnLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0LLRgNC10LzRjyDQttC40LfQvdC4IGNhY2hlZEl0ZW0g0YDQsNCy0L3QvtC1LCDQv9C+0YLQvtC80YMg0YfRgtC+INC90LDQvCDQvdC1INCy0LDQttC90L4g0LLRgNC10LzRjyDQttC40LfQvdC4LiDQndCw0Lwg0L3Rg9C20LXQvSDRhNGD0L3QutGG0LjQvtC90LDQuyB1cGRhdGUoKS5cbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgICAgIC5nZXQ8U2NJUHJvZHVjdERUT1tdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzLyR7cHJvZHVjdElkT3JTbHVnfS9yZWNvbW1lbmRhdGlvbnNgLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhULFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgocHJvZHVjdHNEVE8pID0+IHByb2R1Y3RzRFRPLm1hcCgocHJvZHVjdCkgPT4gbmV3IFNjUHJvZHVjdChwcm9kdWN0KSkpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RzQnlQcm9kdWN0TWFwLnNldChwcm9kdWN0SWRPclNsdWcudG9TdHJpbmcoKSwgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9C+0LvRg9GH0LXQvdC40LUg0YHQv9C40YHQutCwINGA0LXQutC+0LzQtdC90LTQvtCy0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQtNC70Y8g0YHQv9C40YHQutCwINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDRgtC+0LLQsNGA0L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWRzINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Ysg0L/RgNC+0LTRg9C60YLQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0c0J5UHJvZHVjdElkcyQocHJvZHVjdElkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNjUHJvZHVjdFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8U2NJUHJvZHVjdERUT1tdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzL3JlY29tbWVuZGF0aW9uc2AsIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHRoaXMuY29udmVydGVyc1NlcnZpY2UudG9IdHRwUGFyYW1zKHsgcHJvZHVjdHM6IHByb2R1Y3RJZHMgfSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhULFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSxcbiAgICAgICAgICAgICAgICBtYXAoKHByb2R1Y3RzRFRPKSA9PiBwcm9kdWN0c0RUTy5tYXAoKHByb2R1Y3QpID0+IG5ldyBTY1Byb2R1Y3QocHJvZHVjdCkpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9C+0LvRg9GH0LXQvdC40LUg0YHQv9C40YHQutCwINGA0LXQutC+0LzQtdC90LTQvtCy0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQtNC70Y8g0LrQvtGA0LfQuNC90Ysg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQHR1aVB1cmVcbiAgICBwdWJsaWMgZ2V0UHJvZHVjdHNCeUNhcnQkKCk6IE9ic2VydmFibGU8U2NQcm9kdWN0W10gfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcnRTZXJ2aWNlLmdldENhcnRDaGFuZ2UkKCkucGlwZShcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1jb252ZXJzaW9uXG4gICAgICAgICAgICBtYXAoKGNhcnQpID0+IGNhcnQuaXRlbXMubWFwKChpdGVtKSA9PiBOdW1iZXIoaXRlbS5wcm9kdWN0LmlkKSkpLFxuICAgICAgICAgICAgLy8g0J7RgtGE0LjQu9GM0YLRgNC+0LLRi9Cy0LDQtdC8INC/0L7QstGC0L7RgNC10L3QuNGPLiDQntC90Lgg0LLQvtC30L3QuNC60L3Rg9GCINC10YHQu9C4INCx0YvQu9C+INC40LfQvNC10L3QtdC90L4g0LrQvtC70LjRh9C10YHRgtCy0L4g0YLQvtCy0LDRgNCwINCx0LXQtyDRg9C00LDQu9C10L3QuNGPXFzQtNC+0LHQsNCy0LvQtdC90LjRjyDQvdC+0LLRi9GFINGC0L7QstCw0YDQvtCyLlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvbm8tbWlzbGVhZGluZy1hcnJheS1yZXZlcnNlXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldmlvdXMsIGN1cnJlbnQpID0+IEpTT04uc3RyaW5naWZ5KHByZXZpb3VzLnNvcnQoKGEsIGIpID0+IGEgLSBiKSkgPT09IEpTT04uc3RyaW5naWZ5KGN1cnJlbnQuc29ydCgoYSwgYikgPT4gYSAtIGIpKSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHByb2R1Y3RJZHMpID0+IHRoaXMuZ2V0UHJvZHVjdHNCeVByb2R1Y3RJZHMkKHByb2R1Y3RJZHMpLnBpcGUoc3RhcnRXaXRoKG51bGwpKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVjb21tZW5kYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2F0YWxvZy9zZXJ2aWNlcy9zYy1yZWNvbW1lbmRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUc5Qzs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUErQmhDOztPQUVHO0lBQ0g7UUFqQ0E7O1dBRUc7UUFDYywwQkFBcUIsR0FBb0QsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFdkk7O1dBRUc7UUFDYyx5QkFBb0IsR0FBb0QsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFdEk7O1dBRUc7UUFDYyxTQUFJLEdBQWUs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QUFDLEVBQzdJLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM3RixDQUFDO0lBQ04sQ0FBQzsrR0EvSFEsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7QUF3SFg7SUFETixPQUFPO2lFQVVQOzRGQS9IUSx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCO3dEQXVIVSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0dWlQdXJlIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2tpcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NhcnQnO1xuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZy9zYy1pLXVybHMnO1xuaW1wb3J0IHsgU2NDb252ZXJ0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnZlcnRlcnMnO1xuaW1wb3J0IHsgU0NfSVNfSElEREVOX0VSUk9SX0FMRVJUX0hUVFBfQ09OVEVYVCB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1pcy1oaWRkZW4tZXJyb3ItYWxlcnQnO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy11cmxzJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjQ2FjaGVkSXRlbSB9IGZyb20gJy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgU2NQcm9kdWN0IH0gZnJvbSAnLi4vZHRvL3NjLXByb2R1Y3QnO1xuaW1wb3J0IHsgU2NJUHJvZHVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1wcm9kdWN0JztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDRgNC10LrQvtC80LXQvdC00YPQtdC80YvQvNC4INGC0L7QstCw0YDQsNC80LguXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjUmVjb21tZW5kYXRpb25TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDRgNC10LrQvtC80LXQvdC00YPQtdC80YvRhSDRgtC+0LLQsNGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0c0J5Q2F0ZWdvcnlNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY1Byb2R1Y3RbXT4+ID0gbmV3IE1hcDxudW1iZXIsIFNjQ2FjaGVkSXRlbTxTY1Byb2R1Y3RbXT4+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgTWFwfSDQutC+0LvQu9C10LrRhtC40Y8g0L/QsNGAINC60LvRjtGHLdC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC60Y3RiNC40YDQvtCy0LDQvdC90YvRhSDRgNC10LrQvtC80LXQvdC00YPQtdC80YvRhSDRgtC+0LLQsNGA0L7QsiDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0c0J5UHJvZHVjdE1hcDogTWFwPG51bWJlciB8IHN0cmluZywgU2NDYWNoZWRJdGVtPFNjUHJvZHVjdFtdPj4gPSBuZXcgTWFwPG51bWJlciwgU2NDYWNoZWRJdGVtPFNjUHJvZHVjdFtdPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC60L7QvdCy0LXRgNGC0LDRhtC40Lgg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udmVydGVyc1NlcnZpY2U6IFNjQ29udmVydGVyc1NlcnZpY2UgPSBpbmplY3QoU2NDb252ZXJ0ZXJzU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0YDQt9C40L3QvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IFNjQ2FydFNlcnZpY2UgPSBpbmplY3QoU2NDYXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUmVjb21tZW5kYXRpb25TZXJ2aWNlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdChTQ19VU0VSX0lORk8pXG4gICAgICAgICAgICAucGlwZShza2lwKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0c0J5Q2F0ZWdvcnlNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RzQnlQcm9kdWN0TWFwLmNsZWFyKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9C+0LvRg9GH0LXQvdC40LUg0YHQv9C40YHQutCwINGA0LXQutC+0LzQtdC90LTQvtCy0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQtNC70Y8g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0LrQsNGC0LXQs9C+0YDQuNC4INGC0L7QstCw0YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0c0J5Q2F0ZWdvcnkkKGNhdGVnb3J5SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8U2NQcm9kdWN0W10gfCBudWxsPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5wcm9kdWN0c0J5Q2F0ZWdvcnlNYXAuZ2V0KGNhdGVnb3J5SWRPclNsdWcudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtKSB7XG4gICAgICAgICAgICAvLyDQo9GB0YLQsNC90LDQstC70LjQstCw0LXQvCDQstGA0LXQvNGPINC20LjQt9C90LggY2FjaGVkSXRlbSDRgNCw0LLQvdC+0LUsINC/0L7RgtC+0LzRgyDRh9GC0L4g0L3QsNC8INC90LUg0LLQsNC20L3QviDQstGA0LXQvNGPINC20LjQt9C90LguINCd0LDQvCDQvdGD0LbQtdC9INGE0YPQvdC60YbQuNC+0L3QsNC7IHVwZGF0ZSgpLlxuICAgICAgICAgICAgY2FjaGVkSXRlbSA9IG5ldyBTY0NhY2hlZEl0ZW0oXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxTY0lQcm9kdWN0W10+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhdGFsb2cvY2F0ZWdvcmllcy8ke2NhdGVnb3J5SWRPclNsdWd9L3JlY29tbWVuZGF0aW9uc2AsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IFNDX0lTX0hJRERFTl9FUlJPUl9BTEVSVF9IVFRQX0NPTlRFWFQsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChwcm9kdWN0c0RUTykgPT4gcHJvZHVjdHNEVE8ubWFwKChwcm9kdWN0KSA9PiBuZXcgU2NQcm9kdWN0KHByb2R1Y3QpKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdHNCeUNhdGVnb3J5TWFwLnNldChjYXRlZ29yeUlkT3JTbHVnLnRvU3RyaW5nKCksIGNhY2hlZEl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhY2hlZEl0ZW0uaXRlbSQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC90LAg0L/QvtC70YPRh9C10L3QuNC1INGB0L/QuNGB0LrQsCDRgNC10LrQvtC80LXQvdC00L7QstCw0L3QvdGL0YUg0YLQvtCy0LDRgNC+0LIg0LTQu9GPINC/0YDQvtC00YPQutGC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdElkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcHVibGljIGdldFByb2R1Y3RzQnlQcm9kdWN0JChwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8U2NQcm9kdWN0W10gfCBudWxsPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5wcm9kdWN0c0J5UHJvZHVjdE1hcC5nZXQocHJvZHVjdElkT3JTbHVnLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmICghY2FjaGVkSXRlbSkge1xuICAgICAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0LLRgNC10LzRjyDQttC40LfQvdC4IGNhY2hlZEl0ZW0g0YDQsNCy0L3QvtC1LCDQv9C+0YLQvtC80YMg0YfRgtC+INC90LDQvCDQvdC1INCy0LDQttC90L4g0LLRgNC10LzRjyDQttC40LfQvdC4LiDQndCw0Lwg0L3Rg9C20LXQvSDRhNGD0L3QutGG0LjQvtC90LDQuyB1cGRhdGUoKS5cbiAgICAgICAgICAgIGNhY2hlZEl0ZW0gPSBuZXcgU2NDYWNoZWRJdGVtKFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgICAgIC5nZXQ8U2NJUHJvZHVjdFtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzLyR7cHJvZHVjdElkT3JTbHVnfS9yZWNvbW1lbmRhdGlvbnNgLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhULFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgocHJvZHVjdHNEVE8pID0+IHByb2R1Y3RzRFRPLm1hcCgocHJvZHVjdCkgPT4gbmV3IFNjUHJvZHVjdChwcm9kdWN0KSkpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RzQnlQcm9kdWN0TWFwLnNldChwcm9kdWN0SWRPclNsdWcudG9TdHJpbmcoKSwgY2FjaGVkSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FjaGVkSXRlbS5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9C+0LvRg9GH0LXQvdC40LUg0YHQv9C40YHQutCwINGA0LXQutC+0LzQtdC90LTQvtCy0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQtNC70Y8g0YHQv9C40YHQutCwINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDRgtC+0LLQsNGA0L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWRzINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Ysg0L/RgNC+0LTRg9C60YLQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0c0J5UHJvZHVjdElkcyQocHJvZHVjdElkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNjUHJvZHVjdFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8U2NJUHJvZHVjdFtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3Byb2R1Y3RzL3JlY29tbWVuZGF0aW9uc2AsIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHRoaXMuY29udmVydGVyc1NlcnZpY2UudG9IdHRwUGFyYW1zKHsgcHJvZHVjdHM6IHByb2R1Y3RJZHMgfSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBTQ19JU19ISURERU5fRVJST1JfQUxFUlRfSFRUUF9DT05URVhULFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSxcbiAgICAgICAgICAgICAgICBtYXAoKHByb2R1Y3RzRFRPKSA9PiBwcm9kdWN0c0RUTy5tYXAoKHByb2R1Y3QpID0+IG5ldyBTY1Byb2R1Y3QocHJvZHVjdCkpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QsCDQv9C+0LvRg9GH0LXQvdC40LUg0YHQv9C40YHQutCwINGA0LXQutC+0LzQtdC90LTQvtCy0LDQvdC90YvRhSDRgtC+0LLQsNGA0L7QsiDQtNC70Y8g0LrQvtGA0LfQuNC90Ysg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQHR1aVB1cmVcbiAgICBwdWJsaWMgZ2V0UHJvZHVjdHNCeUNhcnQkKCk6IE9ic2VydmFibGU8U2NQcm9kdWN0W10gfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcnRTZXJ2aWNlLmdldENhcnRDaGFuZ2UkKCkucGlwZShcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1jb252ZXJzaW9uXG4gICAgICAgICAgICBtYXAoKGNhcnQpID0+IGNhcnQuaXRlbXMubWFwKChpdGVtKSA9PiBOdW1iZXIoaXRlbS5wcm9kdWN0LmlkKSkpLFxuICAgICAgICAgICAgLy8g0J7RgtGE0LjQu9GM0YLRgNC+0LLRi9Cy0LDQtdC8INC/0L7QstGC0L7RgNC10L3QuNGPLiDQntC90Lgg0LLQvtC30L3QuNC60L3Rg9GCINC10YHQu9C4INCx0YvQu9C+INC40LfQvNC10L3QtdC90L4g0LrQvtC70LjRh9C10YHRgtCy0L4g0YLQvtCy0LDRgNCwINCx0LXQtyDRg9C00LDQu9C10L3QuNGPXFzQtNC+0LHQsNCy0LvQtdC90LjRjyDQvdC+0LLRi9GFINGC0L7QstCw0YDQvtCyLlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvbm8tbWlzbGVhZGluZy1hcnJheS1yZXZlcnNlXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldmlvdXMsIGN1cnJlbnQpID0+IEpTT04uc3RyaW5naWZ5KHByZXZpb3VzLnNvcnQoKGEsIGIpID0+IGEgLSBiKSkgPT09IEpTT04uc3RyaW5naWZ5KGN1cnJlbnQuc29ydCgoYSwgYikgPT4gYSAtIGIpKSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHByb2R1Y3RJZHMpID0+IHRoaXMuZ2V0UHJvZHVjdHNCeVByb2R1Y3RJZHMkKHByb2R1Y3RJZHMpLnBpcGUoc3RhcnRXaXRoKG51bGwpKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
+
export * from './sc-identity';
|
|
2
|
+
export * from './sc-named-identity';
|
|
3
|
+
export * from './sc-coded-identity';
|
|
4
|
+
export * from './sc-reference';
|
|
5
|
+
export * from './sc-updatable-named-identity';
|
|
6
|
+
export * from './sc-deletable-named-identity';
|
|
1
7
|
export * from './sc-image';
|
|
2
|
-
|
|
8
|
+
export * from './sc-catalogable-item';
|
|
9
|
+
export * from './sc-hidden-catalogable-item';
|
|
10
|
+
export * from './sc-primary-catalogable-item';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9jbGFzc2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLFlBQVksQ0FBQztBQUUzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2MtaWRlbnRpdHknO1xuXG5leHBvcnQgKiBmcm9tICcuL3NjLW5hbWVkLWlkZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtY29kZWQtaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1yZWZlcmVuY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NjLXVwZGF0YWJsZS1uYW1lZC1pZGVudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWRlbGV0YWJsZS1uYW1lZC1pZGVudGl0eSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2MtaW1hZ2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NjLWNhdGFsb2dhYmxlLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1oaWRkZW4tY2F0YWxvZ2FibGUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXByaW1hcnktY2F0YWxvZ2FibGUtaXRlbSc7XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ScCodedIdentity } from './sc-coded-identity';
|
|
2
|
+
/**
|
|
3
|
+
* Данные об элементе каталога.
|
|
4
|
+
*/
|
|
5
|
+
export class ScCatalogableItem extends ScCodedIdentity {
|
|
6
|
+
/**
|
|
7
|
+
* Инициализирует экземпляр класса {@link ScCatalogableItem}.
|
|
8
|
+
*
|
|
9
|
+
* @param data Данные для первоначальной инициализации.
|
|
10
|
+
*/
|
|
11
|
+
constructor(data) {
|
|
12
|
+
super(data);
|
|
13
|
+
this.slug = data?.slug ?? '';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZ2FibGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tbW9uL2NsYXNzZXMvc2MtY2F0YWxvZ2FibGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQU1sRDs7OztPQUlHO0lBQ0gsWUFBc0IsSUFBeUI7UUFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lDYXRhbG9nYWJsZUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktY2F0YWxvZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBTY0NvZGVkSWRlbnRpdHkgfSBmcm9tICcuL3NjLWNvZGVkLWlkZW50aXR5JztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L7QsSDRjdC70LXQvNC10L3RgtC1INC60LDRgtCw0LvQvtCz0LAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY0NhdGFsb2dhYmxlSXRlbSBleHRlbmRzIFNjQ29kZWRJZGVudGl0eSBpbXBsZW1lbnRzIFNjSUNhdGFsb2dhYmxlSXRlbSB7XG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2x1Zzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NhdGFsb2dhYmxlSXRlbX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGRhdGE/OiBTY0lDYXRhbG9nYWJsZUl0ZW0pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG5cbiAgICAgICAgdGhpcy5zbHVnID0gZGF0YT8uc2x1ZyA/PyAnJztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
|
|
2
|
+
import { ScNamedIdentity } from './sc-named-identity';
|
|
3
|
+
/**
|
|
4
|
+
* Базовая идентифицируемая сущность содержащая название и артикул.
|
|
5
|
+
*/
|
|
6
|
+
export class ScCodedIdentity extends ScNamedIdentity {
|
|
7
|
+
/**
|
|
8
|
+
* Инициализирует экземпляр класса {@link ScCodedIdentity}.
|
|
9
|
+
*
|
|
10
|
+
* @param data Данные для первоначальной инициализации.
|
|
11
|
+
*/
|
|
12
|
+
constructor(data) {
|
|
13
|
+
super(data);
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
this.code = '';
|
|
18
|
+
this.code = data?.code ?? '';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29kZWQtaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9jbGFzc2VzL3NjLWNvZGVkLWlkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUdoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBNEIsU0FBUSxlQUFrQjtJQU0vRDs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBbUM7UUFDbEQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBWGhCOztXQUVHO1FBQ0ksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQVVyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gKi9cblxuaW1wb3J0IHsgU2NJQ29kZWRJZGVudGl0eSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1jb2RlZC1pZGVudGl0eSc7XG5pbXBvcnQgeyBTY05hbWVkSWRlbnRpdHkgfSBmcm9tICcuL3NjLW5hbWVkLWlkZW50aXR5JztcblxuLyoqXG4gKiDQkdCw0LfQvtCy0LDRjyDQuNC00LXQvdGC0LjRhNC40YbQuNGA0YPQtdC80LDRjyDRgdGD0YnQvdC+0YHRgtGMINGB0L7QtNC10YDQttCw0YnQsNGPINC90LDQt9Cy0LDQvdC40LUg0Lgg0LDRgNGC0LjQutGD0LsuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY0NvZGVkSWRlbnRpdHk8VCA9IG51bWJlcj4gZXh0ZW5kcyBTY05hbWVkSWRlbnRpdHk8VD4gaW1wbGVtZW50cyBTY0lDb2RlZElkZW50aXR5PFQ+IHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBjb2RlOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NDb2RlZElkZW50aXR5fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8U2NJQ29kZWRJZGVudGl0eTxUPj4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG5cbiAgICAgICAgdGhpcy5jb2RlID0gZGF0YT8uY29kZSA/PyAnJztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { parseISO } from 'date-fns';
|
|
2
|
+
import { isString } from 'lodash-es';
|
|
3
|
+
import { ScUpdatableNamedIdentity } from './sc-updatable-named-identity';
|
|
4
|
+
/**
|
|
5
|
+
* Базовая идентифицируемая сущность содержащая название, дату изменения и удаления.
|
|
6
|
+
*/
|
|
7
|
+
export class ScDeletableNamedIdentity extends ScUpdatableNamedIdentity {
|
|
8
|
+
/**
|
|
9
|
+
* Инициализирует экземпляр класса {@link ScUpdatableNamedIdentity}.
|
|
10
|
+
*
|
|
11
|
+
* @param data Данные для первоначальной инициализации.
|
|
12
|
+
*/
|
|
13
|
+
constructor(data) {
|
|
14
|
+
super(data);
|
|
15
|
+
this.deletedAt = isString(data?.deletedAt) ? parseISO(data.deletedAt) : data?.deletedAt;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGVsZXRhYmxlLW5hbWVkLWlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21tb24vY2xhc3Nlcy9zYy1kZWxldGFibGUtbmFtZWQtaWRlbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3JDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXpFOztHQUVHO0FBQ0gsTUFBTSxPQUFnQix3QkFBeUIsU0FBUSx3QkFBd0I7SUFNM0U7Ozs7T0FJRztJQUNILFlBQXNCLElBQWdDO1FBQ2xELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUM1RixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgU2NJRGVsZXRhYmxlTmFtZWRJZGVudGl0eSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1kZWxldGFibGUtbmFtZWQtaWRlbnRpdHknO1xuaW1wb3J0IHsgU2NVcGRhdGFibGVOYW1lZElkZW50aXR5IH0gZnJvbSAnLi9zYy11cGRhdGFibGUtbmFtZWQtaWRlbnRpdHknO1xuXG4vKipcbiAqINCR0LDQt9C+0LLQsNGPINC40LTQtdC90YLQuNGE0LjRhtC40YDRg9C10LzQsNGPINGB0YPRidC90L7RgdGC0Ywg0YHQvtC00LXRgNC20LDRidCw0Y8g0L3QsNC30LLQsNC90LjQtSwg0LTQsNGC0YMg0LjQt9C80LXQvdC10L3QuNGPINC4INGD0LTQsNC70LXQvdC40Y8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTY0RlbGV0YWJsZU5hbWVkSWRlbnRpdHkgZXh0ZW5kcyBTY1VwZGF0YWJsZU5hbWVkSWRlbnRpdHkgaW1wbGVtZW50cyBTY0lEZWxldGFibGVOYW1lZElkZW50aXR5IHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGVkQXQ/OiBEYXRlO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1VwZGF0YWJsZU5hbWVkSWRlbnRpdHl9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC5INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihkYXRhPzogU2NJRGVsZXRhYmxlTmFtZWRJZGVudGl0eSkge1xuICAgICAgICBzdXBlcihkYXRhKTtcblxuICAgICAgICB0aGlzLmRlbGV0ZWRBdCA9IGlzU3RyaW5nKGRhdGE/LmRlbGV0ZWRBdCkgPyBwYXJzZUlTTyhkYXRhLmRlbGV0ZWRBdCkgOiBkYXRhPy5kZWxldGVkQXQ7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ScCatalogableItem } from './sc-catalogable-item';
|
|
2
|
+
/**
|
|
3
|
+
* Данные о каталогизируемом элементе, который может быть скрыт.
|
|
4
|
+
*/
|
|
5
|
+
export class ScHiddenCatalogableItem extends ScCatalogableItem {
|
|
6
|
+
/**
|
|
7
|
+
* Инициализирует экземпляр класса {@link ScHiddenCatalogableItem}.
|
|
8
|
+
*
|
|
9
|
+
* @param data Данные для первоначальной инициализации.
|
|
10
|
+
*/
|
|
11
|
+
constructor(data) {
|
|
12
|
+
super(data);
|
|
13
|
+
this.isHidden = data?.isHidden ?? false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaGlkZGVuLWNhdGFsb2dhYmxlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9jbGFzc2VzL3NjLWhpZGRlbi1jYXRhbG9nYWJsZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGlCQUFpQjtJQU0xRDs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBK0I7UUFDOUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQztJQUM1QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lIaWRkZW5DYXRhbG9nYWJsZUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktaGlkZGVuLWNhdGFsb2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgU2NDYXRhbG9nYWJsZUl0ZW0gfSBmcm9tICcuL3NjLWNhdGFsb2dhYmxlLWl0ZW0nO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQviDQutCw0YLQsNC70L7Qs9C40LfQuNGA0YPQtdC80L7QvCDRjdC70LXQvNC10L3RgtC1LCDQutC+0YLQvtGA0YvQuSDQvNC+0LbQtdGCINCx0YvRgtGMINGB0LrRgNGL0YIuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY0hpZGRlbkNhdGFsb2dhYmxlSXRlbSBleHRlbmRzIFNjQ2F0YWxvZ2FibGVJdGVtIGltcGxlbWVudHMgU2NJSGlkZGVuQ2F0YWxvZ2FibGVJdGVtIHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBpc0hpZGRlbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NIaWRkZW5DYXRhbG9nYWJsZUl0ZW19LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC5INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhPzogU2NJSGlkZGVuQ2F0YWxvZ2FibGVJdGVtKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuXG4gICAgICAgIHRoaXMuaXNIaWRkZW4gPSBkYXRhPy5pc0hpZGRlbiA/PyBmYWxzZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Базовая идентифицируемая сущность.
|
|
3
|
+
*/
|
|
4
|
+
export class ScIdentity {
|
|
5
|
+
/**
|
|
6
|
+
* Инициализирует экземпляр класса {@link ScIdentity}.
|
|
7
|
+
*
|
|
8
|
+
* @param data Данные для первоначальной инициализации.
|
|
9
|
+
*/
|
|
10
|
+
constructor(data) {
|
|
11
|
+
this.id = data?.id ?? this.getDefaultId();
|
|
12
|
+
this.guid = data?.guid ?? '';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Значение по умолчанию для {@link id}, когда тип не удаётся определить по {@link data}.
|
|
16
|
+
* Переопределяется в наследниках, например, с {@link T} = string, чтобы возвращать `''`.
|
|
17
|
+
*/
|
|
18
|
+
// eslint-disable-next-line class-methods-use-this
|
|
19
|
+
getDefaultId() {
|
|
20
|
+
return -1;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9jbGFzc2VzL3NjLWlkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixVQUFVO0lBVzVCOzs7O09BSUc7SUFDSCxZQUFzQixJQUE4QjtRQUNoRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtEQUFrRDtJQUN4QyxZQUFZO1FBQ2xCLE9BQU8sQ0FBQyxDQUFNLENBQUM7SUFDbkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJSWRlbnRpdHkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktaWRlbnRpdHknO1xuXG4vKipcbiAqINCR0LDQt9C+0LLQsNGPINC40LTQtdC90YLQuNGE0LjRhtC40YDRg9C10LzQsNGPINGB0YPRidC90L7RgdGC0YwuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTY0lkZW50aXR5PFQgPSBudW1iZXI+IGltcGxlbWVudHMgU2NJSWRlbnRpdHk8VD4ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGlkOiBUO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ3VpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0lkZW50aXR5fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8U2NJSWRlbnRpdHk8VD4+KSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhPy5pZCA/PyB0aGlzLmdldERlZmF1bHRJZCgpO1xuICAgICAgICB0aGlzLmd1aWQgPSBkYXRhPy5ndWlkID8/ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCX0L3QsNGH0LXQvdC40LUg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0LTQu9GPIHtAbGluayBpZH0sINC60L7Qs9C00LAg0YLQuNC/INC90LUg0YPQtNCw0ZHRgtGB0Y8g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L/QviB7QGxpbmsgZGF0YX0uXG4gICAgICog0J/QtdGA0LXQvtC/0YDQtdC00LXQu9GP0LXRgtGB0Y8g0LIg0L3QsNGB0LvQtdC00L3QuNC60LDRhSwg0L3QsNC/0YDQuNC80LXRgCwg0YEge0BsaW5rIFR9ID0gc3RyaW5nLCDRh9GC0L7QsdGLINCy0L7Qt9Cy0YDQsNGJ0LDRgtGMIGAnJ2AuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdElkKCk6IFQge1xuICAgICAgICByZXR1cm4gLTEgYXMgVDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Данные об изображении.
|
|
3
3
|
*/
|
|
4
4
|
export class ScImage {
|
|
5
5
|
/**
|
|
6
6
|
* Инициализирует экземпляр класса {@link ScImage}.
|
|
7
7
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param alt Альтернативный текст.
|
|
10
|
-
* @param imageWebp Изображение в формате WebP.
|
|
8
|
+
* @param data Данные для первоначальной инициализации.
|
|
11
9
|
*/
|
|
12
|
-
constructor(
|
|
13
|
-
this.image = image;
|
|
14
|
-
this.imageWebp = imageWebp;
|
|
15
|
-
this.alt = alt;
|
|
10
|
+
constructor(data) {
|
|
11
|
+
this.image = data.image;
|
|
12
|
+
this.imageWebp = data.imageWebp;
|
|
13
|
+
this.alt = data.alt;
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9jbGFzc2VzL3NjLWltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFnQmhCOzs7O09BSUc7SUFDSCxZQUFtQixJQUFjO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjSUltYWdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLWltYWdlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L7QsSDQuNC30L7QsdGA0LDQttC10L3QuNC4LlxuICovXG5leHBvcnQgY2xhc3MgU2NJbWFnZSBpbXBsZW1lbnRzIFNjSUltYWdlIHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWx0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBpbWFnZVdlYnA/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjSW1hZ2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC5INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBTY0lJbWFnZSkge1xuICAgICAgICB0aGlzLmltYWdlID0gZGF0YS5pbWFnZTtcbiAgICAgICAgdGhpcy5pbWFnZVdlYnAgPSBkYXRhLmltYWdlV2VicDtcbiAgICAgICAgdGhpcy5hbHQgPSBkYXRhLmFsdDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
|
|
2
|
+
import { ScIdentity } from './sc-identity';
|
|
3
|
+
/**
|
|
4
|
+
* Базовая идентифицируемая сущность содержащая название.
|
|
5
|
+
*/
|
|
6
|
+
export class ScNamedIdentity extends ScIdentity {
|
|
7
|
+
/**
|
|
8
|
+
* Инициализирует экземпляр класса {@link ScNamedIdentity}.
|
|
9
|
+
*
|
|
10
|
+
* @param data Данные для первоначальной инициализации.
|
|
11
|
+
*/
|
|
12
|
+
constructor(data) {
|
|
13
|
+
super(data);
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
this.name = '';
|
|
18
|
+
this.name = data?.name ?? '';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmFtZWQtaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9jbGFzc2VzL3NjLW5hbWVkLWlkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUdoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQTRCLFNBQVEsVUFBYTtJQU0xRDs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBbUM7UUFDbEQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBWGhCOztXQUVHO1FBQ0ksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQVVyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gKi9cblxuaW1wb3J0IHsgU2NJTmFtZWRJZGVudGl0eSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1uYW1lZC1pZGVudGl0eSc7XG5pbXBvcnQgeyBTY0lkZW50aXR5IH0gZnJvbSAnLi9zYy1pZGVudGl0eSc7XG5cbi8qKlxuICog0JHQsNC30L7QstCw0Y8g0LjQtNC10L3RgtC40YTQuNGG0LjRgNGD0LXQvNCw0Y8g0YHRg9GJ0L3QvtGB0YLRjCDRgdC+0LTQtdGA0LbQsNGJ0LDRjyDQvdCw0LfQstCw0L3QuNC1LlxuICovXG5leHBvcnQgY2xhc3MgU2NOYW1lZElkZW50aXR5PFQgPSBudW1iZXI+IGV4dGVuZHMgU2NJZGVudGl0eTxUPiBpbXBsZW1lbnRzIFNjSU5hbWVkSWRlbnRpdHk8VD4ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY05hbWVkSWRlbnRpdHl9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC5INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhPzogUGFydGlhbDxTY0lOYW1lZElkZW50aXR5PFQ+Pikge1xuICAgICAgICBzdXBlcihkYXRhKTtcblxuICAgICAgICB0aGlzLm5hbWUgPSBkYXRhPy5uYW1lID8/ICcnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ScHiddenCatalogableItem } from './sc-hidden-catalogable-item';
|
|
2
|
+
/**
|
|
3
|
+
* Данные о каталогизируемом элементе, который может быть помечен как основной.
|
|
4
|
+
*/
|
|
5
|
+
export class ScPrimaryCatalogableItem extends ScHiddenCatalogableItem {
|
|
6
|
+
/**
|
|
7
|
+
* Инициализирует экземпляр класса {@link ScPrimaryCatalogableItem}.
|
|
8
|
+
*
|
|
9
|
+
* @param data Данные для первоначальной инициализации.
|
|
10
|
+
*/
|
|
11
|
+
constructor(data) {
|
|
12
|
+
super(data);
|
|
13
|
+
this.isPrimary = data?.isPrimary ?? false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpbWFyeS1jYXRhbG9nYWJsZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21tb24vY2xhc3Nlcy9zYy1wcmltYXJ5LWNhdGFsb2dhYmxlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsdUJBQXVCO0lBTWpFOzs7O09BSUc7SUFDSCxZQUFtQixJQUFnQztRQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksRUFBRSxTQUFTLElBQUksS0FBSyxDQUFDO0lBQzlDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjSVByaW1hcnlDYXRhbG9nYWJsZUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcHJpbWFyeS1jYXRhbG9nYWJsZS1pdGVtJztcbmltcG9ydCB7IFNjSGlkZGVuQ2F0YWxvZ2FibGVJdGVtIH0gZnJvbSAnLi9zYy1oaWRkZW4tY2F0YWxvZ2FibGUtaXRlbSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INC60LDRgtCw0LvQvtCz0LjQt9C40YDRg9C10LzQvtC8INGN0LvQtdC80LXQvdGC0LUsINC60L7RgtC+0YDRi9C5INC80L7QttC10YIg0LHRi9GC0Ywg0L/QvtC80LXRh9C10L0g0LrQsNC6INC+0YHQvdC+0LLQvdC+0LkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY1ByaW1hcnlDYXRhbG9nYWJsZUl0ZW0gZXh0ZW5kcyBTY0hpZGRlbkNhdGFsb2dhYmxlSXRlbSBpbXBsZW1lbnRzIFNjSVByaW1hcnlDYXRhbG9nYWJsZUl0ZW0ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGlzUHJpbWFyeT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUHJpbWFyeUNhdGFsb2dhYmxlSXRlbX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRhdGE/OiBTY0lQcmltYXJ5Q2F0YWxvZ2FibGVJdGVtKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuXG4gICAgICAgIHRoaXMuaXNQcmltYXJ5ID0gZGF0YT8uaXNQcmltYXJ5ID8/IGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ScNamedIdentity } from './sc-named-identity';
|
|
2
|
+
/**
|
|
3
|
+
* DTO-объект записи данных из справочника.
|
|
4
|
+
*/
|
|
5
|
+
export class ScReference extends ScNamedIdentity {
|
|
6
|
+
/**
|
|
7
|
+
* Инициализирует экземпляр класса {@link ScReference}.
|
|
8
|
+
*
|
|
9
|
+
* @param data Данные для первоначальной инициализации.
|
|
10
|
+
*/
|
|
11
|
+
constructor(data) {
|
|
12
|
+
super(data);
|
|
13
|
+
this.description = data?.description;
|
|
14
|
+
this.slug = data?.slug;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcmVmZXJlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21tb24vY2xhc3Nlcy9zYy1yZWZlcmVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQW9DLFNBQVEsZUFBa0I7SUFXdkU7Ozs7T0FJRztJQUNILFlBQW1CLElBQWtDO1FBQ2pELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxJQUFTLENBQUM7SUFDaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJUmVmZXJlbmNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBTY05hbWVkSWRlbnRpdHkgfSBmcm9tICcuL3NjLW5hbWVkLWlkZW50aXR5JztcblxuLyoqXG4gKiBEVE8t0L7QsdGK0LXQutGCINC30LDQv9C40YHQuCDQtNCw0L3QvdGL0YUg0LjQtyDRgdC/0YDQsNCy0L7Rh9C90LjQutCwLlxuICovXG5leHBvcnQgY2xhc3MgU2NSZWZlcmVuY2U8UyA9IHN0cmluZywgSSA9IG51bWJlcj4gZXh0ZW5kcyBTY05hbWVkSWRlbnRpdHk8ST4gaW1wbGVtZW50cyBTY0lSZWZlcmVuY2U8UywgST4ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHNsdWc/OiBTO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUmVmZXJlbmNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8U2NJUmVmZXJlbmNlPFMsIEk+Pikge1xuICAgICAgICBzdXBlcihkYXRhKTtcblxuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGF0YT8uZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuc2x1ZyA9IGRhdGE/LnNsdWcgYXMgUztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { parseISO } from 'date-fns';
|
|
2
|
+
import { isString } from 'lodash-es';
|
|
3
|
+
import { ScNamedIdentity } from './sc-named-identity';
|
|
4
|
+
/**
|
|
5
|
+
* Базовая идентифицируемая сущность содержащая название и дату изменения.
|
|
6
|
+
*/
|
|
7
|
+
export class ScUpdatableNamedIdentity extends ScNamedIdentity {
|
|
8
|
+
/**
|
|
9
|
+
* Инициализирует экземпляр класса {@link ScUpdatableNamedIdentity}.
|
|
10
|
+
*
|
|
11
|
+
* @param data Данные для первоначальной инициализации.
|
|
12
|
+
*/
|
|
13
|
+
constructor(data) {
|
|
14
|
+
super(data);
|
|
15
|
+
this.updatedAt = isString(data?.updatedAt) ? parseISO(data.updatedAt) : data?.updatedAt;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXBkYXRhYmxlLW5hbWVkLWlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21tb24vY2xhc3Nlcy9zYy11cGRhdGFibGUtbmFtZWQtaWRlbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXlCLFNBQVEsZUFBZTtJQU1sRTs7OztPQUlHO0lBQ0gsWUFBc0IsSUFBZ0M7UUFDbEQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO0lBQzVGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlSVNPIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBTY0lVcGRhdGFibGVOYW1lZElkZW50aXR5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYy1pLXVwZGF0YWJsZS1uYW1lZC1pZGVudGl0eSc7XG5pbXBvcnQgeyBTY05hbWVkSWRlbnRpdHkgfSBmcm9tICcuL3NjLW5hbWVkLWlkZW50aXR5JztcblxuLyoqXG4gKiDQkdCw0LfQvtCy0LDRjyDQuNC00LXQvdGC0LjRhNC40YbQuNGA0YPQtdC80LDRjyDRgdGD0YnQvdC+0YHRgtGMINGB0L7QtNC10YDQttCw0YnQsNGPINC90LDQt9Cy0LDQvdC40LUg0Lgg0LTQsNGC0YMg0LjQt9C80LXQvdC10L3QuNGPLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2NVcGRhdGFibGVOYW1lZElkZW50aXR5IGV4dGVuZHMgU2NOYW1lZElkZW50aXR5IGltcGxlbWVudHMgU2NJVXBkYXRhYmxlTmFtZWRJZGVudGl0eSB7XG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlZEF0PzogRGF0ZTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVcGRhdGFibGVOYW1lZElkZW50aXR5fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZGF0YT86IFNjSVVwZGF0YWJsZU5hbWVkSWRlbnRpdHkpIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVkQXQgPSBpc1N0cmluZyhkYXRhPy51cGRhdGVkQXQpID8gcGFyc2VJU08oZGF0YS51cGRhdGVkQXQpIDogZGF0YT8udXBkYXRlZEF0O1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/common/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './classes';
|
|
2
1
|
export * from './interfaces';
|
|
3
|
-
|
|
2
|
+
export * from './classes';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzZXMnO1xuIl19
|