@kirbydesign/designsystem 8.11.1 → 9.0.0-ionic.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.
Files changed (233) hide show
  1. package/avatar/avatar.component.d.ts +2 -5
  2. package/button/button.component.d.ts +2 -4
  3. package/esm2020/avatar/avatar.component.mjs +2 -11
  4. package/esm2020/button/button.component.mjs +4 -15
  5. package/esm2020/calendar/calendar.component.mjs +3 -3
  6. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  7. package/esm2020/form-field/form-field-message/form-field-message.component.mjs +2 -2
  8. package/esm2020/form-field/form-field.component.mjs +3 -3
  9. package/esm2020/form-field/input/input.component.mjs +3 -3
  10. package/esm2020/form-field/textarea/textarea.component.mjs +3 -3
  11. package/esm2020/icon/kirby-icon-settings.mjs +3 -1
  12. package/esm2020/lib/components/page-local-navigation/page-local-navigation.component.mjs +4 -4
  13. package/esm2020/lib/components/segmented-control/segmented-control.component.mjs +3 -3
  14. package/esm2020/lib/index.mjs +1 -3
  15. package/esm2020/lib/kirby.module.mjs +1 -7
  16. package/esm2020/modal/modal/services/modal-animation-builder.service.mjs +1 -1
  17. package/esm2020/modal/modal/services/modal.controller.mjs +1 -26
  18. package/esm2020/modal/modal/services/modal.helper.mjs +1 -19
  19. package/esm2020/modal/modal-wrapper/modal-wrapper.component.mjs +1 -1
  20. package/esm2020/modal/v2/modal/modal.component.mjs +1 -1
  21. package/esm2020/modal/v2/modal-routing/modal-routing.component.mjs +1 -1
  22. package/esm2020/modal/v2/wrapper/wrapper.component.mjs +1 -1
  23. package/esm2020/page/page-footer/page-footer.component.mjs +2 -2
  24. package/esm2020/page/page.component.mjs +17 -6
  25. package/esm2020/radio/radio.component.mjs +3 -3
  26. package/esm2020/range/range.component.mjs +3 -3
  27. package/esm2020/router-outlet/router-outlet.component.mjs +1 -1
  28. package/esm2020/slide/slides.component.mjs +4 -19
  29. package/esm2020/tab-navigation/tab-navigation/tab-navigation.component.mjs +2 -2
  30. package/esm2020/tabs/tab-button/tab-button.component.mjs +2 -2
  31. package/esm2020/tabs/tabs.component.mjs +2 -2
  32. package/esm2020/testing-base/lib/components/index.mjs +1 -3
  33. package/esm2020/testing-base/lib/kirby-testing-base.module.mjs +86 -88
  34. package/esm2020/testing-base/lib/mock-components.mjs +1 -5
  35. package/esm2020/testing-jasmine/lib/mock-providers.mjs +1 -4
  36. package/esm2020/testing-jest/lib/mock-providers.mjs +1 -4
  37. package/esm2020/toggle/toggle.component.mjs +5 -3
  38. package/fesm2015/kirbydesign-designsystem-accordion.mjs +1 -0
  39. package/fesm2015/kirbydesign-designsystem-action-group.mjs +1 -0
  40. package/fesm2015/kirbydesign-designsystem-avatar.mjs +2 -10
  41. package/fesm2015/kirbydesign-designsystem-avatar.mjs.map +1 -1
  42. package/fesm2015/kirbydesign-designsystem-button.mjs +4 -14
  43. package/fesm2015/kirbydesign-designsystem-button.mjs.map +1 -1
  44. package/fesm2015/kirbydesign-designsystem-calendar.mjs +3 -2
  45. package/fesm2015/kirbydesign-designsystem-calendar.mjs.map +1 -1
  46. package/fesm2015/kirbydesign-designsystem-card.mjs +1 -0
  47. package/fesm2015/kirbydesign-designsystem-chart.mjs +1 -0
  48. package/fesm2015/kirbydesign-designsystem-checkbox.mjs +3 -2
  49. package/fesm2015/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  50. package/fesm2015/kirbydesign-designsystem-data-table.mjs +1 -0
  51. package/fesm2015/kirbydesign-designsystem-divider.mjs +1 -0
  52. package/fesm2015/kirbydesign-designsystem-dropdown.mjs +1 -0
  53. package/fesm2015/kirbydesign-designsystem-empty-state.mjs +1 -0
  54. package/fesm2015/kirbydesign-designsystem-fab-sheet.mjs +1 -0
  55. package/fesm2015/kirbydesign-designsystem-flag.mjs +1 -0
  56. package/fesm2015/kirbydesign-designsystem-form-field.mjs +9 -8
  57. package/fesm2015/kirbydesign-designsystem-form-field.mjs.map +1 -1
  58. package/fesm2015/kirbydesign-designsystem-header.mjs +1 -0
  59. package/fesm2015/kirbydesign-designsystem-helpers-scss.mjs +1 -0
  60. package/fesm2015/kirbydesign-designsystem-helpers.mjs +1 -0
  61. package/fesm2015/kirbydesign-designsystem-icon.mjs +3 -0
  62. package/fesm2015/kirbydesign-designsystem-icon.mjs.map +1 -1
  63. package/fesm2015/kirbydesign-designsystem-item-group.mjs +1 -0
  64. package/fesm2015/kirbydesign-designsystem-item-sliding.mjs +1 -0
  65. package/fesm2015/kirbydesign-designsystem-item.mjs +1 -0
  66. package/fesm2015/kirbydesign-designsystem-kirby-app.mjs +1 -0
  67. package/fesm2015/kirbydesign-designsystem-kirby-ionic-module.mjs +1 -0
  68. package/fesm2015/kirbydesign-designsystem-list.mjs +1 -0
  69. package/fesm2015/kirbydesign-designsystem-loading-overlay.mjs +1 -0
  70. package/fesm2015/kirbydesign-designsystem-menu.mjs +1 -0
  71. package/fesm2015/kirbydesign-designsystem-modal-v2.mjs +4 -3
  72. package/fesm2015/kirbydesign-designsystem-modal-v2.mjs.map +1 -1
  73. package/fesm2015/kirbydesign-designsystem-modal.mjs +2 -48
  74. package/fesm2015/kirbydesign-designsystem-modal.mjs.map +1 -1
  75. package/fesm2015/kirbydesign-designsystem-page.mjs +19 -7
  76. package/fesm2015/kirbydesign-designsystem-page.mjs.map +1 -1
  77. package/fesm2015/kirbydesign-designsystem-popover.mjs +1 -0
  78. package/fesm2015/kirbydesign-designsystem-progress-circle.mjs +1 -0
  79. package/fesm2015/kirbydesign-designsystem-radio.mjs +3 -2
  80. package/fesm2015/kirbydesign-designsystem-radio.mjs.map +1 -1
  81. package/fesm2015/kirbydesign-designsystem-range.mjs +3 -2
  82. package/fesm2015/kirbydesign-designsystem-range.mjs.map +1 -1
  83. package/fesm2015/kirbydesign-designsystem-reorder-list.mjs +1 -0
  84. package/fesm2015/kirbydesign-designsystem-router-outlet.mjs +2 -1
  85. package/fesm2015/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  86. package/fesm2015/kirbydesign-designsystem-section-header.mjs +1 -0
  87. package/fesm2015/kirbydesign-designsystem-shared-floating.mjs +1 -0
  88. package/fesm2015/kirbydesign-designsystem-shared-portal.mjs +1 -0
  89. package/fesm2015/kirbydesign-designsystem-shared.mjs +1 -0
  90. package/fesm2015/kirbydesign-designsystem-slide-button.mjs +1 -0
  91. package/fesm2015/kirbydesign-designsystem-slide.mjs +4 -18
  92. package/fesm2015/kirbydesign-designsystem-slide.mjs.map +1 -1
  93. package/fesm2015/kirbydesign-designsystem-spinner.mjs +1 -0
  94. package/fesm2015/kirbydesign-designsystem-tab-navigation.mjs +3 -2
  95. package/fesm2015/kirbydesign-designsystem-tabs.mjs +5 -4
  96. package/fesm2015/kirbydesign-designsystem-tabs.mjs.map +1 -1
  97. package/fesm2015/kirbydesign-designsystem-testing-base.mjs +4 -72
  98. package/fesm2015/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  99. package/fesm2015/kirbydesign-designsystem-testing-jasmine.mjs +1 -3
  100. package/fesm2015/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  101. package/fesm2015/kirbydesign-designsystem-testing-jest.mjs +1 -3
  102. package/fesm2015/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  103. package/fesm2015/kirbydesign-designsystem-testing.mjs +1 -0
  104. package/fesm2015/kirbydesign-designsystem-toast.mjs +1 -0
  105. package/fesm2015/kirbydesign-designsystem-toggle-button.mjs +1 -0
  106. package/fesm2015/kirbydesign-designsystem-toggle.mjs +5 -2
  107. package/fesm2015/kirbydesign-designsystem-toggle.mjs.map +1 -1
  108. package/fesm2015/kirbydesign-designsystem-types.mjs +1 -0
  109. package/fesm2015/kirbydesign-designsystem.mjs +6 -13
  110. package/fesm2015/kirbydesign-designsystem.mjs.map +1 -1
  111. package/fesm2020/kirbydesign-designsystem-accordion.mjs +1 -0
  112. package/fesm2020/kirbydesign-designsystem-action-group.mjs +1 -0
  113. package/fesm2020/kirbydesign-designsystem-avatar.mjs +2 -10
  114. package/fesm2020/kirbydesign-designsystem-avatar.mjs.map +1 -1
  115. package/fesm2020/kirbydesign-designsystem-button.mjs +4 -14
  116. package/fesm2020/kirbydesign-designsystem-button.mjs.map +1 -1
  117. package/fesm2020/kirbydesign-designsystem-calendar.mjs +3 -2
  118. package/fesm2020/kirbydesign-designsystem-calendar.mjs.map +1 -1
  119. package/fesm2020/kirbydesign-designsystem-card.mjs +1 -0
  120. package/fesm2020/kirbydesign-designsystem-chart.mjs +1 -0
  121. package/fesm2020/kirbydesign-designsystem-checkbox.mjs +3 -2
  122. package/fesm2020/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  123. package/fesm2020/kirbydesign-designsystem-data-table.mjs +1 -0
  124. package/fesm2020/kirbydesign-designsystem-divider.mjs +1 -0
  125. package/fesm2020/kirbydesign-designsystem-dropdown.mjs +1 -0
  126. package/fesm2020/kirbydesign-designsystem-empty-state.mjs +1 -0
  127. package/fesm2020/kirbydesign-designsystem-fab-sheet.mjs +1 -0
  128. package/fesm2020/kirbydesign-designsystem-flag.mjs +1 -0
  129. package/fesm2020/kirbydesign-designsystem-form-field.mjs +9 -8
  130. package/fesm2020/kirbydesign-designsystem-form-field.mjs.map +1 -1
  131. package/fesm2020/kirbydesign-designsystem-header.mjs +1 -0
  132. package/fesm2020/kirbydesign-designsystem-helpers-scss.mjs +1 -0
  133. package/fesm2020/kirbydesign-designsystem-helpers.mjs +1 -0
  134. package/fesm2020/kirbydesign-designsystem-icon.mjs +3 -0
  135. package/fesm2020/kirbydesign-designsystem-icon.mjs.map +1 -1
  136. package/fesm2020/kirbydesign-designsystem-item-group.mjs +1 -0
  137. package/fesm2020/kirbydesign-designsystem-item-sliding.mjs +1 -0
  138. package/fesm2020/kirbydesign-designsystem-item.mjs +1 -0
  139. package/fesm2020/kirbydesign-designsystem-kirby-app.mjs +1 -0
  140. package/fesm2020/kirbydesign-designsystem-kirby-ionic-module.mjs +1 -0
  141. package/fesm2020/kirbydesign-designsystem-list.mjs +1 -0
  142. package/fesm2020/kirbydesign-designsystem-loading-overlay.mjs +1 -0
  143. package/fesm2020/kirbydesign-designsystem-menu.mjs +1 -0
  144. package/fesm2020/kirbydesign-designsystem-modal-v2.mjs +4 -3
  145. package/fesm2020/kirbydesign-designsystem-modal-v2.mjs.map +1 -1
  146. package/fesm2020/kirbydesign-designsystem-modal.mjs +2 -44
  147. package/fesm2020/kirbydesign-designsystem-modal.mjs.map +1 -1
  148. package/fesm2020/kirbydesign-designsystem-page.mjs +19 -7
  149. package/fesm2020/kirbydesign-designsystem-page.mjs.map +1 -1
  150. package/fesm2020/kirbydesign-designsystem-popover.mjs +1 -0
  151. package/fesm2020/kirbydesign-designsystem-progress-circle.mjs +1 -0
  152. package/fesm2020/kirbydesign-designsystem-radio.mjs +3 -2
  153. package/fesm2020/kirbydesign-designsystem-radio.mjs.map +1 -1
  154. package/fesm2020/kirbydesign-designsystem-range.mjs +3 -2
  155. package/fesm2020/kirbydesign-designsystem-range.mjs.map +1 -1
  156. package/fesm2020/kirbydesign-designsystem-reorder-list.mjs +1 -0
  157. package/fesm2020/kirbydesign-designsystem-router-outlet.mjs +2 -1
  158. package/fesm2020/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  159. package/fesm2020/kirbydesign-designsystem-section-header.mjs +1 -0
  160. package/fesm2020/kirbydesign-designsystem-shared-floating.mjs +1 -0
  161. package/fesm2020/kirbydesign-designsystem-shared-portal.mjs +1 -0
  162. package/fesm2020/kirbydesign-designsystem-shared.mjs +1 -0
  163. package/fesm2020/kirbydesign-designsystem-slide-button.mjs +1 -0
  164. package/fesm2020/kirbydesign-designsystem-slide.mjs +4 -18
  165. package/fesm2020/kirbydesign-designsystem-slide.mjs.map +1 -1
  166. package/fesm2020/kirbydesign-designsystem-spinner.mjs +1 -0
  167. package/fesm2020/kirbydesign-designsystem-tab-navigation.mjs +3 -2
  168. package/fesm2020/kirbydesign-designsystem-tabs.mjs +5 -4
  169. package/fesm2020/kirbydesign-designsystem-tabs.mjs.map +1 -1
  170. package/fesm2020/kirbydesign-designsystem-testing-base.mjs +4 -72
  171. package/fesm2020/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  172. package/fesm2020/kirbydesign-designsystem-testing-jasmine.mjs +1 -3
  173. package/fesm2020/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  174. package/fesm2020/kirbydesign-designsystem-testing-jest.mjs +1 -3
  175. package/fesm2020/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  176. package/fesm2020/kirbydesign-designsystem-testing.mjs +1 -0
  177. package/fesm2020/kirbydesign-designsystem-toast.mjs +1 -0
  178. package/fesm2020/kirbydesign-designsystem-toggle-button.mjs +1 -0
  179. package/fesm2020/kirbydesign-designsystem-toggle.mjs +5 -2
  180. package/fesm2020/kirbydesign-designsystem-toggle.mjs.map +1 -1
  181. package/fesm2020/kirbydesign-designsystem-types.mjs +1 -0
  182. package/fesm2020/kirbydesign-designsystem.mjs +6 -13
  183. package/fesm2020/kirbydesign-designsystem.mjs.map +1 -1
  184. package/form-field/form-field.component.d.ts +1 -1
  185. package/icon/src/README.md +16 -0
  186. package/icons/svg/bs-logo.svg +2 -0
  187. package/icons/svg/company.svg +2 -0
  188. package/lib/index.d.ts +0 -2
  189. package/lib/kirby.module.d.ts +22 -23
  190. package/modal/modal/services/modal.controller.d.ts +0 -10
  191. package/modal/modal/services/modal.helper.d.ts +0 -4
  192. package/package.json +3 -19
  193. package/page/page.component.d.ts +5 -2
  194. package/slide/slides.component.d.ts +2 -6
  195. package/testing-base/lib/components/index.d.ts +0 -2
  196. package/testing-base/lib/kirby-testing-base.module.d.ts +85 -87
  197. package/testing-jest/lib/mock-providers.d.ts +0 -3
  198. package/toggle/toggle.component.d.ts +2 -1
  199. package/README.md +0 -7
  200. package/alert-experimental/alert.component.d.ts +0 -28
  201. package/alert-experimental/alert.module.d.ts +0 -8
  202. package/alert-experimental/config/alert-config.d.ts +0 -14
  203. package/alert-experimental/index.d.ts +0 -5
  204. package/alert-experimental/public_api.d.ts +0 -4
  205. package/alert-experimental/services/alert.controller.d.ts +0 -20
  206. package/esm2020/alert-experimental/alert.component.mjs +0 -76
  207. package/esm2020/alert-experimental/alert.module.mjs +0 -18
  208. package/esm2020/alert-experimental/config/alert-config.mjs +0 -2
  209. package/esm2020/alert-experimental/kirbydesign-designsystem-alert-experimental.mjs +0 -5
  210. package/esm2020/alert-experimental/public_api.mjs +0 -4
  211. package/esm2020/alert-experimental/services/alert.controller.mjs +0 -67
  212. package/esm2020/grid/breakpoint-helper.service.mjs +0 -28
  213. package/esm2020/grid/grid-card-configuration.mjs +0 -8
  214. package/esm2020/grid/grid.component.mjs +0 -98
  215. package/esm2020/grid/kirbydesign-designsystem-grid.mjs +0 -5
  216. package/esm2020/grid/public_api.mjs +0 -4
  217. package/esm2020/testing-base/lib/components/mock.alert-experimental.component.mjs +0 -41
  218. package/esm2020/testing-base/lib/components/mock.grid.component.mjs +0 -31
  219. package/fesm2015/kirbydesign-designsystem-alert-experimental.mjs +0 -150
  220. package/fesm2015/kirbydesign-designsystem-alert-experimental.mjs.map +0 -1
  221. package/fesm2015/kirbydesign-designsystem-grid.mjs +0 -137
  222. package/fesm2015/kirbydesign-designsystem-grid.mjs.map +0 -1
  223. package/fesm2020/kirbydesign-designsystem-alert-experimental.mjs +0 -157
  224. package/fesm2020/kirbydesign-designsystem-alert-experimental.mjs.map +0 -1
  225. package/fesm2020/kirbydesign-designsystem-grid.mjs +0 -137
  226. package/fesm2020/kirbydesign-designsystem-grid.mjs.map +0 -1
  227. package/grid/breakpoint-helper.service.d.ts +0 -13
  228. package/grid/grid-card-configuration.d.ts +0 -8
  229. package/grid/grid.component.d.ts +0 -25
  230. package/grid/index.d.ts +0 -5
  231. package/grid/public_api.d.ts +0 -3
  232. package/testing-base/lib/components/mock.alert-experimental.component.d.ts +0 -14
  233. package/testing-base/lib/components/mock.grid.component.d.ts +0 -8
@@ -42,7 +42,6 @@ import { FabSheetComponent } from '@kirbydesign/designsystem/fab-sheet';
42
42
  import { DataTableModule } from '@kirbydesign/designsystem/data-table';
43
43
  import { ReorderListComponent } from '@kirbydesign/designsystem/reorder-list';
44
44
  import { ToastController, ToastHelper } from '@kirbydesign/designsystem/toast';
45
- import { BreakpointHelperService, GridComponent } from '@kirbydesign/designsystem/grid';
46
45
  import { ActionGroupComponent } from '@kirbydesign/designsystem/action-group';
47
46
  import { MenuComponent } from '@kirbydesign/designsystem/menu';
48
47
  import { TabNavigationModule } from '@kirbydesign/designsystem/tab-navigation';
@@ -57,7 +56,6 @@ const exportedDeclarations = [ModalRouterLinkDirective];
57
56
  const declarations = [...exportedDeclarations, KeyHandlerDirective];
58
57
  const standaloneComponents = [
59
58
  ActionGroupComponent,
60
- GridComponent,
61
59
  ItemGroupComponent,
62
60
  ModalCompactWrapperComponent,
63
61
  TextareaComponent,
@@ -126,7 +124,6 @@ const providers = [
126
124
  AlertHelper,
127
125
  ToastHelper,
128
126
  ToastController,
129
- BreakpointHelperService,
130
127
  LoadingOverlayService,
131
128
  ResizeObserverFactory,
132
129
  ResizeObserverService,
@@ -174,7 +171,6 @@ export class KirbyModule {
174
171
  AccordionModule,
175
172
  HeaderModule,
176
173
  KirbyModalModule, ActionGroupComponent,
177
- GridComponent,
178
174
  ItemGroupComponent,
179
175
  ModalCompactWrapperComponent,
180
176
  TextareaComponent,
@@ -229,7 +225,6 @@ export class KirbyModule {
229
225
  AccordionModule,
230
226
  HeaderModule,
231
227
  KirbyModalModule, ActionGroupComponent,
232
- GridComponent,
233
228
  ItemGroupComponent,
234
229
  ModalCompactWrapperComponent,
235
230
  TextareaComponent,
@@ -285,7 +280,6 @@ export class KirbyModule {
285
280
  AccordionModule,
286
281
  HeaderModule,
287
282
  KirbyModalModule, ActionGroupComponent,
288
- GridComponent,
289
283
  ItemGroupComponent,
290
284
  ModalCompactWrapperComponent,
291
285
  TextareaComponent,
@@ -350,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
350
344
  type: Inject,
351
345
  args: [ConfigToken]
352
346
  }] }]; } });
353
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9raXJieS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixtQkFBbUIsR0FDcEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFB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Q2pCLGVBQWU7UUFFZixhQUFhLEVBR2IsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixVQUFVO1FBQ1YsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsVUFBVTtRQUNWLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsVUFBVTtRQUNWLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLFVBQVU7UUFDVixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLFdBQVc7UUFDWCxlQUFlO1FBQ2YsWUFBWTtRQUNaLGdCQUFnQjsyRkFrQ0wsV0FBVztrQkFOdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsZUFBZSxDQUFDO29CQUMzRSxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLFNBQVMsRUFBRSxTQUFTO29CQUNwQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3RCOzswQkFnQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vY2FyZCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEtpcmJ5SW9uaWNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2tpcmJ5LWlvbmljLW1vZHVsZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnRMb2FkZXJEaXJlY3RpdmUsXG4gIFJlc2l6ZU9ic2VydmVyRmFjdG9yeSxcbiAgUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLFxuICBUaGVtZUNvbG9yRGlyZWN0aXZlLFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZCc7XG5pbXBvcnQgeyBGbGFnQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9mbGFnJztcbmltcG9ydCB7IFNwaW5uZXJNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NwaW5uZXInO1xuaW1wb3J0IHsgVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90b2dnbGUnO1xuaW1wb3J0IHsgU2VjdGlvbkhlYWRlckNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2VjdGlvbi1oZWFkZXInO1xuaW1wb3J0IHsgSXRlbU1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaXRlbSc7XG5pbXBvcnQgeyBTbGlkZU1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2xpZGUnO1xuaW1wb3J0IHsgVG9nZ2xlQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90b2dnbGUtYnV0dG9uJztcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3RhYnMnO1xuaW1wb3J0IHsgU2xpZGVCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NsaWRlLWJ1dHRvbic7XG5pbXBvcnQgeyBSYW5nZUNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vcmFuZ2UnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vcG9wb3Zlcic7XG5pbXBvcnQge1xuICBMb2FkaW5nT3ZlcmxheUNvbXBvbmVudCxcbiAgTG9hZGluZ092ZXJsYXlTZXJ2aWNlLFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2xvYWRpbmctb3ZlcmxheSc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9kaXZpZGVyJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9jaGVja2JveCc7XG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2FjY29yZGlvbic7XG5pbXBvcnQgeyBJdGVtU2xpZGluZ0NvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaXRlbS1zbGlkaW5nJztcbmltcG9ydCB7IExpc3RNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2xpc3QnO1xuaW1wb3J0IHsgUmFkaW9Nb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3JhZGlvJztcbmltcG9ydCB7XG4gIEFmZml4RGlyZWN0aXZlLFxuICBEYXRlSW5wdXREaXJlY3RpdmUsXG4gIEZvcm1GaWVsZE1vZHVsZSxcbiAgSW5wdXRDb21wb25lbnQsXG4gIFRleHRhcmVhQ29tcG9uZW50LFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9hdmF0YXInO1xuaW1wb3J0IHtcbiAgUHJvZ3Jlc3NDaXJjbGVDb21wb25lbnQsXG4gIFByb2dyZXNzQ2lyY2xlUmluZ0NvbXBvbmVudCxcbn0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9wcm9ncmVzcy1jaXJjbGUnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0TW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9yb3V0ZXItb3V0bGV0JztcblxuaW1wb3J0IHsgSXRlbUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pdGVtLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9jYWxlbmRhcic7XG5pbXBvcnQge1xuICBBY3Rpb25TaGVldENvbXBvbmVudCxcbiAgQWN0aW9uU2hlZXRIZWxwZXIsXG4gIEFsZXJ0Q29tcG9uZW50LFxuICBBbGVydEhlbHBlcixcbiAgQ2FuRGlzbWlzc0hlbHBlcixcbiAgTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCxcbiAgTW9kYWxDb250cm9sbGVyLFxuICBNb2RhbEZvb3RlckNvbXBvbmVudCxcbiAgTW9kYWxIZWxwZXIsXG4gIE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbn0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9tb2RhbCc7XG5pbXBvcnQgeyBLaXJieU1vZGFsTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9tb2RhbC92Mic7XG5pbXBvcnQgeyBQYWdlTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9wYWdlJztcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVhZGVyJztcbmltcG9ydCB7IEVtcHR5U3RhdGVNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2VtcHR5LXN0YXRlJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9kcm9wZG93bic7XG5pbXBvcnQgeyBLaXJieUFwcE1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0va2lyYnktYXBwJztcbmltcG9ydCB7IENoYXJ0c01vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vY2hhcnQnO1xuaW1wb3J0IHsgRmFiU2hlZXRDb21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2ZhYi1zaGVldCc7XG5pbXBvcnQgeyBEYXRhVGFibGVNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgUmVvcmRlckxpc3RDb21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3Jlb3JkZXItbGlzdCc7XG5cbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciwgVG9hc3RIZWxwZXIgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3RvYXN0JztcbmltcG9ydCB7IEJyZWFrcG9pbnRIZWxwZXJTZXJ2aWNlLCBHcmlkQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9ncmlkJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vbWVudSc7XG5pbXBvcnQgeyBUYWJOYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90YWItbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBTZWdtZW50ZWRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50c0luaXRpYWxpemVyIH0gZnJvbSAnLi9jdXN0b20tZWxlbWVudHMtaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgS2V5SGFuZGxlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9rZXktaGFuZGxlci9rZXktaGFuZGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTW9kYWxSb3V0ZXJMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21vZGFsLXJvdXRlci1saW5rL21vZGFsLXJvdXRlci1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLaXJieUJhZGdlTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2tpcmJ5LWJhZGdlLm1vZHVsZSc7XG5cbmNvbnN0IGV4cG9ydGVkRGVjbGFyYXRpb25zID0gW01vZGFsUm91dGVyTGlua0RpcmVjdGl2ZV07XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFsuLi5leHBvcnRlZERlY2xhcmF0aW9ucywgS2V5SGFuZGxlckRpcmVjdGl2ZV07XG5cbmNvbnN0IHN0YW5kYWxvbmVDb21wb25lbnRzID0gW1xuICBBY3Rpb25Hcm91cENvbXBvbmVudCxcbiAgR3JpZENvbXBvbmVudCxcbiAgSXRlbUdyb3VwQ29tcG9uZW50LFxuICBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50LFxuICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgSW5wdXRDb21wb25lbnQsXG4gIEFmZml4RGlyZWN0aXZlLFxuICBEYXRlSW5wdXREaXJlY3RpdmUsXG4gIERpdmlkZXJDb21wb25lbnQsXG4gIFRoZW1lQ29sb3JEaXJlY3RpdmUsXG4gIFNlZ21lbnRlZENvbnRyb2xDb21wb25lbnQsXG4gIEFsZXJ0Q29tcG9uZW50LFxuICBQb3BvdmVyQ29tcG9uZW50LFxuICBQcm9ncmVzc0NpcmNsZVJpbmdDb21wb25lbnQsXG4gIE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbiAgU2VjdGlvbkhlYWRlckNvbXBvbmVudCxcbiAgUmFuZ2VDb21wb25lbnQsXG4gIEl0ZW1TbGlkaW5nQ29tcG9uZW50LFxuXG4gIFByb2dyZXNzQ2lyY2xlQ29tcG9uZW50LFxuICBSZW9yZGVyTGlzdENvbXBvbmVudCxcbiAgTG9hZGluZ092ZXJsYXlDb21wb25lbnQsXG4gIEZhYlNoZWV0Q29tcG9uZW50LFxuICBUb2dnbGVDb21wb25lbnQsXG4gIFNsaWRlQnV0dG9uQ29tcG9uZW50LFxuICBTZWdtZW50ZWRDb250cm9sQ29tcG9uZW50LFxuICBDaGVja2JveENvbXBvbmVudCxcbiAgTWVudUNvbXBvbmVudCxcbiAgQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gIE1vZGFsRm9vdGVyQ29tcG9uZW50LFxuICBBdmF0YXJDb21wb25lbnQsXG4gIENhbGVuZGFyQ29tcG9uZW50LFxuICBCdXR0b25Db21wb25lbnQsXG4gIENvbXBvbmVudExvYWRlckRpcmVjdGl2ZSxcbiAgRmxhZ0NvbXBvbmVudCxcbl07XG5jb25zdCBleHBvcnRlZE1vZHVsZXMgPSBbXG4gIEtpcmJ5QXBwTW9kdWxlLFxuICBSb3V0ZXJPdXRsZXRNb2R1bGUsXG4gIFBhZ2VNb2R1bGUsXG4gIEhlYWRlck1vZHVsZSxcbiAgVGFiTmF2aWdhdGlvbk1vZHVsZSxcbiAgVGFic01vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSXRlbU1vZHVsZSxcbiAgVG9nZ2xlQnV0dG9uTW9kdWxlLFxuICBMaXN0TW9kdWxlLFxuICBDaGFydHNNb2R1bGUsXG4gIFNwaW5uZXJNb2R1bGUsXG4gIERhdGFUYWJsZU1vZHVsZSxcbiAgQ2FyZE1vZHVsZSxcbiAgUmFkaW9Nb2R1bGUsXG4gIEVtcHR5U3RhdGVNb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBLaXJieUJhZGdlTW9kdWxlLFxuICBGb3JtRmllbGRNb2R1bGUsXG4gIFNsaWRlTW9kdWxlLFxuICBBY2NvcmRpb25Nb2R1bGUsXG4gIEhlYWRlck1vZHVsZSxcbiAgS2lyYnlNb2RhbE1vZHVsZSxcbiAgLi4uc3RhbmRhbG9uZUNvbXBvbmVudHMsXG5dO1xuXG5jb25zdCBhbGxFeHBvcnRzID0gWy4uLmV4cG9ydGVkTW9kdWxlcywgLi4uZXhwb3J0ZWREZWNsYXJhdGlvbnNdO1xuXG5jb25zdCBpbXBvcnRlZE1vZHVsZXMgPSBbLi4uZXhwb3J0ZWRNb2R1bGVzXTtcblxuY29uc3QgcHJvdmlkZXJzID0gW1xuICBNb2RhbENvbnRyb2xsZXIsXG4gIEFjdGlvblNoZWV0SGVscGVyLFxuICBNb2RhbEhlbHBlcixcbiAgQWxlcnRIZWxwZXIsXG4gIFRvYXN0SGVscGVyLFxuICBUb2FzdENvbnRyb2xsZXIsXG4gIEJyZWFrcG9pbnRIZWxwZXJTZXJ2aWNlLFxuICBMb2FkaW5nT3ZlcmxheVNlcnZpY2UsXG4gIFJlc2l6ZU9ic2VydmVyRmFjdG9yeSxcbiAgUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLFxuICBDYW5EaXNtaXNzSGVscGVyLFxuICBjdXN0b21FbGVtZW50c0luaXRpYWxpemVyKCksXG5dO1xuXG5jb25zdCBDb25maWdUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjx1bmtub3duPignVVNFUkNPTkZJRycpO1xuZXhwb3J0IGludGVyZmFjZSBLaXJieUNvbmZpZyB7XG4gIG1vZHVsZVJvb3RSb3V0ZVBhdGg/OiBzdHJpbmc7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgS2lyYnlJb25pY01vZHVsZSwgLi4uaW1wb3J0ZWRNb2R1bGVzXSxcbiAgZGVjbGFyYXRpb25zOiBbZGVjbGFyYXRpb25zXSxcbiAgcHJvdmlkZXJzOiBwcm92aWRlcnMsXG4gIGV4cG9ydHM6IFthbGxFeHBvcnRzXSxcbn0pXG5leHBvcnQgY2xhc3MgS2lyYnlNb2R1bGUge1xuICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlnPzogS2lyYnlDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEtpcmJ5TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBLaXJieU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ29uZmlnVG9rZW4sXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ29uZmlnVG9rZW4pIGNvbmZpZz86IEtpcmJ5Q29uZmlnXG4gICkge1xuICAgIG1vZGFsQ29udHJvbGxlci5pbml0aWFsaXplKGNvbmZpZyAmJiBjb25maWcubW9kdWxlUm9vdFJvdXRlUGF0aCk7XG4gIH1cbn1cbiJdfQ==
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9raXJieS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixtQkFBbUIsR0FDcEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFB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VixrQkFBa0I7UUFDbEIsVUFBVTtRQUNWLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLFVBQVU7UUFDVixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLFdBQVc7UUFDWCxlQUFlO1FBQ2YsWUFBWTtRQUNaLGdCQUFnQjsyRkFpQ0wsV0FBVztrQkFOdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsZUFBZSxDQUFDO29CQUMzRSxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLFNBQVMsRUFBRSxTQUFTO29CQUNwQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3RCOzswQkFnQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vY2FyZCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEtpcmJ5SW9uaWNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2tpcmJ5LWlvbmljLW1vZHVsZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnRMb2FkZXJEaXJlY3RpdmUsXG4gIFJlc2l6ZU9ic2VydmVyRmFjdG9yeSxcbiAgUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLFxuICBUaGVtZUNvbG9yRGlyZWN0aXZlLFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZCc7XG5pbXBvcnQgeyBGbGFnQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9mbGFnJztcbmltcG9ydCB7IFNwaW5uZXJNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NwaW5uZXInO1xuaW1wb3J0IHsgVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90b2dnbGUnO1xuaW1wb3J0IHsgU2VjdGlvbkhlYWRlckNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2VjdGlvbi1oZWFkZXInO1xuaW1wb3J0IHsgSXRlbU1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaXRlbSc7XG5pbXBvcnQgeyBTbGlkZU1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc2xpZGUnO1xuaW1wb3J0IHsgVG9nZ2xlQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90b2dnbGUtYnV0dG9uJztcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3RhYnMnO1xuaW1wb3J0IHsgU2xpZGVCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NsaWRlLWJ1dHRvbic7XG5pbXBvcnQgeyBSYW5nZUNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vcmFuZ2UnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vcG9wb3Zlcic7XG5pbXBvcnQge1xuICBMb2FkaW5nT3ZlcmxheUNvbXBvbmVudCxcbiAgTG9hZGluZ092ZXJsYXlTZXJ2aWNlLFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2xvYWRpbmctb3ZlcmxheSc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9kaXZpZGVyJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9jaGVja2JveCc7XG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2FjY29yZGlvbic7XG5pbXBvcnQgeyBJdGVtU2xpZGluZ0NvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaXRlbS1zbGlkaW5nJztcbmltcG9ydCB7IExpc3RNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2xpc3QnO1xuaW1wb3J0IHsgUmFkaW9Nb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3JhZGlvJztcbmltcG9ydCB7XG4gIEFmZml4RGlyZWN0aXZlLFxuICBEYXRlSW5wdXREaXJlY3RpdmUsXG4gIEZvcm1GaWVsZE1vZHVsZSxcbiAgSW5wdXRDb21wb25lbnQsXG4gIFRleHRhcmVhQ29tcG9uZW50LFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9hdmF0YXInO1xuaW1wb3J0IHtcbiAgUHJvZ3Jlc3NDaXJjbGVDb21wb25lbnQsXG4gIFByb2dyZXNzQ2lyY2xlUmluZ0NvbXBvbmVudCxcbn0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9wcm9ncmVzcy1jaXJjbGUnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0TW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9yb3V0ZXItb3V0bGV0JztcblxuaW1wb3J0IHsgSXRlbUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pdGVtLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9jYWxlbmRhcic7XG5pbXBvcnQge1xuICBBY3Rpb25TaGVldENvbXBvbmVudCxcbiAgQWN0aW9uU2hlZXRIZWxwZXIsXG4gIEFsZXJ0Q29tcG9uZW50LFxuICBBbGVydEhlbHBlcixcbiAgQ2FuRGlzbWlzc0hlbHBlcixcbiAgTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCxcbiAgTW9kYWxDb250cm9sbGVyLFxuICBNb2RhbEZvb3RlckNvbXBvbmVudCxcbiAgTW9kYWxIZWxwZXIsXG4gIE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbn0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9tb2RhbCc7XG5pbXBvcnQgeyBLaXJieU1vZGFsTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9tb2RhbC92Mic7XG5pbXBvcnQgeyBQYWdlTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9wYWdlJztcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVhZGVyJztcbmltcG9ydCB7IEVtcHR5U3RhdGVNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2VtcHR5LXN0YXRlJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9kcm9wZG93bic7XG5pbXBvcnQgeyBLaXJieUFwcE1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0va2lyYnktYXBwJztcbmltcG9ydCB7IENoYXJ0c01vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vY2hhcnQnO1xuaW1wb3J0IHsgRmFiU2hlZXRDb21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2ZhYi1zaGVldCc7XG5pbXBvcnQgeyBEYXRhVGFibGVNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgUmVvcmRlckxpc3RDb21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3Jlb3JkZXItbGlzdCc7XG5cbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciwgVG9hc3RIZWxwZXIgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3RvYXN0JztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vbWVudSc7XG5pbXBvcnQgeyBUYWJOYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90YWItbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBTZWdtZW50ZWRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50c0luaXRpYWxpemVyIH0gZnJvbSAnLi9jdXN0b20tZWxlbWVudHMtaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgS2V5SGFuZGxlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9rZXktaGFuZGxlci9rZXktaGFuZGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTW9kYWxSb3V0ZXJMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21vZGFsLXJvdXRlci1saW5rL21vZGFsLXJvdXRlci1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLaXJieUJhZGdlTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2tpcmJ5LWJhZGdlLm1vZHVsZSc7XG5cbmNvbnN0IGV4cG9ydGVkRGVjbGFyYXRpb25zID0gW01vZGFsUm91dGVyTGlua0RpcmVjdGl2ZV07XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFsuLi5leHBvcnRlZERlY2xhcmF0aW9ucywgS2V5SGFuZGxlckRpcmVjdGl2ZV07XG5cbmNvbnN0IHN0YW5kYWxvbmVDb21wb25lbnRzID0gW1xuICBBY3Rpb25Hcm91cENvbXBvbmVudCxcbiAgSXRlbUdyb3VwQ29tcG9uZW50LFxuICBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50LFxuICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgSW5wdXRDb21wb25lbnQsXG4gIEFmZml4RGlyZWN0aXZlLFxuICBEYXRlSW5wdXREaXJlY3RpdmUsXG4gIERpdmlkZXJDb21wb25lbnQsXG4gIFRoZW1lQ29sb3JEaXJlY3RpdmUsXG4gIFNlZ21lbnRlZENvbnRyb2xDb21wb25lbnQsXG4gIEFsZXJ0Q29tcG9uZW50LFxuICBQb3BvdmVyQ29tcG9uZW50LFxuICBQcm9ncmVzc0NpcmNsZVJpbmdDb21wb25lbnQsXG4gIE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbiAgU2VjdGlvbkhlYWRlckNvbXBvbmVudCxcbiAgUmFuZ2VDb21wb25lbnQsXG4gIEl0ZW1TbGlkaW5nQ29tcG9uZW50LFxuXG4gIFByb2dyZXNzQ2lyY2xlQ29tcG9uZW50LFxuICBSZW9yZGVyTGlzdENvbXBvbmVudCxcbiAgTG9hZGluZ092ZXJsYXlDb21wb25lbnQsXG4gIEZhYlNoZWV0Q29tcG9uZW50LFxuICBUb2dnbGVDb21wb25lbnQsXG4gIFNsaWRlQnV0dG9uQ29tcG9uZW50LFxuICBTZWdtZW50ZWRDb250cm9sQ29tcG9uZW50LFxuICBDaGVja2JveENvbXBvbmVudCxcbiAgTWVudUNvbXBvbmVudCxcbiAgQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gIE1vZGFsRm9vdGVyQ29tcG9uZW50LFxuICBBdmF0YXJDb21wb25lbnQsXG4gIENhbGVuZGFyQ29tcG9uZW50LFxuICBCdXR0b25Db21wb25lbnQsXG4gIENvbXBvbmVudExvYWRlckRpcmVjdGl2ZSxcbiAgRmxhZ0NvbXBvbmVudCxcbl07XG5jb25zdCBleHBvcnRlZE1vZHVsZXMgPSBbXG4gIEtpcmJ5QXBwTW9kdWxlLFxuICBSb3V0ZXJPdXRsZXRNb2R1bGUsXG4gIFBhZ2VNb2R1bGUsXG4gIEhlYWRlck1vZHVsZSxcbiAgVGFiTmF2aWdhdGlvbk1vZHVsZSxcbiAgVGFic01vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSXRlbU1vZHVsZSxcbiAgVG9nZ2xlQnV0dG9uTW9kdWxlLFxuICBMaXN0TW9kdWxlLFxuICBDaGFydHNNb2R1bGUsXG4gIFNwaW5uZXJNb2R1bGUsXG4gIERhdGFUYWJsZU1vZHVsZSxcbiAgQ2FyZE1vZHVsZSxcbiAgUmFkaW9Nb2R1bGUsXG4gIEVtcHR5U3RhdGVNb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBLaXJieUJhZGdlTW9kdWxlLFxuICBGb3JtRmllbGRNb2R1bGUsXG4gIFNsaWRlTW9kdWxlLFxuICBBY2NvcmRpb25Nb2R1bGUsXG4gIEhlYWRlck1vZHVsZSxcbiAgS2lyYnlNb2RhbE1vZHVsZSxcbiAgLi4uc3RhbmRhbG9uZUNvbXBvbmVudHMsXG5dO1xuXG5jb25zdCBhbGxFeHBvcnRzID0gWy4uLmV4cG9ydGVkTW9kdWxlcywgLi4uZXhwb3J0ZWREZWNsYXJhdGlvbnNdO1xuXG5jb25zdCBpbXBvcnRlZE1vZHVsZXMgPSBbLi4uZXhwb3J0ZWRNb2R1bGVzXTtcblxuY29uc3QgcHJvdmlkZXJzID0gW1xuICBNb2RhbENvbnRyb2xsZXIsXG4gIEFjdGlvblNoZWV0SGVscGVyLFxuICBNb2RhbEhlbHBlcixcbiAgQWxlcnRIZWxwZXIsXG4gIFRvYXN0SGVscGVyLFxuICBUb2FzdENvbnRyb2xsZXIsXG4gIExvYWRpbmdPdmVybGF5U2VydmljZSxcbiAgUmVzaXplT2JzZXJ2ZXJGYWN0b3J5LFxuICBSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gIENhbkRpc21pc3NIZWxwZXIsXG4gIGN1c3RvbUVsZW1lbnRzSW5pdGlhbGl6ZXIoKSxcbl07XG5cbmNvbnN0IENvbmZpZ1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPHVua25vd24+KCdVU0VSQ09ORklHJyk7XG5leHBvcnQgaW50ZXJmYWNlIEtpcmJ5Q29uZmlnIHtcbiAgbW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZztcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBLaXJieUlvbmljTW9kdWxlLCAuLi5pbXBvcnRlZE1vZHVsZXNdLFxuICBkZWNsYXJhdGlvbnM6IFtkZWNsYXJhdGlvbnNdLFxuICBwcm92aWRlcnM6IHByb3ZpZGVycyxcbiAgZXhwb3J0czogW2FsbEV4cG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBLaXJieU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JDaGlsZChjb25maWc/OiBLaXJieUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8S2lyYnlNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEtpcmJ5TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDb25maWdUb2tlbixcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDb25maWdUb2tlbikgY29uZmlnPzogS2lyYnlDb25maWdcbiAgKSB7XG4gICAgbW9kYWxDb250cm9sbGVyLmluaXRpYWxpemUoY29uZmlnICYmIGNvbmZpZy5tb2R1bGVSb290Um91dGVQYXRoKTtcbiAgfVxufVxuIl19
@@ -265,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
265
265
  type: Injectable,
266
266
  args: [{ providedIn: 'root' }]
267
267
  }], ctorParameters: function () { return [{ type: i1.PlatformService }]; } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHbkUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1QixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoRCxnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMvQyxhQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUc7WUFDdEMsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO1FBZ1FNLHlCQUFvQixHQUFHLEdBQUcsRUFBRTtZQUNsQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsRUFBRTtpQkFDeEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7aUJBQ2xELFlBQVksQ0FBQztnQkFDWixnQkFBZ0IsRUFBRSxNQUFNO2FBQ3pCLENBQUM7aUJBQ0QsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUs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LENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDSixDQUFDOzs0SUF0UVUsNEJBQTRCO2dKQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzJGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uLCBBbmltYXRpb25CdWlsZGVyLCBjcmVhdGVBbmltYXRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBNb2RhbEFuaW1hdGlvbk9wdGlvbnMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2hlbHBlcnMnO1xuXG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSkge31cblxuICBwcml2YXRlIHJlYWRvbmx5IGVhc2luZ0VudGVyID0gS2lyYnlBbmltYXRpb24uRWFzaW5nLm1vZGFsLmVudGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IGVhc2luZ0xlYXZlID0gS2lyYnlBbmltYXRpb24uRWFzaW5nLm1vZGFsLmV4aXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24gPSBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbi5MT05HO1xuICBwcml2YXRlIHJlYWRvbmx5IFN3aXBlVG9DbG9zZURlZmF1bHRzID0ge1xuICAgIE1JTl9QUkVTRU5USU5HX1NDQUxFOiAwLjkzLFxuICB9O1xuXG4gIHB1YmxpYyBlbnRlckFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3A/OiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50KTogQW5pbWF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIChiYXNlRWw6IEhUTUxFbGVtZW50LCBvcHRzOiBNb2RhbEFuaW1hdGlvbk9wdGlvbnMpOiBBbmltYXRpb24gPT4ge1xuICAgICAgY29uc3QgeyBwcmVzZW50aW5nRWwgfSA9IG9wdHM7XG4gICAgICBjb25zdCByb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChiYXNlRWwpO1xuICAgICAgY29uc3QgeyB3cmFwcGVyQW5pbWF0aW9uLCBiYWNrZHJvcEFuaW1hdGlvbiB9ID0gdGhpcy5jcmVhdGVFbnRlckFuaW1hdGlvbigpO1xuXG4gICAgICBiYWNrZHJvcEFuaW1hdGlvbi5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvcignaW9uLWJhY2tkcm9wJykhKTtcblxuICAgICAgd3JhcHBlckFuaW1hdGlvblxuICAgICAgICAuYWRkRWxlbWVudChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb2RhbC13cmFwcGVyLCAubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAuYmVmb3JlU3R5bGVzKHsgb3BhY2l0eTogMSB9KTtcblxuICAgICAgY29uc3QgYmFzZUFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbignZW50ZXJpbmctYmFzZScpXG4gICAgICAgIC5hZGRFbGVtZW50KGJhc2VFbClcbiAgICAgICAgLmVhc2luZyh0aGlzLmVhc2luZ0VudGVyKVxuICAgICAgICAuZHVyYXRpb24odGhpcy5kdXJhdGlvbilcbiAgICAgICAgLmFkZEFuaW1hdGlvbih3cmFwcGVyQW5pbWF0aW9uKTtcblxuICAgICAgbGV0IGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbjogQW5pbWF0aW9uO1xuICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcCkge1xuICAgICAgICBjdXJyZW50QmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgIC5hZGRFbGVtZW50KGN1cnJlbnRCYWNrZHJvcClcbiAgICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJywgMC4wMSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVzZW50aW5nRWwpIHtcbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSAhdGhpcy5wbGF0Zm9ybS5pc1BoYWJsZXRPckJpZ2dlcigpO1xuICAgICAgICBjb25zdCBoYXNDYXJkTW9kYWwgPVxuICAgICAgICAgIHByZXNlbnRpbmdFbC50YWdOYW1lID09PSAnSU9OLU1PREFMJyAmJlxuICAgICAgICAgIChwcmVzZW50aW5nRWwgYXMgSFRNTElvbk1vZGFsRWxlbWVudCkucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0VsUm9vdCA9IHRoaXMuZ2V0RWxlbWVudFJvb3QocHJlc2VudGluZ0VsKTtcblxuICAgICAgICBjb25zdCBwcmVzZW50aW5nQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuYmVmb3JlU3R5bGVzKHtcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyxcbiAgICAgICAgICAndHJhbnNmb3JtLW9yaWdpbic6ICd0b3AgY2VudGVyJyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJvZHlFbCA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9lcyBub3Qgc3VwcG9ydCBgbWF4KClgIChleDogRmlyZWZveClcbiAgICAgICAgICAgKiBObyBuZWVkIHRvIHdvcnJ5IGFib3V0IHN0YXR1c2JhciBwYWRkaW5nIHNpbmNlIGVuZ2luZXMgbGlrZSBHZWNrb1xuICAgICAgICAgICAqIGFyZSBub3QgdXNlZCBhcyB0aGUgZW5naW5lIGZvciBzdGFuZGFsb25lIENvcmRvdmEvQ2FwYWNpdG9yIGFwcHNcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1PZmZzZXQgPSAhQ1NTLnN1cHBvcnRzKCd3aWR0aCcsICdtYXgoMHB4LCAxcHgpJylcbiAgICAgICAgICAgID8gJzMwcHgnXG4gICAgICAgICAgICA6ICdtYXgoMzBweCwgdmFyKC0taW9uLXNhZmUtYXJlYS10b3ApKSc7XG4gICAgICAgICAgY29uc3QgbW9kYWxUcmFuc2Zvcm0gPSBoYXNDYXJkTW9kYWwgPyAnLTEwcHgnIDogdHJhbnNmb3JtT2Zmc2V0O1xuICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRTtcbiAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7bW9kYWxUcmFuc2Zvcm19KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYmVmb3JlQWRkV3JpdGUoKCkgPT4gYm9keUVsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJ2JsYWNrJykpXG4gICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWwpXG4gICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgxKScsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwcHgnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzEwcHggMTBweCAwIDAnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihwcmVzZW50aW5nQW5pbWF0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG5cbiAgICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghaGFzQ2FyZE1vZGFsKSB7XG4gICAgICAgICAgICB3cmFwcGVyQW5pbWF0aW9uLmZyb21Ubygnb3BhY2l0eScsICcwJywgJzEnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSBoYXNDYXJkTW9kYWxcbiAgICAgICAgICAgICAgPyB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFXG4gICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC13cmFwcGVyJykhKVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgZmlsdGVyOiAnY29udHJhc3QoMSknLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNoYWRvd0FuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgb3BhY2l0eTogJzEnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKFtwcmVzZW50aW5nQW5pbWF0aW9uLCBzaGFkb3dBbmltYXRpb25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VBbmltYXRpb247XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBsZWF2ZUFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3A/OiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50KTogQW5pbWF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIGJhc2VFbDogSFRNTEVsZW1lbnQsXG4gICAgICBvcHRzOiBNb2RhbEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICBkdXJhdGlvbiA9IHRoaXMuZHVyYXRpb25cbiAgICApOiBBbmltYXRpb24gPT4ge1xuICAgICAgY29uc3QgeyBwcmVzZW50aW5nRWwgfSA9IG9wdHM7XG4gICAgICBjb25zdCByb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChiYXNlRWwpO1xuICAgICAgY29uc3QgeyB3cmFwcGVyQW5pbWF0aW9uLCBiYWNrZHJvcEFuaW1hdGlvbiB9ID0gdGhpcy5jcmVhdGVMZWF2ZUFuaW1hdGlvbigpO1xuXG4gICAgICBiYWNrZHJvcEFuaW1hdGlvbi5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvcignaW9uLWJhY2tkcm9wJykhKTtcblxuICAgICAgd3JhcHBlckFuaW1hdGlvblxuICAgICAgICAuYWRkRWxlbWVudChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb2RhbC13cmFwcGVyLCAubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAuYmVmb3JlU3R5bGVzKHsgb3BhY2l0eTogMSB9KTtcblxuICAgICAgY29uc3QgYmFzZUFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbignbGVhdmluZy1iYXNlJylcbiAgICAgICAgLmFkZEVsZW1lbnQoYmFzZUVsKVxuICAgICAgICAuZWFzaW5nKHRoaXMuZWFzaW5nTGVhdmUpXG4gICAgICAgIC5kdXJhdGlvbihkdXJhdGlvbilcbiAgICAgICAgLmFkZEFuaW1hdGlvbih3cmFwcGVyQW5pbWF0aW9uKTtcblxuICAgICAgbGV0IGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbjogQW5pbWF0aW9uO1xuICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcCkge1xuICAgICAgICBjdXJyZW50QmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgIC5hZGRFbGVtZW50KGN1cnJlbnRCYWNrZHJvcClcbiAgICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgMC4wMSwgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJylcbiAgICAgICAgICAuYWZ0ZXJTdHlsZXMoeyBvcGFjaXR5OiAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknIH0pOyAvL0Vuc3VyZXMgYmFja2Ryb3AgaXMgcmVzZXQgdG8gZGVmYXVsdCBvcGFjaXR5IGFmdGVyIHN3aXBlIHRvIGNsb3NlXG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVzZW50aW5nRWwpIHtcbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSAhdGhpcy5wbGF0Zm9ybS5pc1BoYWJsZXRPckJpZ2dlcigpO1xuICAgICAgICBjb25zdCBoYXNDYXJkTW9kYWwgPVxuICAgICAgICAgIHByZXNlbnRpbmdFbC50YWdOYW1lID09PSAnSU9OLU1PREFMJyAmJlxuICAgICAgICAgIChwcmVzZW50aW5nRWwgYXMgSFRNTElvbk1vZGFsRWxlbWVudCkucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0VsUm9vdCA9IHRoaXMuZ2V0RWxlbWVudFJvb3QocHJlc2VudGluZ0VsKTtcblxuICAgICAgICBjb25zdCBwcmVzZW50aW5nQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAuYmVmb3JlQ2xlYXJTdHlsZXMoWyd0cmFuc2Zvcm0nXSlcbiAgICAgICAgICAuYWZ0ZXJDbGVhclN0eWxlcyhbJ3RyYW5zZm9ybSddKVxuICAgICAgICAgIC5vbkZpbmlzaCgoY3VycmVudFN0ZXApID0+IHtcbiAgICAgICAgICAgIC8vIG9ubHkgcmVzZXQgYmFja2dyb3VuZCBjb2xvciBpZiB0aGlzIGlzIHRoZSBsYXN0IGNhcmQtc3R5bGUgbW9kYWxcbiAgICAgICAgICAgIGlmIChjdXJyZW50U3RlcCAhPT0gMSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnb3ZlcmZsb3cnLCAnJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IG51bU1vZGFscyA9IEFycmF5LmZyb20oYm9keUVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lvbi1tb2RhbCcpKS5maWx0ZXIoXG4gICAgICAgICAgICAgIChtKSA9PiBtLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICkubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKG51bU1vZGFscyA8PSAxKSB7XG4gICAgICAgICAgICAgIGJvZHlFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1jb2xvcicsICcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBib2R5RWwgPSBkb2N1bWVudC5ib2R5O1xuXG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybU9mZnNldCA9ICFDU1Muc3VwcG9ydHMoJ3dpZHRoJywgJ21heCgwcHgsIDFweCknKVxuICAgICAgICAgICAgPyAnMzBweCdcbiAgICAgICAgICAgIDogJ21heCgzMHB4LCB2YXIoLS1pb24tc2FmZS1hcmVhLXRvcCkpJztcbiAgICAgICAgICBjb25zdCBtb2RhbFRyYW5zZm9ybSA9IGhhc0NhcmRNb2RhbCA/ICctMTBweCcgOiB0cmFuc2Zvcm1PZmZzZXQ7XG4gICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFO1xuICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHttb2RhbFRyYW5zZm9ybX0pIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsKS5rZXlmcmFtZXMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMTBweCAxMHB4IDAgMCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvZmZzZXQ6IDEsXG4gICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDEpJyxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpJyxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMHB4JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG5cbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihwcmVzZW50aW5nQW5pbWF0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWhhc0NhcmRNb2RhbCkge1xuICAgICAgICAgICAgd3JhcHBlckFuaW1hdGlvbi5mcm9tVG8oJ29wYWNpdHknLCAnMScsICcwJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gaGFzQ2FyZE1vZGFsXG4gICAgICAgICAgICAgID8gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRVxuICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKC0xMHB4KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbFJvb3QucXVlcnlTZWxlY3RvcignLm1vZGFsLXdyYXBwZXInKSEpXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCwgMCwgMCknLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIGZpbHRlcjogJ2NvbnRyYXN0KDEpJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNoYWRvd0FuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbFJvb3QucXVlcnlTZWxlY3RvcignLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBvcGFjaXR5OiAnMScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihbcHJlc2VudGluZ0FuaW1hdGlvbiwgc2hhZG93QW5pbWF0aW9uXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYXNlQW5pbWF0aW9uO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUVudGVyQW5pbWF0aW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IGJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAwLjAxLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknKVxuICAgICAgLmJlZm9yZVN0eWxlcyh7XG4gICAgICAgICdwb2ludGVyLWV2ZW50cyc6ICdub25lJyxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbGVhclN0eWxlcyhbJ3BvaW50ZXItZXZlbnRzJ10pO1xuXG4gICAgY29uc3Qgd3JhcHBlckFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpLmZyb21UbyhcbiAgICAgICd0cmFuc2Zvcm0nLFxuICAgICAgJ3RyYW5zbGF0ZVkoMTAwdmgpJyxcbiAgICAgICd0cmFuc2xhdGVZKDB2aCknXG4gICAgKTtcblxuICAgIHJldHVybiB7IGJhY2tkcm9wQW5pbWF0aW9uLCB3cmFwcGVyQW5pbWF0aW9uIH07XG4gIH07XG5cbiAgcHJpdmF0ZSBjcmVhdGVMZWF2ZUFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICBjb25zdCBiYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpLmZyb21Ubygnb3BhY2l0eScsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScsIDApO1xuXG4gICAgY29uc3Qgd3JhcHBlckFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpLmZyb21UbyhcbiAgICAgICd0cmFuc2Zvcm0nLFxuICAgICAgJ3RyYW5zbGF0ZVkoMHZoKScsXG4gICAgICAndHJhbnNsYXRlWSgxMDB2aCknXG4gICAgKTtcblxuICAgIHJldHVybiB7IGJhY2tkcm9wQW5pbWF0aW9uLCB3cmFwcGVyQW5pbWF0aW9uIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJvb3QgY29udGV4dCBvZiBhIHNoYWRvdyBkb20gZWxlbWVudFxuICAgKiBPbiBuZXdlciBicm93c2VycyB0aGlzIHdpbGwgYmUgdGhlIHNoYWRvd1Jvb3QsXG4gICAqIGJ1dCBmb3Igb2xkZXIgYnJvd3NlciB0aGlzIG1heSBqdXN0IGJlIHRoZVxuICAgKiBlbGVtZW50IGl0c2VsZi5cbiAgICpcbiAgICogVXNlZnVsIGZvciB3aGVuZXZlciB5b3UgbmVlZCB0byBleHBsaWNpdGx5XG4gICAqIGRvIFwibXlFbGVtZW50LnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoLi4uKVwiLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRFbGVtZW50Um9vdCA9IChlbDogSFRNTEVsZW1lbnQsIGZhbGxiYWNrOiBIVE1MRWxlbWVudCA9IGVsKSA9PiB7XG4gICAgcmV0dXJuIGVsLnNoYWRvd1Jvb3QgfHwgZmFsbGJhY2s7XG4gIH07XG59XG4iXX0=
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHbkUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1QixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoRCxnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMvQyxhQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUc7WUFDdEMsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO1FBNFBNLHlCQUFvQixHQUFHLEdBQUcsRUFBRTtZQUNsQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsRUFBRTtpQkFDeEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7aUJBQ2xELFlBQVksQ0FBQztnQkFDWixnQkFBZ0IsRUFBRSxNQUFNO2FBQ3pCLENBQUM7aUJBQ0QsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQy9DLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsaUJBQWlCLENBQ2xCLENBQUM7WUFFRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUM7UUFFTSx5QkFBb0IsR0FBRyxHQUFHLEVBQUU7WUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTVGLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxFQUFFLENBQUMsTUFBTSxDQUMvQyxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixDQUNwQixDQUFDO1lBRUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDO1FBRUY7Ozs7Ozs7O1dBUUc7UUFDSyxtQkFBYyxHQUFHLENBQUMsRUFBZSxFQUFFLFdBQXdCLEVBQUUsRUFBRSxFQUFFO1lBQ3ZFLE9BQU8sRUFBRSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFDbkMsQ0FBQyxDQUFDO0lBM1M4QyxDQUFDO0lBUzFDLGNBQWMsQ0FBQyxlQUF3QztRQUM1RCxPQUFPLENBQUMsTUFBbUIsRUFBRSxJQUFTLEVBQWEsRUFBRTtZQUNuRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFFNUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBQztZQUVsRSxnQkFBZ0I7aUJBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywrQkFBK0IsQ0FBRSxDQUFDO2lCQUNuRSxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVoQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO2lCQUNuRCxVQUFVLENBQUMsTUFBTSxDQUFDO2lCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztpQkFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQ3ZCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWxDLElBQUksd0JBQW1DLENBQUM7WUFDeEMsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLHdCQUF3QixHQUFHLGVBQWUsRUFBRTtxQkFDekMsVUFBVSxDQUFDLGVBQWUsQ0FBQztxQkFDM0IsTUFBTSxDQUFDLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN2RDtZQUVELElBQUksWUFBWSxFQUFFO2dCQUNoQixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDcEQsTUFBTSxZQUFZLEdBQ2hCLFlBQVksQ0FBQyxPQUFPLEtBQUssV0FBVztvQkFDbkMsWUFBb0MsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLENBQUM7Z0JBQ3hFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFFM0QsTUFBTSxtQkFBbUIsR0FBRyxlQUFlLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3pELFNBQVMsRUFBRSxlQUFlO29CQUMxQixrQkFBa0IsRUFBRSxZQUFZO29CQUNoQyxRQUFRLEVBQUUsUUFBUTtpQkFDbkIsQ0FBQyxDQUFDO2dCQUVILE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBRTdCLElBQUksUUFBUSxFQUFFO29CQUNaOzs7O3VCQUlHO29CQUNILE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDO3dCQUM3RCxDQUFDLENBQUMsTUFBTTt3QkFDUixDQUFDLENBQUMscUNBQXFDLENBQUM7b0JBQzFDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7b0JBQ2hFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDO29CQUN6RSxNQUFNLGNBQWMsR0FBRyxjQUFjLGNBQWMsV0FBVyxpQkFBaUIsR0FBRyxDQUFDO29CQUVuRixtQkFBbUI7eUJBQ2hCLFdBQVcsQ0FBQzt3QkFDWCxTQUFTLEVBQUUsY0FBYztxQkFDMUIsQ0FBQzt5QkFDRCxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7eUJBQzNFLFVBQVUsQ0FBQyxZQUFZLENBQUM7eUJBQ3hCLFNBQVMsQ0FBQzt3QkFDVDs0QkFDRSxNQUFNLEVBQUUsQ0FBQzs0QkFDVCxNQUFNLEVBQUUsYUFBYTs0QkFDckIsU0FBUyxFQUFFLDBCQUEwQjs0QkFDckMsWUFBWSxFQUFFLEtBQUs7eUJBQ3BCO3dCQUNEOzRCQUNFLE1BQU0sRUFBRSxDQUFDOzRCQUNULE1BQU0sRUFBRSxnQkFBZ0I7NEJBQ3hCLFNBQVMsRUFBRSxjQUFjOzRCQUN6QixZQUFZLEVBQUUsZUFBZTt5QkFDOUI7cUJBQ0YsQ0FBQyxDQUFDO29CQUVMLGFBQWEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7cUJBQU07b0JBQ0wsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUU5QyxJQUFJLHdCQUF3QixFQUFFO3dCQUM1QixhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7cUJBQ3REO29CQUVELElBQUksQ0FBQyxZQUFZLEVBQUU7d0JBQ2pCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUM5Qzt5QkFBTTt3QkFDTCxNQUFNLGlCQUFpQixHQUFHLFlBQVk7NEJBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9COzRCQUNoRCxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNOLE1BQU0sY0FBYyxHQUFHLDJCQUEyQixpQkFBaUIsR0FBRyxDQUFDO3dCQUV2RSxtQkFBbUI7NkJBQ2hCLFdBQVcsQ0FBQzs0QkFDWCxTQUFTLEVBQUUsY0FBYzt5QkFDMUIsQ0FBQzs2QkFDRCxVQUFVLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFFLENBQUM7NkJBQzdELFNBQVMsQ0FBQzs0QkFDVCxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUU7NEJBQ3pFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTt5QkFDbkUsQ0FBQyxDQUFDO3dCQUVMLE1BQU0sZUFBZSxHQUFHLGVBQWUsRUFBRTs2QkFDdEMsV0FBVyxDQUFDOzRCQUNYLFNBQVMsRUFBRSxjQUFjO3lCQUMxQixDQUFDOzZCQUNELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFFLENBQUM7NkJBQzVELFNBQVMsQ0FBQzs0QkFDVCxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUU7NEJBQ2hFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7eUJBQ3ZELENBQUMsQ0FBQzt3QkFFTCxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztxQkFDcEU7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxhQUFhLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzlDLElBQUksd0JBQXdCLEVBQUU7b0JBQzVCLGFBQWEsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQztpQkFDdEQ7YUFDRjtZQUVELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjLENBQUMsZUFBd0M7UUFDNUQsT0FBTyxDQUFDLE1BQW1CLEVBQUUsSUFBUyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFhLEVBQUU7WUFDN0UsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQztZQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBRTVFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUM7WUFFbEUsZ0JBQWdCO2lCQUNiLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLENBQUUsQ0FBQztpQkFDbkUsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFaEMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQztpQkFDbEQsVUFBVSxDQUFDLE1BQU0sQ0FBQztpQkFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQ3hCLFFBQVEsQ0FBQyxRQUFRLENBQUM7aUJBQ2xCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWxDLElBQUksd0JBQW1DLENBQUM7WUFDeEMsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLHdCQUF3QixHQUFHLGVBQWUsRUFBRTtxQkFDekMsVUFBVSxDQUFDLGVBQWUsQ0FBQztxQkFDM0IsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7cUJBQ2xELFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUU7YUFDNUg7WUFFRCxJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BELE1BQU0sWUFBWSxHQUNoQixZQUFZLENBQUMsT0FBTyxLQUFLLFdBQVc7b0JBQ25DLFlBQW9DLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUFDO2dCQUN4RSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRTNELE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxFQUFFO3FCQUMxQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUNoQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUMvQixRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDeEIsbUVBQW1FO29CQUNuRSxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7d0JBQ3JCLE9BQU87cUJBQ1I7b0JBRUQsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUUvQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDdkUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLENBQ3pDLENBQUMsTUFBTSxDQUFDO29CQUNULElBQUksU0FBUyxJQUFJLENBQUMsRUFBRTt3QkFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQ2xEO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUVMLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBRTdCLElBQUksUUFBUSxFQUFFO29CQUNaLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDO3dCQUM3RCxDQUFDLENBQUMsTUFBTTt3QkFDUixDQUFDLENBQUMscUNBQXFDLENBQUM7b0JBQzFDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7b0JBQ2hFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDO29CQUN6RSxNQUFNLGNBQWMsR0FBRyxjQUFjLGNBQWMsV0FBVyxpQkFBaUIsR0FBRyxDQUFDO29CQUVuRixtQkFBbUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUNyRDs0QkFDRSxNQUFNLEVBQUUsQ0FBQzs0QkFDVCxNQUFNLEVBQUUsZ0JBQWdCOzRCQUN4QixTQUFTLEVBQUUsY0FBYzs0QkFDekIsWUFBWSxFQUFFLGVBQWU7eUJBQzlCO3dCQUNEOzRCQUNFLE1BQU0sRUFBRSxDQUFDOzRCQUNULE1BQU0sRUFBRSxhQUFhOzRCQUNyQixTQUFTLEVBQUUsMEJBQTBCOzRCQUNyQyxZQUFZLEVBQUUsS0FBSzt5QkFDcEI7cUJBQ0YsQ0FBQyxDQUFDO29CQUVILGFBQWEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakQ7cUJBQU07b0JBQ0wsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUM5QyxJQUFJLHdCQUF3QixFQUFFO3dCQUM1QixhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7cUJBQ3REO29CQUVELElBQUksQ0FBQyxZQUFZLEVBQUU7d0JBQ2pCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUM5Qzt5QkFBTTt3QkFDTCxNQUFNLGlCQUFpQixHQUFHLFlBQVk7NEJBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9COzRCQUNoRCxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNOLE1BQU0sY0FBYyxHQUFHLDJCQUEyQixpQkFBaUIsR0FBRyxDQUFDO3dCQUV2RSxtQkFBbUI7NkJBQ2hCLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUUsQ0FBQzs2QkFDN0QsV0FBVyxDQUFDOzRCQUNYLFNBQVMsRUFBRSxzQkFBc0I7eUJBQ2xDLENBQUM7NkJBQ0QsU0FBUyxDQUFDOzRCQUNULEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTs0QkFDbEUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFO3lCQUMxRSxDQUFDLENBQUM7d0JBRUwsTUFBTSxlQUFlLEdBQUcsZUFBZSxFQUFFOzZCQUN0QyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBRSxDQUFDOzZCQUM1RCxXQUFXLENBQUM7NEJBQ1gsU0FBUyxFQUFFLHdCQUF3Qjt5QkFDcEMsQ0FBQzs2QkFDRCxTQUFTLENBQUM7NEJBQ1QsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTs0QkFDdEQsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFO3lCQUNqRSxDQUFDLENBQUM7d0JBRUwsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7cUJBQ3BFO2lCQUNGO2FBQ0Y7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLHdCQUF3QixFQUFFO29CQUM1QixhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7WUFFRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDSixDQUFDOzs0SUFsUVUsNEJBQTRCO2dKQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzJGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uLCBBbmltYXRpb25CdWlsZGVyLCBjcmVhdGVBbmltYXRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2hlbHBlcnMnO1xuXG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSkge31cblxuICBwcml2YXRlIHJlYWRvbmx5IGVhc2luZ0VudGVyID0gS2lyYnlBbmltYXRpb24uRWFzaW5nLm1vZGFsLmVudGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IGVhc2luZ0xlYXZlID0gS2lyYnlBbmltYXRpb24uRWFzaW5nLm1vZGFsLmV4aXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24gPSBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbi5MT05HO1xuICBwcml2YXRlIHJlYWRvbmx5IFN3aXBlVG9DbG9zZURlZmF1bHRzID0ge1xuICAgIE1JTl9QUkVTRU5USU5HX1NDQUxFOiAwLjkzLFxuICB9O1xuXG4gIHB1YmxpYyBlbnRlckFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3A/OiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50KTogQW5pbWF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIChiYXNlRWw6IEhUTUxFbGVtZW50LCBvcHRzOiBhbnkpOiBBbmltYXRpb24gPT4ge1xuICAgICAgY29uc3QgeyBwcmVzZW50aW5nRWwgfSA9IG9wdHM7XG4gICAgICBjb25zdCByb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChiYXNlRWwpO1xuICAgICAgY29uc3QgeyB3cmFwcGVyQW5pbWF0aW9uLCBiYWNrZHJvcEFuaW1hdGlvbiB9ID0gdGhpcy5jcmVhdGVFbnRlckFuaW1hdGlvbigpO1xuXG4gICAgICBiYWNrZHJvcEFuaW1hdGlvbi5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvcignaW9uLWJhY2tkcm9wJykhKTtcblxuICAgICAgd3JhcHBlckFuaW1hdGlvblxuICAgICAgICAuYWRkRWxlbWVudChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb2RhbC13cmFwcGVyLCAubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAuYmVmb3JlU3R5bGVzKHsgb3BhY2l0eTogMSB9KTtcblxuICAgICAgY29uc3QgYmFzZUFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbignZW50ZXJpbmctYmFzZScpXG4gICAgICAgIC5hZGRFbGVtZW50KGJhc2VFbClcbiAgICAgICAgLmVhc2luZyh0aGlzLmVhc2luZ0VudGVyKVxuICAgICAgICAuZHVyYXRpb24odGhpcy5kdXJhdGlvbilcbiAgICAgICAgLmFkZEFuaW1hdGlvbih3cmFwcGVyQW5pbWF0aW9uKTtcblxuICAgICAgbGV0IGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbjogQW5pbWF0aW9uO1xuICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcCkge1xuICAgICAgICBjdXJyZW50QmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgIC5hZGRFbGVtZW50KGN1cnJlbnRCYWNrZHJvcClcbiAgICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJywgMC4wMSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVzZW50aW5nRWwpIHtcbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSAhdGhpcy5wbGF0Zm9ybS5pc1BoYWJsZXRPckJpZ2dlcigpO1xuICAgICAgICBjb25zdCBoYXNDYXJkTW9kYWwgPVxuICAgICAgICAgIHByZXNlbnRpbmdFbC50YWdOYW1lID09PSAnSU9OLU1PREFMJyAmJlxuICAgICAgICAgIChwcmVzZW50aW5nRWwgYXMgSFRNTElvbk1vZGFsRWxlbWVudCkucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0VsUm9vdCA9IHRoaXMuZ2V0RWxlbWVudFJvb3QocHJlc2VudGluZ0VsKTtcblxuICAgICAgICBjb25zdCBwcmVzZW50aW5nQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuYmVmb3JlU3R5bGVzKHtcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyxcbiAgICAgICAgICAndHJhbnNmb3JtLW9yaWdpbic6ICd0b3AgY2VudGVyJyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJvZHlFbCA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9lcyBub3Qgc3VwcG9ydCBgbWF4KClgIChleDogRmlyZWZveClcbiAgICAgICAgICAgKiBObyBuZWVkIHRvIHdvcnJ5IGFib3V0IHN0YXR1c2JhciBwYWRkaW5nIHNpbmNlIGVuZ2luZXMgbGlrZSBHZWNrb1xuICAgICAgICAgICAqIGFyZSBub3QgdXNlZCBhcyB0aGUgZW5naW5lIGZvciBzdGFuZGFsb25lIENvcmRvdmEvQ2FwYWNpdG9yIGFwcHNcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1PZmZzZXQgPSAhQ1NTLnN1cHBvcnRzKCd3aWR0aCcsICdtYXgoMHB4LCAxcHgpJylcbiAgICAgICAgICAgID8gJzMwcHgnXG4gICAgICAgICAgICA6ICdtYXgoMzBweCwgdmFyKC0taW9uLXNhZmUtYXJlYS10b3ApKSc7XG4gICAgICAgICAgY29uc3QgbW9kYWxUcmFuc2Zvcm0gPSBoYXNDYXJkTW9kYWwgPyAnLTEwcHgnIDogdHJhbnNmb3JtT2Zmc2V0O1xuICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRTtcbiAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7bW9kYWxUcmFuc2Zvcm19KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYmVmb3JlQWRkV3JpdGUoKCkgPT4gYm9keUVsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJ2JsYWNrJykpXG4gICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWwpXG4gICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgxKScsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwcHgnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzEwcHggMTBweCAwIDAnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihwcmVzZW50aW5nQW5pbWF0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG5cbiAgICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghaGFzQ2FyZE1vZGFsKSB7XG4gICAgICAgICAgICB3cmFwcGVyQW5pbWF0aW9uLmZyb21Ubygnb3BhY2l0eScsICcwJywgJzEnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSBoYXNDYXJkTW9kYWxcbiAgICAgICAgICAgICAgPyB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFXG4gICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC13cmFwcGVyJykhKVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgZmlsdGVyOiAnY29udHJhc3QoMSknLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNoYWRvd0FuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgb3BhY2l0eTogJzEnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKFtwcmVzZW50aW5nQW5pbWF0aW9uLCBzaGFkb3dBbmltYXRpb25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VBbmltYXRpb247XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBsZWF2ZUFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3A/OiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50KTogQW5pbWF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIChiYXNlRWw6IEhUTUxFbGVtZW50LCBvcHRzOiBhbnksIGR1cmF0aW9uID0gdGhpcy5kdXJhdGlvbik6IEFuaW1hdGlvbiA9PiB7XG4gICAgICBjb25zdCB7IHByZXNlbnRpbmdFbCB9ID0gb3B0cztcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KGJhc2VFbCk7XG4gICAgICBjb25zdCB7IHdyYXBwZXJBbmltYXRpb24sIGJhY2tkcm9wQW5pbWF0aW9uIH0gPSB0aGlzLmNyZWF0ZUxlYXZlQW5pbWF0aW9uKCk7XG5cbiAgICAgIGJhY2tkcm9wQW5pbWF0aW9uLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yKCdpb24tYmFja2Ryb3AnKSEpO1xuXG4gICAgICB3cmFwcGVyQW5pbWF0aW9uXG4gICAgICAgIC5hZGRFbGVtZW50KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLm1vZGFsLXdyYXBwZXIsIC5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgIC5iZWZvcmVTdHlsZXMoeyBvcGFjaXR5OiAxIH0pO1xuXG4gICAgICBjb25zdCBiYXNlQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCdsZWF2aW5nLWJhc2UnKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwpXG4gICAgICAgIC5lYXNpbmcodGhpcy5lYXNpbmdMZWF2ZSlcbiAgICAgICAgLmR1cmF0aW9uKGR1cmF0aW9uKVxuICAgICAgICAuYWRkQW5pbWF0aW9uKHdyYXBwZXJBbmltYXRpb24pO1xuXG4gICAgICBsZXQgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uOiBBbmltYXRpb247XG4gICAgICBpZiAoY3VycmVudEJhY2tkcm9wKSB7XG4gICAgICAgIGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgLmFkZEVsZW1lbnQoY3VycmVudEJhY2tkcm9wKVxuICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAwLjAxLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknKVxuICAgICAgICAgIC5hZnRlclN0eWxlcyh7IG9wYWNpdHk6ICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScgfSk7IC8vRW5zdXJlcyBiYWNrZHJvcCBpcyByZXNldCB0byBkZWZhdWx0IG9wYWNpdHkgYWZ0ZXIgc3dpcGUgdG8gY2xvc2VcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXNlbnRpbmdFbCkge1xuICAgICAgICBjb25zdCBpc01vYmlsZSA9ICF0aGlzLnBsYXRmb3JtLmlzUGhhYmxldE9yQmlnZ2VyKCk7XG4gICAgICAgIGNvbnN0IGhhc0NhcmRNb2RhbCA9XG4gICAgICAgICAgcHJlc2VudGluZ0VsLnRhZ05hbWUgPT09ICdJT04tTU9EQUwnICYmXG4gICAgICAgICAgKHByZXNlbnRpbmdFbCBhcyBIVE1MSW9uTW9kYWxFbGVtZW50KS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVzZW50aW5nRWxSb290ID0gdGhpcy5nZXRFbGVtZW50Um9vdChwcmVzZW50aW5nRWwpO1xuXG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgIC5iZWZvcmVDbGVhclN0eWxlcyhbJ3RyYW5zZm9ybSddKVxuICAgICAgICAgIC5hZnRlckNsZWFyU3R5bGVzKFsndHJhbnNmb3JtJ10pXG4gICAgICAgICAgLm9uRmluaXNoKChjdXJyZW50U3RlcCkgPT4ge1xuICAgICAgICAgICAgLy8gb25seSByZXNldCBiYWNrZ3JvdW5kIGNvbG9yIGlmIHRoaXMgaXMgdGhlIGxhc3QgY2FyZC1zdHlsZSBtb2RhbFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGVwICE9PSAxKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJlc2VudGluZ0VsLnN0eWxlLnNldFByb3BlcnR5KCdvdmVyZmxvdycsICcnKTtcblxuICAgICAgICAgICAgY29uc3QgbnVtTW9kYWxzID0gQXJyYXkuZnJvbShib2R5RWwucXVlcnlTZWxlY3RvckFsbCgnaW9uLW1vZGFsJykpLmZpbHRlcihcbiAgICAgICAgICAgICAgKG0pID0+IG0ucHJlc2VudGluZ0VsZW1lbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAobnVtTW9kYWxzIDw9IDEpIHtcbiAgICAgICAgICAgICAgYm9keUVsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJvZHlFbCA9IGRvY3VtZW50LmJvZHk7XG5cbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtT2Zmc2V0ID0gIUNTUy5zdXBwb3J0cygnd2lkdGgnLCAnbWF4KDBweCwgMXB4KScpXG4gICAgICAgICAgICA/ICczMHB4J1xuICAgICAgICAgICAgOiAnbWF4KDMwcHgsIHZhcigtLWlvbi1zYWZlLWFyZWEtdG9wKSknO1xuICAgICAgICAgIGNvbnN0IG1vZGFsVHJhbnNmb3JtID0gaGFzQ2FyZE1vZGFsID8gJy0xMHB4JyA6IHRyYW5zZm9ybU9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEU7XG4gICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke21vZGFsVHJhbnNmb3JtfSkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb24uYWRkRWxlbWVudChwcmVzZW50aW5nRWwpLmtleWZyYW1lcyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcxMHB4IDEwcHggMCAwJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMSknLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwcHgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcblxuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKHByZXNlbnRpbmdBbmltYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghaGFzQ2FyZE1vZGFsKSB7XG4gICAgICAgICAgICB3cmFwcGVyQW5pbWF0aW9uLmZyb21Ubygnb3BhY2l0eScsICcxJywgJzAnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9QcmVzZW50aW5nU2NhbGUgPSBoYXNDYXJkTW9kYWxcbiAgICAgICAgICAgICAgPyB0aGlzLlN3aXBlVG9DbG9zZURlZmF1bHRzLk1JTl9QUkVTRU5USU5HX1NDQUxFXG4gICAgICAgICAgICAgIDogMTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsVHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoLTEwcHgpIHNjYWxlKCR7dG9QcmVzZW50aW5nU2NhbGV9KWA7XG5cbiAgICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtd3JhcHBlcicpISlcbiAgICAgICAgICAgICAgLmFmdGVyU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLCAwLCAwKScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgZmlsdGVyOiAnY29udHJhc3QoMSknLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgY29uc3Qgc2hhZG93QW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykhKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMCwgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDEsIG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKFtwcmVzZW50aW5nQW5pbWF0aW9uLCBzaGFkb3dBbmltYXRpb25dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VBbmltYXRpb247XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRW50ZXJBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgYmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAuMDEsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScpXG4gICAgICAuYmVmb3JlU3R5bGVzKHtcbiAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogJ25vbmUnLFxuICAgICAgfSlcbiAgICAgIC5hZnRlckNsZWFyU3R5bGVzKFsncG9pbnRlci1ldmVudHMnXSk7XG5cbiAgICBjb25zdCB3cmFwcGVyQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICAndHJhbnNsYXRlWSgxMDB2aCknLFxuICAgICAgJ3RyYW5zbGF0ZVkoMHZoKSdcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgYmFja2Ryb3BBbmltYXRpb24sIHdyYXBwZXJBbmltYXRpb24gfTtcbiAgfTtcblxuICBwcml2YXRlIGNyZWF0ZUxlYXZlQW5pbWF0aW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IGJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKCdvcGFjaXR5JywgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJywgMCk7XG5cbiAgICBjb25zdCB3cmFwcGVyQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKCkuZnJvbVRvKFxuICAgICAgJ3RyYW5zZm9ybScsXG4gICAgICAndHJhbnNsYXRlWSgwdmgpJyxcbiAgICAgICd0cmFuc2xhdGVZKDEwMHZoKSdcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgYmFja2Ryb3BBbmltYXRpb24sIHdyYXBwZXJBbmltYXRpb24gfTtcbiAgfTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgcm9vdCBjb250ZXh0IG9mIGEgc2hhZG93IGRvbSBlbGVtZW50XG4gICAqIE9uIG5ld2VyIGJyb3dzZXJzIHRoaXMgd2lsbCBiZSB0aGUgc2hhZG93Um9vdCxcbiAgICogYnV0IGZvciBvbGRlciBicm93c2VyIHRoaXMgbWF5IGp1c3QgYmUgdGhlXG4gICAqIGVsZW1lbnQgaXRzZWxmLlxuICAgKlxuICAgKiBVc2VmdWwgZm9yIHdoZW5ldmVyIHlvdSBuZWVkIHRvIGV4cGxpY2l0bHlcbiAgICogZG8gXCJteUVsZW1lbnQuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvciguLi4pXCIuXG4gICAqL1xuICBwcml2YXRlIGdldEVsZW1lbnRSb290ID0gKGVsOiBIVE1MRWxlbWVudCwgZmFsbGJhY2s6IEhUTUxFbGVtZW50ID0gZWwpID0+IHtcbiAgICByZXR1cm4gZWwuc2hhZG93Um9vdCB8fCBmYWxsYmFjaztcbiAgfTtcbn1cbiJdfQ==
@@ -87,9 +87,6 @@ export class ModalController {
87
87
  }
88
88
  });
89
89
  }
90
- registerPresentingElement() {
91
- console.log('registerPresentingElement has been deprecated. It is no longer needed to register a presenting element.');
92
- }
93
90
  async hideTopmost(data) {
94
91
  const overlay = this.overlays[this.overlays.length - 1];
95
92
  if (!overlay) {
@@ -97,28 +94,6 @@ export class ModalController {
97
94
  }
98
95
  return overlay.dismiss(data);
99
96
  }
100
- /**
101
- * @deprecated Will be removed in next major version. Inject Modal in embedded component and use Modal.scrollToTop instead.
102
- */
103
- scrollToTop(duration) {
104
- console.warn('ModalController.scrollToTop is deprecated - please inject Modal in embedded component and use Modal.scrollToTop instead.');
105
- const overlay = this.overlays[this.overlays.length - 1];
106
- if (!overlay) {
107
- throw new Error(this.noOverlayRegisteredErrorMessage);
108
- }
109
- this.modalHelper.scrollToTop(this.noOverlayRegisteredErrorMessage, duration);
110
- }
111
- /**
112
- * @deprecated Will be removed in next major version. Inject Modal in embedded component and use Modal.scrollToBottom instead.
113
- */
114
- scrollToBottom(duration) {
115
- console.warn('ModalController.scrollToBottom is deprecated - please inject Modal in embedded component and use Modal.scrollToBottom instead.');
116
- const overlay = this.overlays[this.overlays.length - 1];
117
- if (!overlay) {
118
- throw new Error(this.noOverlayRegisteredErrorMessage);
119
- }
120
- this.modalHelper.scrollToBottom(this.noOverlayRegisteredErrorMessage, duration);
121
- }
122
97
  async hideAll() {
123
98
  await Promise.all(this.overlays.map(async (overlay) => {
124
99
  await overlay.dismiss();
@@ -139,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
139
114
  type: Inject,
140
115
  args: [ROUTES]
141
116
  }] }]; } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxD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QztRQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OytIQS9MVSxlQUFlLCtJQVVKLE1BQU07bUlBVmpCLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBV04sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXMsIFJPVVRFUyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBNb2RhbERhdGEsIE1vZGFsUm91dGVBY3RpdmF0aW9uLCBPdmVybGF5IH0gZnJvbSAnLi4vLi4vbW9kYWwuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldENvbmZpZyB9IGZyb20gJy4uL2FjdGlvbi1zaGVldC9jb25maWcvYWN0aW9uLXNoZWV0LWNvbmZpZyc7XG5pbXBvcnQgeyBBbGVydENvbmZpZyB9IGZyb20gJy4uL2FsZXJ0L2NvbmZpZy9hbGVydC1jb25maWcnO1xuXG5pbXBvcnQgeyBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kYWwtbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlcic7XG5pbXBvcnQgeyBBY3Rpb25TaGVldEhlbHBlciB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LmhlbHBlcic7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4vYWxlcnQuaGVscGVyJztcbmltcG9ydCB7IE1vZGFsSGVscGVyIH0gZnJvbSAnLi9tb2RhbC5oZWxwZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvdmVybGF5czogT3ZlcmxheVtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSA9ICdObyBtb2RhbCBvdmVybGF5cyBhcmUgY3VycmVudGx5IHJlZ2lzdGVyZWQnO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZGFsSGVscGVyOiBNb2RhbEhlbHBlcixcbiAgICBwcml2YXRlIGFjdGlvblNoZWV0SGVscGVyOiBBY3Rpb25TaGVldEhlbHBlcixcbiAgICBwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlcixcbiAgICBwcml2YXRlIG1vZGFsTmF2aWdhdGlvblNlcnZpY2U6IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChST1VURVMpIHByaXZhdGUgcm91dGVDb25maWc6IFJvdXRlc1tdXG4gICkge31cblxuICBhc3luYyBpbml0aWFsaXplKG1vZHVsZVJvb3RSb3V0ZVBhdGg/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBtb2RhbE5hdmlnYXRpb24gPSBhd2FpdCB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UuZ2V0TW9kYWxOYXZpZ2F0aW9uKFxuICAgICAgdGhpcy5yb3V0ZUNvbmZpZyxcbiAgICAgIG1vZHVsZVJvb3RSb3V0ZVBhdGhcbiAgICApO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlQWN0aXZhdGVkKG1vZGFsTmF2aWdhdGlvbi5hY3RpdmF0ZWQkKTtcbiAgICB0aGlzLm9uTW9kYWxSb3V0ZURlYWN0aXZhdGVkKG1vZGFsTmF2aWdhdGlvbi5kZWFjdGl2YXRlZCQpOyAvLyBUT0RPOiBEbyB3ZSB3YW50IHRvIGNsb3NlIG1vZGFsIHdoZW4gcm91dGluZyBvdXQgb2YgbW9kYWwgcm91dGU/IE9yIHNob3VsZCB0aGUgY29kZSB0aGF0IG5hdmlnYXRlcyBjbG9zZSB0aGUgd2luZG93Pz9cbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlQWN0aXZhdGVkKG1vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPE1vZGFsUm91dGVBY3RpdmF0aW9uPikge1xuICAgIGNvbnN0IG5hdmlnYXRlT25XaWxsQ2xvc2UgPSAoKSA9PiB7XG4gICAgICB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVPdXRPZk1vZGFsT3V0bGV0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCA9IG1vZGFsUm91dGVBY3RpdmF0ZWQkLnBpcGUoXG4gICAgICBmaWx0ZXIoKG1vZGFsUm91dGVBY3RpdmF0aW9uKSA9PiAhbW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCksXG4gICAgICBtYXAoKG1vZGFsUm91dGVBY3RpdmF0aW9uKSA9PiBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSlcbiAgICApO1xuXG4gICAgbW9kYWxSb3V0ZUFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLmxlbmd0aCA9PT0gMClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKG1vZGFsUm91dGVBY3RpdmF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChtb2RhbFJvdXRlQWN0aXZhdGlvbi5pc05ld01vZGFsKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zaG93TW9kYWxSb3V0ZShcbiAgICAgICAgICAgIG1vZGFsUm91dGVBY3RpdmF0aW9uLnJvdXRlLFxuICAgICAgICAgICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkLFxuICAgICAgICAgICAgbW9kYWxSb3V0ZUFjdGl2YXRpb24ubW9kYWxEYXRhLFxuICAgICAgICAgICAgbmF2aWdhdGVPbldpbGxDbG9zZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGFsUm91dGVEZWFjdGl2YXRlZChtb2RhbFJvdXRlRGVhY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+KSB7XG4gICAgbW9kYWxSb3V0ZURlYWN0aXZhdGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMub3ZlcmxheXMubGVuZ3RoID4gMCkgLy8gVE9ETzogVGhpcyBhbHNvIGZpcmVzIHdoZW4gY2xvc2luZyBvdmVybGF5IC0gc2hvdWxkIHdlIGNoZWNrIGZvciBpc0Nsb3Npbmc/P1xuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaGlkZUFsbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd01vZGFsKFxuICAgIGNvbmZpZzogTW9kYWxDb25maWcsXG4gICAgb25DbG9zZT86IChkYXRhPzogYW55KSA9PiB2b2lkLFxuICAgIGFsZXJ0Q29uZmlnPzogQWxlcnRDb25maWdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgICAgKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnLCBhbGVydENvbmZpZyksXG4gICAgICBvbkNsb3NlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZVRvTW9kYWwoXG4gICAgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgcXVlcnlQYXJhbXM/OiBQYXJhbXMsXG4gICAgYWxlcnRDb25maWc/OiBBbGVydENvbmZpZ1xuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlVG9Nb2RhbChwYXRoLCBxdWVyeVBhcmFtcywgYWxlcnRDb25maWcpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG5hdmlnYXRlV2l0aGluTW9kYWwocmVsYXRpdmVQYXRoOiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzogUGFyYW1zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aCwgcXVlcnlQYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaG93TW9kYWxSb3V0ZShcbiAgICBtb2RhbFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IE9ic2VydmFibGU8QWN0aXZhdGVkUm91dGU+LFxuICAgIG1vZGFsRGF0YTogTW9kYWxEYXRhLFxuICAgIG9uV2lsbENsb3NlOiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25maWc6IE1vZGFsQ29uZmlnID0ge1xuICAgICAgLi4ubW9kYWxSb3V0ZS5zbmFwc2hvdC5kYXRhLm1vZGFsQ29uZmlnLFxuICAgICAgY29tcG9uZW50OiBudWxsLFxuICAgICAgbW9kYWxSb3V0ZTogbW9kYWxSb3V0ZSxcbiAgICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJDogc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkLFxuICAgIH07XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgICAgKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnLCBtb2RhbERhdGE/LmFsZXJ0Q29uZmlnKSxcbiAgICAgIG51bGwsXG4gICAgICBvbldpbGxDbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FjdGlvblNoZWV0KFxuICAgIGNvbmZpZzogQWN0aW9uU2hlZXRDb25maWcsXG4gICAgb25DbG9zZT86IChkYXRhPzogYW55KSA9PiB2b2lkXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMuYWN0aW9uU2hlZXRIZWxwZXIuc2hvd0FjdGlvblNoZWV0KGNvbmZpZyksXG4gICAgICBvbkNsb3NlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWxlcnQoY29uZmlnOiBBbGVydENvbmZpZywgb25DbG9zZT86IChyZXN1bHQ6IGJvb2xlYW4pID0+IHZvaWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoKCkgPT4gdGhpcy5hbGVydEhlbHBlci5zaG93QWxlcnQoY29uZmlnKSwgb25DbG9zZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgc2hvd092ZXJsYXk6ICgpID0+IFByb21pc2U8T3ZlcmxheT4sXG4gICAgb25DbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZCxcbiAgICBvbldpbGxDbG9zZU92ZXJsYXk/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApIHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgc2hvd092ZXJsYXkoKTtcbiAgICBpZiAoIW92ZXJsYXkpIHJldHVybjtcblxuICAgIHRoaXMub3ZlcmxheXMucHVzaChvdmVybGF5KTtcblxuICAgIGlmICh0eXBlb2Ygb25XaWxsQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvdmVybGF5Lm9uV2lsbERpc21pc3MudGhlbigoZXZlbnQpID0+IG9uV2lsbENsb3NlT3ZlcmxheShldmVudC5kYXRhKSk7XG4gICAgfVxuXG4gICAgb3ZlcmxheS5vbkRpZERpc21pc3MudGhlbigoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMub3ZlcmxheXMucG9wKCk7XG4gICAgICBpZiAodHlwZW9mIG9uQ2xvc2VPdmVybGF5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uQ2xvc2VPdmVybGF5KGV2ZW50LmRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICAncmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudCBoYXMgYmVlbiBkZXByZWNhdGVkLiBJdCBpcyBubyBsb25nZXIgbmVlZGVkIHRvIHJlZ2lzdGVyIGEgcHJlc2VudGluZyBlbGVtZW50LidcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVUb3Btb3N0KGRhdGE/OiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiBvdmVybGF5LmRpc21pc3MoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbi4gSW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvVG9wIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Ub3AoZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdNb2RhbENvbnRyb2xsZXIuc2Nyb2xsVG9Ub3AgaXMgZGVwcmVjYXRlZCAtIHBsZWFzZSBpbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Ub3AgaW5zdGVhZC4nXG4gICAgKTtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHRoaXMubW9kYWxIZWxwZXIuc2Nyb2xsVG9Ub3AodGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlLCBkdXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbi4gSW5qZWN0IE1vZGFsIGluIGVtYmVkZGVkIGNvbXBvbmVudCBhbmQgdXNlIE1vZGFsLnNjcm9sbFRvQm90dG9tIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Cb3R0b20oZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdNb2RhbENvbnRyb2xsZXIuc2Nyb2xsVG9Cb3R0b20gaXMgZGVwcmVjYXRlZCAtIHBsZWFzZSBpbmplY3QgTW9kYWwgaW4gZW1iZWRkZWQgY29tcG9uZW50IGFuZCB1c2UgTW9kYWwuc2Nyb2xsVG9Cb3R0b20gaW5zdGVhZC4nXG4gICAgKTtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMubm9PdmVybGF5UmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHRoaXMubW9kYWxIZWxwZXIuc2Nyb2xsVG9Cb3R0b20odGhpcy5ub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlLCBkdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGlkZUFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMub3ZlcmxheXMubWFwKGFzeW5jIChvdmVybGF5KSA9PiB7XG4gICAgICAgIGF3YWl0IG92ZXJsYXkuZGlzbWlzcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxD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LENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLE9BQU8sY0FBYyxLQUFLLFVBQVUsRUFBRTtnQkFDeEMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBVTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xDLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsrSEE3SlUsZUFBZSwrSUFVSixNQUFNO21JQVZqQixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQVdOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWxEYXRhLCBNb2RhbFJvdXRlQWN0aXZhdGlvbiwgT3ZlcmxheSB9IGZyb20gJy4uLy4uL21vZGFsLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb25maWcgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1jb25maWcnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydC9jb25maWcvYWxlcnQtY29uZmlnJztcblxuaW1wb3J0IHsgTW9kYWxOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGFsLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGFsLXdyYXBwZXInO1xuaW1wb3J0IHsgQWN0aW9uU2hlZXRIZWxwZXIgfSBmcm9tICcuL2FjdGlvbi1zaGVldC5oZWxwZXInO1xuaW1wb3J0IHsgQWxlcnRIZWxwZXIgfSBmcm9tICcuL2FsZXJ0LmhlbHBlcic7XG5pbXBvcnQgeyBNb2RhbEhlbHBlciB9IGZyb20gJy4vbW9kYWwuaGVscGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgb3ZlcmxheXM6IE92ZXJsYXlbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IG5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UgPSAnTm8gbW9kYWwgb3ZlcmxheXMgYXJlIGN1cnJlbnRseSByZWdpc3RlcmVkJztcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtb2RhbEhlbHBlcjogTW9kYWxIZWxwZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25TaGVldEhlbHBlcjogQWN0aW9uU2hlZXRIZWxwZXIsXG4gICAgcHJpdmF0ZSBhbGVydEhlbHBlcjogQWxlcnRIZWxwZXIsXG4gICAgcHJpdmF0ZSBtb2RhbE5hdmlnYXRpb25TZXJ2aWNlOiBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUk9VVEVTKSBwcml2YXRlIHJvdXRlQ29uZmlnOiBSb3V0ZXNbXVxuICApIHt9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShtb2R1bGVSb290Um91dGVQYXRoPzogc3RyaW5nKSB7XG4gICAgY29uc3QgbW9kYWxOYXZpZ2F0aW9uID0gYXdhaXQgdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLmdldE1vZGFsTmF2aWdhdGlvbihcbiAgICAgIHRoaXMucm91dGVDb25maWcsXG4gICAgICBtb2R1bGVSb290Um91dGVQYXRoXG4gICAgKTtcbiAgICB0aGlzLm9uTW9kYWxSb3V0ZUFjdGl2YXRlZChtb2RhbE5hdmlnYXRpb24uYWN0aXZhdGVkJCk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVEZWFjdGl2YXRlZChtb2RhbE5hdmlnYXRpb24uZGVhY3RpdmF0ZWQkKTsgLy8gVE9ETzogRG8gd2Ugd2FudCB0byBjbG9zZSBtb2RhbCB3aGVuIHJvdXRpbmcgb3V0IG9mIG1vZGFsIHJvdXRlPyBPciBzaG91bGQgdGhlIGNvZGUgdGhhdCBuYXZpZ2F0ZXMgY2xvc2UgdGhlIHdpbmRvdz8/XG4gIH1cblxuICBwcml2YXRlIG9uTW9kYWxSb3V0ZUFjdGl2YXRlZChtb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxNb2RhbFJvdXRlQWN0aXZhdGlvbj4pIHtcbiAgICBjb25zdCBuYXZpZ2F0ZU9uV2lsbENsb3NlID0gKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlT3V0T2ZNb2RhbE91dGxldCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQgPSBtb2RhbFJvdXRlQWN0aXZhdGVkJC5waXBlKFxuICAgICAgZmlsdGVyKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gIW1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpLFxuICAgICAgbWFwKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUpXG4gICAgKTtcblxuICAgIG1vZGFsUm91dGVBY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPT09IDApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4ge1xuICAgICAgICBpZiAobW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd01vZGFsUm91dGUoXG4gICAgICAgICAgICBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSxcbiAgICAgICAgICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICAgICAgICAgIG1vZGFsUm91dGVBY3RpdmF0aW9uLm1vZGFsRGF0YSxcbiAgICAgICAgICAgIG5hdmlnYXRlT25XaWxsQ2xvc2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxSb3V0ZURlYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPikge1xuICAgIG1vZGFsUm91dGVEZWFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLmxlbmd0aCA+IDApIC8vIFRPRE86IFRoaXMgYWxzbyBmaXJlcyB3aGVuIGNsb3Npbmcgb3ZlcmxheSAtIHNob3VsZCB3ZSBjaGVjayBmb3IgaXNDbG9zaW5nPz9cbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmhpZGVBbGwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbChcbiAgICBjb25maWc6IE1vZGFsQ29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZCxcbiAgICBhbGVydENvbmZpZz86IEFsZXJ0Q29uZmlnXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZywgYWxlcnRDb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVUb01vZGFsKFxuICAgIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIHF1ZXJ5UGFyYW1zPzogUGFyYW1zLFxuICAgIGFsZXJ0Q29uZmlnPzogQWxlcnRDb25maWdcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZVRvTW9kYWwocGF0aCwgcXVlcnlQYXJhbXMsIGFsZXJ0Q29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hvd01vZGFsUm91dGUoXG4gICAgbW9kYWxSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlPixcbiAgICBtb2RhbERhdGE6IE1vZGFsRGF0YSxcbiAgICBvbldpbGxDbG9zZTogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICAgIC4uLm1vZGFsUm91dGUuc25hcHNob3QuZGF0YS5tb2RhbENvbmZpZyxcbiAgICAgIGNvbXBvbmVudDogbnVsbCxcbiAgICAgIG1vZGFsUm91dGU6IG1vZGFsUm91dGUsXG4gICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICB9O1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZywgbW9kYWxEYXRhPy5hbGVydENvbmZpZyksXG4gICAgICBudWxsLFxuICAgICAgb25XaWxsQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBY3Rpb25TaGVldChcbiAgICBjb25maWc6IEFjdGlvblNoZWV0Q29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLmFjdGlvblNoZWV0SGVscGVyLnNob3dBY3Rpb25TaGVldChjb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcsIG9uQ2xvc2U/OiAocmVzdWx0OiBib29sZWFuKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KCgpID0+IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyksIG9uQ2xvc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgIHNob3dPdmVybGF5OiAoKSA9PiBQcm9taXNlPE92ZXJsYXk+LFxuICAgIG9uQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWQsXG4gICAgb25XaWxsQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHNob3dPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSByZXR1cm47XG5cbiAgICB0aGlzLm92ZXJsYXlzLnB1c2gob3ZlcmxheSk7XG5cbiAgICBpZiAodHlwZW9mIG9uV2lsbENsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb3ZlcmxheS5vbldpbGxEaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiBvbldpbGxDbG9zZU92ZXJsYXkoZXZlbnQuZGF0YSkpO1xuICAgIH1cblxuICAgIG92ZXJsYXkub25EaWREaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm92ZXJsYXlzLnBvcCgpO1xuICAgICAgaWYgKHR5cGVvZiBvbkNsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbkNsb3NlT3ZlcmxheShldmVudC5kYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoaWRlVG9wbW9zdChkYXRhPzogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gb3ZlcmxheS5kaXNtaXNzKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLm92ZXJsYXlzLm1hcChhc3luYyAob3ZlcmxheSkgPT4ge1xuICAgICAgICBhd2FpdCBvdmVybGF5LmRpc21pc3MoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -82,7 +82,6 @@ export class ModalHelper {
82
82
  backdropDismiss: config.flavor === 'compact' || config.interactWithBackground ? false : true,
83
83
  showBackdrop: !config.interactWithBackground,
84
84
  componentProps: { config: config },
85
- swipeToClose: config.flavor === 'drawer',
86
85
  keyboardClose: false,
87
86
  canDismiss,
88
87
  enterAnimation,
@@ -109,23 +108,6 @@ export class ModalHelper {
109
108
  onDidDismiss: ionModal.onDidDismiss(),
110
109
  };
111
110
  }
112
- registerPresentingElement() {
113
- console.log('registerPresentingElement has been deprecated. It is no longer needed to register a presenting element.');
114
- }
115
- async scrollToTop(noModalRegisteredErrorMessage, duration) {
116
- const modal = await this.ionicModalController.getTop();
117
- if (!modal || !(modal.component instanceof ModalWrapperComponent)) {
118
- throw new Error(noModalRegisteredErrorMessage);
119
- }
120
- modal.component.scrollToTop(duration);
121
- }
122
- async scrollToBottom(noModalRegisteredErrorMessage, duration) {
123
- const modal = await this.ionicModalController.getTop();
124
- if (!modal || !(modal.component instanceof ModalWrapperComponent)) {
125
- throw new Error(noModalRegisteredErrorMessage);
126
- }
127
- modal.component.scrollToBottom(duration);
128
- }
129
111
  handleBrowserBackButton(modal) {
130
112
  const popStateEvent$ = fromEvent(this.windowRef.nativeWindow, 'popstate').pipe(first());
131
113
  const modalClose$ = fromEvent(modal, 'ionModalDidDismiss');
@@ -139,4 +121,4 @@ export class ModalHelper {
139
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalHelper, decorators: [{
140
122
  type: Injectable
141
123
  }], ctorParameters: function () { return [{ type: i1.ModalController }, { type: i2.ModalAnimationBuilderService }, { type: i3.WindowRef }, { type: i4.CanDismissHelper }, { type: i5.AlertHelper }]; } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFDTCw0QkFBNEIsRUFHNUIscUJBQXFCLEdBQ3RCLE1BQU0scUJBQXFCLENBQUM7QUFHN0IsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1Usb0JBQXFDLEVBQ3JDLHFCQUFtRCxFQUNuRCxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsV0FBd0I7UUFKeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtRQUNyQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdsQzs7Ozs7VUFLRTtRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBUjVCLENBQUM7SUFVRyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQW1CLEVBQUUsV0FBeUI7UUFDekUsSUFBSSxJ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QUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEYsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBRTNELGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6RCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsySEE1SlUsV0FBVzsrSEFBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3R5cGVzJztcbmltcG9ydCB7IEtpcmJ5QW5pbWF0aW9uIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcbmltcG9ydCB7IGZpcnN0LCBmcm9tRXZlbnQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uL21vZGFsLmludGVyZmFjZXMnO1xuXG5pbXBvcnQge1xuICBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50LFxuICBNb2RhbENvbmZpZyxcbiAgTW9kYWxTaXplLFxuICBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG59IGZyb20gJy4uLy4uL21vZGFsLXdyYXBwZXInO1xuXG5pbXBvcnQgeyBBbGVydENvbmZpZyB9IGZyb20gJy4uL2FsZXJ0L2NvbmZpZy9hbGVydC1jb25maWcnO1xuaW1wb3J0IHsgTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDYW5EaXNtaXNzSGVscGVyIH0gZnJvbSAnLi9jYW4tZGlzbWlzcy5oZWxwZXInO1xuaW1wb3J0IHsgQWxlcnRIZWxwZXIgfSBmcm9tICcuL2FsZXJ0LmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIG1vZGFsQW5pbWF0aW9uQnVpbGRlcjogTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmLFxuICAgIHByaXZhdGUgY2FuRGlzbWlzc0hlbHBlcjogQ2FuRGlzbWlzc0hlbHBlcixcbiAgICBwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlclxuICApIHt9XG5cbiAgLyogXG4gICAgaXNNb2RhbE9wZW5pbmcgaXMgdXNlZCB0byBwcmV2ZW50IGFkZGl0aW9uYWwgaW5zdGFudGlhdGlvbnNcbiAgICBvZiBtb2RhbHMsIHdoaWxlIGEgbW9kYWwgaXMgYWxyZWFkeSBiZWluZyBpbnN0YXRpYXRlZCwgYnV0IG5vdCBjb21wbGV0ZWQuXG4gICAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgYXBwcm9hY2ggYnkgb25lIG9mIHRoZSBtYWludGFpbmVycyBvZiBJb25pYzpcbiAgICBodHRwczovL2dpdGh1Yi5jb20vaW9uaWMtdGVhbS9pb25pYy1mcmFtZXdvcmsvaXNzdWVzLzIzMzI3I2lzc3VlY29tbWVudC04NDcwMjgwNThcbiAgKi9cbiAgcHJpdmF0ZSBpc01vZGFsT3BlbmluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBhc3luYyBzaG93TW9kYWxXaW5kb3coY29uZmlnOiBNb2RhbENvbmZpZywgYWxlcnRDb25maWc/OiBBbGVydENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGlmICh0aGlzLmlzTW9kYWxPcGVuaW5nKSByZXR1cm47XG5cbiAgICBjb25maWcuZmxhdm9yID0gY29uZmlnLmZsYXZvciB8fCAnbW9kYWwnO1xuXG4gICAgbGV0IGN1cnJlbnRCYWNrZHJvcDogSFRNTElvbkJhY2tkcm9wRWxlbWVudDtcbiAgICBjb25zdCB0b3BNb3N0TW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmdldFRvcCgpO1xuICAgIGlmICh0b3BNb3N0TW9kYWwpIHtcbiAgICAgIGN1cnJlbnRCYWNrZHJvcCA9XG4gICAgICAgIHRvcE1vc3RNb2RhbC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3I8SFRNTElvbkJhY2tkcm9wRWxlbWVudD4oJ2lvbi1iYWNrZHJvcCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGVyQW5pbWF0aW9uID0gdGhpcy5tb2RhbEFuaW1hdGlvbkJ1aWxkZXIuZW50ZXJBbmltYXRpb24oY3VycmVudEJhY2tkcm9wKTtcbiAgICBjb25zdCBsZWF2ZUFuaW1hdGlvbiA9IHRoaXMubW9kYWxBbmltYXRpb25CdWlsZGVyLmxlYXZlQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcCk7XG5cbiAgICBjb25zdCBkZWZhdWx0TW9kYWxTaXplOiBNb2RhbFNpemUgPSBjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCA/IG51bGwgOiAnbWVkaXVtJztcbiAgICBjb25zdCBtb2RhbFNpemUgPSBjb25maWcuc2l6ZSB8fCBkZWZhdWx0TW9kYWxTaXplO1xuXG4gICAgY29uc3QgYWxsb3dfc2Nyb2xsX2NsYXNzID0gJ2FsbG93LWJhY2tncm91bmQtc2Nyb2xsJztcblxuICAgIGxldCBjdXN0b21Dc3NDbGFzc2VzID0gW107XG4gICAgaWYgKGNvbmZpZy5jc3NDbGFzcykge1xuICAgICAgY3VzdG9tQ3NzQ2xhc3NlcyA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmNzc0NsYXNzKSA/IGNvbmZpZy5jc3NDbGFzcyA6IFtjb25maWcuY3NzQ2xhc3NdO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCkge1xuICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChhbGxvd19zY3JvbGxfY2xhc3MpO1xuICAgIH1cblxuICAgIGxldCBjYW5EaXNtaXNzOiBib29sZWFuIHwgKCgpID0+IFByb21pc2U8Ym9vbGVhbj4pID0gdHJ1ZTtcblxuICAgIGlmIChjb25maWcuY2FuRGlzbWlzcykge1xuICAgICAgY2FuRGlzbWlzcyA9IHRoaXMuY2FuRGlzbWlzc0hlbHBlci5nZXRDYW5EaXNtaXNzQ2FsbGJhY2soY29uZmlnLmNhbkRpc21pc3MpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBrZXB0IHRvIHByZXZlbnQgYnJlYWtpbmcgY2hhbmdlcywgYnV0IHNob3VsZCBiZSBkZXByYWNhdGVkIGluIHRoZSBuZXh0IG1ham9yLlxuICAgIC8vIEl0IHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIG5ldyAnY29uZmlnLmNhbkRpc21pc3MnIGNhbGxiYWNrXG4gICAgaWYgKGFsZXJ0Q29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIFwiVGhpcyB3YXkgb2YgcGFzc2luZyBhbiBhbGVydENvbmZpZyB0byB0aGUgbW9kYWwgd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24uIFdlIHJlY29tbWVuZCB1c2luZyB0aGUgJ2NvbmZpZy5jYW5EaXNtaXNzJyBjYWxsYmFjayBpbnN0ZWFkLlwiXG4gICAgICApO1xuXG4gICAgICAvLyBSZW1lbWJlcnMgdGhlIG1vZGFsIGRpc21pc3NhbCByZXNwb25zZSBmcm9tIHVzZXIgdG8gcHJldmVudCBtdWx0aXBsZSBhbGVydHMgb25cbiAgICAgIC8vIGFwcHJvdmFsIHNpbmNlIHRoZSBjYWxsYmFjayBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIHdoZW4gY2xvc2luZy5cbiAgICAgIGxldCBjYW5CZURpc21pc3NlZCA9IGZhbHNlO1xuICAgICAgY2FuRGlzbWlzcyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKCFjYW5CZURpc21pc3NlZCkge1xuICAgICAgICAgIGNhbkJlRGlzbWlzc2VkID0gYXdhaXQgdGhpcy5jYW5EaXNtaXNzSGVscGVyLnNob3dBbGVydChhbGVydENvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FuQmVEaXNtaXNzZWQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuaXNNb2RhbE9wZW5pbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgaW9uTW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyA/IE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQgOiBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogW1xuICAgICAgICAna2lyYnktb3ZlcmxheScsXG4gICAgICAgICdraXJieS1tb2RhbCcsXG4gICAgICAgIG1vZGFsU2l6ZSA/IGBraXJieS1tb2RhbC0ke21vZGFsU2l6ZX1gIDogbnVsbCxcbiAgICAgICAgY29uZmlnLmZsYXZvciA9PT0gJ2RyYXdlcicgPyAna2lyYnktZHJhd2VyJyA6IG51bGwsXG4gICAgICAgIGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyA/ICdraXJieS1tb2RhbC1jb21wYWN0JyA6IG51bGwsXG4gICAgICAgIGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gJ2ludGVyYWN0LXdpdGgtYmFja2dyb3VuZCcgOiBudWxsLFxuICAgICAgICAuLi5jdXN0b21Dc3NDbGFzc2VzLFxuICAgICAgXSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogY29uZmlnLmZsYXZvciA9PT0gJ2NvbXBhY3QnIHx8IGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gZmFsc2UgOiB0cnVlLFxuICAgICAgc2hvd0JhY2tkcm9wOiAhY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQsXG4gICAgICBjb21wb25lbnRQcm9wczogeyBjb25maWc6IGNvbmZpZyB9LFxuICAgICAgc3dpcGVUb0Nsb3NlOiBjb25maWcuZmxhdm9yID09PSAnZHJhd2VyJyxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgY2FuRGlzbWlzcyxcbiAgICAgIGVudGVyQW5pbWF0aW9uLFxuICAgICAgbGVhdmVBbmltYXRpb24sXG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmN1c3RvbUhlaWdodCkge1xuICAgICAgaW9uTW9kYWwuc3R5bGUuc2V0UHJvcGVydHkoJy0ta2lyYnktbW9kYWwtaGVpZ2h0JywgY29uZmlnLmN1c3RvbUhlaWdodCk7XG4gICAgfVxuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuXG4gICAgLy8gQmFjayBidXR0b24gc2hvdWxkIG9ubHkgYmUgaGFuZGxlZCBtYW51YWxseVxuICAgIC8vIGlmIHRoZSBtb2RhbCBpcyBub3QgaW5zdGFudGlhdGVkIHRocm91Z2ggYSByb3V0ZS5cbiAgICBpZiAoIWNvbmZpZy5tb2RhbFJvdXRlICYmICFjb25maWcuY2FuRGlzbWlzcyAmJiAhYWxlcnRDb25maWcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQnJvd3NlckJhY2tCdXR0b24oaW9uTW9kYWwpO1xuICAgIH1cblxuICAgIHRoaXMuaXNNb2RhbE9wZW5pbmcgPSBmYWxzZTtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyUHJlc2VudGluZ0VsZW1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICAncmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudCBoYXMgYmVlbiBkZXByZWNhdGVkLiBJdCBpcyBubyBsb25nZXIgbmVlZGVkIHRvIHJlZ2lzdGVyIGEgcHJlc2VudGluZyBlbGVtZW50LidcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNjcm9sbFRvVG9wKFxuICAgIG5vTW9kYWxSZWdpc3RlcmVkRXJyb3JNZXNzYWdlOiBzdHJpbmcsXG4gICAgZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvblxuICApIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKCFtb2RhbCB8fCAhKG1vZGFsLmNvbXBvbmVudCBpbnN0YW5jZW9mIE1vZGFsV3JhcHBlckNvbXBvbmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIG1vZGFsLmNvbXBvbmVudC5zY3JvbGxUb1RvcChkdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2Nyb2xsVG9Cb3R0b20oXG4gICAgbm9Nb2RhbFJlZ2lzdGVyZWRFcnJvck1lc3NhZ2U6IHN0cmluZyxcbiAgICBkdXJhdGlvbj86IEtpcmJ5QW5pbWF0aW9uLkR1cmF0aW9uXG4gICkge1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5nZXRUb3AoKTtcbiAgICBpZiAoIW1vZGFsIHx8ICEobW9kYWwuY29tcG9uZW50IGluc3RhbmNlb2YgTW9kYWxXcmFwcGVyQ29tcG9uZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKG5vTW9kYWxSZWdpc3RlcmVkRXJyb3JNZXNzYWdlKTtcbiAgICB9XG4gICAgbW9kYWwuY29tcG9uZW50LnNjcm9sbFRvQm90dG9tKGR1cmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQnJvd3NlckJhY2tCdXR0b24obW9kYWw6IEhUTUxJb25Nb2RhbEVsZW1lbnQpIHtcbiAgICBjb25zdCBwb3BTdGF0ZUV2ZW50JCA9IGZyb21FdmVudCh0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3csICdwb3BzdGF0ZScpLnBpcGUoZmlyc3QoKSk7XG4gICAgY29uc3QgbW9kYWxDbG9zZSQgPSBmcm9tRXZlbnQobW9kYWwsICdpb25Nb2RhbERpZERpc21pc3MnKTtcblxuICAgIHBvcFN0YXRlRXZlbnQkLnBpcGUodGFrZVVudGlsKG1vZGFsQ2xvc2UkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIG1vZGFsLmRpc21pc3MoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFDTCw0QkFBNEIsRUFHNUIscUJBQXFCLEdBQ3RCLE1BQU0scUJBQXFCLENBQUM7QUFHN0IsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1Usb0JBQXFDLEVBQ3JDLHFCQUFtRCxFQUNuRCxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsV0FBd0I7UUFKeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtRQUNyQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUdsQzs7Ozs7VUFLRTtRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBUjVCLENBQUM7SUFVRyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQW1CLEVBQUUsV0FBeUI7UUFDekUsSUFBSSxJ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QyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBMEI7UUFDeEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUUzRCxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekQsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MkhBL0hVLFdBQVc7K0hBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5pbXBvcnQgeyBmaXJzdCwgZnJvbUV2ZW50LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtcbiAgTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCxcbiAgTW9kYWxDb25maWcsXG4gIE1vZGFsU2l6ZSxcbiAgTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcblxuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydC9jb25maWcvYWxlcnQtY29uZmlnJztcbmltcG9ydCB7IE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFuaW1hdGlvbi1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FuRGlzbWlzc0hlbHBlciB9IGZyb20gJy4vY2FuLWRpc21pc3MuaGVscGVyJztcbmltcG9ydCB7IEFsZXJ0SGVscGVyIH0gZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxIZWxwZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGlvbmljTW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBtb2RhbEFuaW1hdGlvbkJ1aWxkZXI6IE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aW5kb3dSZWY6IFdpbmRvd1JlZixcbiAgICBwcml2YXRlIGNhbkRpc21pc3NIZWxwZXI6IENhbkRpc21pc3NIZWxwZXIsXG4gICAgcHJpdmF0ZSBhbGVydEhlbHBlcjogQWxlcnRIZWxwZXJcbiAgKSB7fVxuXG4gIC8qIFxuICAgIGlzTW9kYWxPcGVuaW5nIGlzIHVzZWQgdG8gcHJldmVudCBhZGRpdGlvbmFsIGluc3RhbnRpYXRpb25zXG4gICAgb2YgbW9kYWxzLCB3aGlsZSBhIG1vZGFsIGlzIGFscmVhZHkgYmVpbmcgaW5zdGF0aWF0ZWQsIGJ1dCBub3QgY29tcGxldGVkLlxuICAgIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIGFwcHJvYWNoIGJ5IG9uZSBvZiB0aGUgbWFpbnRhaW5lcnMgb2YgSW9uaWM6XG4gICAgaHR0cHM6Ly9naXRodWIuY29tL2lvbmljLXRlYW0vaW9uaWMtZnJhbWV3b3JrL2lzc3Vlcy8yMzMyNyNpc3N1ZWNvbW1lbnQtODQ3MDI4MDU4XG4gICovXG4gIHByaXZhdGUgaXNNb2RhbE9wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgYXN5bmMgc2hvd01vZGFsV2luZG93KGNvbmZpZzogTW9kYWxDb25maWcsIGFsZXJ0Q29uZmlnPzogQWxlcnRDb25maWcpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICBpZiAodGhpcy5pc01vZGFsT3BlbmluZykgcmV0dXJuO1xuXG4gICAgY29uZmlnLmZsYXZvciA9IGNvbmZpZy5mbGF2b3IgfHwgJ21vZGFsJztcblxuICAgIGxldCBjdXJyZW50QmFja2Ryb3A6IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQ7XG4gICAgY29uc3QgdG9wTW9zdE1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5nZXRUb3AoKTtcbiAgICBpZiAodG9wTW9zdE1vZGFsKSB7XG4gICAgICBjdXJyZW50QmFja2Ryb3AgPVxuICAgICAgICB0b3BNb3N0TW9kYWwuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yPEhUTUxJb25CYWNrZHJvcEVsZW1lbnQ+KCdpb24tYmFja2Ryb3AnKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRlckFuaW1hdGlvbiA9IHRoaXMubW9kYWxBbmltYXRpb25CdWlsZGVyLmVudGVyQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcCk7XG4gICAgY29uc3QgbGVhdmVBbmltYXRpb24gPSB0aGlzLm1vZGFsQW5pbWF0aW9uQnVpbGRlci5sZWF2ZUFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3ApO1xuXG4gICAgY29uc3QgZGVmYXVsdE1vZGFsU2l6ZTogTW9kYWxTaXplID0gY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQgPyBudWxsIDogJ21lZGl1bSc7XG4gICAgY29uc3QgbW9kYWxTaXplID0gY29uZmlnLnNpemUgfHwgZGVmYXVsdE1vZGFsU2l6ZTtcblxuICAgIGNvbnN0IGFsbG93X3Njcm9sbF9jbGFzcyA9ICdhbGxvdy1iYWNrZ3JvdW5kLXNjcm9sbCc7XG5cbiAgICBsZXQgY3VzdG9tQ3NzQ2xhc3NlcyA9IFtdO1xuICAgIGlmIChjb25maWcuY3NzQ2xhc3MpIHtcbiAgICAgIGN1c3RvbUNzc0NsYXNzZXMgPSBBcnJheS5pc0FycmF5KGNvbmZpZy5jc3NDbGFzcykgPyBjb25maWcuY3NzQ2xhc3MgOiBbY29uZmlnLmNzc0NsYXNzXTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoYWxsb3dfc2Nyb2xsX2NsYXNzKTtcbiAgICB9XG5cbiAgICBsZXQgY2FuRGlzbWlzczogYm9vbGVhbiB8ICgoKSA9PiBQcm9taXNlPGJvb2xlYW4+KSA9IHRydWU7XG5cbiAgICBpZiAoY29uZmlnLmNhbkRpc21pc3MpIHtcbiAgICAgIGNhbkRpc21pc3MgPSB0aGlzLmNhbkRpc21pc3NIZWxwZXIuZ2V0Q2FuRGlzbWlzc0NhbGxiYWNrKGNvbmZpZy5jYW5EaXNtaXNzKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMga2VwdCB0byBwcmV2ZW50IGJyZWFraW5nIGNoYW5nZXMsIGJ1dCBzaG91bGQgYmUgZGVwcmFjYXRlZCBpbiB0aGUgbmV4dCBtYWpvci5cbiAgICAvLyBJdCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBuZXcgJ2NvbmZpZy5jYW5EaXNtaXNzJyBjYWxsYmFja1xuICAgIGlmIChhbGVydENvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBcIlRoaXMgd2F5IG9mIHBhc3NpbmcgYW4gYWxlcnRDb25maWcgdG8gdGhlIG1vZGFsIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uLiBXZSByZWNvbW1lbmQgdXNpbmcgdGhlICdjb25maWcuY2FuRGlzbWlzcycgY2FsbGJhY2sgaW5zdGVhZC5cIlxuICAgICAgKTtcblxuICAgICAgLy8gUmVtZW1iZXJzIHRoZSBtb2RhbCBkaXNtaXNzYWwgcmVzcG9uc2UgZnJvbSB1c2VyIHRvIHByZXZlbnQgbXVsdGlwbGUgYWxlcnRzIG9uXG4gICAgICAvLyBhcHByb3ZhbCBzaW5jZSB0aGUgY2FsbGJhY2sgaXMgaW52b2tlZCBtb3JlIHRoYW4gb25jZSB3aGVuIGNsb3NpbmcuXG4gICAgICBsZXQgY2FuQmVEaXNtaXNzZWQgPSBmYWxzZTtcbiAgICAgIGNhbkRpc21pc3MgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmICghY2FuQmVEaXNtaXNzZWQpIHtcbiAgICAgICAgICBjYW5CZURpc21pc3NlZCA9IGF3YWl0IHRoaXMuY2FuRGlzbWlzc0hlbHBlci5zaG93QWxlcnQoYWxlcnRDb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhbkJlRGlzbWlzc2VkO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmlzTW9kYWxPcGVuaW5nID0gdHJ1ZTtcblxuICAgIGNvbnN0IGlvbk1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgPyBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50IDogTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgY3NzQ2xhc3M6IFtcbiAgICAgICAgJ2tpcmJ5LW92ZXJsYXknLFxuICAgICAgICAna2lyYnktbW9kYWwnLFxuICAgICAgICBtb2RhbFNpemUgPyBga2lyYnktbW9kYWwtJHttb2RhbFNpemV9YCA6IG51bGwsXG4gICAgICAgIGNvbmZpZy5mbGF2b3IgPT09ICdkcmF3ZXInID8gJ2tpcmJ5LWRyYXdlcicgOiBudWxsLFxuICAgICAgICBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgPyAna2lyYnktbW9kYWwtY29tcGFjdCcgOiBudWxsLFxuICAgICAgICBjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCA/ICdpbnRlcmFjdC13aXRoLWJhY2tncm91bmQnIDogbnVsbCxcbiAgICAgICAgLi4uY3VzdG9tQ3NzQ2xhc3NlcyxcbiAgICAgIF0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyB8fCBjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIHNob3dCYWNrZHJvcDogIWNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHsgY29uZmlnOiBjb25maWcgfSxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgY2FuRGlzbWlzcyxcbiAgICAgIGVudGVyQW5pbWF0aW9uLFxuICAgICAgbGVhdmVBbmltYXRpb24sXG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmN1c3RvbUhlaWdodCkge1xuICAgICAgaW9uTW9kYWwuc3R5bGUuc2V0UHJvcGVydHkoJy0ta2lyYnktbW9kYWwtaGVpZ2h0JywgY29uZmlnLmN1c3RvbUhlaWdodCk7XG4gICAgfVxuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuXG4gICAgLy8gQmFjayBidXR0b24gc2hvdWxkIG9ubHkgYmUgaGFuZGxlZCBtYW51YWxseVxuICAgIC8vIGlmIHRoZSBtb2RhbCBpcyBub3QgaW5zdGFudGlhdGVkIHRocm91Z2ggYSByb3V0ZS5cbiAgICBpZiAoIWNvbmZpZy5tb2RhbFJvdXRlICYmICFjb25maWcuY2FuRGlzbWlzcyAmJiAhYWxlcnRDb25maWcpIHtcbiAgICAgIHRoaXMuaGFuZGxlQnJvd3NlckJhY2tCdXR0b24oaW9uTW9kYWwpO1xuICAgIH1cblxuICAgIHRoaXMuaXNNb2RhbE9wZW5pbmcgPSBmYWxzZTtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVCcm93c2VyQmFja0J1dHRvbihtb2RhbDogSFRNTElvbk1vZGFsRWxlbWVudCkge1xuICAgIGNvbnN0IHBvcFN0YXRlRXZlbnQkID0gZnJvbUV2ZW50KHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdywgJ3BvcHN0YXRlJykucGlwZShmaXJzdCgpKTtcbiAgICBjb25zdCBtb2RhbENsb3NlJCA9IGZyb21FdmVudChtb2RhbCwgJ2lvbk1vZGFsRGlkRGlzbWlzcycpO1xuXG4gICAgcG9wU3RhdGVFdmVudCQucGlwZSh0YWtlVW50aWwobW9kYWxDbG9zZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgbW9kYWwuZGlzbWlzcygpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -427,7 +427,7 @@ ModalWrapperComponent.KEYBOARD_HIDE_DELAY_IN_MS = 100;
427
427
  /** @nocollapse */ ModalWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalWrapperComponent, isStandalone: true, selector: "kirby-modal-wrapper", inputs: { config: "config" }, host: { listeners: { "window:focus": "onFocusChange()", "window:focusout": "onFocusChange()", "window:ionKeyboardDidShow": "_onKeyboardShow($event.detail.keyboardHeight)", "window:keyboardWillShow": "_onKeyboardShow($event.keyboardHeight)", "window:ionKeyboardDidHide": "_onKeyboardHide()", "window:keyboardWillHide": "_onKeyboardHide()", "window:resize": "_onWindowResize()" }, properties: { "class.collapsible-title": "this._hasCollapsibleTitle", "class.drawer": "this._isDrawer" } }, providers: [
428
428
  { provide: Modal, useExisting: ModalWrapperComponent },
429
429
  { provide: ModalElementsAdvertiser, useExisting: ModalWrapperComponent },
430
- ], viewQueries: [{ propertyName: "ionContent", first: true, predicate: IonContent, descendants: true, static: true }, { propertyName: "ionContentElement", first: true, predicate: IonContent, descendants: true, read: ElementRef, static: true }, { propertyName: "ionHeaderElement", first: true, predicate: IonHeader, descendants: true, read: ElementRef, static: true }, { propertyName: "ionToolbarElement", first: true, predicate: IonToolbar, descendants: true, read: ElementRef, static: true }, { propertyName: "ionTitleElement", first: true, predicate: IonTitle, descendants: true, read: ElementRef, static: true }, { propertyName: "routerOutlet", first: true, predicate: RouterOutlet, descendants: true, static: true }, { propertyName: "_contentTitleElement", first: true, predicate: ["contentTitle"], descendants: true, read: ElementRef }, { propertyName: "toolbarButtonsQuery", predicate: ButtonComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ion-header [class.content-scrolled]=\"isContentScrolled\" (touchstart)=\"onHeaderTouchStart($event)\">\n <ion-toolbar>\n <ion-title></ion-title>\n <ion-buttons\n slot=\"secondary\"\n *ngIf=\"config.flavor === 'drawer' && config.drawerSupplementaryAction\"\n >\n <button\n kirby-button\n attentionLevel=\"3\"\n size=\"md\"\n (click)=\"config.drawerSupplementaryAction.action($event)\"\n >\n <kirby-icon [name]=\"config.drawerSupplementaryAction.iconName\"></kirby-icon>\n </button>\n </ion-buttons>\n <ion-buttons slot=\"primary\">\n <button\n kirby-button\n attentionLevel=\"3\"\n size=\"md\"\n [noDecoration]=\"config.interactWithBackground\"\n (click)=\"close()\"\n >\n <kirby-icon name=\"close\"></kirby-icon>\n </button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content [scrollEvents]=\"true\">\n <ion-header *ngIf=\"_hasCollapsibleTitle\" collapse=\"condense\">\n <ion-toolbar>\n <span class=\"kirby-text-xlarge\" #contentTitle></span>\n </ion-toolbar>\n </ion-header>\n <ng-container\n *ngComponentOutlet=\"config.component; injector: componentPropsInjector\"\n ></ng-container>\n <router-outlet\n name=\"kirbyModalWrapperOutlet\"\n [style.visibility]=\"config.modalRoute ? 'visible' : 'hidden'\"\n ></router-outlet>\n</ion-content>\n", styles: ["ion-header{box-sizing:border-box}ion-header ion-toolbar{--padding-start: 8px;--padding-end: 8px;--padding-bottom: 7px;--padding-top: 8px;--border-width: 0;--background: transparent;--color: var(--kirby-modal-color, var(--kirby-black));border-bottom:1px solid transparent;transition:border-color .2s linear}@media (min-width: 768px){ion-header ion-toolbar{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 23px;--padding-top: 24px;padding-inline:0}}ion-header ion-toolbar button{color:var(--color)}:host{--vh100: var(--vh, 1vh) * 100;--header-height: 0px;--footer-height: 0px}@media (max-width: 767px){:host.drawer ion-header ion-toolbar{--padding-top: 16px}:host.drawer ion-header ion-toolbar:first-of-type{padding-top:0}}@media (min-width: 768px){ion-header ion-toolbar{border-bottom-color:var(--kirby-medium)}}ion-header.content-scrolled ion-toolbar{border-bottom-color:var(--kirby-medium)}:host-context(ion-modal.no-header-area-border) ion-header ion-toolbar{border-bottom-color:transparent}@media (max-width: 767px){:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)){padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top, 0px))}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)) ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)) ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)).drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)).drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}}:host-context(ion-modal.kirby-drawer.interact-with-background){padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top, 0px))}:host-context(ion-modal.kirby-drawer.interact-with-background) ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal.kirby-drawer.interact-with-background) ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal.kirby-drawer.interact-with-background).drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal.kirby-drawer.interact-with-background).drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}:host-context(ion-modal.kirby-drawer.interact-with-background) ion-header ion-toolbar{border-bottom-color:transparent}:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{padding-top:var(--kirby-safe-area-top, 0)}@media (min-width: 768px){:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 23px;--padding-top: 24px;padding-inline:0}}ion-title{box-sizing:border-box;padding-inline-start:calc(48px + var(--padding-start));padding-inline-end:calc(48px + var(--padding-end));font-size:16px;font-weight:700}ion-content{--background: transparent;--color: var(--kirby-modal-color, var(--kirby-black));display:flex;flex-direction:column;--padding-top: 24px;--padding-bottom: 24px;--padding-start: 16px;--padding-end: 16px}ion-content ::ng-deep>*{box-sizing:border-box;display:block}@media (min-width: 768px){ion-content{--padding-start: 48px;--padding-end: 48px}}:host(.collapsible-title) ion-content ion-toolbar:first-of-type{--padding-top: 0px;--padding-bottom: 32px;--padding-start: 8px;--padding-end: 8px;border:none}@media (min-width: 768px){:host(.collapsible-title) ion-content ion-toolbar:first-of-type{--padding-start: 16px;--padding-end: 16px}}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i5.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i5.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i6.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ButtonComponent, selector: "button[kirby-button],Button[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i7.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i8.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
430
+ ], viewQueries: [{ propertyName: "ionContent", first: true, predicate: IonContent, descendants: true, static: true }, { propertyName: "ionContentElement", first: true, predicate: IonContent, descendants: true, read: ElementRef, static: true }, { propertyName: "ionHeaderElement", first: true, predicate: IonHeader, descendants: true, read: ElementRef, static: true }, { propertyName: "ionToolbarElement", first: true, predicate: IonToolbar, descendants: true, read: ElementRef, static: true }, { propertyName: "ionTitleElement", first: true, predicate: IonTitle, descendants: true, read: ElementRef, static: true }, { propertyName: "routerOutlet", first: true, predicate: RouterOutlet, descendants: true, static: true }, { propertyName: "_contentTitleElement", first: true, predicate: ["contentTitle"], descendants: true, read: ElementRef }, { propertyName: "toolbarButtonsQuery", predicate: ButtonComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ion-header [class.content-scrolled]=\"isContentScrolled\" (touchstart)=\"onHeaderTouchStart($event)\">\n <ion-toolbar>\n <ion-title></ion-title>\n <ion-buttons\n slot=\"secondary\"\n *ngIf=\"config.flavor === 'drawer' && config.drawerSupplementaryAction\"\n >\n <button\n kirby-button\n attentionLevel=\"3\"\n size=\"md\"\n (click)=\"config.drawerSupplementaryAction.action($event)\"\n >\n <kirby-icon [name]=\"config.drawerSupplementaryAction.iconName\"></kirby-icon>\n </button>\n </ion-buttons>\n <ion-buttons slot=\"primary\">\n <button\n kirby-button\n attentionLevel=\"3\"\n size=\"md\"\n [noDecoration]=\"config.interactWithBackground\"\n (click)=\"close()\"\n >\n <kirby-icon name=\"close\"></kirby-icon>\n </button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content [scrollEvents]=\"true\">\n <ion-header *ngIf=\"_hasCollapsibleTitle\" collapse=\"condense\">\n <ion-toolbar>\n <span class=\"kirby-text-xlarge\" #contentTitle></span>\n </ion-toolbar>\n </ion-header>\n <ng-container\n *ngComponentOutlet=\"config.component; injector: componentPropsInjector\"\n ></ng-container>\n <router-outlet\n name=\"kirbyModalWrapperOutlet\"\n [style.visibility]=\"config.modalRoute ? 'visible' : 'hidden'\"\n ></router-outlet>\n</ion-content>\n", styles: ["ion-header{box-sizing:border-box}ion-header ion-toolbar{--padding-start: 8px;--padding-end: 8px;--padding-bottom: 7px;--padding-top: 8px;--border-width: 0;--background: transparent;--color: var(--kirby-modal-color, var(--kirby-black));border-bottom:1px solid transparent;transition:border-color .2s linear}@media (min-width: 768px){ion-header ion-toolbar{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 23px;--padding-top: 24px;padding-inline:0}}ion-header ion-toolbar button{color:var(--color)}:host{--vh100: var(--vh, 1vh) * 100;--header-height: 0px;--footer-height: 0px}@media (max-width: 767px){:host.drawer ion-header ion-toolbar{--padding-top: 16px}:host.drawer ion-header ion-toolbar:first-of-type{padding-top:0}}@media (min-width: 768px){ion-header ion-toolbar{border-bottom-color:var(--kirby-medium)}}ion-header.content-scrolled ion-toolbar{border-bottom-color:var(--kirby-medium)}:host-context(ion-modal.no-header-area-border) ion-header ion-toolbar{border-bottom-color:transparent}@media (max-width: 767px){:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)){padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top, 0px))}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)) ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)) ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)).drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal.kirby-drawer:not(.kirby-modal-full-height)).drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}}:host-context(ion-modal.kirby-drawer.interact-with-background){padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top, 0px))}:host-context(ion-modal.kirby-drawer.interact-with-background) ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal.kirby-drawer.interact-with-background) ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal.kirby-drawer.interact-with-background).drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal.kirby-drawer.interact-with-background).drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}:host-context(ion-modal.kirby-drawer.interact-with-background) ion-header ion-toolbar{border-bottom-color:transparent}:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{padding-top:var(--kirby-safe-area-top, 0)}@media (min-width: 768px){:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 23px;--padding-top: 24px;padding-inline:0}}ion-title{box-sizing:border-box;padding-inline-start:calc(48px + var(--padding-start));padding-inline-end:calc(48px + var(--padding-end));font-size:16px;font-weight:700}ion-content{--background: transparent;--color: var(--kirby-modal-color, var(--kirby-black));display:flex;flex-direction:column;--padding-top: 24px;--padding-bottom: 24px;--padding-start: 16px;--padding-end: 16px}ion-content ::ng-deep>*{box-sizing:border-box;display:block}@media (min-width: 768px){ion-content{--padding-start: 48px;--padding-end: 48px}}:host(.collapsible-title) ion-content ion-toolbar:first-of-type{--padding-top: 0px;--padding-bottom: 32px;--padding-start: 8px;--padding-end: 8px;border:none}@media (min-width: 768px){:host(.collapsible-title) ion-content ion-toolbar:first-of-type{--padding-start: 16px;--padding-end: 16px}}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i5.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i5.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i6.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ButtonComponent, selector: "button[kirby-button],Button[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i7.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i8.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
431
431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalWrapperComponent, decorators: [{
432
432
  type: Component,
433
433
  args: [{ standalone: true, imports: [IonicModule, RouterModule, ButtonComponent, IconModule, CommonModule], selector: 'kirby-modal-wrapper', providers: [
@@ -47,7 +47,7 @@ export class ModalV2Component {
47
47
  }
48
48
  }
49
49
  /** @nocollapse */ ModalV2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
- /** @nocollapse */ ModalV2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalV2Component, selector: "kirby-modal-v2", inputs: { flavor: "flavor", open: "open", canDismiss: "canDismiss", title: "title", hasCollapsibleTitle: "hasCollapsibleTitle", scrollDisabled: "scrollDisabled", breakpoints: "breakpoints", initialBreakpoint: "initialBreakpoint", size: "size", height: "height" }, outputs: { willPresent: "willPresent", didPresent: "didPresent", didDismiss: "didDismiss", willDismiss: "willDismiss" }, viewQueries: [{ propertyName: "modal", first: true, predicate: IonModal, descendants: true }, { propertyName: "modalElement", first: true, predicate: IonModal, descendants: true, read: ElementRef, static: true }, { propertyName: "ionContent", first: true, predicate: IonContent, descendants: true }], ngImport: i0, template: "<ion-modal\n class=\"kirby-modal-v2\"\n [isOpen]=\"open\"\n [breakpoints]=\"flavor === 'drawer' ? breakpoints : undefined\"\n [initialBreakpoint]=\"flavor === 'drawer' ? initialBreakpoint : undefined\"\n [handle]=\"false\"\n [canDismiss]=\"canDismiss\"\n [ngClass]=\"size\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <ion-header class=\"modal-header\">\n <ion-toolbar>\n <ng-content select=\"[header-start]\"></ng-content>\n <ion-buttons slot=\"start\" *ngIf=\"flavor === 'drawer'\">\n <ng-container\n *ngTemplateOutlet=\"closeButton; context: { icon: 'arrow-down' }\"\n ></ng-container>\n </ion-buttons>\n <ion-title>{{ title }}</ion-title>\n <ion-buttons slot=\"end\" *ngIf=\"flavor === 'modal'\">\n <ng-container *ngTemplateOutlet=\"closeButton; context: { icon: 'close' }\"></ng-container>\n </ion-buttons>\n <ion-buttons slot=\"end\" *ngIf=\"flavor === 'drawer'\">\n <ng-content select=\"[drawer-supplementary-action]\"></ng-content>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n\n <ion-content [scrollEvents]=\"true\" [scrollY]=\"!scrollDisabled\">\n <ion-header *ngIf=\"hasCollapsibleTitle\" collapse=\"condense\">\n <ion-toolbar>\n <span class=\"kirby-text-large\">{{ title }}</span>\n </ion-toolbar>\n </ion-header>\n <ng-container>\n <ng-content></ng-content>\n </ng-container>\n </ion-content>\n <ng-content select=\"[footer]\"></ng-content>\n </ng-template>\n</ion-modal>\n\n<ng-template #closeButton let-icon=\"icon\">\n <button kirby-button attentionLevel=\"1\" size=\"md\" (click)=\"_closeModal()\">\n <kirby-icon [name]=\"icon\"></kirby-icon>\n </button>\n</ng-template>\n", styles: [":host,:root{--kirby-white-overlay: hsl(0deg 0% 100% / 15%);--kirby-white-overlay-10: hsl(0deg 0% 100% / 10%);--kirby-white-overlay-20: hsl(0deg 0% 100% / 20%);--kirby-white-overlay-30: hsl(0deg 0% 100% / 30%);--kirby-white-overlay-40: hsl(0deg 0% 100% / 40%);--kirby-white-overlay-50: hsl(0deg 0% 100% / 50%);--kirby-dark-overlay: hsl(0deg 0% 11% / 6%);--kirby-dark-overlay-10: hsl(0deg 0% 11% / 10%);--kirby-dark-overlay-20: hsl(0deg 0% 11% / 20%);--kirby-dark-overlay-30: hsl(0deg 0% 11% / 30%);--kirby-dark-overlay-40: hsl(0deg 0% 11% / 40%);--kirby-dark-overlay-50: hsl(0deg 0% 11% / 50%);--kirby-white: hsl(0deg 0% 100%);--kirby-black: hsl(0deg 0% 11%);--kirby-semi-dark: hsl(0deg 0% 56%);--kirby-elevation-2: 0 1px 24px 0 rgb(28 28 28 / 4%);--kirby-elevation-4: 0 20px 30px -15px hsla(0deg 0% 11% 30%), 0 0 5px 0 hsla(0deg 0% 11% 8%)}ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}ion-header{--kirby-inputs-background-color: var(--kirby-white);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-divider-color: var(--kirby-medium);--kirby-inputs-elevation: var(--kirby-elevation-2);box-sizing:border-box}ion-header ion-toolbar{--padding-start: 16px;--padding-end: 16px;--padding-bottom: 12px;--padding-top: 12px;--border-width: 0;--background: transparent}ion-header ion-toolbar button{background-color:var(--kirby-white)}ion-header.modal-header{border-bottom:1px solid var(--kirby-medium)}@media (min-width: 768px){ion-header ion-toolbar{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 24px;--padding-top: 24px}}:host{--vh100: var(--vh, 1vh) * 100;--header-height: 0px;--footer-height: 0px}ion-title{box-sizing:border-box;padding-inline-start:calc(48px + var(--padding-start));padding-inline-end:calc(48px + var(--padding-end))}ion-content{--background: transparent;--color: var(--kirby-modal-color, var(--kirby-black));--padding-top: 24px;--padding-bottom: 24px;--padding-start: 16px;--padding-end: 16px;display:flex;flex-direction:column}ion-content ::ng-deep>*{box-sizing:border-box;display:block}@media (min-width: 768px){ion-content{--padding-top: 40px;--padding-bottom: 40px;--padding-start: 48px;--padding-end: 48px}}:host(.collapsible-title) ion-content{--padding-top: 0px}:host(.collapsible-title) ion-content ion-header ion-toolbar:first-of-type{padding-top:0;--padding-top: 0px;--padding-bottom: 0px;--padding-start: 0px;--padding-end: 0px}:host(.collapsible-title) ion-title{font-size:16px;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "swipeToClose", "translucent", "trigger"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[kirby-button],Button[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }] });
50
+ /** @nocollapse */ ModalV2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalV2Component, selector: "kirby-modal-v2", inputs: { flavor: "flavor", open: "open", canDismiss: "canDismiss", title: "title", hasCollapsibleTitle: "hasCollapsibleTitle", scrollDisabled: "scrollDisabled", breakpoints: "breakpoints", initialBreakpoint: "initialBreakpoint", size: "size", height: "height" }, outputs: { willPresent: "willPresent", didPresent: "didPresent", didDismiss: "didDismiss", willDismiss: "willDismiss" }, viewQueries: [{ propertyName: "modal", first: true, predicate: IonModal, descendants: true }, { propertyName: "modalElement", first: true, predicate: IonModal, descendants: true, read: ElementRef, static: true }, { propertyName: "ionContent", first: true, predicate: IonContent, descendants: true }], ngImport: i0, template: "<ion-modal\n class=\"kirby-modal-v2\"\n [isOpen]=\"open\"\n [breakpoints]=\"flavor === 'drawer' ? breakpoints : undefined\"\n [initialBreakpoint]=\"flavor === 'drawer' ? initialBreakpoint : undefined\"\n [handle]=\"false\"\n [canDismiss]=\"canDismiss\"\n [ngClass]=\"size\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <ion-header class=\"modal-header\">\n <ion-toolbar>\n <ng-content select=\"[header-start]\"></ng-content>\n <ion-buttons slot=\"start\" *ngIf=\"flavor === 'drawer'\">\n <ng-container\n *ngTemplateOutlet=\"closeButton; context: { icon: 'arrow-down' }\"\n ></ng-container>\n </ion-buttons>\n <ion-title>{{ title }}</ion-title>\n <ion-buttons slot=\"end\" *ngIf=\"flavor === 'modal'\">\n <ng-container *ngTemplateOutlet=\"closeButton; context: { icon: 'close' }\"></ng-container>\n </ion-buttons>\n <ion-buttons slot=\"end\" *ngIf=\"flavor === 'drawer'\">\n <ng-content select=\"[drawer-supplementary-action]\"></ng-content>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n\n <ion-content [scrollEvents]=\"true\" [scrollY]=\"!scrollDisabled\">\n <ion-header *ngIf=\"hasCollapsibleTitle\" collapse=\"condense\">\n <ion-toolbar>\n <span class=\"kirby-text-large\">{{ title }}</span>\n </ion-toolbar>\n </ion-header>\n <ng-container>\n <ng-content></ng-content>\n </ng-container>\n </ion-content>\n <ng-content select=\"[footer]\"></ng-content>\n </ng-template>\n</ion-modal>\n\n<ng-template #closeButton let-icon=\"icon\">\n <button kirby-button attentionLevel=\"1\" size=\"md\" (click)=\"_closeModal()\">\n <kirby-icon [name]=\"icon\"></kirby-icon>\n </button>\n</ng-template>\n", styles: [":host,:root{--kirby-white-overlay: hsl(0deg 0% 100% / 15%);--kirby-white-overlay-10: hsl(0deg 0% 100% / 10%);--kirby-white-overlay-20: hsl(0deg 0% 100% / 20%);--kirby-white-overlay-30: hsl(0deg 0% 100% / 30%);--kirby-white-overlay-40: hsl(0deg 0% 100% / 40%);--kirby-white-overlay-50: hsl(0deg 0% 100% / 50%);--kirby-dark-overlay: hsl(0deg 0% 11% / 6%);--kirby-dark-overlay-10: hsl(0deg 0% 11% / 10%);--kirby-dark-overlay-20: hsl(0deg 0% 11% / 20%);--kirby-dark-overlay-30: hsl(0deg 0% 11% / 30%);--kirby-dark-overlay-40: hsl(0deg 0% 11% / 40%);--kirby-dark-overlay-50: hsl(0deg 0% 11% / 50%);--kirby-white: hsl(0deg 0% 100%);--kirby-black: hsl(0deg 0% 11%);--kirby-semi-dark: hsl(0deg 0% 56%);--kirby-elevation-2: 0 1px 24px 0 rgb(28 28 28 / 4%);--kirby-elevation-4: 0 20px 30px -15px hsla(0deg 0% 11% 30%), 0 0 5px 0 hsla(0deg 0% 11% 8%)}ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}ion-header{--kirby-inputs-background-color: var(--kirby-white);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-divider-color: var(--kirby-medium);--kirby-inputs-elevation: var(--kirby-elevation-2);box-sizing:border-box}ion-header ion-toolbar{--padding-start: 16px;--padding-end: 16px;--padding-bottom: 12px;--padding-top: 12px;--border-width: 0;--background: transparent}ion-header ion-toolbar button{background-color:var(--kirby-white)}ion-header.modal-header{border-bottom:1px solid var(--kirby-medium)}@media (min-width: 768px){ion-header ion-toolbar{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 24px;--padding-top: 24px}}:host{--vh100: var(--vh, 1vh) * 100;--header-height: 0px;--footer-height: 0px}ion-title{box-sizing:border-box;padding-inline-start:calc(48px + var(--padding-start));padding-inline-end:calc(48px + var(--padding-end))}ion-content{--background: transparent;--color: var(--kirby-modal-color, var(--kirby-black));--padding-top: 24px;--padding-bottom: 24px;--padding-start: 16px;--padding-end: 16px;display:flex;flex-direction:column}ion-content ::ng-deep>*{box-sizing:border-box;display:block}@media (min-width: 768px){ion-content{--padding-top: 40px;--padding-bottom: 40px;--padding-start: 48px;--padding-end: 48px}}:host(.collapsible-title) ion-content{--padding-top: 0px}:host(.collapsible-title) ion-content ion-header ion-toolbar:first-of-type{padding-top:0;--padding-top: 0px;--padding-bottom: 0px;--padding-start: 0px;--padding-end: 0px}:host(.collapsible-title) ion-title{font-size:16px;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "translucent", "trigger"] }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[kirby-button],Button[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }] });
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalV2Component, decorators: [{
52
52
  type: Component,
53
53
  args: [{ selector: 'kirby-modal-v2', template: "<ion-modal\n class=\"kirby-modal-v2\"\n [isOpen]=\"open\"\n [breakpoints]=\"flavor === 'drawer' ? breakpoints : undefined\"\n [initialBreakpoint]=\"flavor === 'drawer' ? initialBreakpoint : undefined\"\n [handle]=\"false\"\n [canDismiss]=\"canDismiss\"\n [ngClass]=\"size\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <ion-header class=\"modal-header\">\n <ion-toolbar>\n <ng-content select=\"[header-start]\"></ng-content>\n <ion-buttons slot=\"start\" *ngIf=\"flavor === 'drawer'\">\n <ng-container\n *ngTemplateOutlet=\"closeButton; context: { icon: 'arrow-down' }\"\n ></ng-container>\n </ion-buttons>\n <ion-title>{{ title }}</ion-title>\n <ion-buttons slot=\"end\" *ngIf=\"flavor === 'modal'\">\n <ng-container *ngTemplateOutlet=\"closeButton; context: { icon: 'close' }\"></ng-container>\n </ion-buttons>\n <ion-buttons slot=\"end\" *ngIf=\"flavor === 'drawer'\">\n <ng-content select=\"[drawer-supplementary-action]\"></ng-content>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n\n <ion-content [scrollEvents]=\"true\" [scrollY]=\"!scrollDisabled\">\n <ion-header *ngIf=\"hasCollapsibleTitle\" collapse=\"condense\">\n <ion-toolbar>\n <span class=\"kirby-text-large\">{{ title }}</span>\n </ion-toolbar>\n </ion-header>\n <ng-container>\n <ng-content></ng-content>\n </ng-container>\n </ion-content>\n <ng-content select=\"[footer]\"></ng-content>\n </ng-template>\n</ion-modal>\n\n<ng-template #closeButton let-icon=\"icon\">\n <button kirby-button attentionLevel=\"1\" size=\"md\" (click)=\"_closeModal()\">\n <kirby-icon [name]=\"icon\"></kirby-icon>\n </button>\n</ng-template>\n", styles: [":host,:root{--kirby-white-overlay: hsl(0deg 0% 100% / 15%);--kirby-white-overlay-10: hsl(0deg 0% 100% / 10%);--kirby-white-overlay-20: hsl(0deg 0% 100% / 20%);--kirby-white-overlay-30: hsl(0deg 0% 100% / 30%);--kirby-white-overlay-40: hsl(0deg 0% 100% / 40%);--kirby-white-overlay-50: hsl(0deg 0% 100% / 50%);--kirby-dark-overlay: hsl(0deg 0% 11% / 6%);--kirby-dark-overlay-10: hsl(0deg 0% 11% / 10%);--kirby-dark-overlay-20: hsl(0deg 0% 11% / 20%);--kirby-dark-overlay-30: hsl(0deg 0% 11% / 30%);--kirby-dark-overlay-40: hsl(0deg 0% 11% / 40%);--kirby-dark-overlay-50: hsl(0deg 0% 11% / 50%);--kirby-white: hsl(0deg 0% 100%);--kirby-black: hsl(0deg 0% 11%);--kirby-semi-dark: hsl(0deg 0% 56%);--kirby-elevation-2: 0 1px 24px 0 rgb(28 28 28 / 4%);--kirby-elevation-4: 0 20px 30px -15px hsla(0deg 0% 11% 30%), 0 0 5px 0 hsla(0deg 0% 11% 8%)}ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}ion-header{--kirby-inputs-background-color: var(--kirby-white);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-divider-color: var(--kirby-medium);--kirby-inputs-elevation: var(--kirby-elevation-2);box-sizing:border-box}ion-header ion-toolbar{--padding-start: 16px;--padding-end: 16px;--padding-bottom: 12px;--padding-top: 12px;--border-width: 0;--background: transparent}ion-header ion-toolbar button{background-color:var(--kirby-white)}ion-header.modal-header{border-bottom:1px solid var(--kirby-medium)}@media (min-width: 768px){ion-header ion-toolbar{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 24px;--padding-top: 24px}}:host{--vh100: var(--vh, 1vh) * 100;--header-height: 0px;--footer-height: 0px}ion-title{box-sizing:border-box;padding-inline-start:calc(48px + var(--padding-start));padding-inline-end:calc(48px + var(--padding-end))}ion-content{--background: transparent;--color: var(--kirby-modal-color, var(--kirby-black));--padding-top: 24px;--padding-bottom: 24px;--padding-start: 16px;--padding-end: 16px;display:flex;flex-direction:column}ion-content ::ng-deep>*{box-sizing:border-box;display:block}@media (min-width: 768px){ion-content{--padding-top: 40px;--padding-bottom: 40px;--padding-start: 48px;--padding-end: 48px}}:host(.collapsible-title) ion-content{--padding-top: 0px}:host(.collapsible-title) ion-content ion-header ion-toolbar:first-of-type{padding-top:0;--padding-top: 0px;--padding-bottom: 0px;--padding-start: 0px;--padding-end: 0px}:host(.collapsible-title) ion-title{font-size:16px;font-weight:700}\n"] }]