@vendure/admin-ui 1.3.4 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +87 -162
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2022 -404
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +79 -57
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-marketing.umd.js +11 -1
  8. package/bundles/vendure-admin-ui-marketing.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +10 -2
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +156 -153
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/catalog/components/collection-detail/collection-detail.component.d.ts +0 -1
  14. package/catalog/components/collection-list/collection-list.component.d.ts +3 -0
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +0 -1
  16. package/catalog/components/facet-list/facet-list.component.d.ts +3 -5
  17. package/catalog/components/product-detail/product-detail.component.d.ts +0 -1
  18. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  19. package/core/app.component.d.ts +1 -0
  20. package/core/common/base-detail.component.d.ts +42 -1
  21. package/core/common/base-entity-resolver.d.ts +28 -1
  22. package/core/common/base-list.component.d.ts +75 -1
  23. package/core/common/component-registry-types.d.ts +46 -0
  24. package/core/common/generated-types.d.ts +282 -23
  25. package/core/common/utilities/get-default-ui-language.d.ts +1 -0
  26. package/core/common/version.d.ts +1 -1
  27. package/core/components/app-shell/app-shell.component.d.ts +1 -1
  28. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +17 -4
  29. package/core/components/user-menu/user-menu.component.d.ts +1 -1
  30. package/core/data/client-state/client-defaults.d.ts +1 -1
  31. package/core/data/definitions/client-definitions.d.ts +3 -1
  32. package/core/data/definitions/customer-definitions.d.ts +1 -0
  33. package/core/data/definitions/settings-definitions.d.ts +1 -0
  34. package/core/data/providers/client-data.service.d.ts +3 -1
  35. package/core/data/providers/data.service.d.ts +54 -12
  36. package/core/data/providers/settings-data.service.d.ts +3 -0
  37. package/core/data/query-result.d.ts +11 -2
  38. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +25 -0
  39. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +15 -0
  40. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -3
  41. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  42. package/core/providers/modal/modal.service.d.ts +41 -12
  43. package/core/providers/nav-builder/nav-builder-types.d.ts +19 -1
  44. package/core/providers/nav-builder/nav-builder.service.d.ts +14 -10
  45. package/core/providers/notification/notification.service.d.ts +37 -0
  46. package/core/public_api.d.ts +8 -0
  47. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +2 -1
  48. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +18 -0
  49. package/core/shared/components/asset-preview/asset-preview.component.d.ts +0 -1
  50. package/core/shared/components/chip/chip.component.d.ts +20 -0
  51. package/core/shared/components/currency-input/currency-input.component.d.ts +11 -0
  52. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +17 -0
  53. package/core/shared/components/data-table/data-table.component.d.ts +59 -0
  54. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +17 -0
  55. package/core/shared/components/dropdown/dropdown.component.d.ts +25 -0
  56. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -1
  57. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +22 -0
  58. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +1 -1
  59. package/core/shared/components/object-tree/object-tree.component.d.ts +8 -0
  60. package/core/shared/components/order-state-label/order-state-label.component.d.ts +10 -0
  61. package/core/shared/components/product-selector/product-selector.component.d.ts +12 -0
  62. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +12 -1
  63. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +21 -0
  64. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +15 -0
  65. package/core/shared/directives/if-multichannel.directive.d.ts +14 -0
  66. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  67. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +7 -0
  68. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +32 -0
  69. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +7 -0
  70. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +8 -0
  71. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +10 -0
  72. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +8 -0
  73. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +12 -0
  74. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +7 -0
  75. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -0
  76. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +40 -3
  77. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +9 -0
  78. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +16 -0
  79. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +9 -0
  80. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +12 -3
  81. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +7 -0
  82. package/core/shared/pipes/asset-preview.pipe.d.ts +14 -0
  83. package/core/shared/pipes/duration.pipe.d.ts +8 -0
  84. package/core/shared/pipes/file-size.pipe.d.ts +8 -0
  85. package/core/shared/pipes/has-permission.pipe.d.ts +3 -1
  86. package/core/shared/pipes/locale-currency-name.pipe.d.ts +8 -0
  87. package/core/shared/pipes/locale-currency.pipe.d.ts +12 -0
  88. package/core/shared/pipes/locale-date.pipe.d.ts +7 -0
  89. package/core/shared/pipes/locale-language-name.pipe.d.ts +9 -1
  90. package/core/shared/pipes/locale-region-name.pipe.d.ts +18 -0
  91. package/core/shared/pipes/time-ago.pipe.d.ts +8 -0
  92. package/core/vendure-admin-ui-core.metadata.json +1 -1
  93. package/customer/components/customer-detail/customer-detail.component.d.ts +2 -3
  94. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +14 -3
  95. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  96. package/esm2015/catalog/catalog.module.js +29 -28
  97. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -10
  98. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -16
  99. package/esm2015/catalog/components/collection-list/collection-list.component.js +23 -5
  100. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +3 -15
  101. package/esm2015/catalog/components/facet-list/facet-list.component.js +24 -9
  102. package/esm2015/catalog/components/product-assets/product-assets.component.js +2 -2
  103. package/esm2015/catalog/components/product-detail/product-detail.component.js +5 -27
  104. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +3 -3
  105. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
  106. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +2 -2
  107. package/esm2015/core/app.component.js +20 -2
  108. package/esm2015/core/common/base-detail.component.js +53 -1
  109. package/esm2015/core/common/base-entity-resolver.js +29 -2
  110. package/esm2015/core/common/base-list.component.js +76 -2
  111. package/esm2015/core/common/component-registry-types.js +1 -1
  112. package/esm2015/core/common/generated-types.js +1 -1
  113. package/esm2015/core/common/introspection-result.js +249 -183
  114. package/esm2015/core/common/utilities/get-default-ui-language.js +9 -1
  115. package/esm2015/core/common/version.js +2 -2
  116. package/esm2015/core/components/app-shell/app-shell.component.js +12 -7
  117. package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
  118. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +281 -5
  119. package/esm2015/core/components/user-menu/user-menu.component.js +3 -3
  120. package/esm2015/core/data/client-state/client-defaults.js +5 -2
  121. package/esm2015/core/data/client-state/client-resolvers.js +32 -33
  122. package/esm2015/core/data/definitions/client-definitions.js +18 -3
  123. package/esm2015/core/data/definitions/customer-definitions.js +21 -25
  124. package/esm2015/core/data/definitions/settings-definitions.js +50 -5
  125. package/esm2015/core/data/providers/client-data.service.js +15 -4
  126. package/esm2015/core/data/providers/data.service.js +44 -2
  127. package/esm2015/core/data/providers/settings-data.service.js +12 -4
  128. package/esm2015/core/data/query-result.js +14 -4
  129. package/esm2015/core/providers/custom-detail-component/custom-detail-component-types.js +2 -0
  130. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +44 -0
  131. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +6 -6
  132. package/esm2015/core/providers/local-storage/local-storage.service.js +1 -1
  133. package/esm2015/core/providers/modal/modal.service.js +20 -12
  134. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  135. package/esm2015/core/providers/nav-builder/nav-builder.service.js +15 -11
  136. package/esm2015/core/providers/notification/notification.service.js +24 -1
  137. package/esm2015/core/public_api.js +9 -1
  138. package/esm2015/core/shared/components/action-bar/action-bar.component.js +1 -1
  139. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +3 -3
  140. package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
  141. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +19 -1
  142. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -6
  143. package/esm2015/core/shared/components/chip/chip.component.js +12 -1
  144. package/esm2015/core/shared/components/currency-input/currency-input.component.js +12 -1
  145. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +44 -0
  146. package/esm2015/core/shared/components/data-table/data-table.component.js +60 -1
  147. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +17 -1
  148. package/esm2015/core/shared/components/dropdown/dropdown.component.js +26 -1
  149. package/esm2015/core/shared/components/extension-host/extension-host.component.js +3 -3
  150. package/esm2015/core/shared/components/extension-host/extension-host.service.js +16 -2
  151. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +23 -1
  152. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +2 -2
  153. package/esm2015/core/shared/components/object-tree/object-tree.component.js +9 -1
  154. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +11 -1
  155. package/esm2015/core/shared/components/product-selector/product-selector.component.js +13 -1
  156. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +14 -3
  157. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +48 -0
  158. package/esm2015/core/shared/components/title-input/title-input.component.js +1 -1
  159. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +31 -0
  160. package/esm2015/core/shared/directives/if-multichannel.directive.js +15 -1
  161. package/esm2015/core/shared/directives/if-permissions.directive.js +4 -1
  162. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +8 -1
  163. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +125 -0
  164. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +8 -1
  165. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +9 -1
  166. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +21 -2
  167. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +4 -3
  168. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +9 -1
  169. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +29 -2
  170. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +8 -1
  171. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +9 -1
  172. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +42 -2
  173. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +10 -1
  174. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +20 -0
  175. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +14 -2
  176. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +17 -2
  177. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +8 -1
  178. package/esm2015/core/shared/pipes/asset-preview.pipe.js +15 -1
  179. package/esm2015/core/shared/pipes/duration.pipe.js +9 -1
  180. package/esm2015/core/shared/pipes/file-size.pipe.js +9 -1
  181. package/esm2015/core/shared/pipes/has-permission.pipe.js +4 -2
  182. package/esm2015/core/shared/pipes/locale-base.pipe.js +7 -4
  183. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +9 -1
  184. package/esm2015/core/shared/pipes/locale-currency.pipe.js +13 -1
  185. package/esm2015/core/shared/pipes/locale-date.pipe.js +8 -1
  186. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +10 -2
  187. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +48 -0
  188. package/esm2015/core/shared/pipes/time-ago.pipe.js +9 -1
  189. package/esm2015/core/shared/shared.module.js +13 -1
  190. package/esm2015/customer/components/customer-detail/customer-detail.component.js +5 -16
  191. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +32 -3
  192. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +22 -18
  193. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +9 -2
  194. package/esm2015/order/components/order-detail/order-detail.component.js +11 -3
  195. package/esm2015/settings/components/admin-detail/admin-detail.component.js +3 -14
  196. package/esm2015/settings/components/channel-detail/channel-detail.component.js +3 -14
  197. package/esm2015/settings/components/country-detail/country-detail.component.js +11 -3
  198. package/esm2015/settings/components/country-list/country-list.component.js +19 -7
  199. package/esm2015/settings/components/global-settings/global-settings.component.js +3 -14
  200. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +9 -2
  201. package/esm2015/settings/components/profile/profile.component.js +3 -14
  202. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +3 -16
  203. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +13 -3
  204. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +9 -2
  205. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +32 -3
  206. package/esm2015/settings/components/zone-list/zone-list.component.js +19 -8
  207. package/fesm2015/vendure-admin-ui-catalog.js +83 -102
  208. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  209. package/fesm2015/vendure-admin-ui-core.js +1865 -341
  210. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  211. package/fesm2015/vendure-admin-ui-customer.js +54 -34
  212. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  213. package/fesm2015/vendure-admin-ui-marketing.js +8 -1
  214. package/fesm2015/vendure-admin-ui-marketing.js.map +1 -1
  215. package/fesm2015/vendure-admin-ui-order.js +10 -2
  216. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  217. package/fesm2015/vendure-admin-ui-settings.js +110 -85
  218. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  219. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +2 -1
  220. package/marketing/vendure-admin-ui-marketing.metadata.json +1 -1
  221. package/order/vendure-admin-ui-order.metadata.json +1 -1
  222. package/package.json +6 -5
  223. package/settings/components/admin-detail/admin-detail.component.d.ts +0 -1
  224. package/settings/components/channel-detail/channel-detail.component.d.ts +0 -1
  225. package/settings/components/country-detail/country-detail.component.d.ts +2 -1
  226. package/settings/components/country-list/country-list.component.d.ts +7 -2
  227. package/settings/components/global-settings/global-settings.component.d.ts +0 -1
  228. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -1
  229. package/settings/components/profile/profile.component.d.ts +0 -1
  230. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -1
  231. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
  232. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
  233. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +14 -3
  234. package/settings/components/zone-list/zone-list.component.d.ts +6 -2
  235. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  236. package/static/i18n-messages/cs.json +7 -0
  237. package/static/i18n-messages/de.json +7 -0
  238. package/static/i18n-messages/en.json +7 -0
  239. package/static/i18n-messages/es.json +8 -1
  240. package/static/i18n-messages/fr.json +7 -0
  241. package/static/i18n-messages/it.json +7 -0
  242. package/static/i18n-messages/pl.json +7 -0
  243. package/static/i18n-messages/pt_BR.json +7 -0
  244. package/static/i18n-messages/pt_PT.json +7 -0
  245. package/static/i18n-messages/ru.json +7 -0
  246. package/static/i18n-messages/uk.json +7 -0
  247. package/static/i18n-messages/zh_Hans.json +7 -0
  248. package/static/i18n-messages/zh_Hant.json +7 -0
  249. package/static/styles/global/_utilities.scss +3 -1
  250. package/static/styles/theme/dark.scss +9 -0
  251. package/static/styles/theme/default.scss +8 -0
  252. package/static/theme.min.css +1 -1
@@ -3,8 +3,70 @@ import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
4
4
  import { distinctUntilChanged, map, shareReplay, takeUntil } from 'rxjs/operators';
5
5
  /**
6
+ * @description
6
7
  * This is a base class which implements the logic required to fetch and manipulate
7
8
  * a list of data from a query which returns a PaginatedList type.
9
+ *
10
+ * @example
11
+ * ```TypeScript
12
+ * \@Component({
13
+ * selector: 'my-entity-list',
14
+ * templateUrl: './my-entity-list.component.html',
15
+ * styleUrls: ['./my-entity-list.component.scss'],
16
+ * changeDetection: ChangeDetectionStrategy.OnPush,
17
+ * })
18
+ * export class MyEntityListComponent extends BaseListComponent<GetMyEntityList.Query, GetMyEntityList.Items> {
19
+ * constructor(
20
+ * private dataService: DataService,
21
+ * router: Router,
22
+ * route: ActivatedRoute,
23
+ * ) {
24
+ * super(router, route);
25
+ * super.setQueryFn(
26
+ * (...args: any[]) => this.dataService.query<GetMyEntityList.Query>(GET_MY_ENTITY_LIST),
27
+ * data => data.myEntities,
28
+ * );
29
+ * }
30
+ * }
31
+ * ```
32
+ *
33
+ * The template for the component will typically use the {@link DataTableComponent} to display the results.
34
+ *
35
+ * @example
36
+ * ```HTML
37
+ * <vdr-action-bar>
38
+ * <vdr-ab-right>
39
+ * <a class="btn btn-primary" [routerLink]="['./create']" *vdrIfPermissions="['CreateSettings', 'CreateTaxRate']">
40
+ * <clr-icon shape="plus"></clr-icon>
41
+ * Create new my entity
42
+ * </a>
43
+ * </vdr-ab-right>
44
+ * </vdr-action-bar>
45
+ *
46
+ * <vdr-data-table
47
+ * [items]="items$ | async"
48
+ * [itemsPerPage]="itemsPerPage$ | async"
49
+ * [totalItems]="totalItems$ | async"
50
+ * [currentPage]="currentPage$ | async"
51
+ * (pageChange)="setPageNumber($event)"
52
+ * (itemsPerPageChange)="setItemsPerPage($event)"
53
+ * >
54
+ * <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>
55
+ * <vdr-dt-column></vdr-dt-column>
56
+ * <ng-template let-myEntity="item">
57
+ * <td class="left align-middle">{{ myEntity.name }}</td>
58
+ * <td class="right align-middle">
59
+ * <vdr-table-row-action
60
+ * iconShape="edit"
61
+ * [label]="'common.edit' | translate"
62
+ * [linkTo]="['./', myEntity.id]"
63
+ * ></vdr-table-row-action>
64
+ * </td>
65
+ * </ng-template>
66
+ * </vdr-data-table>
67
+ * ```
68
+ *
69
+ * @docsCategory list-detail-views
8
70
  */
9
71
  // tslint:disable-next-line:directive-class-suffix
10
72
  export class BaseListComponent {
@@ -17,6 +79,7 @@ export class BaseListComponent {
17
79
  this.defaults = { take: 10, skip: 0 };
18
80
  }
19
81
  /**
82
+ * @description
20
83
  * Sets the fetch function for the list being implemented.
21
84
  */
22
85
  setQueryFn(listQueryFn, mappingFn, onPageChangeFn, defaults) {
@@ -29,6 +92,7 @@ export class BaseListComponent {
29
92
  this.defaults = defaults;
30
93
  }
31
94
  }
95
+ /** @internal */
32
96
  ngOnInit() {
33
97
  if (!this.listQueryFn) {
34
98
  throw new Error(`No listQueryFn has been defined. Please call super.setQueryFn() in the constructor.`);
@@ -48,19 +112,29 @@ export class BaseListComponent {
48
112
  .pipe(takeUntil(this.destroy$))
49
113
  .subscribe(fetchPage);
50
114
  }
115
+ /** @internal */
51
116
  ngOnDestroy() {
52
117
  this.destroy$.next();
53
118
  this.destroy$.complete();
54
119
  this.listQuery.completed$.next();
55
120
  }
121
+ /**
122
+ * @description
123
+ * Sets the current page number in the url.
124
+ */
56
125
  setPageNumber(page) {
57
126
  this.setQueryParam('page', page, { replaceUrl: true });
58
127
  }
128
+ /**
129
+ * @description
130
+ * Sets the number of items per page in the url.
131
+ */
59
132
  setItemsPerPage(perPage) {
60
133
  this.setQueryParam('perPage', perPage, { replaceUrl: true });
61
134
  }
62
135
  /**
63
- * Re-fetch the current page
136
+ * @description
137
+ * Re-fetch the current page of results.
64
138
  */
65
139
  refresh() {
66
140
  this.refresh$.next(undefined);
@@ -79,4 +153,4 @@ BaseListComponent.ctorParameters = () => [
79
153
  { type: Router },
80
154
  { type: ActivatedRoute }
81
155
  ];
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUW5GOzs7R0FHRztBQUVILGtEQUFrRDtBQUNsRCxNQUFNLE9BQU8saUJBQWlCO0lBZTFCLFlBQXNCLE1BQWMsRUFBWSxLQUFxQjtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFUM0QsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFJakMsbUJBQWMsR0FBaUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDbEUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBVSxDQUFBLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELGFBQVEsR0FBbUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVELENBQUM7SUFFekU7O09BRUc7SUFDSCxVQUFVLENBQ04sV0FBb0MsRUFDcEMsU0FBMEMsRUFDMUMsY0FBNkMsRUFDN0MsUUFBeUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0Is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QUNaLENBQUM7SUFDUCxDQUFDOzs7WUFsSEosU0FBUzs7O1lBZG9DLE1BQU07WUFBM0MsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gJy4uL2RhdGEvcXVlcnktcmVzdWx0JztcblxuZXhwb3J0IHR5cGUgTGlzdFF1ZXJ5Rm48Uj4gPSAodGFrZTogbnVtYmVyLCBza2lwOiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKSA9PiBRdWVyeVJlc3VsdDxSLCBhbnk+O1xuZXhwb3J0IHR5cGUgTWFwcGluZ0ZuPFQsIFI+ID0gKHJlc3VsdDogUikgPT4geyBpdGVtczogVFtdOyB0b3RhbEl0ZW1zOiBudW1iZXIgfTtcbmV4cG9ydCB0eXBlIE9uUGFnZUNoYW5nZUZuPFY+ID0gKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWO1xuXG4vKipcbiAqIFRoaXMgaXMgYSBiYXNlIGNsYXNzIHdoaWNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGZldGNoIGFuZCBtYW5pcHVsYXRlXG4gKiBhIGxpc3Qgb2YgZGF0YSBmcm9tIGEgcXVlcnkgd2hpY2ggcmV0dXJucyBhIFBhZ2luYXRlZExpc3QgdHlwZS5cbiAqL1xuQERpcmVjdGl2ZSgpXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEJhc2VMaXN0Q29tcG9uZW50PFJlc3VsdFR5cGUsIEl0ZW1UeXBlLCBWYXJpYWJsZVR5cGUgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHJlc3VsdCQ6IE9ic2VydmFibGU8UmVzdWx0VHlwZT47XG4gICAgaXRlbXMkOiBPYnNlcnZhYmxlPEl0ZW1UeXBlW10+O1xuICAgIHRvdGFsSXRlbXMkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgaXRlbXNQZXJQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIGN1cnJlbnRQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBsaXN0UXVlcnk6IFF1ZXJ5UmVzdWx0PFJlc3VsdFR5cGUsIFZhcmlhYmxlVHlwZT47XG4gICAgcHJpdmF0ZSBsaXN0UXVlcnlGbjogTGlzdFF1ZXJ5Rm48UmVzdWx0VHlwZT47XG4gICAgcHJpdmF0ZSBtYXBwaW5nRm46IE1hcHBpbmdGbjxJdGVtVHlwZSwgUmVzdWx0VHlwZT47XG4gICAgcHJpdmF0ZSBvblBhZ2VDaGFuZ2VGbjogT25QYWdlQ2hhbmdlRm48VmFyaWFibGVUeXBlPiA9IChza2lwLCB0YWtlKSA9PlxuICAgICAgICAoeyBvcHRpb25zOiB7IHNraXAsIHRha2UgfSB9IGFzIGFueSk7XG4gICAgcHJpdmF0ZSByZWZyZXNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHByaXZhdGUgZGVmYXVsdHM6IHsgdGFrZTogbnVtYmVyOyBza2lwOiBudW1iZXIgfSA9IHsgdGFrZTogMTAsIHNraXA6IDAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlciwgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGZldGNoIGZ1bmN0aW9uIGZvciB0aGUgbGlzdCBiZWluZyBpbXBsZW1lbnRlZC5cbiAgICAgKi9cbiAgICBzZXRRdWVyeUZuKFxuICAgICAgICBsaXN0UXVlcnlGbjogTGlzdFF1ZXJ5Rm48UmVzdWx0VHlwZT4sXG4gICAgICAgIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPixcbiAgICAgICAgb25QYWdlQ2hhbmdlRm4/OiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+LFxuICAgICAgICBkZWZhdWx0cz86IHsgdGFrZTogbnVtYmVyOyBza2lwOiBudW1iZXIgfSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5saXN0UXVlcnlGbiA9IGxpc3RRdWVyeUZuO1xuICAgICAgICB0aGlzLm1hcHBpbmdGbiA9IG1hcHBpbmdGbjtcbiAgICAgICAgaWYgKG9uUGFnZUNoYW5nZUZuKSB7XG4gICAgICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZUZuID0gb25QYWdlQ2hhbmdlRm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZmF1bHRzKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RRdWVyeUZuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYE5vIGxpc3RRdWVyeUZuIGhhcyBiZWVuIGRlZmluZWQuIFBsZWFzZSBjYWxsIHN1cGVyLnNldFF1ZXJ5Rm4oKSBpbiB0aGUgY29uc3RydWN0b3IuYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5saXN0UXVlcnkgPSB0aGlzLmxpc3RRdWVyeUZuKHRoaXMuZGVmYXVsdHMudGFrZSwgdGhpcy5kZWZhdWx0cy5za2lwKTtcblxuICAgICAgICBjb25zdCBmZXRjaFBhZ2UgPSAoW2N1cnJlbnRQYWdlLCBpdGVtc1BlclBhZ2UsIF9dOiBbbnVtYmVyLCBudW1iZXIsIHVuZGVmaW5lZF0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRha2UgPSBpdGVtc1BlclBhZ2U7XG4gICAgICAgICAgICBjb25zdCBza2lwID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBpdGVtc1BlclBhZ2U7XG4gICAgICAgICAgICB0aGlzLmxpc3RRdWVyeS5yZWYucmVmZXRjaCh0aGlzLm9uUGFnZUNoYW5nZUZuKHNraXAsIHRha2UpKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnJlc3VsdCQgPSB0aGlzLmxpc3RRdWVyeS5zdHJlYW0kLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuICAgICAgICB0aGlzLml0ZW1zJCA9IHRoaXMucmVzdWx0JC5waXBlKG1hcChkYXRhID0+IHRoaXMubWFwcGluZ0ZuKGRhdGEpLml0ZW1zKSk7XG4gICAgICAgIHRoaXMudG90YWxJdGVtcyQgPSB0aGlzLnJlc3VsdCQucGlwZShtYXAoZGF0YSA9PiB0aGlzLm1hcHBpbmdGbihkYXRhKS50b3RhbEl0ZW1zKSk7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UkID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnBpcGUoXG4gICAgICAgICAgICBtYXAocXBtID0+IHFwbS5nZXQoJ3BhZ2UnKSksXG4gICAgICAgICAgICBtYXAocGFnZSA9PiAoIXBhZ2UgPyAxIDogK3BhZ2UpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaXRlbXNQZXJQYWdlJCA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcC5waXBlKFxuICAgICAgICAgICAgbWFwKHFwbSA9PiBxcG0uZ2V0KCdwZXJQYWdlJykpLFxuICAgICAgICAgICAgbWFwKHBlclBhZ2UgPT4gKCFwZXJQYWdlID8gdGhpcy5kZWZhdWx0cy50YWtlIDogK3BlclBhZ2UpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICk7XG5cbiAgICAgICAgY29tYmluZUxhdGVzdCh0aGlzLmN1cnJlbnRQYWdlJCwgdGhpcy5pdGVtc1BlclBhZ2UkLCB0aGlzLnJlZnJlc2gkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShmZXRjaFBhZ2UpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmxpc3RRdWVyeS5jb21wbGV0ZWQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBzZXRQYWdlTnVtYmVyKHBhZ2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BhZ2UnLCBwYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgc2V0SXRlbXNQZXJQYWdlKHBlclBhZ2U6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BlclBhZ2UnLCBwZXJQYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmUtZmV0Y2ggdGhlIGN1cnJlbnQgcGFnZVxuICAgICAqL1xuICAgIHJlZnJlc2goKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxuICAgICAgICBoYXNoOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICBvcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcbiAgICApO1xuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgb3B0aW9ucz86IHsgcmVwbGFjZVVybD86IGJvb2xlYW47IHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIH0sXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcbiAgICAgICAga2V5T3JIYXNoOiBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICB2YWx1ZU9yT3B0aW9ucz86IGFueSxcbiAgICAgICAgbWF5YmVPcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcbiAgICApIHtcbiAgICAgICAgY29uc3QgcGFyYW1zT2JqZWN0ID0gdHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyB7IFtrZXlPckhhc2hdOiB2YWx1ZU9yT3B0aW9ucyB9IDoga2V5T3JIYXNoO1xuICAgICAgICBjb25zdCBvcHRpb25zID0gKHR5cGVvZiBrZXlPckhhc2ggPT09ICdzdHJpbmcnID8gbWF5YmVPcHRpb25zIDogdmFsdWVPck9wdGlvbnMpID8/IHt9O1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0eXBlb2Yga2V5T3JIYXNoID09PSAnc3RyaW5nJyA/IHsgW2tleU9ySGFzaF06IHZhbHVlT3JPcHRpb25zIH0gOiBrZXlPckhhc2gsXG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUW5GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlFRztBQUVILGtEQUFrRDtBQUNsRCxNQUFNLE9BQU8saUJBQWlCO0lBZTFCLFlBQXNCLE1BQWMsRUFBWSxLQUFxQjtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFUM0QsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFJakMsbUJBQWMsR0FBaUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDbEUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBVSxDQUFBLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELGFBQVEsR0FBbUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVELENBQUM7SUFFekU7OztPQUdHO0lBQ0gsVUFBVSxDQUNOLFdBQW9DLEVBQ3BDLFNBQTBDLEVB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QUFDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3hGLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUN0QixtQkFBbUIsRUFBRSxPQUFPLElBQ3pCLE9BQU8sRUFDWixDQUFDO0lBQ1AsQ0FBQzs7O1lBOUhKLFNBQVM7OztZQTVFb0MsTUFBTTtZQUEzQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gJy4uL2RhdGEvcXVlcnktcmVzdWx0JztcclxuXHJcbmV4cG9ydCB0eXBlIExpc3RRdWVyeUZuPFI+ID0gKHRha2U6IG51bWJlciwgc2tpcDogbnVtYmVyLCAuLi5hcmdzOiBhbnlbXSkgPT4gUXVlcnlSZXN1bHQ8UiwgYW55PjtcclxuZXhwb3J0IHR5cGUgTWFwcGluZ0ZuPFQsIFI+ID0gKHJlc3VsdDogUikgPT4geyBpdGVtczogVFtdOyB0b3RhbEl0ZW1zOiBudW1iZXIgfTtcclxuZXhwb3J0IHR5cGUgT25QYWdlQ2hhbmdlRm48Vj4gPSAoc2tpcDogbnVtYmVyLCB0YWtlOiBudW1iZXIpID0+IFY7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoaXMgaXMgYSBiYXNlIGNsYXNzIHdoaWNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGZldGNoIGFuZCBtYW5pcHVsYXRlXHJcbiAqIGEgbGlzdCBvZiBkYXRhIGZyb20gYSBxdWVyeSB3aGljaCByZXR1cm5zIGEgUGFnaW5hdGVkTGlzdCB0eXBlLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBUeXBlU2NyaXB0XHJcbiAqIFxcQENvbXBvbmVudCh7XHJcbiAqICAgc2VsZWN0b3I6ICdteS1lbnRpdHktbGlzdCcsXHJcbiAqICAgdGVtcGxhdGVVcmw6ICcuL215LWVudGl0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICogICBzdHlsZVVybHM6IFsnLi9teS1lbnRpdHktbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gKiAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gKiB9KVxyXG4gKiBleHBvcnQgY2xhc3MgTXlFbnRpdHlMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUxpc3RDb21wb25lbnQ8R2V0TXlFbnRpdHlMaXN0LlF1ZXJ5LCBHZXRNeUVudGl0eUxpc3QuSXRlbXM+IHtcclxuICogICBjb25zdHJ1Y3RvcihcclxuICogICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gKiAgICAgcm91dGVyOiBSb3V0ZXIsXHJcbiAqICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAqICAgKSB7XHJcbiAqICAgICBzdXBlcihyb3V0ZXIsIHJvdXRlKTtcclxuICogICAgIHN1cGVyLnNldFF1ZXJ5Rm4oXHJcbiAqICAgICAgICguLi5hcmdzOiBhbnlbXSkgPT4gdGhpcy5kYXRhU2VydmljZS5xdWVyeTxHZXRNeUVudGl0eUxpc3QuUXVlcnk+KEdFVF9NWV9FTlRJVFlfTElTVCksXHJcbiAqICAgICAgIGRhdGEgPT4gZGF0YS5teUVudGl0aWVzLFxyXG4gKiAgICAgKTtcclxuICogICB9XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIFRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbXBvbmVudCB3aWxsIHR5cGljYWxseSB1c2UgdGhlIHtAbGluayBEYXRhVGFibGVDb21wb25lbnR9IHRvIGRpc3BsYXkgdGhlIHJlc3VsdHMuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYEhUTUxcclxuICogPHZkci1hY3Rpb24tYmFyPlxyXG4gKiAgIDx2ZHItYWItcmlnaHQ+XHJcbiAqICAgICA8YSBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtyb3V0ZXJMaW5rXT1cIlsnLi9jcmVhdGUnXVwiICp2ZHJJZlBlcm1pc3Npb25zPVwiWydDcmVhdGVTZXR0aW5ncycsICdDcmVhdGVUYXhSYXRlJ11cIj5cclxuICogICAgICAgPGNsci1pY29uIHNoYXBlPVwicGx1c1wiPjwvY2xyLWljb24+XHJcbiAqICAgICAgIENyZWF0ZSBuZXcgbXkgZW50aXR5XHJcbiAqICAgICA8L2E+XHJcbiAqICAgPC92ZHItYWItcmlnaHQ+XHJcbiAqIDwvdmRyLWFjdGlvbi1iYXI+XHJcbiAqXHJcbiAqIDx2ZHItZGF0YS10YWJsZVxyXG4gKiAgIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiXHJcbiAqICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2UkIHwgYXN5bmNcIlxyXG4gKiAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gKiAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZSQgfCBhc3luY1wiXHJcbiAqICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcclxuICogICAoaXRlbXNQZXJQYWdlQ2hhbmdlKT1cInNldEl0ZW1zUGVyUGFnZSgkZXZlbnQpXCJcclxuICogPlxyXG4gKiAgIDx2ZHItZHQtY29sdW1uPnt7ICdjb21tb24ubmFtZScgfCB0cmFuc2xhdGUgfX08L3Zkci1kdC1jb2x1bW4+XHJcbiAqICAgPHZkci1kdC1jb2x1bW4+PC92ZHItZHQtY29sdW1uPlxyXG4gKiAgIDxuZy10ZW1wbGF0ZSBsZXQtbXlFbnRpdHk9XCJpdGVtXCI+XHJcbiAqICAgICA8dGQgY2xhc3M9XCJsZWZ0IGFsaWduLW1pZGRsZVwiPnt7IG15RW50aXR5Lm5hbWUgfX08L3RkPlxyXG4gKiAgICAgPHRkIGNsYXNzPVwicmlnaHQgYWxpZ24tbWlkZGxlXCI+XHJcbiAqICAgICAgIDx2ZHItdGFibGUtcm93LWFjdGlvblxyXG4gKiAgICAgICAgIGljb25TaGFwZT1cImVkaXRcIlxyXG4gKiAgICAgICAgIFtsYWJlbF09XCInY29tbW9uLmVkaXQnIHwgdHJhbnNsYXRlXCJcclxuICogICAgICAgICBbbGlua1RvXT1cIlsnLi8nLCBteUVudGl0eS5pZF1cIlxyXG4gKiAgICAgICA+PC92ZHItdGFibGUtcm93LWFjdGlvbj5cclxuICogICAgIDwvdGQ+XHJcbiAqICAgPC9uZy10ZW1wbGF0ZT5cclxuICogPC92ZHItZGF0YS10YWJsZT5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgbGlzdC1kZXRhaWwtdmlld3NcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgY2xhc3MgQmFzZUxpc3RDb21wb25lbnQ8UmVzdWx0VHlwZSwgSXRlbVR5cGUsIFZhcmlhYmxlVHlwZSA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICByZXN1bHQkOiBPYnNlcnZhYmxlPFJlc3VsdFR5cGU+O1xyXG4gICAgaXRlbXMkOiBPYnNlcnZhYmxlPEl0ZW1UeXBlW10+O1xyXG4gICAgdG90YWxJdGVtcyQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIGl0ZW1zUGVyUGFnZSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIGN1cnJlbnRQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgbGlzdFF1ZXJ5OiBRdWVyeVJlc3VsdDxSZXN1bHRUeXBlLCBWYXJpYWJsZVR5cGU+O1xyXG4gICAgcHJpdmF0ZSBsaXN0UXVlcnlGbjogTGlzdFF1ZXJ5Rm48UmVzdWx0VHlwZT47XHJcbiAgICBwcml2YXRlIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPjtcclxuICAgIHByaXZhdGUgb25QYWdlQ2hhbmdlRm46IE9uUGFnZUNoYW5nZUZuPFZhcmlhYmxlVHlwZT4gPSAoc2tpcCwgdGFrZSkgPT5cclxuICAgICAgICAoeyBvcHRpb25zOiB7IHNraXAsIHRha2UgfSB9IGFzIGFueSk7XHJcbiAgICBwcml2YXRlIHJlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgICBwcml2YXRlIGRlZmF1bHRzOiB7IHRha2U6IG51bWJlcjsgc2tpcDogbnVtYmVyIH0gPSB7IHRha2U6IDEwLCBza2lwOiAwIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSBmZXRjaCBmdW5jdGlvbiBmb3IgdGhlIGxpc3QgYmVpbmcgaW1wbGVtZW50ZWQuXHJcbiAgICAgKi9cclxuICAgIHNldFF1ZXJ5Rm4oXHJcbiAgICAgICAgbGlzdFF1ZXJ5Rm46IExpc3RRdWVyeUZuPFJlc3VsdFR5cGU+LFxyXG4gICAgICAgIG1hcHBpbmdGbjogTWFwcGluZ0ZuPEl0ZW1UeXBlLCBSZXN1bHRUeXBlPixcclxuICAgICAgICBvblBhZ2VDaGFuZ2VGbj86IE9uUGFnZUNoYW5nZUZuPFZhcmlhYmxlVHlwZT4sXHJcbiAgICAgICAgZGVmYXVsdHM/OiB7IHRha2U6IG51bWJlcjsgc2tpcDogbnVtYmVyIH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmxpc3RRdWVyeUZuID0gbGlzdFF1ZXJ5Rm47XHJcbiAgICAgICAgdGhpcy5tYXBwaW5nRm4gPSBtYXBwaW5nRm47XHJcbiAgICAgICAgaWYgKG9uUGFnZUNoYW5nZUZuKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25QYWdlQ2hhbmdlRm4gPSBvblBhZ2VDaGFuZ2VGbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlZmF1bHRzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdHMgPSBkZWZhdWx0cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RRdWVyeUZuKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgIGBObyBsaXN0UXVlcnlGbiBoYXMgYmVlbiBkZWZpbmVkLiBQbGVhc2UgY2FsbCBzdXBlci5zZXRRdWVyeUZuKCkgaW4gdGhlIGNvbnN0cnVjdG9yLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5ID0gdGhpcy5saXN0UXVlcnlGbih0aGlzLmRlZmF1bHRzLnRha2UsIHRoaXMuZGVmYXVsdHMuc2tpcCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZldGNoUGFnZSA9IChbY3VycmVudFBhZ2UsIGl0ZW1zUGVyUGFnZSwgX106IFtudW1iZXIsIG51bWJlciwgdW5kZWZpbmVkXSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YWtlID0gaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICBjb25zdCBza2lwID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBpdGVtc1BlclBhZ2U7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdFF1ZXJ5LnJlZi5yZWZldGNoKHRoaXMub25QYWdlQ2hhbmdlRm4oc2tpcCwgdGFrZSkpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMucmVzdWx0JCA9IHRoaXMubGlzdFF1ZXJ5LnN0cmVhbSQucGlwZShzaGFyZVJlcGxheSgxKSk7XHJcbiAgICAgICAgdGhpcy5pdGVtcyQgPSB0aGlzLnJlc3VsdCQucGlwZShtYXAoZGF0YSA9PiB0aGlzLm1hcHBpbmdGbihkYXRhKS5pdGVtcykpO1xyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyQgPSB0aGlzLnJlc3VsdCQucGlwZShtYXAoZGF0YSA9PiB0aGlzLm1hcHBpbmdGbihkYXRhKS50b3RhbEl0ZW1zKSk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZShcclxuICAgICAgICAgICAgbWFwKHFwbSA9PiBxcG0uZ2V0KCdwYWdlJykpLFxyXG4gICAgICAgICAgICBtYXAocGFnZSA9PiAoIXBhZ2UgPyAxIDogK3BhZ2UpKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaXRlbXNQZXJQYWdlJCA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcC5waXBlKFxyXG4gICAgICAgICAgICBtYXAocXBtID0+IHFwbS5nZXQoJ3BlclBhZ2UnKSksXHJcbiAgICAgICAgICAgIG1hcChwZXJQYWdlID0+ICghcGVyUGFnZSA/IHRoaXMuZGVmYXVsdHMudGFrZSA6ICtwZXJQYWdlKSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29tYmluZUxhdGVzdCh0aGlzLmN1cnJlbnRQYWdlJCwgdGhpcy5pdGVtc1BlclBhZ2UkLCB0aGlzLnJlZnJlc2gkKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZmV0Y2hQYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgdGhpcy5saXN0UXVlcnkuY29tcGxldGVkJC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFNldHMgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgaW4gdGhlIHVybC5cclxuICAgICAqL1xyXG4gICAgc2V0UGFnZU51bWJlcihwYWdlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ3BhZ2UnLCBwYWdlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFNldHMgdGhlIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0aGUgdXJsLlxyXG4gICAgICovXHJcbiAgICBzZXRJdGVtc1BlclBhZ2UocGVyUGFnZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5zZXRRdWVyeVBhcmFtKCdwZXJQYWdlJywgcGVyUGFnZSwgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBSZS1mZXRjaCB0aGUgY3VycmVudCBwYWdlIG9mIHJlc3VsdHMuXHJcbiAgICAgKi9cclxuICAgIHJlZnJlc2goKSB7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldFF1ZXJ5UGFyYW0oXHJcbiAgICAgICAgaGFzaDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICAgICAgICBvcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcclxuICAgICk7XHJcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcclxuICAgICAgICBrZXk6IHN0cmluZyxcclxuICAgICAgICB2YWx1ZTogYW55LFxyXG4gICAgICAgIG9wdGlvbnM/OiB7IHJlcGxhY2VVcmw/OiBib29sZWFuOyBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZyB9LFxyXG4gICAgKTtcclxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxyXG4gICAgICAgIGtleU9ySGFzaDogc3RyaW5nIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICAgICAgICB2YWx1ZU9yT3B0aW9ucz86IGFueSxcclxuICAgICAgICBtYXliZU9wdGlvbnM/OiB7IHJlcGxhY2VVcmw/OiBib29sZWFuOyBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZyB9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zT2JqZWN0ID0gdHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyB7IFtrZXlPckhhc2hdOiB2YWx1ZU9yT3B0aW9ucyB9IDoga2V5T3JIYXNoO1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSAodHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyBtYXliZU9wdGlvbnMgOiB2YWx1ZU9yT3B0aW9ucykgPz8ge307XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLyddLCB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0eXBlb2Yga2V5T3JIYXNoID09PSAnc3RyaW5nJyA/IHsgW2tleU9ySGFzaF06IHZhbHVlT3JPcHRpb25zIH0gOiBrZXlPckhhc2gsXHJcbiAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXHJcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUlucHV0Q29tcG9uZW50PEMgPSBJbnB1dENvbXBvbmVudENvbmZpZz4ge1xyXG4gICAgaXNMaXN0SW5wdXQ/OiBib29sZWFuO1xyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBjb25maWc6IEM7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElucHV0Q29tcG9uZW50Q29uZmlnID0ge1xyXG4gICAgW3Byb3A6IHN0cmluZ106IGFueTtcclxufTtcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhpcyBpbnRlcmZhY2Ugc2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IGFueSBjb21wb25lbnQgYmVpbmcgdXNlZCBhcyBhIGN1c3RvbSBpbnB1dC4gRm9yIGV4YW1wbGUsXHJcbiAqIGlucHV0cyBmb3IgY3VzdG9tIGZpZWxkcywgb3IgZm9yIGNvbmZpZ3VyYWJsZSBhcmd1bWVudHMuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUlucHV0Q29tcG9uZW50PEMgPSBJbnB1dENvbXBvbmVudENvbmZpZz4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFNob3VsZCBiZSBzZXQgdG8gYHRydWVgIGlmIHRoaXMgY29tcG9uZW50IGlzIGRlc2lnbmVkIHRvIGhhbmRsZSBsaXN0cy5cclxuICAgICAqIElmIGB0cnVlYCB0aGVuIHRoZSBmb3JtQ29udHJvbCB2YWx1ZSB3aWxsIGJlIGFuIGFycmF5IG9mIGFsbCB0aGVcclxuICAgICAqIHZhbHVlcyBpbiB0aGUgbGlzdC5cclxuICAgICAqL1xyXG4gICAgaXNMaXN0SW5wdXQ/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoaXMgaXMgc2V0IGJ5IHRoZSBBZG1pbiBVSSB3aGVuIGNvbnN1bWluZyB0aGlzIGNvbXBvbmVudCwgaW5kaWNhdGluZyB0aGF0IHRoZVxyXG4gICAgICogY29tcG9uZW50IHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIHJlYWQtb25seSBzdGF0ZS5cclxuICAgICAqL1xyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhpcyBjb250cm9scyB0aGUgYWN0dWFsIHZhbHVlIG9mIHRoZSBmb3JtIGl0ZW0uIFRoZSBjdXJyZW50IHZhbHVlIGlzIGF2YWlsYWJsZVxyXG4gICAgICogYXMgYHRoaXMuZm9ybUNvbnRyb2wudmFsdWVgLCBhbmQgYW4gT2JzZXJ2YWJsZSBzdHJlYW0gb2YgdmFsdWUgY2hhbmdlcyBpcyBhdmFpbGFibGVcclxuICAgICAqIGFzIGB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc2AuIFRvIHVwZGF0ZSB0aGUgdmFsdWUsIHVzZSBgLnNldFZhbHVlKHZhbClgIGFuZCB0aGVuXHJcbiAgICAgKiBgLm1hcmtBc0RpcnR5KClgLlxyXG4gICAgICpcclxuICAgICAqIEZ1bGwgZG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIFtBbmd1bGFyIGRvY3NdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvRm9ybUNvbnRyb2wpLlxyXG4gICAgICovXHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIGBjb25maWdgIHByb3BlcnR5IGNvbnRhaW5zIHRoZSBmdWxsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9mIHRoZSBjdXN0b20gZmllbGQgb3IgY29uZmlndXJhYmxlIGFyZ3VtZW50LlxyXG4gICAgICovXHJcbiAgICBjb25maWc6IEM7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElucHV0Q29tcG9uZW50Q29uZmlnID0ge1xyXG4gICAgW3Byb3A6IHN0cmluZ106IGFueTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhlIHZhbGlkIGxvY2F0aW9uSWRzIGZvciByZWdpc3RlcmluZyBhY3Rpb24gYmFyIGl0ZW1zLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGFjdGlvbi1iYXJcclxuICovXHJcbmV4cG9ydCB0eXBlIEFjdGlvbkJhckxvY2F0aW9uSWQgPVxyXG4gICAgfCAnYWRtaW5pc3RyYXRvci1kZXRhaWwnXHJcbiAgICB8ICdhZG1pbmlzdHJhdG9yLWxpc3QnXHJcbiAgICB8ICdhc3NldC1kZXRhaWwnXHJcbiAgICB8ICdhc3NldC1saXN0J1xyXG4gICAgfCAnY2hhbm5lbC1kZXRhaWwnXHJcbiAgICB8ICdjaGFubmVsLWxpc3QnXHJcbiAgICB8ICdjb2xsZWN0aW9uLWRldGFpbCdcclxuICAgIHwgJ2NvbGxlY3Rpb24tbGlzdCdcclxuICAgIHwgJ2NvdW50cnktZGV0YWlsJ1xyXG4gICAgfCAnY291bnRyeS1saXN0J1xyXG4gICAgfCAnY3VzdG9tZXItZGV0YWlsJ1xyXG4gICAgfCAnY3VzdG9tZXItbGlzdCdcclxuICAgIHwgJ2N1c3RvbWVyLWdyb3VwLWxpc3QnXHJcbiAgICB8ICdmYWNldC1kZXRhaWwnXHJcbiAgICB8ICdmYWNldC1saXN0J1xyXG4gICAgfCAnZ2xvYmFsLXNldHRpbmctZGV0YWlsJ1xyXG4gICAgfCAnc3lzdGVtLXN0YXR1cydcclxuICAgIHwgJ2pvYi1saXN0J1xyXG4gICAgfCAnb3JkZXItZGV0YWlsJ1xyXG4gICAgfCAnb3JkZXItbGlzdCdcclxuICAgIHwgJ3BheW1lbnQtbWV0aG9kLWRldGFpbCdcclxuICAgIHwgJ3BheW1lbnQtbWV0aG9kLWxpc3QnXHJcbiAgICB8ICdwcm9kdWN0LWRldGFpbCdcclxuICAgIHwgJ3Byb2R1Y3QtbGlzdCdcclxuICAgIHwgJ3Byb21vdGlvbi1kZXRhaWwnXHJcbiAgICB8ICdwcm9tb3Rpb24tbGlzdCdcclxuICAgIHwgJ3JvbGUtZGV0YWlsJ1xyXG4gICAgfCAncm9sZS1saXN0J1xyXG4gICAgfCAnc2hpcHBpbmctbWV0aG9kLWRldGFpbCdcclxuICAgIHwgJ3NoaXBwaW5nLW1ldGhvZC1saXN0J1xyXG4gICAgfCAndGF4LWNhdGVnb3J5LWRldGFpbCdcclxuICAgIHwgJ3RheC1jYXRlZ29yeS1saXN0J1xyXG4gICAgfCAndGF4LXJhdGUtZGV0YWlsJ1xyXG4gICAgfCAndGF4LXJhdGUtbGlzdCdcclxuICAgIHwgJ3pvbmUtbGlzdCc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSB2YWxpZCBsb2NhdGlvbnMgZm9yIGVtYmVkZGluZyBhIHtAbGluayBDdXN0b21EZXRhaWxDb21wb25lbnR9LlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1kZXRhaWwtY29tcG9uZW50c1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ3VzdG9tRGV0YWlsQ29tcG9uZW50TG9jYXRpb25JZCA9XHJcbiAgICB8ICdhZG1pbmlzdHJhdG9yLWRldGFpbCdcclxuICAgIHwgJ2NoYW5uZWwtZGV0YWlsJ1xyXG4gICAgfCAnY29sbGVjdGlvbi1kZXRhaWwnXHJcbiAgICB8ICdjb3VudHJ5LWRldGFpbCdcclxuICAgIHwgJ2N1c3RvbWVyLWRldGFpbCdcclxuICAgIHwgJ2ZhY2V0LWRldGFpbCdcclxuICAgIHwgJ2dsb2JhbC1zZXR0aW5ncy1kZXRhaWwnXHJcbiAgICB8ICdvcmRlci1kZXRhaWwnXHJcbiAgICB8ICdwYXltZW50LW1ldGhvZC1kZXRhaWwnXHJcbiAgICB8ICdwcm9kdWN0LWRldGFpbCdcclxuICAgIHwgJ3Byb21vdGlvbi1kZXRhaWwnXHJcbiAgICB8ICdzaGlwcGluZy1tZXRob2QtZGV0YWlsJ1xyXG4gICAgfCAndGF4LWNhdGVnb3J5LWRldGFpbCdcclxuICAgIHwgJ3RheC1yYXRlLWRldGFpbCc7XHJcblxyXG5leHBvcnQgdHlwZSBVSUV4dGVuc2lvbkxvY2F0aW9uSWQgPSBBY3Rpb25CYXJMb2NhdGlvbklkIHwgQ3VzdG9tRGV0YWlsQ29tcG9uZW50TG9jYXRpb25JZDtcclxuIl19