@coolon/angular-ui-powerups 16.1.0-aplpha.16 → 16.1.0-aplpha.160
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/activities/activities.scss +5 -3
- package/assets/activities/input-activities.scss +14 -6
- package/assets/draw.scss +20 -0
- package/assets/form.scss +74 -27
- package/assets/icons.scss +1 -0
- package/assets/layout.scss +3 -0
- package/assets/styles.scss +2 -0
- package/assets/table.scss +48 -28
- package/assets/tabs.scss +15 -5
- package/esm2022/lib/animations/slide-animations.mjs +15 -10
- package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
- package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +115 -0
- package/esm2022/lib/components/commands/command/command.component.mjs +34 -29
- package/esm2022/lib/components/commands/command-face/command-face.component.mjs +11 -3
- package/esm2022/lib/components/commands/command-face.mjs +12 -11
- package/esm2022/lib/components/commands/group/popup-aware.component.mjs +31 -8
- package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -23
- package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +11 -20
- package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -7
- package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +11 -20
- package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +8 -6
- package/esm2022/lib/components/commands/separator.component.mjs +6 -12
- package/esm2022/lib/components/components.module.mjs +55 -30
- package/esm2022/lib/components/disposable-component.mjs +32 -7
- package/esm2022/lib/components/exports.mjs +13 -5
- package/esm2022/lib/components/file/file-download/file-download.component.mjs +78 -0
- package/esm2022/lib/components/forms/abstract-input.component.mjs +55 -12
- package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +4 -4
- package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -6
- package/esm2022/lib/components/forms/form-field.mjs +2 -0
- package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +4 -4
- package/esm2022/lib/components/forms/number-input/number-input.component.mjs +84 -9
- package/esm2022/lib/components/forms/password-input/password-input.component.mjs +40 -3
- package/esm2022/lib/components/forms/search-input/search-input.component.mjs +33 -0
- package/esm2022/lib/components/forms/select-input/select-input.component.mjs +11 -10
- package/esm2022/lib/components/forms/string-input/string-input.component.mjs +30 -11
- package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -4
- package/esm2022/lib/components/icon/icon.component.mjs +7 -4
- package/esm2022/lib/components/loadable-component.mjs +22 -4
- package/esm2022/lib/components/resize-aware.component.mjs +61 -24
- package/esm2022/lib/components/switch-case/switch-case.component.mjs +5 -7
- package/esm2022/lib/components/tables/abstract-table-model.mjs +112 -63
- package/esm2022/lib/components/tables/abstract-table.component.mjs +19 -5
- package/esm2022/lib/components/tables/column/column-manager.mjs +81 -0
- package/esm2022/lib/components/tables/column/column-model.mjs +16 -6
- package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
- package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/column/selection-column-model.mjs +35 -13
- package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +2 -2
- package/esm2022/lib/components/tables/editor/edit-session.mjs +1 -1
- package/esm2022/lib/components/tables/filter/table-filter-model.mjs +4 -2
- package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +16 -2
- package/esm2022/lib/components/tables/footer/footer-row-model.mjs +38 -0
- package/esm2022/lib/components/tables/paginator/paginator.component.mjs +1 -1
- package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +7 -0
- package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +23 -5
- package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +3 -3
- package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +3 -2
- package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +2 -0
- package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +153 -0
- package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +150 -40
- package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +6 -6
- package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +45 -0
- package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +71 -0
- package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +30 -0
- package/esm2022/lib/components/tables/table/table-model.mjs +12 -3
- package/esm2022/lib/components/tables/table/table.component.mjs +39 -61
- package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +5 -4
- package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +1 -1
- package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
- package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +12 -5
- package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +4 -7
- package/esm2022/lib/components/text/markdown/markdown.component.mjs +2 -2
- package/esm2022/lib/directives/command.directive.mjs +18 -7
- package/esm2022/lib/directives/directives.module.mjs +1 -1
- package/esm2022/lib/directives/exports.mjs +2 -1
- package/esm2022/lib/directives/highlight.pipe.mjs +9 -7
- package/esm2022/lib/directives/resize-observer.directive.mjs +40 -0
- package/esm2022/lib/interaction/abstract-interaction-context.mjs +6 -7
- package/esm2022/lib/interaction/activity-context.mjs +4 -0
- package/esm2022/lib/interaction/activity.mjs +20 -21
- package/esm2022/lib/interaction/alert.mjs +2 -2
- package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +11 -8
- package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +1 -41
- package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +28 -16
- package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +8 -2
- package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +37 -12
- package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +53 -15
- package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +4 -4
- package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +1 -1
- package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +1 -1
- package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +1 -1
- package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +10 -10
- package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +55 -0
- package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +54 -0
- package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +4 -8
- package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +4 -8
- package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +7 -9
- package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
- package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +4 -4
- package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +21 -5
- package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
- package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +4 -2
- package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +8 -4
- package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +134 -0
- package/esm2022/lib/interaction/confirm.mjs +26 -2
- package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +2 -2
- package/esm2022/lib/interaction/exports.mjs +6 -1
- package/esm2022/lib/interaction/interaction-context-provider.mjs +17 -0
- package/esm2022/lib/interaction/interaction-context.mjs +3 -2
- package/esm2022/lib/interaction/interaction.module.mjs +22 -14
- package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
- package/esm2022/lib/interaction/services/interaction.service.mjs +18 -6
- package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +23 -4
- package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +4 -5
- package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +7 -9
- package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +2 -2
- package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +1 -1
- package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
- package/esm2022/lib/place/guards/place.guard.mjs +6 -5
- package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
- package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +3 -6
- package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -2
- package/esm2022/lib/place/place-auth-service.mjs +5 -5
- package/esm2022/lib/place/place-component.mjs +29 -19
- package/esm2022/lib/place/place-definition.mjs +15 -4
- package/esm2022/lib/place/place-history.mjs +2 -2
- package/esm2022/lib/place/place-router.mjs +22 -20
- package/esm2022/lib/place/place.decorator.mjs +2 -2
- package/esm2022/lib/place/place.module.mjs +1 -5
- package/esm2022/lib/place/route/formatter.mjs +2 -2
- package/esm2022/lib/place/route/parameter-decorators.mjs +54 -50
- package/esm2022/lib/place/route/parameter-definition.mjs +2 -2
- package/esm2022/lib/place/url-snapshot.mjs +3 -3
- package/esm2022/lib/place/visit-segment.mjs +2 -2
- package/esm2022/lib/place/visit.mjs +2 -2
- package/fesm2022/coolon-angular-ui-powerups.mjs +2431 -1078
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/animations/slide-animations.d.ts +1 -0
- package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
- package/lib/components/commands/button-renderer/button-renderer.component.d.ts +30 -0
- package/lib/components/commands/command/command.component.d.ts +8 -8
- package/lib/components/commands/command-face/command-face.component.d.ts +2 -0
- package/lib/components/commands/command-face.d.ts +8 -9
- package/lib/components/commands/group/popup-aware.component.d.ts +9 -4
- package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +4 -4
- package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +2 -4
- package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +2 -0
- package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +2 -4
- package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +1 -1
- package/lib/components/commands/separator.component.d.ts +2 -4
- package/lib/components/components.module.d.ts +60 -55
- package/lib/components/disposable-component.d.ts +16 -3
- package/lib/components/exports.d.ts +12 -4
- package/lib/components/file/file-download/file-download.component.d.ts +43 -0
- package/lib/components/forms/abstract-input.component.d.ts +13 -5
- package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
- package/lib/components/forms/form-field.d.ts +5 -0
- package/lib/components/forms/number-input/number-input.component.d.ts +16 -4
- package/lib/components/forms/password-input/password-input.component.d.ts +7 -1
- package/lib/components/forms/search-input/search-input.component.d.ts +10 -0
- package/lib/components/forms/select-input/select-input.component.d.ts +4 -3
- package/lib/components/forms/string-input/string-input.component.d.ts +7 -1
- package/lib/components/forms/text-input/text-input.component.d.ts +3 -0
- package/lib/components/loadable-component.d.ts +9 -5
- package/lib/components/resize-aware.component.d.ts +24 -5
- package/lib/components/switch-case/switch-case.component.d.ts +2 -3
- package/lib/components/tables/abstract-table-model.d.ts +50 -25
- package/lib/components/tables/abstract-table.component.d.ts +4 -3
- package/lib/components/tables/column/column-manager.d.ts +19 -0
- package/lib/components/tables/column/column-model.d.ts +7 -3
- package/lib/components/tables/column/column-order-manager.d.ts +20 -0
- package/lib/components/tables/column/custom-template-column-model.d.ts +3 -2
- package/lib/components/tables/column/custom-value-column-model.d.ts +3 -2
- package/lib/components/tables/column/editor-controls-column-model.d.ts +3 -2
- package/lib/components/tables/column/list-propery-column-model.d.ts +3 -2
- package/lib/components/tables/column/property-column-model.d.ts +3 -2
- package/lib/components/tables/column/selection-column-model.d.ts +10 -4
- package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +1 -1
- package/lib/components/tables/editor/edit-session.d.ts +1 -1
- package/lib/components/tables/filter/text-search-predicate.d.ts +9 -0
- package/lib/components/tables/footer/footer-row-model.d.ts +22 -0
- package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +6 -0
- package/lib/components/tables/renderer/cell-portal-ref.d.ts +20 -12
- package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +7 -0
- package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +42 -0
- package/lib/components/tables/renderer/table-body/table-body.component.d.ts +40 -16
- package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +2 -3
- package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +19 -0
- package/lib/components/tables/renderer/{table-more-menu/table-more-menu.component.d.ts → table-custom-more-menu/table-custom-more-menu.component.d.ts} +8 -7
- package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +11 -0
- package/lib/components/tables/table/table-model.d.ts +4 -4
- package/lib/components/tables/table/table.component.d.ts +14 -10
- package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
- package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -2
- package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -0
- package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
- package/lib/directives/command.directive.d.ts +6 -4
- package/lib/directives/exports.d.ts +1 -0
- package/lib/directives/resize-observer.directive.d.ts +16 -0
- package/lib/interaction/abstract-interaction-context.d.ts +1 -1
- package/lib/interaction/activity-context.d.ts +9 -0
- package/lib/interaction/activity.d.ts +7 -7
- package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -1
- package/lib/interaction/components/abstract-dialog.component.d.ts +5 -14
- package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +12 -9
- package/lib/interaction/components/activity-body/activity-body.component.d.ts +2 -1
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +10 -4
- package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +3 -3
- package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
- package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +6 -1
- package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +17 -0
- package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +15 -0
- package/lib/interaction/components/editors/edit-context.d.ts +1 -1
- package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +5 -3
- package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +53 -0
- package/lib/interaction/confirm.d.ts +4 -0
- package/lib/interaction/exports.d.ts +5 -0
- package/lib/interaction/interaction-context-provider.d.ts +11 -0
- package/lib/interaction/interaction-context.d.ts +7 -1
- package/lib/interaction/interaction.module.d.ts +35 -33
- package/lib/interaction/services/interaction-service-routing-adapter.d.ts +2 -2
- package/lib/interaction/services/interaction.service.d.ts +2 -1
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +3 -1
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +3 -4
- package/lib/place/place-auth-service.d.ts +4 -4
- package/lib/place/place-component.d.ts +7 -5
- package/lib/place/place-definition.d.ts +2 -0
- package/lib/place/place-router.d.ts +6 -2
- package/lib/place/place.module.d.ts +4 -5
- package/package.json +6 -4
- package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -44
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +0 -33
- package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +0 -60
- package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +0 -84
- package/lib/components/tables/column/column-list-model.d.ts +0 -13
- package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +0 -15
- package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +0 -28
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { assert } from '@coolon/pectin';
|
|
3
|
-
import { first } from 'lodash';
|
|
3
|
+
import { first } from 'lodash-es';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
6
|
* TODO: this should be updated to store the last x visists rathern than a map of places to visit segments.
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
143
143
|
//
|
|
144
144
|
// }
|
|
145
145
|
})(PlaceHistory || (PlaceHistory = {}));
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3BsYWNlLWhpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFFBQVEsQ0FBQzs7QUFLN0I7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBRWYsZUFBZSxDQUEyQjtJQUMxQyxlQUFlLENBQTJCO0lBRTFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztJQUM3QyxpQkFBaUIsR0FBVyxDQUFDLENBQUM7SUFDL0MsdUJBQXVCO1FBQ3JCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLE1BQWE7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFtQjtRQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsUUFBeUI7UUFDekMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxX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bUI7SUFDbkIsTUFBTTtJQUNOLEVBQUU7SUFDRiwwQkFBMEI7SUFDMUIsb0VBQW9FO0lBQ3BFLE1BQU07SUFDTixFQUFFO0lBQ0YsY0FBYztJQUNkLG9DQUFvQztJQUNwQyx1RkFBdUY7SUFDdkYsTUFBTTtJQUNOLEVBQUU7SUFDRixjQUFjO0lBQ2QseUVBQXlFO0lBQ3pFLG1HQUFtRztJQUNuRyx1RkFBdUY7SUFDdkYsTUFBTTtJQUNOLEVBQUU7SUFDRixpQ0FBaUM7SUFDakMsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQixNQUFNO0lBQ04sRUFBRTtJQUNGLGlFQUFpRTtJQUNqRSxtQ0FBbUM7SUFDbkMsbUJBQW1CO0lBQ25CLE1BQU07SUFDTixFQUFFO0lBQ0YsbUNBQW1DO0lBQ25DLGtFQUFrRTtJQUNsRSxNQUFNO0lBQ04sRUFBRTtJQUNGLHdDQUF3QztJQUN4QywyRUFBMkU7SUFDM0UsTUFBTTtJQUNOLEVBQUU7SUFDRixJQUFJO0FBRU4sQ0FBQyxFQW5GZ0IsWUFBWSxLQUFaLFlBQVksUUFtRjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7YXNzZXJ0fSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7Zmlyc3R9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7VmlzaXR9IGZyb20gXCIuL3Zpc2l0XCI7XG5pbXBvcnQge1Zpc2l0U2VnbWVudH0gZnJvbSAnLi92aXNpdC1zZWdtZW50JztcblxuLyoqXG4gKiBUT0RPOiB0aGlzIHNob3VsZCBiZSB1cGRhdGVkIHRvIHN0b3JlIHRoZSBsYXN0IHggdmlzaXN0cyByYXRoZXJuIHRoYW4gYSBtYXAgb2YgcGxhY2VzIHRvIHZpc2l0IHNlZ21lbnRzLlxuICogICAgICAgVGhpcyB3b3VsZCBhbGxvdyBpdCB0byByZXR1cm4gc2VnbWVudHMgdGhhdCBhcmUgcmVsZXZlbnQgdG8gYSBwYXJ0aWN1bGFyIHBhcmVudCBwYXRoLiBDdXJyZW50bHlcbiAqICAgICAgIGl0IGp1c3QgcmV0dXJucyB0aGUgbGFzdCBzZWdtZW50IHNvIGl0IGNhbiByZXR1cm4gY2hpbGQgaWRzIHRoYXQgZG9uJ3QgYmVsb25nIHRvIHRoZSBjdXJyZW50IHBhcmVudC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VIaXN0b3J5IHtcblxuICBwcml2YXRlIF9hY3RpdmVTZWdtZW50czogUGxhY2VIaXN0b3J5LlZpc2l0UmVjb3JkO1xuICBwcml2YXRlIF9wcmV2aW91c1Zpc2l0czogUGxhY2VIaXN0b3J5LlZpc2l0UmVjb3JkO1xuXG4gIHByaXZhdGUgX2FyY2hpdmUgPSBuZXcgTWFwPFBsYWNlRGVmaW5pdGlvbiwgVmlzaXRTZWdtZW50W10+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIaXN0b3J5RGVwdGg6IG51bWJlciA9IDQ7XG4gIG5vdGlmeU5hdmlnYXRpb25TdGFydGVkKCkge1xuICAgIGlmICh0aGlzLl9hY3RpdmVTZWdtZW50cykge1xuICAgICAgdGhpcy5hcmNoaXZlU2VnbWVudHModGhpcy5fYWN0aXZlU2VnbWVudHMudmlzaXRTZWdtZW50cyk7XG4gICAgICB0aGlzLl9wcmV2aW91c1Zpc2l0cyA9IHRoaXMuX2FjdGl2ZVNlZ21lbnRzO1xuICAgIH1cbiAgfVxuXG4gIG5vdGlmeU5hdmlnYXRpb25GaW5pc2hlZCh2aXNpdHM6IFZpc2l0KSB7XG4gICAgdGhpcy5fYWN0aXZlU2VnbWVudHMgPSBuZXcgUGxhY2VIaXN0b3J5LlZpc2l0UmVjb3JkKHZpc2l0cy5zZWdtZW50cylcbiAgfVxuXG4gIHVwZGF0ZVZpc2l0U2VnbWVudCh2aXNpdDogVmlzaXRTZWdtZW50KSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuX2FjdGl2ZVNlZ21lbnRzKTtcbiAgICB0aGlzLl9hY3RpdmVTZWdtZW50cy51cGRhdGUodmlzaXQpO1xuICB9XG5cbiAgbGFzdFZpc2l0SW5jbHVkZWQocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX3ByZXZpb3VzVmlzaXRzPy5nZXRWaXNpdEZvcihwbGFjZURlZik7XG4gIH1cblxuICBnZXRNb3N0UmVjZW50VmlzaXRTZWdtZW50Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICByZXR1cm4gZmlyc3QodGhpcy5nZXRTZWdtZW50SGlzdG9yeUZvcihwbGFjZURlZikpO1xuICB9XG5cbiAgZ2V0U2VnbWVudEhpc3RvcnlGb3IocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IFZpc2l0U2VnbWVudFtdIHtcbiAgICBsZXQgaGlzdG9yeSA9IHRoaXMuX2FyY2hpdmUuZ2V0KHBsYWNlRGVmKTtcbiAgICBpZiAoIWhpc3RvcnkpIHtcbiAgICAgIGhpc3RvcnkgPSBbXTtcbiAgICAgIHRoaXMuc2V0SGlzdG9yeShwbGFjZURlZiwgaGlzdG9yeSk7XG4gICAgfVxuICAgIHJldHVybiBoaXN0b3J5O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRIaXN0b3J5KHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24sIGhpc3Rvcnk6IFZpc2l0U2VnbWVudFtdKSB7XG4gICAgdGhpcy5fYXJjaGl2ZS5zZXQocGxhY2VEZWYsIGhpc3RvcnkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFyY2hpdmVTZWdtZW50cyh2aXNpdHM6IFZpc2l0U2VnbWVudFtdKSB7XG4gICAgdmlzaXRzLmZvckVhY2goc3RhdGUgPT4ge1xuICAgICAgY29uc3QgaGlzdG9yeSA9IHRoaXMuZ2V0U2VnbWVudEhpc3RvcnlGb3Ioc3RhdGUucGxhY2VEZWZpbml0aW9uKTtcbiAgICAgIGNvbnN0IHByZXZpb3VzU3RhdGUgPSBmaXJzdChoaXN0b3J5KTtcbiAgICAgIGlmICghcHJldmlvdXNTdGF0ZSB8fCBzdGF0ZS5oYXNDaGFuZ2VkRnJvbShwcmV2aW91c1N0YXRlKSkge1xuICAgICAgICBoaXN0b3J5LnVuc2hpZnQoc3RhdGUpOyAvLyBMSUZPXG4gICAgICAgIHRoaXMuc2V0SGlzdG9yeShzdGF0ZS5wbGFjZURlZmluaXRpb24sIGhpc3Rvcnkuc2xpY2UoMCwgdGhpcy5wbGFjZUhpc3RvcnlEZXB0aCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlSGlzdG9yeSB7XG5cbiAgZXhwb3J0IGNsYXNzIFZpc2l0UmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlzaXRTZWdtZW50czogVmlzaXRTZWdtZW50W10pIHtcbiAgICB9XG5cbiAgICB1cGRhdGUodmlzaXQ6IFZpc2l0U2VnbWVudCkge1xuICAgICAgdGhpcy52aXNpdFNlZ21lbnRzID0gdGhpcy52aXNpdFNlZ21lbnRzXG4gICAgICAgIC5maWx0ZXIodiA9PiB2LnBsYWNlRGVmaW5pdGlvbiAhPT0gdmlzaXQucGxhY2VEZWZpbml0aW9uKSAvLyBrZWVwIGFsbCB0aGF0IGFyZSBub3QgbWVcbiAgICAgICAgLmNvbmNhdCh2aXNpdCk7IC8vIGFuZCBhZGQgbWUgdG8gdGhlIGVuZFxuICAgIH1cblxuICAgIGdldFZpc2l0Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pOiBWaXNpdFNlZ21lbnQgfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIHRoaXMudmlzaXRTZWdtZW50cy5maW5kKHYgPT4gdi5wbGFjZURlZmluaXRpb24gPT09IHBsYWNlRGVmKTtcbiAgICB9XG4gIH1cblxuICAvLyBleHBvcnQgY2xhc3MgUXVlcnkge1xuICAvLyAgIHByaXZhdGUgX2hpc3Rvcnk6IFZpc2l0LlN0YXRlW107XG4gIC8vICAgcHJpdmF0ZSBfcGxhY2VzOiBQbGFjZVtdO1xuICAvLyAgIHByaXZhdGUgX3ByZWRpY2F0ZTogKHZpc2l0OiBhbnkpID0+IGJvb2xlYW47XG4gIC8vICAgcHJpdmF0ZSBfbGltaXQ6IG51bWJlcjtcbiAgLy9cbiAgLy8gICBjb25zdHJ1Y3RvcihoaXN0b3J5LCBsaW1pdCA9IGhpc3RvcnkubGVuZ3RoKSB7XG4gIC8vICAgICB0aGlzLl9oaXN0b3J5ID0gaGlzdG9yeTtcbiAgLy8gICAgIHRoaXMuX3BsYWNlcyA9IFtdO1xuICAvLyAgICAgdGhpcy5fcHJlZGljYXRlID0gKHZpc2l0ID0+IHRydWUpO1xuICAvLyAgICAgdGhpcy5fbGltaXQgPSBsaW1pdDtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgdG8oLi4ucGxhY2VzOlBsYWNlW10pOnRoaXMge1xuICAvLyAgICAgdGhpcy5fcGxhY2VzID0gcGxhY2VzO1xuICAvLyAgICAgcmV0dXJuIHRoaXM7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHdpdGgocGFyYW1ldGVyczogeyBbcGFyYW1ldGVyOiBzdHJpbmddOiBhbnkgfSk6IHRoaXMge1xuICAvLyAgICAgdGhpcy5tYXRjaGluZyhzdGF0ZSA9PiB7XG4gIC8vICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gIC8vICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IHBhcmFtZXRlcnNba2V5XTtcbiAgLy8gICAgICAgICBjb25zdCB2aXNpdFZhbHVlID0gc3RhdGUuZ2V0KGtleSk7XG4gIC8vICAgICAgICAgY29uc3QgbWF0Y2hlZCA9IG1hdGNoVmFsdWUgPT09ICcqJyA/ICFpc05pbCh2aXNpdFZhbHVlKSA6IHZpc2l0VmFsdWUgPT0gbWF0Y2hWYWx1ZTtcbiAgLy8gICAgICAgICAvLyBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oYG1hdGNoZWQ9JHttYXRjaGVkfWAsIHBhcmFtZXRlcnMsIHZpc2l0VmFsdWUpO1xuICAvLyAgICAgICAgIHJldHVybiBhY2MgJiYgbWF0Y2hlZDtcbiAgLy8gICAgICAgfSwgdHJ1ZSk7XG4gIC8vICAgICB9KTtcbiAgLy8gICAgIHJldHVybiB0aGlzO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBsYXN0KCk6IFZpc2l0LlN0YXRlIHtcbiAgLy8gICAgIHJldHVybiBmaW5kTGFzdCh0aGlzLl9oaXN0b3J5LCB2aXNpdCA9PiB0aGlzLl9tYXRjaGVzKHZpc2l0KSlcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgLy8gQHRyYWNlXG4gIC8vICAgYWxsVGhhdE1hdGNoKCk6IFZpc2l0LlN0YXRlW10ge1xuICAvLyAgICAgcmV0dXJuIGZpbHRlcih0aGlzLl9oaXN0b3J5LCB2aXNpdCA9PiB0aGlzLl9tYXRjaGVzKHZpc2l0KSkuc2xpY2UoLXRoaXMuX2xpbWl0KTtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgLy8gQHRyYWNlXG4gIC8vICAgbW9zdFJlY2VudFZhbHVlT2Y8VD1hbnk+KHBhcmFtOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpOiBUIHtcbiAgLy8gICAgIGNvbnN0IGxhc3RTdGF0ZVdpdGhQYXJhbSA9IGZpbmRMYXN0KHRoaXMuYWxsVGhhdE1hdGNoKCksIHN0YXRlID0+ICFpc05pbChzdGF0ZS5nZXQocGFyYW0pKSk7XG4gIC8vICAgICByZXR1cm4gaXNOaWwobGFzdFN0YXRlV2l0aFBhcmFtKSA/IGRlZmF1bHRWYWx1ZSA6IGxhc3RTdGF0ZVdpdGhQYXJhbS5nZXQocGFyYW0pO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBsaW1pdChsaW1pdDogbnVtYmVyKTogdGhpcyB7XG4gIC8vICAgICB0aGlzLl9saW1pdCA9IGxpbWl0O1xuICAvLyAgICAgcmV0dXJuIHRoaXM7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIG1hdGNoaW5nKHByZWRpY2F0ZTogKHZpc2l0OiBWaXNpdC5TdGF0ZSkgPT4gYm9vbGVhbik6IHRoaXMge1xuICAvLyAgICAgdGhpcy5fcHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAvLyAgICAgcmV0dXJuIHRoaXM7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIF9tYXRjaGVzKHZpc2l0OiBWaXNpdC5TdGF0ZSkge1xuICAvLyAgICAgcmV0dXJuIHRoaXMuX2lzUGxhY2VNYXRjaCh2aXNpdCkgJiYgdGhpcy5fcHJlZGljYXRlKHZpc2l0KTtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgX2lzUGxhY2VNYXRjaCh2aXNpdDogVmlzaXQuU3RhdGUpIHtcbiAgLy8gICAgIHJldHVybiB0aGlzLl9wbGFjZXMubGVuZ3RoIDwgMSB8fCB0aGlzLl9wbGFjZXMuaW5jbHVkZXModmlzaXQucGxhY2UpXG4gIC8vICAgfVxuICAvL1xuICAvLyB9XG5cbn1cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3BsYWNlLWhpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFLaEM7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBRWYsZUFBZSxDQUEyQjtJQUMxQyxlQUFlLENBQTJCO0lBRTFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztJQUM3QyxpQkFBaUIsR0FBVyxDQUFDLENBQUM7SUFDL0MsdUJBQXVCO1FBQ3JCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLE1BQWE7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFtQjtRQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsUUFBeUI7UUFDekMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxX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bUI7SUFDbkIsTUFBTTtJQUNOLEVBQUU7SUFDRiwwQkFBMEI7SUFDMUIsb0VBQW9FO0lBQ3BFLE1BQU07SUFDTixFQUFFO0lBQ0YsY0FBYztJQUNkLG9DQUFvQztJQUNwQyx1RkFBdUY7SUFDdkYsTUFBTTtJQUNOLEVBQUU7SUFDRixjQUFjO0lBQ2QseUVBQXlFO0lBQ3pFLG1HQUFtRztJQUNuRyx1RkFBdUY7SUFDdkYsTUFBTTtJQUNOLEVBQUU7SUFDRixpQ0FBaUM7SUFDakMsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQixNQUFNO0lBQ04sRUFBRTtJQUNGLGlFQUFpRTtJQUNqRSxtQ0FBbUM7SUFDbkMsbUJBQW1CO0lBQ25CLE1BQU07SUFDTixFQUFFO0lBQ0YsbUNBQW1DO0lBQ25DLGtFQUFrRTtJQUNsRSxNQUFNO0lBQ04sRUFBRTtJQUNGLHdDQUF3QztJQUN4QywyRUFBMkU7SUFDM0UsTUFBTTtJQUNOLEVBQUU7SUFDRixJQUFJO0FBRU4sQ0FBQyxFQW5GZ0IsWUFBWSxLQUFaLFlBQVksUUFtRjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7YXNzZXJ0fSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5cbmltcG9ydCB7Zmlyc3R9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7VmlzaXR9IGZyb20gXCIuL3Zpc2l0XCI7XG5pbXBvcnQge1Zpc2l0U2VnbWVudH0gZnJvbSAnLi92aXNpdC1zZWdtZW50JztcblxuLyoqXG4gKiBUT0RPOiB0aGlzIHNob3VsZCBiZSB1cGRhdGVkIHRvIHN0b3JlIHRoZSBsYXN0IHggdmlzaXN0cyByYXRoZXJuIHRoYW4gYSBtYXAgb2YgcGxhY2VzIHRvIHZpc2l0IHNlZ21lbnRzLlxuICogICAgICAgVGhpcyB3b3VsZCBhbGxvdyBpdCB0byByZXR1cm4gc2VnbWVudHMgdGhhdCBhcmUgcmVsZXZlbnQgdG8gYSBwYXJ0aWN1bGFyIHBhcmVudCBwYXRoLiBDdXJyZW50bHlcbiAqICAgICAgIGl0IGp1c3QgcmV0dXJucyB0aGUgbGFzdCBzZWdtZW50IHNvIGl0IGNhbiByZXR1cm4gY2hpbGQgaWRzIHRoYXQgZG9uJ3QgYmVsb25nIHRvIHRoZSBjdXJyZW50IHBhcmVudC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VIaXN0b3J5IHtcblxuICBwcml2YXRlIF9hY3RpdmVTZWdtZW50czogUGxhY2VIaXN0b3J5LlZpc2l0UmVjb3JkO1xuICBwcml2YXRlIF9wcmV2aW91c1Zpc2l0czogUGxhY2VIaXN0b3J5LlZpc2l0UmVjb3JkO1xuXG4gIHByaXZhdGUgX2FyY2hpdmUgPSBuZXcgTWFwPFBsYWNlRGVmaW5pdGlvbiwgVmlzaXRTZWdtZW50W10+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIaXN0b3J5RGVwdGg6IG51bWJlciA9IDQ7XG4gIG5vdGlmeU5hdmlnYXRpb25TdGFydGVkKCkge1xuICAgIGlmICh0aGlzLl9hY3RpdmVTZWdtZW50cykge1xuICAgICAgdGhpcy5hcmNoaXZlU2VnbWVudHModGhpcy5fYWN0aXZlU2VnbWVudHMudmlzaXRTZWdtZW50cyk7XG4gICAgICB0aGlzLl9wcmV2aW91c1Zpc2l0cyA9IHRoaXMuX2FjdGl2ZVNlZ21lbnRzO1xuICAgIH1cbiAgfVxuXG4gIG5vdGlmeU5hdmlnYXRpb25GaW5pc2hlZCh2aXNpdHM6IFZpc2l0KSB7XG4gICAgdGhpcy5fYWN0aXZlU2VnbWVudHMgPSBuZXcgUGxhY2VIaXN0b3J5LlZpc2l0UmVjb3JkKHZpc2l0cy5zZWdtZW50cylcbiAgfVxuXG4gIHVwZGF0ZVZpc2l0U2VnbWVudCh2aXNpdDogVmlzaXRTZWdtZW50KSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuX2FjdGl2ZVNlZ21lbnRzKTtcbiAgICB0aGlzLl9hY3RpdmVTZWdtZW50cy51cGRhdGUodmlzaXQpO1xuICB9XG5cbiAgbGFzdFZpc2l0SW5jbHVkZWQocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX3ByZXZpb3VzVmlzaXRzPy5nZXRWaXNpdEZvcihwbGFjZURlZik7XG4gIH1cblxuICBnZXRNb3N0UmVjZW50VmlzaXRTZWdtZW50Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICByZXR1cm4gZmlyc3QodGhpcy5nZXRTZWdtZW50SGlzdG9yeUZvcihwbGFjZURlZikpO1xuICB9XG5cbiAgZ2V0U2VnbWVudEhpc3RvcnlGb3IocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IFZpc2l0U2VnbWVudFtdIHtcbiAgICBsZXQgaGlzdG9yeSA9IHRoaXMuX2FyY2hpdmUuZ2V0KHBsYWNlRGVmKTtcbiAgICBpZiAoIWhpc3RvcnkpIHtcbiAgICAgIGhpc3RvcnkgPSBbXTtcbiAgICAgIHRoaXMuc2V0SGlzdG9yeShwbGFjZURlZiwgaGlzdG9yeSk7XG4gICAgfVxuICAgIHJldHVybiBoaXN0b3J5O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRIaXN0b3J5KHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24sIGhpc3Rvcnk6IFZpc2l0U2VnbWVudFtdKSB7XG4gICAgdGhpcy5fYXJjaGl2ZS5zZXQocGxhY2VEZWYsIGhpc3RvcnkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFyY2hpdmVTZWdtZW50cyh2aXNpdHM6IFZpc2l0U2VnbWVudFtdKSB7XG4gICAgdmlzaXRzLmZvckVhY2goc3RhdGUgPT4ge1xuICAgICAgY29uc3QgaGlzdG9yeSA9IHRoaXMuZ2V0U2VnbWVudEhpc3RvcnlGb3Ioc3RhdGUucGxhY2VEZWZpbml0aW9uKTtcbiAgICAgIGNvbnN0IHByZXZpb3VzU3RhdGUgPSBmaXJzdChoaXN0b3J5KTtcbiAgICAgIGlmICghcHJldmlvdXNTdGF0ZSB8fCBzdGF0ZS5oYXNDaGFuZ2VkRnJvbShwcmV2aW91c1N0YXRlKSkge1xuICAgICAgICBoaXN0b3J5LnVuc2hpZnQoc3RhdGUpOyAvLyBMSUZPXG4gICAgICAgIHRoaXMuc2V0SGlzdG9yeShzdGF0ZS5wbGFjZURlZmluaXRpb24sIGhpc3Rvcnkuc2xpY2UoMCwgdGhpcy5wbGFjZUhpc3RvcnlEZXB0aCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlSGlzdG9yeSB7XG5cbiAgZXhwb3J0IGNsYXNzIFZpc2l0UmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlzaXRTZWdtZW50czogVmlzaXRTZWdtZW50W10pIHtcbiAgICB9XG5cbiAgICB1cGRhdGUodmlzaXQ6IFZpc2l0U2VnbWVudCkge1xuICAgICAgdGhpcy52aXNpdFNlZ21lbnRzID0gdGhpcy52aXNpdFNlZ21lbnRzXG4gICAgICAgIC5maWx0ZXIodiA9PiB2LnBsYWNlRGVmaW5pdGlvbiAhPT0gdmlzaXQucGxhY2VEZWZpbml0aW9uKSAvLyBrZWVwIGFsbCB0aGF0IGFyZSBub3QgbWVcbiAgICAgICAgLmNvbmNhdCh2aXNpdCk7IC8vIGFuZCBhZGQgbWUgdG8gdGhlIGVuZFxuICAgIH1cblxuICAgIGdldFZpc2l0Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pOiBWaXNpdFNlZ21lbnQgfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIHRoaXMudmlzaXRTZWdtZW50cy5maW5kKHYgPT4gdi5wbGFjZURlZmluaXRpb24gPT09IHBsYWNlRGVmKTtcbiAgICB9XG4gIH1cblxuICAvLyBleHBvcnQgY2xhc3MgUXVlcnkge1xuICAvLyAgIHByaXZhdGUgX2hpc3Rvcnk6IFZpc2l0LlN0YXRlW107XG4gIC8vICAgcHJpdmF0ZSBfcGxhY2VzOiBQbGFjZVtdO1xuICAvLyAgIHByaXZhdGUgX3ByZWRpY2F0ZTogKHZpc2l0OiBhbnkpID0+IGJvb2xlYW47XG4gIC8vICAgcHJpdmF0ZSBfbGltaXQ6IG51bWJlcjtcbiAgLy9cbiAgLy8gICBjb25zdHJ1Y3RvcihoaXN0b3J5LCBsaW1pdCA9IGhpc3RvcnkubGVuZ3RoKSB7XG4gIC8vICAgICB0aGlzLl9oaXN0b3J5ID0gaGlzdG9yeTtcbiAgLy8gICAgIHRoaXMuX3BsYWNlcyA9IFtdO1xuICAvLyAgICAgdGhpcy5fcHJlZGljYXRlID0gKHZpc2l0ID0+IHRydWUpO1xuICAvLyAgICAgdGhpcy5fbGltaXQgPSBsaW1pdDtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgdG8oLi4ucGxhY2VzOlBsYWNlW10pOnRoaXMge1xuICAvLyAgICAgdGhpcy5fcGxhY2VzID0gcGxhY2VzO1xuICAvLyAgICAgcmV0dXJuIHRoaXM7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHdpdGgocGFyYW1ldGVyczogeyBbcGFyYW1ldGVyOiBzdHJpbmddOiBhbnkgfSk6IHRoaXMge1xuICAvLyAgICAgdGhpcy5tYXRjaGluZyhzdGF0ZSA9PiB7XG4gIC8vICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gIC8vICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IHBhcmFtZXRlcnNba2V5XTtcbiAgLy8gICAgICAgICBjb25zdCB2aXNpdFZhbHVlID0gc3RhdGUuZ2V0KGtleSk7XG4gIC8vICAgICAgICAgY29uc3QgbWF0Y2hlZCA9IG1hdGNoVmFsdWUgPT09ICcqJyA/ICFpc05pbCh2aXNpdFZhbHVlKSA6IHZpc2l0VmFsdWUgPT0gbWF0Y2hWYWx1ZTtcbiAgLy8gICAgICAgICAvLyBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oYG1hdGNoZWQ9JHttYXRjaGVkfWAsIHBhcmFtZXRlcnMsIHZpc2l0VmFsdWUpO1xuICAvLyAgICAgICAgIHJldHVybiBhY2MgJiYgbWF0Y2hlZDtcbiAgLy8gICAgICAgfSwgdHJ1ZSk7XG4gIC8vICAgICB9KTtcbiAgLy8gICAgIHJldHVybiB0aGlzO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBsYXN0KCk6IFZpc2l0LlN0YXRlIHtcbiAgLy8gICAgIHJldHVybiBmaW5kTGFzdCh0aGlzLl9oaXN0b3J5LCB2aXNpdCA9PiB0aGlzLl9tYXRjaGVzKHZpc2l0KSlcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgLy8gQHRyYWNlXG4gIC8vICAgYWxsVGhhdE1hdGNoKCk6IFZpc2l0LlN0YXRlW10ge1xuICAvLyAgICAgcmV0dXJuIGZpbHRlcih0aGlzLl9oaXN0b3J5LCB2aXNpdCA9PiB0aGlzLl9tYXRjaGVzKHZpc2l0KSkuc2xpY2UoLXRoaXMuX2xpbWl0KTtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgLy8gQHRyYWNlXG4gIC8vICAgbW9zdFJlY2VudFZhbHVlT2Y8VD1hbnk+KHBhcmFtOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpOiBUIHtcbiAgLy8gICAgIGNvbnN0IGxhc3RTdGF0ZVdpdGhQYXJhbSA9IGZpbmRMYXN0KHRoaXMuYWxsVGhhdE1hdGNoKCksIHN0YXRlID0+ICFpc05pbChzdGF0ZS5nZXQocGFyYW0pKSk7XG4gIC8vICAgICByZXR1cm4gaXNOaWwobGFzdFN0YXRlV2l0aFBhcmFtKSA/IGRlZmF1bHRWYWx1ZSA6IGxhc3RTdGF0ZVdpdGhQYXJhbS5nZXQocGFyYW0pO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBsaW1pdChsaW1pdDogbnVtYmVyKTogdGhpcyB7XG4gIC8vICAgICB0aGlzLl9saW1pdCA9IGxpbWl0O1xuICAvLyAgICAgcmV0dXJuIHRoaXM7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIG1hdGNoaW5nKHByZWRpY2F0ZTogKHZpc2l0OiBWaXNpdC5TdGF0ZSkgPT4gYm9vbGVhbik6IHRoaXMge1xuICAvLyAgICAgdGhpcy5fcHJlZGljYXRlID0gcHJlZGljYXRlO1xuICAvLyAgICAgcmV0dXJuIHRoaXM7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIF9tYXRjaGVzKHZpc2l0OiBWaXNpdC5TdGF0ZSkge1xuICAvLyAgICAgcmV0dXJuIHRoaXMuX2lzUGxhY2VNYXRjaCh2aXNpdCkgJiYgdGhpcy5fcHJlZGljYXRlKHZpc2l0KTtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgX2lzUGxhY2VNYXRjaCh2aXNpdDogVmlzaXQuU3RhdGUpIHtcbiAgLy8gICAgIHJldHVybiB0aGlzLl9wbGFjZXMubGVuZ3RoIDwgMSB8fCB0aGlzLl9wbGFjZXMuaW5jbHVkZXModmlzaXQucGxhY2UpXG4gIC8vICAgfVxuICAvL1xuICAvLyB9XG5cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Location } from "@angular/common";
|
|
2
2
|
import { Injectable } from "@angular/core";
|
|
3
3
|
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from "@angular/router";
|
|
4
|
-
import { assert, DebugContext, Dsl, GarbageCollector, lang, Logger, MutableValueModel } from "@coolon/pectin";
|
|
4
|
+
import { assert, DebugContext, DelegatingValueModel, Dsl, GarbageCollector, lang, Logger, MutableValueModel } from "@coolon/pectin";
|
|
5
5
|
import { InteractionService } from "../interaction/services/interaction.service";
|
|
6
6
|
import { NavigatingDuringInteraction } from "./navigation/session/interactions/navigating-during-interaction";
|
|
7
7
|
import { PopStateDuringInteractionNavigation } from "./navigation/session/interactions/pop-state-during-interaction-navigation";
|
|
@@ -37,6 +37,8 @@ export class PlaceRouter extends GarbageCollector {
|
|
|
37
37
|
routerInteractionAdapter;
|
|
38
38
|
sessionFinishedJobs = [];
|
|
39
39
|
authService = new PlaceAuthService();
|
|
40
|
+
_ready$ = this.registerDisposable(new DelegatingValueModel().withDefault(true));
|
|
41
|
+
ready$ = this._ready$.readonly$;
|
|
40
42
|
constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
|
|
41
43
|
super();
|
|
42
44
|
this.angularRouter = angularRouter;
|
|
@@ -58,7 +60,7 @@ export class PlaceRouter extends GarbageCollector {
|
|
|
58
60
|
});
|
|
59
61
|
const { chain } = Dsl.disposeWith(this);
|
|
60
62
|
this.navigationInProgress$ = chain(this.navigationSession$).isNotNil();
|
|
61
|
-
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync");
|
|
63
|
+
this.interactionSyncInProgress$ = chain(this.navigationSession$).pluck("isInteractionSync").otherwise(false);
|
|
62
64
|
const idleStateName = chain(this.interactionService.active).map(active => active ? "IdleDuringInteraction" : "Idle");
|
|
63
65
|
this.navigationSessionName$ = chain(this.navigationSession$)
|
|
64
66
|
.pluck("name")
|
|
@@ -102,10 +104,13 @@ export class PlaceRouter extends GarbageCollector {
|
|
|
102
104
|
// the back button was clicked.
|
|
103
105
|
angularLocation.onUrlChange(url => this.onUrlChanged(url));
|
|
104
106
|
}
|
|
105
|
-
|
|
107
|
+
postponeRoutingUntil(condition$) {
|
|
108
|
+
this._ready$.setDelegate(condition$);
|
|
109
|
+
}
|
|
110
|
+
async getAuthenticationFailureRedirect(activatedRoute, state) {
|
|
106
111
|
return this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
|
|
107
112
|
}
|
|
108
|
-
getAuthorisationFailureRedirectOptions(component) {
|
|
113
|
+
async getAuthorisationFailureRedirectOptions(component) {
|
|
109
114
|
return this.authService.getAuthorisationFailureRedirectOptions(component);
|
|
110
115
|
}
|
|
111
116
|
get navigationSession() {
|
|
@@ -117,23 +122,20 @@ export class PlaceRouter extends GarbageCollector {
|
|
|
117
122
|
isNavigating() {
|
|
118
123
|
return this.navigationInProgress$.value;
|
|
119
124
|
}
|
|
120
|
-
|
|
121
|
-
const {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
125
|
+
async waitUntilRouterReady() {
|
|
126
|
+
const { waitUntil } = Dsl.disposeWith(this);
|
|
127
|
+
await waitUntil(this.ready$).becomesTruthy();
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
async waitUntilIdle() {
|
|
131
|
+
const { waitUntil } = Dsl.disposeWith(this);
|
|
132
|
+
await waitUntil(this.navigationInProgress$).becomesFalsey();
|
|
133
|
+
return this;
|
|
128
134
|
}
|
|
129
135
|
async waitActivitiesSynchronised() {
|
|
130
|
-
const {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
initialValue: "evaluate",
|
|
134
|
-
once: true
|
|
135
|
-
});
|
|
136
|
-
});
|
|
136
|
+
const { waitUntil } = Dsl.disposeWith(this);
|
|
137
|
+
await waitUntil(this.interactionSyncInProgress$).becomesFalsey();
|
|
138
|
+
return this;
|
|
137
139
|
}
|
|
138
140
|
// @Trace()
|
|
139
141
|
onPopState(event) {
|
|
@@ -328,4 +330,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
328
330
|
providedIn: "root"
|
|
329
331
|
}]
|
|
330
332
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }, { type: i3.InteractionService }, { type: i4.UrlService }, { type: i5.PlaceHistory }]; } });
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2Utcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBQ2YsTUFBTSxFQUVQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osR0FBRyxFQUNILGdCQUFnQixFQUNoQixJQUFJLEVBQ0osTUFBTSxFQUNOLGlCQUFpQixFQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQy9FLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzVHLE9BQU8sRUFDTCxtQ0FBbUMsRUFDcEMsTUFBTSwyRUFBMkUsQ0FBQztBQUNuRixPQUFPLEVBQ0wseUNBQXlDLEVBQzFDLE1BQU0sa0ZBQWtGLENBQUM7QUFDMUYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFB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QUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQzt1R0FsVlUsV0FBVzsyR0FBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBOYXZpZ2F0aW9uRW5kLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIE5hdmlnYXRpb25FeHRyYXMsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgRGVidWdDb250ZXh0LFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExvZ2dlcixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7Q29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXJ9IGZyb20gXCIuLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi1zZXJ2aWNlLXJvdXRpbmctYWRhcHRlclwiO1xuaW1wb3J0IHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gXCIuLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge05hdmlnYXRpbmdEdXJpbmdJbnRlcmFjdGlvbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9uYXZpZ2F0aW5nLWR1cmluZy1pbnRlcmFjdGlvblwiO1xuaW1wb3J0IHtcbiAgUG9wU3RhdGVEdXJpbmdJbnRlcmFjdGlvbk5hdmlnYXRpb25cbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9wb3Atc3RhdGUtZHVyaW5nLWludGVyYWN0aW9uLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlXG59IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9pbnRlcmFjdGlvbnMvc3luY2hyb25pc2UtaW50ZXJhY3Rpb24tY29udGV4dC1pZHMtd2l0aC1yb3V0ZVwiO1xuaW1wb3J0IHtOYXZpZ2F0aW5nfSBmcm9tIFwiLi9uYXZpZ2F0aW9uL3Nlc3Npb24vbmF2aWdhdGluZ1wiO1xuaW1wb3J0IHtOYXZpZ2F0aW9uQ29udGV4dH0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tY29udGV4dFwiO1xuaW1wb3J0IHtOYXZpZ2F0aW9uU2Vzc2lvbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvblwiO1xuaW1wb3J0IHtQb3BTdGF0ZU5hdmlnYXRpb259IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9wb3Atc3RhdGUtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHtQbGFjZUF1dGhTZXJ2aWNlfSBmcm9tIFwiLi9wbGFjZS1hdXRoLXNlcnZpY2VcIjtcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtQbGFjZUhpc3Rvcnl9IGZyb20gXCIuL3BsYWNlLWhpc3RvcnlcIjtcbmltcG9ydCB7VXJsU2VydmljZX0gZnJvbSBcIi4vdXJsLXNlcnZpY2VcIjtcbmltcG9ydCB7VXJsU25hcHNob3R9IGZyb20gXCIuL3VybC1zbmFwc2hvdFwiO1xuaW1wb3J0IHtWaXNpdH0gZnJvbSBcIi4vdmlzaXRcIjtcbmltcG9ydCB7VmlzaXRTZWdtZW50fSBmcm9tIFwiLi92aXNpdC1zZWdtZW50XCI7XG5cbi8vIGZ1bmN0aW9uIGFzQXJyYXk8VD4oaXRlbTogVCB8IFRbXSk6IFRbXSB7XG4vLyAgIHJldHVybiBBcnJheS5pc0FycmF5KGl0ZW0pID8gaXRlbSA6IFtpdGVtXTtcbi8vIH1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVJvdXRlciBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxOYXZpZ2F0aW9uU2Vzc2lvbj4oKTtcbiAgcmVhZG9ubHkgbmF2aWdhdGlvbkluUHJvZ3Jlc3MkOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG4gIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uTmFtZSQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+OyAvLyB1c2VkIGJ5IHRlc3RzXG4gIHJlYWRvbmx5IGludGVyYWN0aW9uU3luY0luUHJvZ3Jlc3MkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvbkNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LkltcGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlVmlzaXQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlckludGVyYWN0aW9uQWRhcHRlcjogSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXI7XG4gIHByaXZhdGUgc2Vzc2lvbkZpbmlzaGVkSm9iczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICByZWFkb25seSBhdXRoU2VydmljZSA9IG5ldyBQbGFjZUF1dGhTZXJ2aWNlKCk7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJSb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhbmd1bGFyTG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVybFNlcnZpY2U6IFVybFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnkpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKHdpbmRvd1tcIkN5cHJlc3NcIl0pIHtcbiAgICAgIHdpbmRvd1tcImF1cC5QbGFjZVJvdXRlclwiXSA9IHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIgPSBpbnRlcmFjdGlvblNlcnZpY2UucmVnaXN0ZXJQbGFjZVJvdXRlcih0aGlzKTtcblxuICAgIC8vIFRPRE86IE1ha2UgdGhpcyBhbiBpbnRlcmZhY2UgYW5kIHVzZSAndGhpcycgaW5zdGVhZC5cbiAgICB0aGlzLm5hdmlnYXRpb25Db250ZXh0ID0gbmV3IE5hdmlnYXRpb25Db250ZXh0LkltcGwoXG4gICAgICB0aGlzLnVybFNlcnZpY2UsXG4gICAgICB0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlcixcbiAgICAgICh1cmxTbmFwc2hvdDogVXJsU25hcHNob3QsIG9wdGlvbnM6IHsgcmVwbGFjZVVybDogYm9vbGVhbiB9KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRlQnlVcmwodXJsU25hcHNob3QsIG9wdGlvbnMpO1xuICAgICAgfSxcbiAgICAgIHN0YXRlID0+IHtcbiAgICAgICAgdGhpcy50cmFuc2l0aW9uVG8oc3RhdGUpO1xuICAgICAgfSxcbiAgICAgIHNlZ21lbnRzID0+IHtcbiAgICAgICAgdGhpcy5yb3V0aW5nU2Vzc2lvbkZpbmlzaGVkKHNlZ21lbnRzKTtcbiAgICAgIH0pO1xuXG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzJCA9IGNoYWluKHRoaXMubmF2aWdhdGlvblNlc3Npb24kKS5pc05vdE5pbCgpO1xuICAgIHRoaXMuaW50ZXJhY3Rpb25TeW5jSW5Qcm9ncmVzcyQgPSBjaGFpbih0aGlzLm5hdmlnYXRpb25TZXNzaW9uJCkucGx1Y2soXCJpc0ludGVyYWN0aW9uU3luY1wiKVxuXG4gICAgY29uc3QgaWRsZVN0YXRlTmFtZSA9IGNoYWluKHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmFjdGl2ZSkubWFwKGFjdGl2ZSA9PiBhY3RpdmUgPyBcIklkbGVEdXJpbmdJbnRlcmFjdGlvblwiIDogXCJJZGxlXCIpO1xuICAgIHRoaXMubmF2aWdhdGlvblNlc3Npb25OYW1lJCA9IGNoYWluKHRoaXMubmF2aWdhdGlvblNlc3Npb24kKVxuICAgICAgLnBsdWNrKFwibmFtZVwiKVxuICAgICAgLm90aGVyd2lzZShpZGxlU3RhdGVOYW1lKTtcblxuICAgIERlYnVnQ29udGV4dC50YWcodGhpcy5fYWN0aXZlVmlzaXQkLCBcIlBsYWNlUm91dGVyLmFjdGl2ZVZpc2l0XCIpO1xuXG4gICAgLy8gVE9ETzogbWFrZSBzZXR1cCB0aGUgY2FsbGJhY2tzIGluIGR1cmluZyBtb2R1bGUgaW5pdGlhdGlvbiB0byBtYWtlIHRoaXMgdGVzdGFibGUuXG4gICAgYW5ndWxhclJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIC8vIFJvdXRpbmcgZXZlbnQgc2VxdWVuY2VcbiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC8vIE5hdmlnYXRpb25TdGFydCAtPiAuLi4uIC0+IE5hdmlnYXRpb25DYW5jZWwgLS0+IHJlZGlyZWN0LCBnbyBhcm91bmQgYWdhaW4gaW4gdGhlIHNhbWUgc2Vzc2lvblxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVuZCAtLT4gbmF2aWdhdGlvbiBjb21wbGV0ZSwgZW5kIHNlc3Npb24uXG4gICAgICAvLyBOYXZpZ2F0aW9uU3RhcnQgLT4gLi4uLiAtPiBOYXZpZ2F0aW9uRXJyb3IgLS0+IG5hdmlnYXRpb24gYWJvcnRlZCwgZW5kIHNlc3Npb24uXG4gICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25TdGFydFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfSAoJHtldmVudC5uYXZpZ2F0aW9uVHJpZ2dlcn0pYCk7XG4gICAgICAgIGlmIChldmVudC5uYXZpZ2F0aW9uVHJpZ2dlciA9PT0gXCJwb3BzdGF0ZVwiKSB7XG4gICAgICAgICAgdGhpcy5vblBvcFN0YXRlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9uUm91dGVyU3RhcnRlZChldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvblN0YXJ0WyR7ZXZlbnQuaWR9XTogJHtldmVudC51cmx9ICgke2V2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyfSlgKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYC0tLT4gTmF2aWdhdGlvbkVuZFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyRW5kKGV2ZW50KTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvbkVuZFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25FcnJvclske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyRXJyb3IoZXZlbnQpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBOYXZpZ2F0aW9uRXJyb3JbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYC0tLT4gTmF2aWdhdGlvbkNhbmNlbFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50KTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvbkNhbmNlbFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gVGhlIHJvdXRlciBuZWVkcyB0byBrbm93IGFib3V0IHVybCBjaGFuZ2VzIGFuZCBpbiBzb21lIGNhc2VzIHRoZXkgYXJlIHRoZSBvbmx5IHdheSB0aGUgcm91dGVyIGNhbiBrbm93IGlmXG4gICAgLy8gdGhlIGJhY2sgYnV0dG9uIHdhcyBjbGlja2VkLlxuICAgIGFuZ3VsYXJMb2NhdGlvbi5vblVybENoYW5nZSh1cmwgPT4gdGhpcy5vblVybENoYW5nZWQodXJsKSk7XG5cbiAgfVxuXG4gIGdldEF1dGhlbnRpY2F0aW9uRmFpbHVyZVJlZGlyZWN0KGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFZpc2l0IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoZW50aWNhdGlvbkZhaWx1cmVSZWRpcmVjdChhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUpXG4gIH1cblxuICBnZXRBdXRob3Jpc2F0aW9uRmFpbHVyZVJlZGlyZWN0T3B0aW9ucyhjb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogVmlzaXRbXSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXNhdGlvbkZhaWx1cmVSZWRpcmVjdE9wdGlvbnMoY29tcG9uZW50KTtcbiAgfVxuXG4gIGdldCBuYXZpZ2F0aW9uU2Vzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbiQudmFsdWU7XG4gIH1cblxuICBnZXQgY3VycmVudFNlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICB9XG5cbiAgaXNOYXZpZ2F0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzJC52YWx1ZTtcbiAgfVxuXG4gIHdhaXRVbnRpbElkbGUoKTogUHJvbWlzZTx0aGlzPiB7XG4gICAgY29uc3Qge3doZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx0aGlzPihyZXNvbHZlID0+IHtcbiAgICAgIHdoZW4odGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpLmJlY29tZXNGYWxzZXkoKCkgPT4gcmVzb2x2ZSh0aGlzKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFwiZXZhbHVhdGVcIixcbiAgICAgICAgb25jZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB3YWl0QWN0aXZpdGllc1N5bmNocm9uaXNlZCgpOiBQcm9taXNlPHRoaXM+IHtcbiAgICBjb25zdCB7d2hlbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHRoaXM+KHJlc29sdmUgPT4ge1xuICAgICAgd2hlbih0aGlzLmludGVyYWN0aW9uU3luY0luUHJvZ3Jlc3MkKS5iZWNvbWVzRmFsc2V5KCgpID0+IHJlc29sdmUodGhpcyksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBcImV2YWx1YXRlXCIsXG4gICAgICAgIG9uY2U6IHRydWVcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSBcInBvcHN0YXRlXCIpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUG9wU3RhdGUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwb3BwZWRIaXN0b3J5VXJsID0gZXZlbnQudXJsO1xuICAgICAgY29uc3QgY3VycmVudFJvdXRlclVybCA9IHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCk7XG4gICAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSA/XG4gICAgICAgIG5ldyBQb3BTdGF0ZUR1cmluZ0ludGVyYWN0aW9uTmF2aWdhdGlvbih0aGlzLm5hdmlnYXRpb25Db250ZXh0LCBjdXJyZW50Um91dGVyVXJsLCBwb3BwZWRIaXN0b3J5VXJsKSA6XG4gICAgICAgIG5ldyBQb3BTdGF0ZU5hdmlnYXRpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCwgcG9wcGVkSGlzdG9yeVVybCk7XG4gICAgICB0aGlzLnRyYW5zaXRpb25UbyhzZXNzaW9uKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSBcInBvcHN0YXRlXCIpO1xuICAgIC8vIGNvbnN0IGluSW50ZXJhY3Rpb24gPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyU3RhcnRlZChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHJhbnNpdGlvblRvKHRoaXMuY3JlYXRlTmF2aWdhdGlvblNlc3Npb24odGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uVXJsQ2hhbmdlZChuZXdVcmw6IHN0cmluZykge1xuICAgIC8vIHRoZSBiYWNrIGJ1dHRvbiBjYW4gdHJpZ2dlciBhIHVybCBjaGFuZ2Ugd2l0aG91dCBhIG5hdmlnYXRpb24gc2Vzc2lvbiBpbiBwcm9ncmVzcyBzbyB3ZVxuICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IFVybCBDaGFuZ2VkICR7bmV3VXJsfWApO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uVXJsQ2hhbmdlKG5ld1VybCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiRllJOiB1cmwgY2hhbmdlZCB3aXRob3V0IGEgbmF2aWdhdGlvbiBzZXNzaW9uIGluIHByb2dyZXNzXCIpO1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBVcmwgQ2hhbmdlZGApO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcikge1xuICAgIHRoaXMuY3VycmVudFNlc3Npb24ub25Sb3V0ZXJFcnJvcihldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCkge1xuICAgIHRoaXMuY3VycmVudFNlc3Npb24ub25Sb3V0ZXJFbmQoZXZlbnQpO1xuICB9XG5cblxuICBhc3luYyBuYXZpZ2F0ZSh2aXNpdDogVmlzaXQpXG4gIGFzeW5jIG5hdmlnYXRlKHBsYWNlQ29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gIGFzeW5jIG5hdmlnYXRlKHZpc2l0T3JQbGFjZUNvbXBvbmVudDogVmlzaXQgfCBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMudG9WaXNpdCh2aXNpdE9yUGxhY2VDb21wb25lbnQsIHBhcmFtcykuY29weVdpdGhEZWZhdWx0c0Zyb20odGhpcy5hY3RpdmVWaXNpdCQudmFsdWUpXG4gICAgcmV0dXJuIHRoaXMuZG9OYXZpZ2F0aW9uKHZpc2l0LCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmFuZ3VsYXJSb3V0ZXIubmF2aWdhdGUodmlzaXQuZ2V0Um91dGVyQ29tbWFuZHMoKSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBkb05hdmlnYXRpb24odmlzaXQ6IFZpc2l0LCBydW5OYXZpZ2F0aW9uQ29tbWFuZHM6IChyb3V0ZXI6IFJvdXRlcikgPT4gYW55KSB7XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkLnZhbHVlKSB7XG4gICAgICBMb2dnZXIuZ2V0KCkuZXJyb3IoXCJOYXZpZ2F0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIiwge1xuICAgICAgICB2aXNpdDogdmlzaXQsXG4gICAgICAgIHNlc3Npb246IHRoaXMubmF2aWdhdGlvblNlc3Npb25cbiAgICAgIH0pO1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoXCJOYXZpZ2F0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIik7XG4gICAgfVxuICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLmNyZWF0ZU5hdmlnYXRpb25TZXNzaW9uKHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCkpO1xuICAgIG5hdmlnYXRpb24uaW5pdGlhbGlzZVZpc2l0U2VnbWVudHModmlzaXQpXG4gICAgdGhpcy50cmFuc2l0aW9uVG8obmF2aWdhdGlvbik7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHJ1bk5hdmlnYXRpb25Db21tYW5kcyh0aGlzLmFuZ3VsYXJSb3V0ZXIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGUgcm91dGVyIGhhcyBmaW5pc2hlZCAoaW4gdGhlIGNhc2Ugd2hlcmUgbm8gcm91dGVyIGNoYW5nZSByZXF1aXJlZCkgYW5kIHdlJ3JlIHN0aWxsIGluICBhXG4gICAgICAvLyB0cmFuc2llbnQgc3RhdGUgYW5kIGZpbmlzaCBvZiB0aGUgdHJhbnNpdGlvbi5cbiAgICAgIGlmICghdGhpcy5hbmd1bGFyUm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCkgJiYgdGhpcy5jdXJyZW50U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyRW5kKG5ldyBOYXZpZ2F0aW9uRW5kKC0xLCBcIlwiLCB0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlclVybCgpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdDogVXJsU25hcHNob3QsIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBuYXZpZ2F0aW9uQnlVcmwgLT4gJHt1cmxTbmFwc2hvdC51cmxUcmVlLnRvU3RyaW5nKCl9YCk7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhclJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90LnVybFRyZWUsIG5hdmlnYXRpb25FeHRyYXMpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVZpc2l0JCgpOiBWYWx1ZU1vZGVsPFZpc2l0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVZpc2l0JC5yZWFkb25seSQ7XG4gIH1cblxuICBhc3luYyBub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzOiBWaXNpdFNlZ21lbnQsIHdhczogVmlzaXRTZWdtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZVJvdXRlci5ub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkXCIsIGlzLnRvRGVidWdTdHJpbmcoKSwgd2FzLnRvRGVidWdTdHJpbmcoKSk7XG4gICAgdGhpcy5wbGFjZUhpc3RvcnkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcblxuICAgIC8vIEZJWE1FOiBubyByb3V0ZSBpZCAtPiByb3V0ZSBpZCBkdXBsaWNhdGVzIHJvdXRlIHBhcmFtZXRlcnNcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMuYWN0aXZlVmlzaXQkLnZhbHVlLmNvcHlBbmRSZXBsYWNlU2VnbWVudChpcyk7XG4gICAgaWYgKGlzLmhhc1JvdXRpbmdDaGFuZ2VkRnJvbSh3YXMpKSB7XG4gICAgICAvLyBUT0RPOiBjYW4gSSBqdXN0IGRvIGEgcmVndWxhciBuYXZpZ2F0ZSB1c2luZyBhbiB1cGRhdGVkIHZpc2l0P1xuICAgICAgLy8gY29uc3Qge3doZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgYXdhaXQgdGhpcy5kb05hdmlnYXRpb24odmlzaXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnVybFNlcnZpY2UucGFyc2VVcmwodGhpcy5hbmd1bGFyUm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgY3JlYXRlTmF2aWdhdGlvblNlc3Npb24oY3VycmVudFJvdXRlclVybDogc3RyaW5nKTogTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIGNvbnN0IGluSW50ZXJhY3Rpb24gPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpO1xuICAgIHJldHVybiBpbkludGVyYWN0aW9uID9cbiAgICAgIG5ldyBOYXZpZ2F0aW5nRHVyaW5nSW50ZXJhY3Rpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCkgOlxuICAgICAgbmV3IE5hdmlnYXRpbmcodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByb3RlY3RlZCB0cmFuc2l0aW9uVG8obmV4dDogTmF2aWdhdGlvblNlc3Npb24pIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICAgIGlmICghcHJldmlvdXMpIHtcbiAgICAgIHRoaXMucGxhY2VIaXN0b3J5Lm5vdGlmeU5hdmlnYXRpb25TdGFydGVkKCk7XG4gICAgfVxuICAgIGFzc2VydC5pc1RydXRoeShuZXh0ICE9PSBwcmV2aW91cyk7XG4gICAgLy8gTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGAjIyMgUm91dGVyIFN0YXRlIFRyYW5zaXRpb246ICR7cHJldmlvdXMgPyBwcmV2aW91cy50b1N0cmluZygpIDogJ251bGwnfSAtPiAke25leHQudG9TdHJpbmcoKX1gKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG5leHQ7XG4gICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICBwcmV2aW91cy5kaXNwb3NlKCk7XG4gICAgfVxuICAgIG5leHQubm90aWZ5QWN0aXZlKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByaXZhdGUgcm91dGluZ1Nlc3Npb25GaW5pc2hlZCh2aXNpdD86IFZpc2l0KSB7XG4gICAgaWYgKHZpc2l0KSB7XG4gICAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQudmFsdWUpO1xuICAgICAgdGhpcy5wbGFjZUhpc3Rvcnkubm90aWZ5TmF2aWdhdGlvbkZpbmlzaGVkKHZpc2l0KTtcbiAgICAgIC8vIFdlIHVwZGF0ZSB0aGUgYWN0aXZlIHZpc2l0cyBiZWZvcmUgd2UgZmluaXNoIHRoZSBzZXNzaW9uIHNvIHRoZVxuICAgICAgLy8gcGxhY2Ugb3V0bGV0cyBjYW4gaWdub3JlIHRoZSBpbmNvbWluZyBjaGFuZ2VzIHVudGlsIHRoaW5ncyBhcmUgc2V0dGxlZC5cbiAgICAgIHRoaXMuX2FjdGl2ZVZpc2l0JC52YWx1ZSA9IHZpc2l0O1xuICAgICAgLy8gY29uc29sZS5sb2codmlzaXQudG9EZWJ1Z1N0cmluZygpKVxuICAgIH1cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdXJyZW50U2Vzc2lvbjtcbiAgICBzZXNzaW9uLmRpc3Bvc2UoKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG51bGw7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBSb3V0ZXIgU2Vzc2lvbiBGaW5pc2hlZCAod2FzICR7c2Vzc2lvbi50b1N0cmluZygpfSlgKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMuZm9yRWFjaChqb2IgPT4gam9iKCkpO1xuICAgIHRoaXMuc2Vzc2lvbkZpbmlzaGVkSm9icyA9IFtdO1xuICB9XG5cblxuICBwcml2YXRlIHJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcyhmdW5jOiAoKSA9PiB2b2lkKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMucHVzaChmdW5jKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFN5bmMncyB0aGUgY3VycmVudCBpbnRlcmFjdGlvbiBzdGF0ZSB3aXRoIHRoZSBVUkwuICBXZSBuZWVkIHRvIHB1c2ggc29tZXRoaW5nIGluIHRoZSBVUkwgaW4gb3JkZXJcbiAgICogdG8gYmUgYWJsZSB0byBjYXB0dXJlIHRoZSBiYWNrIGJ1dHRvbiBvbiB0aGUgZmlyc3QgcGFnZS4gIElmIHdlIGRvbid0IHRoZW4gdGhlIGJhY2sgY2xpY2sgd2lsbCBleGl0XG4gICAqIHRoZSBhcHAgZGlyZWN0bHkgYW5kIHdlIGRvbid0IGdldCB0byBhc2suXG4gICAqL1xuICAvLyBAVHJhY2UoKVxuICBzeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcihvblN5bmNDb21wbGV0ZTogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAvLyBub29wXG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbikge1xuICAgICAgLy8gY29uc29sZS5sb2coYE5hdmlnYXRpb24gYWN0aXZlIC0+ICR7dGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi50b1N0cmluZygpfSwgc3luYyBkZWxheWVkIHVudGlsIGZpbmlzaGVkLmApO1xuICAgICAgLy8gY29uc3Qgc2Vzc2lvbiA9IHRoaXMubmF2aWdhdGlvblNlc3Npb247XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgdGhpcy5ydW5BZnRlclJvdXRpbmdTZXNzaW9uRmluaXNoZXMoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucnVuQWZ0ZXJSb3V0aW5nU2Vzc2lvbkZpbmlzaGVzKCgpID0+IHtcbiAgICAgICAgICAgIG9uU3luY0NvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3Qgc3luY1Nlc3Npb24gPSBuZXcgU3luY2hyb25pc2VJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGUodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSwgZmFsc2UpO1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRvKHN5bmNTZXNzaW9uKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KCgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTm8gbmF2aWdhdGlvbiBpbiBwcm9ncmVzcywgc3RhcnRpbmcgc3luY2hyb25pc2F0aW9uIGpvYmApO1xuICAgICAgICB0aGlzLnJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcygoKSA9PiB7XG4gICAgICAgICAgb25TeW5jQ29tcGxldGUoKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlKHRoaXMubmF2aWdhdGlvbkNvbnRleHQsIHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCksIGZhbHNlKTtcbiAgICAgICAgdGhpcy50cmFuc2l0aW9uVG8oc2Vzc2lvbik7XG4gICAgICB9KSk7XG5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvVmlzaXQodmlzaXRPclBsYWNlQ29tcG9uZW50OiBWaXNpdCB8IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGlmICh2aXNpdE9yUGxhY2VDb21wb25lbnQgaW5zdGFuY2VvZiBWaXNpdCkge1xuICAgICAgcmV0dXJuIHZpc2l0T3JQbGFjZUNvbXBvbmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFZpc2l0LmdvdG8odmlzaXRPclBsYWNlQ29tcG9uZW50LCBwYXJhbXMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlUm91dGVyIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIFJlZGlyZWN0aW9ucyB7XG4gICAgLyoqXG4gICAgICogTk9URTogZm9yIG5vdyB0aGlzIG9ubHkgc3VwcG9ydHMgdG9wIGxldmVsIHBsYWNlcy4gIFN1cHBvcnQgZm9yIGNoaWxkIHBsYWNlcyB3aWxsIHJlcXVpcmUgYSBtb3JlIGZ1bmRhbWVudGFsXG4gICAgICogY2hhbmdlIHRvIHZpc2l0cyB0byBzdXBwb3J0IG5lc3RpbmdcbiAgICAgKi9cbiAgICBvbkF1dGhlbnRpY2F0aW9uRmFpbHVyZShhY3RpdmF0ZWRSb3V0ZT86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFZpc2l0IHwgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBOT1RFOiBmb3Igbm93IHRoaXMgb25seSBzdXBwb3J0cyB0b3AgbGV2ZWwgcGxhY2VzLiAgU3VwcG9ydCBmb3IgY2hpbGQgcGxhY2VzIHdpbGwgcmVxdWlyZSBhIG1vcmUgZnVuZGFtZW50YWxcbiAgICAgKiBjaGFuZ2UgdG8gdmlzaXRzIHRvIHN1cHBvcnQgbmVzdGluZ1xuICAgICAqIEBwYXJhbSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBvbkF1dGhvcmlzYXRpb25GYWlsdXJlKGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiAoQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4gfCBWaXNpdClbXTtcbiAgfVxufVxuIl19
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2Utcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBQ2YsTUFBTSxFQUVQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQUUsb0JBQW9CLEVBQ2xDLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsSUFBSSxFQUNKLE1BQU0sRUFDTixpQkFBaUIsRUFHbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUM1RyxPQUFPLEVBQ0wsbUNBQW1DLEVBQ3BDLE1BQU0sMkVBQTJFLENBQUM7QUFDbkYsT0FBTyxFQUNMLHlDQUF5QyxFQUMxQyxNQUFNLGtGQUFrRixDQUFDO0FBQzFGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztB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SyxDQUFDLENBQUM7Z0JBQ3BJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUVMO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBQyxxQkFBNEQsRUFBRSxNQUFnQztRQUM1RyxJQUFJLHFCQUFxQixZQUFZLEtBQUssRUFBRTtZQUMxQyxPQUFPLHFCQUFxQixDQUFDO1NBQzlCO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO3VHQXZWVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb259IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FbmQsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgTmF2aWdhdGlvbkV4dHJhcyxcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3Rcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBEZWJ1Z0NvbnRleHQsIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExvZ2dlcixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsIFRyYW5zYWN0aW9uT2JzZXJ2ZXIsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7Q29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXJ9IGZyb20gXCIuLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi1zZXJ2aWNlLXJvdXRpbmctYWRhcHRlclwiO1xuaW1wb3J0IHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gXCIuLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge05hdmlnYXRpbmdEdXJpbmdJbnRlcmFjdGlvbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9uYXZpZ2F0aW5nLWR1cmluZy1pbnRlcmFjdGlvblwiO1xuaW1wb3J0IHtcbiAgUG9wU3RhdGVEdXJpbmdJbnRlcmFjdGlvbk5hdmlnYXRpb25cbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9wb3Atc3RhdGUtZHVyaW5nLWludGVyYWN0aW9uLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlXG59IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9pbnRlcmFjdGlvbnMvc3luY2hyb25pc2UtaW50ZXJhY3Rpb24tY29udGV4dC1pZHMtd2l0aC1yb3V0ZVwiO1xuaW1wb3J0IHtOYXZpZ2F0aW5nfSBmcm9tIFwiLi9uYXZpZ2F0aW9uL3Nlc3Npb24vbmF2aWdhdGluZ1wiO1xuaW1wb3J0IHtOYXZpZ2F0aW9uQ29udGV4dH0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tY29udGV4dFwiO1xuaW1wb3J0IHtOYXZpZ2F0aW9uU2Vzc2lvbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvblwiO1xuaW1wb3J0IHtQb3BTdGF0ZU5hdmlnYXRpb259IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9wb3Atc3RhdGUtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHtQbGFjZUF1dGhTZXJ2aWNlfSBmcm9tIFwiLi9wbGFjZS1hdXRoLXNlcnZpY2VcIjtcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtQbGFjZUhpc3Rvcnl9IGZyb20gXCIuL3BsYWNlLWhpc3RvcnlcIjtcbmltcG9ydCB7VXJsU2VydmljZX0gZnJvbSBcIi4vdXJsLXNlcnZpY2VcIjtcbmltcG9ydCB7VXJsU25hcHNob3R9IGZyb20gXCIuL3VybC1zbmFwc2hvdFwiO1xuaW1wb3J0IHtWaXNpdH0gZnJvbSBcIi4vdmlzaXRcIjtcbmltcG9ydCB7VmlzaXRTZWdtZW50fSBmcm9tIFwiLi92aXNpdC1zZWdtZW50XCI7XG5cbi8vIGZ1bmN0aW9uIGFzQXJyYXk8VD4oaXRlbTogVCB8IFRbXSk6IFRbXSB7XG4vLyAgIHJldHVybiBBcnJheS5pc0FycmF5KGl0ZW0pID8gaXRlbSA6IFtpdGVtXTtcbi8vIH1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVJvdXRlciBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxOYXZpZ2F0aW9uU2Vzc2lvbj4oKTtcbiAgcmVhZG9ubHkgbmF2aWdhdGlvbkluUHJvZ3Jlc3MkOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG4gIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uTmFtZSQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+OyAvLyB1c2VkIGJ5IHRlc3RzXG4gIHJlYWRvbmx5IGludGVyYWN0aW9uU3luY0luUHJvZ3Jlc3MkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvbkNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LkltcGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlVmlzaXQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlckludGVyYWN0aW9uQWRhcHRlcjogSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXI7XG4gIHByaXZhdGUgc2Vzc2lvbkZpbmlzaGVkSm9iczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICByZWFkb25seSBhdXRoU2VydmljZSA9IG5ldyBQbGFjZUF1dGhTZXJ2aWNlKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVhZHkkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQodHJ1ZSkpO1xuICByZWFkb25seSByZWFkeSQgPSB0aGlzLl9yZWFkeSQucmVhZG9ubHkkO1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhbmd1bGFyUm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvblNlcnZpY2U6IEludGVyYWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJ2aWNlOiBVcmxTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmICh3aW5kb3dbXCJDeXByZXNzXCJdKSB7XG4gICAgICB3aW5kb3dbXCJhdXAuUGxhY2VSb3V0ZXJcIl0gPSB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyID0gaW50ZXJhY3Rpb25TZXJ2aWNlLnJlZ2lzdGVyUGxhY2VSb3V0ZXIodGhpcyk7XG5cbiAgICAvLyBUT0RPOiBNYWtlIHRoaXMgYW4gaW50ZXJmYWNlIGFuZCB1c2UgJ3RoaXMnIGluc3RlYWQuXG4gICAgdGhpcy5uYXZpZ2F0aW9uQ29udGV4dCA9IG5ldyBOYXZpZ2F0aW9uQ29udGV4dC5JbXBsKFxuICAgICAgdGhpcy51cmxTZXJ2aWNlLFxuICAgICAgdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIsXG4gICAgICAodXJsU25hcHNob3Q6IFVybFNuYXBzaG90LCBvcHRpb25zOiB7IHJlcGxhY2VVcmw6IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90LCBvcHRpb25zKTtcbiAgICAgIH0sXG4gICAgICBzdGF0ZSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNpdGlvblRvKHN0YXRlKTtcbiAgICAgIH0sXG4gICAgICBzZWdtZW50cyA9PiB7XG4gICAgICAgIHRoaXMucm91dGluZ1Nlc3Npb25GaW5pc2hlZChzZWdtZW50cyk7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQgPSBjaGFpbih0aGlzLm5hdmlnYXRpb25TZXNzaW9uJCkuaXNOb3ROaWwoKTtcbiAgICB0aGlzLmludGVyYWN0aW9uU3luY0luUHJvZ3Jlc3MkID0gY2hhaW4odGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbiQpLnBsdWNrKFwiaXNJbnRlcmFjdGlvblN5bmNcIikub3RoZXJ3aXNlKGZhbHNlKVxuXG4gICAgY29uc3QgaWRsZVN0YXRlTmFtZSA9IGNoYWluKHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmFjdGl2ZSkubWFwKGFjdGl2ZSA9PiBhY3RpdmUgPyBcIklkbGVEdXJpbmdJbnRlcmFjdGlvblwiIDogXCJJZGxlXCIpO1xuICAgIHRoaXMubmF2aWdhdGlvblNlc3Npb25OYW1lJCA9IGNoYWluKHRoaXMubmF2aWdhdGlvblNlc3Npb24kKVxuICAgICAgLnBsdWNrKFwibmFtZVwiKVxuICAgICAgLm90aGVyd2lzZShpZGxlU3RhdGVOYW1lKTtcblxuICAgIERlYnVnQ29udGV4dC50YWcodGhpcy5fYWN0aXZlVmlzaXQkLCBcIlBsYWNlUm91dGVyLmFjdGl2ZVZpc2l0XCIpO1xuXG4gICAgLy8gVE9ETzogbWFrZSBzZXR1cCB0aGUgY2FsbGJhY2tzIGluIGR1cmluZyBtb2R1bGUgaW5pdGlhdGlvbiB0byBtYWtlIHRoaXMgdGVzdGFibGUuXG4gICAgYW5ndWxhclJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIC8vIFJvdXRpbmcgZXZlbnQgc2VxdWVuY2VcbiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC8vIE5hdmlnYXRpb25TdGFydCAtPiAuLi4uIC0+IE5hdmlnYXRpb25DYW5jZWwgLS0+IHJlZGlyZWN0LCBnbyBhcm91bmQgYWdhaW4gaW4gdGhlIHNhbWUgc2Vzc2lvblxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVuZCAtLT4gbmF2aWdhdGlvbiBjb21wbGV0ZSwgZW5kIHNlc3Npb24uXG4gICAgICAvLyBOYXZpZ2F0aW9uU3RhcnQgLT4gLi4uLiAtPiBOYXZpZ2F0aW9uRXJyb3IgLS0+IG5hdmlnYXRpb24gYWJvcnRlZCwgZW5kIHNlc3Npb24uXG4gICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25TdGFydFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfSAoJHtldmVudC5uYXZpZ2F0aW9uVHJpZ2dlcn0pYCk7XG4gICAgICAgIGlmIChldmVudC5uYXZpZ2F0aW9uVHJpZ2dlciA9PT0gXCJwb3BzdGF0ZVwiKSB7XG4gICAgICAgICAgdGhpcy5vblBvcFN0YXRlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9uUm91dGVyU3RhcnRlZChldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvblN0YXJ0WyR7ZXZlbnQuaWR9XTogJHtldmVudC51cmx9ICgke2V2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyfSlgKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYC0tLT4gTmF2aWdhdGlvbkVuZFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyRW5kKGV2ZW50KTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvbkVuZFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25FcnJvclske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyRXJyb3IoZXZlbnQpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBOYXZpZ2F0aW9uRXJyb3JbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYC0tLT4gTmF2aWdhdGlvbkNhbmNlbFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50KTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvbkNhbmNlbFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gVGhlIHJvdXRlciBuZWVkcyB0byBrbm93IGFib3V0IHVybCBjaGFuZ2VzIGFuZCBpbiBzb21lIGNhc2VzIHRoZXkgYXJlIHRoZSBvbmx5IHdheSB0aGUgcm91dGVyIGNhbiBrbm93IGlmXG4gICAgLy8gdGhlIGJhY2sgYnV0dG9uIHdhcyBjbGlja2VkLlxuICAgIGFuZ3VsYXJMb2NhdGlvbi5vblVybENoYW5nZSh1cmwgPT4gdGhpcy5vblVybENoYW5nZWQodXJsKSk7XG5cbiAgfVxuXG4gIHBvc3Rwb25lUm91dGluZ1VudGlsKGNvbmRpdGlvbiQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9yZWFkeSQuc2V0RGVsZWdhdGUoY29uZGl0aW9uJClcbiAgfVxuXG4gIGFzeW5jIGdldEF1dGhlbnRpY2F0aW9uRmFpbHVyZVJlZGlyZWN0KGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8VmlzaXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoZW50aWNhdGlvbkZhaWx1cmVSZWRpcmVjdChhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUpXG4gIH1cblxuICBhc3luYyBnZXRBdXRob3Jpc2F0aW9uRmFpbHVyZVJlZGlyZWN0T3B0aW9ucyhjb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUHJvbWlzZTxWaXNpdFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXNhdGlvbkZhaWx1cmVSZWRpcmVjdE9wdGlvbnMoY29tcG9uZW50KTtcbiAgfVxuXG4gIGdldCBuYXZpZ2F0aW9uU2Vzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbiQudmFsdWU7XG4gIH1cblxuICBnZXQgY3VycmVudFNlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICB9XG5cbiAgaXNOYXZpZ2F0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzJC52YWx1ZTtcbiAgfVxuXG4gIGFzeW5jIHdhaXRVbnRpbFJvdXRlclJlYWR5KCkge1xuICAgIGNvbnN0IHt3YWl0VW50aWx9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGF3YWl0IHdhaXRVbnRpbCh0aGlzLnJlYWR5JCkuYmVjb21lc1RydXRoeSgpXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhc3luYyB3YWl0VW50aWxJZGxlKCk6IFByb21pc2U8dGhpcz4ge1xuICAgIGNvbnN0IHt3YWl0VW50aWx9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGF3YWl0IHdhaXRVbnRpbCh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzJCkuYmVjb21lc0ZhbHNleSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYXN5bmMgd2FpdEFjdGl2aXRpZXNTeW5jaHJvbmlzZWQoKTogUHJvbWlzZTx0aGlzPiB7XG4gICAgY29uc3Qge3dhaXRVbnRpbH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgYXdhaXQgd2FpdFVudGlsKHRoaXMuaW50ZXJhY3Rpb25TeW5jSW5Qcm9ncmVzcyQpLmJlY29tZXNGYWxzZXkoKVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSBcInBvcHN0YXRlXCIpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUG9wU3RhdGUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwb3BwZWRIaXN0b3J5VXJsID0gZXZlbnQudXJsO1xuICAgICAgY29uc3QgY3VycmVudFJvdXRlclVybCA9IHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCk7XG4gICAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSA/XG4gICAgICAgIG5ldyBQb3BTdGF0ZUR1cmluZ0ludGVyYWN0aW9uTmF2aWdhdGlvbih0aGlzLm5hdmlnYXRpb25Db250ZXh0LCBjdXJyZW50Um91dGVyVXJsLCBwb3BwZWRIaXN0b3J5VXJsKSA6XG4gICAgICAgIG5ldyBQb3BTdGF0ZU5hdmlnYXRpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCwgcG9wcGVkSGlzdG9yeVVybCk7XG4gICAgICB0aGlzLnRyYW5zaXRpb25UbyhzZXNzaW9uKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSBcInBvcHN0YXRlXCIpO1xuICAgIC8vIGNvbnN0IGluSW50ZXJhY3Rpb24gPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyU3RhcnRlZChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHJhbnNpdGlvblRvKHRoaXMuY3JlYXRlTmF2aWdhdGlvblNlc3Npb24odGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uVXJsQ2hhbmdlZChuZXdVcmw6IHN0cmluZykge1xuICAgIC8vIHRoZSBiYWNrIGJ1dHRvbiBjYW4gdHJpZ2dlciBhIHVybCBjaGFuZ2Ugd2l0aG91dCBhIG5hdmlnYXRpb24gc2Vzc2lvbiBpbiBwcm9ncmVzcyBzbyB3ZVxuICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IFVybCBDaGFuZ2VkICR7bmV3VXJsfWApO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uVXJsQ2hhbmdlKG5ld1VybCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiRllJOiB1cmwgY2hhbmdlZCB3aXRob3V0IGEgbmF2aWdhdGlvbiBzZXNzaW9uIGluIHByb2dyZXNzXCIpO1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBVcmwgQ2hhbmdlZGApO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcikge1xuICAgIHRoaXMuY3VycmVudFNlc3Npb24ub25Sb3V0ZXJFcnJvcihldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCkge1xuICAgIHRoaXMuY3VycmVudFNlc3Npb24ub25Sb3V0ZXJFbmQoZXZlbnQpO1xuICB9XG5cblxuICBhc3luYyBuYXZpZ2F0ZSh2aXNpdDogVmlzaXQpXG4gIGFzeW5jIG5hdmlnYXRlKHBsYWNlQ29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gIGFzeW5jIG5hdmlnYXRlKHZpc2l0T3JQbGFjZUNvbXBvbmVudDogVmlzaXQgfCBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMudG9WaXNpdCh2aXNpdE9yUGxhY2VDb21wb25lbnQsIHBhcmFtcykuY29weVdpdGhEZWZhdWx0c0Zyb20odGhpcy5hY3RpdmVWaXNpdCQudmFsdWUpXG4gICAgcmV0dXJuIHRoaXMuZG9OYXZpZ2F0aW9uKHZpc2l0LCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmFuZ3VsYXJSb3V0ZXIubmF2aWdhdGUodmlzaXQuZ2V0Um91dGVyQ29tbWFuZHMoKSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBkb05hdmlnYXRpb24odmlzaXQ6IFZpc2l0LCBydW5OYXZpZ2F0aW9uQ29tbWFuZHM6IChyb3V0ZXI6IFJvdXRlcikgPT4gYW55KSB7XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkLnZhbHVlKSB7XG4gICAgICBMb2dnZXIuZ2V0KCkuZXJyb3IoXCJOYXZpZ2F0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIiwge1xuICAgICAgICB2aXNpdDogdmlzaXQsXG4gICAgICAgIHNlc3Npb246IHRoaXMubmF2aWdhdGlvblNlc3Npb25cbiAgICAgIH0pO1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoXCJOYXZpZ2F0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIik7XG4gICAgfVxuICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLmNyZWF0ZU5hdmlnYXRpb25TZXNzaW9uKHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCkpO1xuICAgIG5hdmlnYXRpb24uaW5pdGlhbGlzZVZpc2l0U2VnbWVudHModmlzaXQpXG4gICAgdGhpcy50cmFuc2l0aW9uVG8obmF2aWdhdGlvbik7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHJ1bk5hdmlnYXRpb25Db21tYW5kcyh0aGlzLmFuZ3VsYXJSb3V0ZXIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGUgcm91dGVyIGhhcyBmaW5pc2hlZCAoaW4gdGhlIGNhc2Ugd2hlcmUgbm8gcm91dGVyIGNoYW5nZSByZXF1aXJlZCkgYW5kIHdlJ3JlIHN0aWxsIGluICBhXG4gICAgICAvLyB0cmFuc2llbnQgc3RhdGUgYW5kIGZpbmlzaCBvZiB0aGUgdHJhbnNpdGlvbi5cbiAgICAgIGlmICghdGhpcy5hbmd1bGFyUm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCkgJiYgdGhpcy5jdXJyZW50U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyRW5kKG5ldyBOYXZpZ2F0aW9uRW5kKC0xLCBcIlwiLCB0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlclVybCgpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdDogVXJsU25hcHNob3QsIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBuYXZpZ2F0aW9uQnlVcmwgLT4gJHt1cmxTbmFwc2hvdC51cmxUcmVlLnRvU3RyaW5nKCl9YCk7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhclJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90LnVybFRyZWUsIG5hdmlnYXRpb25FeHRyYXMpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVZpc2l0JCgpOiBWYWx1ZU1vZGVsPFZpc2l0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVZpc2l0JC5yZWFkb25seSQ7XG4gIH1cblxuICBhc3luYyBub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzOiBWaXNpdFNlZ21lbnQsIHdhczogVmlzaXRTZWdtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZVJvdXRlci5ub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkXCIsIGlzLnRvRGVidWdTdHJpbmcoKSwgd2FzLnRvRGVidWdTdHJpbmcoKSk7XG4gICAgdGhpcy5wbGFjZUhpc3RvcnkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcblxuICAgIC8vIEZJWE1FOiBubyByb3V0ZSBpZCAtPiByb3V0ZSBpZCBkdXBsaWNhdGVzIHJvdXRlIHBhcmFtZXRlcnNcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMuYWN0aXZlVmlzaXQkLnZhbHVlLmNvcHlBbmRSZXBsYWNlU2VnbWVudChpcyk7XG4gICAgaWYgKGlzLmhhc1JvdXRpbmdDaGFuZ2VkRnJvbSh3YXMpKSB7XG4gICAgICAvLyBUT0RPOiBjYW4gSSBqdXN0IGRvIGEgcmVndWxhciBuYXZpZ2F0ZSB1c2luZyBhbiB1cGRhdGVkIHZpc2l0P1xuICAgICAgLy8gY29uc3Qge3doZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgYXdhaXQgdGhpcy5kb05hdmlnYXRpb24odmlzaXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnVybFNlcnZpY2UucGFyc2VVcmwodGhpcy5hbmd1bGFyUm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgY3JlYXRlTmF2aWdhdGlvblNlc3Npb24oY3VycmVudFJvdXRlclVybDogc3RyaW5nKTogTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIGNvbnN0IGluSW50ZXJhY3Rpb24gPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpO1xuICAgIHJldHVybiBpbkludGVyYWN0aW9uID9cbiAgICAgIG5ldyBOYXZpZ2F0aW5nRHVyaW5nSW50ZXJhY3Rpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCkgOlxuICAgICAgbmV3IE5hdmlnYXRpbmcodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByb3RlY3RlZCB0cmFuc2l0aW9uVG8obmV4dDogTmF2aWdhdGlvblNlc3Npb24pIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICAgIGlmICghcHJldmlvdXMpIHtcbiAgICAgIHRoaXMucGxhY2VIaXN0b3J5Lm5vdGlmeU5hdmlnYXRpb25TdGFydGVkKCk7XG4gICAgfVxuICAgIGFzc2VydC5pc1RydXRoeShuZXh0ICE9PSBwcmV2aW91cyk7XG4gICAgLy8gTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGAjIyMgUm91dGVyIFN0YXRlIFRyYW5zaXRpb246ICR7cHJldmlvdXMgPyBwcmV2aW91cy50b1N0cmluZygpIDogJ251bGwnfSAtPiAke25leHQudG9TdHJpbmcoKX1gKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG5leHQ7XG4gICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICBwcmV2aW91cy5kaXNwb3NlKCk7XG4gICAgfVxuICAgIG5leHQubm90aWZ5QWN0aXZlKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByaXZhdGUgcm91dGluZ1Nlc3Npb25GaW5pc2hlZCh2aXNpdD86IFZpc2l0KSB7XG4gICAgaWYgKHZpc2l0KSB7XG4gICAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQudmFsdWUpO1xuICAgICAgdGhpcy5wbGFjZUhpc3Rvcnkubm90aWZ5TmF2aWdhdGlvbkZpbmlzaGVkKHZpc2l0KTtcbiAgICAgIC8vIFdlIHVwZGF0ZSB0aGUgYWN0aXZlIHZpc2l0cyBiZWZvcmUgd2UgZmluaXNoIHRoZSBzZXNzaW9uIHNvIHRoZVxuICAgICAgLy8gcGxhY2Ugb3V0bGV0cyBjYW4gaWdub3JlIHRoZSBpbmNvbWluZyBjaGFuZ2VzIHVudGlsIHRoaW5ncyBhcmUgc2V0dGxlZC5cbiAgICAgIHRoaXMuX2FjdGl2ZVZpc2l0JC52YWx1ZSA9IHZpc2l0O1xuICAgICAgLy8gY29uc29sZS5sb2codmlzaXQudG9EZWJ1Z1N0cmluZygpKVxuICAgIH1cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdXJyZW50U2Vzc2lvbjtcbiAgICBzZXNzaW9uLmRpc3Bvc2UoKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG51bGw7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBSb3V0ZXIgU2Vzc2lvbiBGaW5pc2hlZCAod2FzICR7c2Vzc2lvbi50b1N0cmluZygpfSlgKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMuZm9yRWFjaChqb2IgPT4gam9iKCkpO1xuICAgIHRoaXMuc2Vzc2lvbkZpbmlzaGVkSm9icyA9IFtdO1xuICB9XG5cblxuICBwcml2YXRlIHJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcyhmdW5jOiAoKSA9PiB2b2lkKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMucHVzaChmdW5jKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFN5bmMncyB0aGUgY3VycmVudCBpbnRlcmFjdGlvbiBzdGF0ZSB3aXRoIHRoZSBVUkwuICBXZSBuZWVkIHRvIHB1c2ggc29tZXRoaW5nIGluIHRoZSBVUkwgaW4gb3JkZXJcbiAgICogdG8gYmUgYWJsZSB0byBjYXB0dXJlIHRoZSBiYWNrIGJ1dHRvbiBvbiB0aGUgZmlyc3QgcGFnZS4gIElmIHdlIGRvbid0IHRoZW4gdGhlIGJhY2sgY2xpY2sgd2lsbCBleGl0XG4gICAqIHRoZSBhcHAgZGlyZWN0bHkgYW5kIHdlIGRvbid0IGdldCB0byBhc2suXG4gICAqL1xuICAvLyBAVHJhY2UoKVxuICBzeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcihvblN5bmNDb21wbGV0ZTogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAvLyBub29wXG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbikge1xuICAgICAgLy8gY29uc29sZS5sb2coYE5hdmlnYXRpb24gYWN0aXZlIC0+ICR7dGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi50b1N0cmluZygpfSwgc3luYyBkZWxheWVkIHVudGlsIGZpbmlzaGVkLmApO1xuICAgICAgLy8gY29uc3Qgc2Vzc2lvbiA9IHRoaXMubmF2aWdhdGlvblNlc3Npb247XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgdGhpcy5ydW5BZnRlclJvdXRpbmdTZXNzaW9uRmluaXNoZXMoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucnVuQWZ0ZXJSb3V0aW5nU2Vzc2lvbkZpbmlzaGVzKCgpID0+IHtcbiAgICAgICAgICAgIG9uU3luY0NvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3Qgc3luY1Nlc3Npb24gPSBuZXcgU3luY2hyb25pc2VJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGUodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSwgZmFsc2UpO1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRvKHN5bmNTZXNzaW9uKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KCgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTm8gbmF2aWdhdGlvbiBpbiBwcm9ncmVzcywgc3RhcnRpbmcgc3luY2hyb25pc2F0aW9uIGpvYmApO1xuICAgICAgICB0aGlzLnJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcygoKSA9PiB7XG4gICAgICAgICAgb25TeW5jQ29tcGxldGUoKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlKHRoaXMubmF2aWdhdGlvbkNvbnRleHQsIHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCksIGZhbHNlKTtcbiAgICAgICAgdGhpcy50cmFuc2l0aW9uVG8oc2Vzc2lvbik7XG4gICAgICB9KSk7XG5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvVmlzaXQodmlzaXRPclBsYWNlQ29tcG9uZW50OiBWaXNpdCB8IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGlmICh2aXNpdE9yUGxhY2VDb21wb25lbnQgaW5zdGFuY2VvZiBWaXNpdCkge1xuICAgICAgcmV0dXJuIHZpc2l0T3JQbGFjZUNvbXBvbmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFZpc2l0LmdvdG8odmlzaXRPclBsYWNlQ29tcG9uZW50LCBwYXJhbXMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlUm91dGVyIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIFJlZGlyZWN0aW9ucyB7XG4gICAgLyoqXG4gICAgICogTk9URTogZm9yIG5vdyB0aGlzIG9ubHkgc3VwcG9ydHMgdG9wIGxldmVsIHBsYWNlcy4gIFN1cHBvcnQgZm9yIGNoaWxkIHBsYWNlcyB3aWxsIHJlcXVpcmUgYSBtb3JlIGZ1bmRhbWVudGFsXG4gICAgICogY2hhbmdlIHRvIHZpc2l0cyB0byBzdXBwb3J0IG5lc3RpbmdcbiAgICAgKi9cbiAgICBvbkF1dGhlbnRpY2F0aW9uRmFpbHVyZShhY3RpdmF0ZWRSb3V0ZT86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFZpc2l0IHwgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBOT1RFOiBmb3Igbm93IHRoaXMgb25seSBzdXBwb3J0cyB0b3AgbGV2ZWwgcGxhY2VzLiAgU3VwcG9ydCBmb3IgY2hpbGQgcGxhY2VzIHdpbGwgcmVxdWlyZSBhIG1vcmUgZnVuZGFtZW50YWxcbiAgICAgKiBjaGFuZ2UgdG8gdmlzaXRzIHRvIHN1cHBvcnQgbmVzdGluZ1xuICAgICAqIEBwYXJhbSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBvbkF1dGhvcmlzYXRpb25GYWlsdXJlKGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiAoQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4gfCBWaXNpdClbXTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { lang } from '@coolon/pectin';
|
|
2
|
-
import { isNil } from 'lodash';
|
|
2
|
+
import { isNil } from 'lodash-es';
|
|
3
3
|
import { PlaceComponent } from './place-component';
|
|
4
4
|
import { PlaceDefinition } from './place-definition';
|
|
5
5
|
export function Place(options) {
|
|
@@ -15,4 +15,4 @@ export function Place(options) {
|
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2UuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBc0I7SUFDMUMsT0FBTyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtRQUNwQyxJQUFJLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0RCxjQUFjLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksZUFBZSxDQUN6RCxNQUFNLEVBQ04sT0FBTyxDQUFDLElBQUksRUFDWixLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQ3pELE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssRUFDN0IsT0FBTyxDQUFDLElBQUksRUFDWixjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQ3pDLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxLQUFLLENBQ3RDLENBQUMsQ0FBQztZQUVILElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLDJFQUEyRSxDQUFDLENBQUE7YUFDeEc7U0FFRjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0seURBQXlELENBQUMsQ0FBQztTQUN2RjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdGFibGUsIGxhbmd9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHtpc05pbH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gJy4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7UGxhY2VEZWZpbml0aW9ufSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gUGxhY2Uob3B0aW9uczogUGxhY2UuT3B0aW9ucykge1xuICByZXR1cm4gKHRhcmdldDogQ29uc3RydWN0YWJsZTxhbnk+KSA9PiB7XG4gICAgaWYgKFBsYWNlQ29tcG9uZW50LmlzUGxhY2VDb21wb25lbnRDb25zdHJ1Y3Rvcih0YXJnZXQpKSB7XG4gICAgICBQbGFjZUNvbXBvbmVudC5pbmplY3REZWZpbml0aW9uKHRhcmdldCwgbmV3IFBsYWNlRGVmaW5pdGlvbihcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICBvcHRpb25zLnBhdGgsXG4gICAgICAgIGlzTmlsKG9wdGlvbnMuYXV0aGVudGljYXRlKSA/IHRydWUgOiBvcHRpb25zLmF1dGhlbnRpY2F0ZSxcbiAgICAgICAgb3B0aW9ucy5yb2xlID8/IG9wdGlvbnMucm9sZXMsXG4gICAgICAgIG9wdGlvbnMuZGF0YSxcbiAgICAgICAgUGxhY2VDb21wb25lbnQuZ2V0Um91dGVQYXJhbWV0ZXJzKHRhcmdldCksXG4gICAgICAgIChvcHRpb25zLmNoaWxkcmVuIHx8IFtdKS5tYXAoYyA9PiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGMpKSxcbiAgICAgICAgb3B0aW9ucy5yZWRpcmVjdFRvRmlyc3RDaGlsZCA/PyBmYWxzZVxuICAgICAgKSk7XG5cbiAgICAgIGlmIChvcHRpb25zLnJvbGVzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgJHt0YXJnZXQubmFtZX0gQFBsYWNlKHtyb2xlczogc3RyaW5nW119KSBpcyBkZXByZWNhdGVkLiAgVXNlIEBQbGFjZSh7cm9sZTphbnl9KSBpbnN0ZWFkYClcbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgJHt0YXJnZXR9IG11c3QgZXh0ZW5kIFBsYWNlQ29tcG9uZW50IHRvIHVzZSB0aGUgQFBsYWNlIGRlY29yYXRvcmApO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQbGFjZSB7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgZGF0YT86IHsgW2tleTogc3RyaW5nXTogYW55IH07IC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICBhdXRoZW50aWNhdGU/OiBib29sZWFuOyAvLyBkZWZhdWx0cyB0byB0cnVlXG4gICAgcm9sZT86IGFueTsgLy8gZGVmYXVsdHMgdG8gZW1wdHkgYXJyYXlcblxuICAgIC8qKlxuICAgICAqICBAZGVwcmVjYXRlZCB1c2UgI3JvbGUgaW5zdGVhZFxuICAgICAqL1xuICAgIHJvbGVzPzogc3RyaW5nW107IC8vIGRlZmF1bHRzIHRvIGVtcHR5IGFycmF5XG5cbiAgICBjaGlsZHJlbj86IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlICNyZWRpcmVjdFRvRmlyc3RDaGlsZCBpbnN0ZWFkIGFzIGl0IGhhbmRsZXMgY2hpbGQgYXV0aG9yaXNhdGlvbiBjaGVja3MgYXV0b21hdGljYWxseVxuICAgICAqL1xuICAgIGRlZmF1bHRDaGlsZD86IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+O1xuICAgIHJlZGlyZWN0VG9GaXJzdENoaWxkPzogYm9vbGVhbjtcbiAgfVxuXG59XG5cbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { PortalModule } from '@angular/cdk/portal';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FlexModule } from '@angular/flex-layout';
|
|
5
4
|
import { MatCardModule } from "@angular/material/card";
|
|
6
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
7
6
|
import { MatListModule } from '@angular/material/list';
|
|
@@ -35,7 +34,6 @@ export class PlaceModule {
|
|
|
35
34
|
MatTooltipModule,
|
|
36
35
|
MatIconModule,
|
|
37
36
|
DirectivesModule,
|
|
38
|
-
FlexModule,
|
|
39
37
|
ComponentsModule,
|
|
40
38
|
PortalModule,
|
|
41
39
|
MatCardModule], exports: [PlaceOutletComponent,
|
|
@@ -52,7 +50,6 @@ export class PlaceModule {
|
|
|
52
50
|
MatTooltipModule,
|
|
53
51
|
MatIconModule,
|
|
54
52
|
DirectivesModule,
|
|
55
|
-
FlexModule,
|
|
56
53
|
ComponentsModule,
|
|
57
54
|
PortalModule,
|
|
58
55
|
MatCardModule] });
|
|
@@ -70,7 +67,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
70
67
|
MatTooltipModule,
|
|
71
68
|
MatIconModule,
|
|
72
69
|
DirectivesModule,
|
|
73
|
-
FlexModule,
|
|
74
70
|
ComponentsModule,
|
|
75
71
|
PortalModule,
|
|
76
72
|
MatCardModule
|
|
@@ -95,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
95
91
|
]
|
|
96
92
|
}]
|
|
97
93
|
}] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDOztBQXFDdEgsTUFBTSxPQUFPLFdBQVc7dUdBQVgsV0FBVzt3R0FBWCxXQUFXLGlCQWxCaEIsb0JBQW9CO1lBQ3BCLDhCQUE4QjtZQUM5QixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLGdDQUFnQztZQUNoQyw0QkFBNEIsYUFuQjVCLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osYUFBYSxhQVdiLG9CQUFvQjtZQUNwQiw4QkFBOEI7WUFDOUIscUJBQXFCO1lBQ3JCLDRCQUE0QjtZQUM1QixnQ0FBZ0M7d0dBTTNCLFdBQVcsWUFoQ2hCLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osYUFBYTs7MkZBcUJSLFdBQVc7a0JBbEN2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osYUFBYTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLG9CQUFvQjt3QkFDcEIsOEJBQThCO3dCQUM5QixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyw0QkFBNEI7cUJBQy9CO29CQUNELE9BQU8sRUFBRTt3QkFDTCxvQkFBb0I7d0JBQ3BCLDhCQUE4Qjt3QkFDOUIscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLGdDQUFnQztxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFO29CQUNYLHVFQUF1RTtxQkFDdEU7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BvcnRhbE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZFwiO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0TGlzdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQge01hdFByb2dyZXNzU3Bpbm5lck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQge01hdFRhYnNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7QnJvd3NlckFuaW1hdGlvbnNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tcG9uZW50c01vZHVsZX0gZnJvbSAnLi4vY29tcG9uZW50cy9leHBvcnRzJztcbmltcG9ydCB7RGlyZWN0aXZlc01vZHVsZX0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XG5pbXBvcnQge0Fic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtMaXN0UGxhY2VOYXZDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9saXN0LXBsYWNlLW5hdi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQnO1xuaW1wb3J0IHtOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQnO1xuaW1wb3J0IHtQbGFjZU91dGxldENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7U2lkZVBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZGUtcGxhY2UtbmF2aWdhdGlvbi9zaWRlLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7VGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgICAgIENvbXBvbmVudHNNb2R1bGUsXG4gICAgICAgIFBvcnRhbE1vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBsYWNlT3V0bGV0Q29tcG9uZW50LFxuICAgICAgICBUYWJiZWRQbGFjZU5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgICAgIExpc3RQbGFjZU5hdkNvbXBvbmVudCxcbiAgICAgICAgU2lkZVBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgICAgIE5vdEF1dGhvcmlzZWROb3RpY2VDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUGxhY2VPdXRsZXRDb21wb25lbnQsXG4gICAgICAgIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgTGlzdFBsYWNlTmF2Q29tcG9uZW50LFxuICAgICAgICBTaWRlUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50LFxuICAgICAgICBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgLy8ge3Byb3ZpZGU6IEFVUF9QTEFDRV9DT05GSUcsIHVzZVZhbHVlOiB7YW5pbWF0aW9uRHVyYXRpb246IFwiMjAwMG1zXCJ9fVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VNb2R1bGUge1xuXG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isNaN as _isNaN, isNumber } from 'lodash';
|
|
1
|
+
import { isNaN as _isNaN, isNumber } from 'lodash-es';
|
|
2
2
|
export var Formatter;
|
|
3
3
|
(function (Formatter) {
|
|
4
4
|
class StringType {
|
|
@@ -30,4 +30,4 @@ export var Formatter;
|
|
|
30
30
|
Formatter.NUMBER = new NumberType();
|
|
31
31
|
Formatter.BOOLEAN = new BooleanType();
|
|
32
32
|
})(Formatter || (Formatter = {}));
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2Uvcm91dGUvZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLElBQUksTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQVFwRCxNQUFNLEtBQVcsU0FBUyxDQW9DekI7QUFwQ0QsV0FBaUIsU0FBUztJQUV4QixNQUFNLFVBQVU7UUFDZCxNQUFNLENBQUMsS0FBYTtZQUNsQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxLQUFLLENBQUMsS0FBYTtZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FDRjtJQUVELE1BQU0sVUFBVTtRQUNkLE1BQU0sQ0FBQyxLQUFhO1lBQ2xCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUQsQ0FBQztRQUVELEtBQUssQ0FBQyxLQUFhO1lBQ2pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3hDLENBQUM7S0FDRjtJQUVELE1BQU0sV0FBVztRQUNmLE1BQU0sQ0FBQyxLQUFjO1lBQ25CLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxDQUFDO1FBRUQsS0FBSyxDQUFDLEtBQWE7WUFDakIsT0FBTyxLQUFLLEtBQUssTUFBTSxDQUFDO1FBQzFCLENBQUM7S0FDRjtJQUVZLGdCQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUMxQixnQkFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7SUFDMUIsaUJBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBQzNDLENBQUMsRUFwQ2dCLFNBQVMsS0FBVCxTQUFTLFFBb0N6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNOYU4gYXMgX2lzTmFOLCBpc051bWJlcn0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtYXR0ZXI8VD4ge1xuICBmb3JtYXQodmFsdWU6IFQpOiBzdHJpbmc7XG5cbiAgcGFyc2UodmFsdWU6IHN0cmluZyk6IFQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRm9ybWF0dGVyIHtcblxuICBjbGFzcyBTdHJpbmdUeXBlIGltcGxlbWVudHMgRm9ybWF0dGVyPHN0cmluZz4ge1xuICAgIGZvcm1hdCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwYXJzZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBjbGFzcyBOdW1iZXJUeXBlIGltcGxlbWVudHMgRm9ybWF0dGVyPG51bWJlcj4ge1xuICAgIGZvcm1hdCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBpc051bWJlcih2YWx1ZSkgJiYgIWlzTmFOKHZhbHVlKSA/IGAke3ZhbHVlfWAgOiBudWxsO1xuICAgIH1cblxuICAgIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgY29uc3QgcGFyc2VkID0gTnVtYmVyLnBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgcmV0dXJuIF9pc05hTihwYXJzZWQpID8gbnVsbCA6IHBhcnNlZDtcbiAgICB9XG4gIH1cblxuICBjbGFzcyBCb29sZWFuVHlwZSBpbXBsZW1lbnRzIEZvcm1hdHRlcjxib29sZWFuPiB7XG4gICAgZm9ybWF0KHZhbHVlOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgfVxuXG4gICAgcGFyc2UodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IFNUUklORyA9IG5ldyBTdHJpbmdUeXBlKCk7XG4gIGV4cG9ydCBjb25zdCBOVU1CRVIgPSBuZXcgTnVtYmVyVHlwZSgpO1xuICBleHBvcnQgY29uc3QgQk9PTEVBTiA9IG5ldyBCb29sZWFuVHlwZSgpO1xufVxuIl19
|
|
@@ -1,70 +1,74 @@
|
|
|
1
|
-
import { Binding, DebugContext, Functions } from '@coolon/pectin';
|
|
2
1
|
import { Klass, Opts } from '@coolon/typescript-utilities';
|
|
3
2
|
import { ROUTE_PARAMETER_LIST_KEY } from '../place-component';
|
|
4
3
|
import { ParameterDefinition } from './parameter-definition';
|
|
5
|
-
function installMechanics(parameterDef
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
4
|
+
// function installMechanics<M extends HasValue<any>>(parameterDef: ParameterDefinition<any>, prototype: object, propertyKey: string | symbol, tagPrefix: string) {
|
|
5
|
+
//
|
|
6
|
+
// Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
7
|
+
//
|
|
8
|
+
// function getMechanics(instance: M, propertyName: string | symbol) {
|
|
9
|
+
// const key = `__mechanics_${propertyName.toString()}`;
|
|
10
|
+
// if (!instance[key]) {
|
|
11
|
+
// const backingModel = parameterDef.createBackingModel();
|
|
12
|
+
// instance[key] = {
|
|
13
|
+
// backingModel: backingModel,
|
|
14
|
+
// binding: null as Binding<any, any>
|
|
15
|
+
// };
|
|
16
|
+
// const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
|
|
17
|
+
// DebugContext.getOrCreate(instance[key].backingModel).tag(tag);
|
|
18
|
+
// }
|
|
19
|
+
// return instance[key];
|
|
20
|
+
// }
|
|
21
|
+
//
|
|
22
|
+
// Object.defineProperty(prototype, propertyKey, {
|
|
23
|
+
// get: function() {
|
|
24
|
+
// return getMechanics(this, propertyKey).backingModel;
|
|
25
|
+
// },
|
|
26
|
+
// set: function(userModel: M) {
|
|
27
|
+
// const mechanics = getMechanics(this, propertyKey);
|
|
28
|
+
// // This handles the scenario where we want to push an existing value model (such as a form model)
|
|
29
|
+
// // to and from the route.
|
|
30
|
+
// if (mechanics.binding) {
|
|
31
|
+
// mechanics.binding.dispose();
|
|
32
|
+
// }
|
|
33
|
+
// if (userModel) {
|
|
34
|
+
// mechanics.binding = new Binding(mechanics.backingModel, userModel, {
|
|
35
|
+
// toLeft: Functions.identity,
|
|
36
|
+
// toRight: Functions.identity
|
|
37
|
+
// });
|
|
38
|
+
// if (parameterDef.isEmptyValue(userModel.value)) {
|
|
39
|
+
// // console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});
|
|
40
|
+
// mechanics.binding.writeRight(); // push the visit into the user model;
|
|
41
|
+
// } else {
|
|
42
|
+
// if (!parameterDef.isEmptyValue(mechanics.backingModel.value)) {
|
|
43
|
+
// console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');
|
|
44
|
+
// }
|
|
45
|
+
// mechanics.binding.writeLeft(); // push the user model into the visit
|
|
46
|
+
// }
|
|
47
|
+
// }
|
|
48
|
+
// }
|
|
49
|
+
// });
|
|
50
|
+
// }
|
|
50
51
|
export function RouteId(formatter, options) {
|
|
51
52
|
return (prototype, propertyKey) => {
|
|
52
53
|
const parameterDef = new ParameterDefinition.RouteId(propertyKey.toString(), options, formatter);
|
|
53
|
-
installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
|
|
54
|
+
// installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
|
|
55
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
54
56
|
};
|
|
55
57
|
}
|
|
56
58
|
export function VisitParameter(options) {
|
|
57
59
|
const opts = Opts.get(options);
|
|
58
60
|
return (prototype, propertyKey) => {
|
|
59
61
|
const parameterDef = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
60
|
-
|
|
62
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
63
|
+
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
|
|
61
64
|
};
|
|
62
65
|
}
|
|
63
66
|
export function VisitParameterList(options) {
|
|
64
67
|
const opts = Opts.get(options);
|
|
65
68
|
return (prototype, propertyKey) => {
|
|
66
69
|
const parameterDef = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
|
|
67
|
-
|
|
70
|
+
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
|
|
71
|
+
// installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
|
|
68
72
|
};
|
|
69
73
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXpELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBK0IzRCxtS0FBbUs7QUFDbkssRUFBRTtBQUNGLHVGQUF1RjtBQUN2RixFQUFFO0FBQ0Ysd0VBQXdFO0FBQ3hFLDREQUE0RDtBQUM1RCw0QkFBNEI7QUFDNUIsZ0VBQWdFO0FBQ2hFLDBCQUEwQjtBQUMxQixzQ0FBc0M7QUFDdEMsNkNBQTZDO0FBQzdDLFdBQVc7QUFDWCw2RkFBNkY7QUFDN0YsdUVBQXVFO0FBQ3ZFLFFBQVE7QUFDUiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsd0JBQXdCO0FBQ3hCLDZEQUE2RDtBQUM3RCxTQUFTO0FBQ1Qsb0NBQW9DO0FBQ3BDLDJEQUEyRDtBQUMzRCwwR0FBMEc7QUFDMUcsa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyx1Q0FBdUM7QUFDdkMsVUFBVTtBQUNWLHlCQUF5QjtBQUN6QiwrRUFBK0U7QUFDL0Usd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxjQUFjO0FBQ2QsNERBQTREO0FBQzVELHFHQUFxRztBQUNyRyxtRkFBbUY7QUFDbkYsbUJBQW1CO0FBQ25CLDRFQUE0RTtBQUM1RSwrSkFBK0o7QUFDL0osY0FBYztBQUNkLGlGQUFpRjtBQUNqRixZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixRQUFRO0FBQ1IsSUFBSTtBQUVKLE1BQU0sVUFBVSxPQUFPLENBQTRCLFNBQXVCLEVBQUUsT0FBMkI7SUFDckcsT0FBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFO1FBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakcsc0VBQXNFO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUksT0FBa0M7SUFDbEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsNkVBQTZFO0lBQy9FLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksT0FBc0M7SUFDMUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsaUZBQWlGO0lBQ25GLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCaW5kaW5nLCBDYW5Qcm94eSxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRnVuY3Rpb25zLFxuICBIYXNWYWx1ZSxcbiAgbGFuZyxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFByb3hpZnksIFByb3hpZnlNZWNoYW5pY3MsIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtLbGFzcywgT3B0c30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge2lzTmlsfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge1JPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWX0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWF0dGVyfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5pbXBvcnQge1BhcmFtZXRlckRlZmluaXRpb259IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuaW1wb3J0IHtQYXJhbWV0ZXJTYW5pdGlzZXJ9IGZyb20gJy4vcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZUlkT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVDtcbiAgc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlUGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVDtcbiAgc3RvcmVJblVybD86IEZvcm1hdHRlcjxUPlxuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXI8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVMaXN0UGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVFtdO1xuICBzdG9yZUluVXJsPzogRm9ybWF0dGVyPFQ+XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFRbXT4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFRbXT47XG59XG5cblxuLy8gZnVuY3Rpb24gaW5zdGFsbE1lY2hhbmljczxNIGV4dGVuZHMgSGFzVmFsdWU8YW55Pj4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT4sIHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sLCB0YWdQcmVmaXg6IHN0cmluZykge1xuLy9cbi8vICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbWV0ZXJEZWYpO1xuLy9cbi8vICAgZnVuY3Rpb24gZ2V0TWVjaGFuaWNzKGluc3RhbmNlOiBNLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHN5bWJvbCkge1xuLy8gICAgIGNvbnN0IGtleSA9IGBfX21lY2hhbmljc18ke3Byb3BlcnR5TmFtZS50b1N0cmluZygpfWA7XG4vLyAgICAgaWYgKCFpbnN0YW5jZVtrZXldKSB7XG4vLyAgICAgICBjb25zdCBiYWNraW5nTW9kZWwgPSBwYXJhbWV0ZXJEZWYuY3JlYXRlQmFja2luZ01vZGVsKCk7XG4vLyAgICAgICBpbnN0YW5jZVtrZXldID0ge1xuLy8gICAgICAgICBiYWNraW5nTW9kZWw6IGJhY2tpbmdNb2RlbCxcbi8vICAgICAgICAgYmluZGluZzogbnVsbCBhcyBCaW5kaW5nPGFueSwgYW55PlxuLy8gICAgICAgfTtcbi8vICAgICAgIGNvbnN0IHRhZyA9IGAke3RhZ1ByZWZpeH0oJHtwcm90b3R5cGUuY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleS50b1N0cmluZygpfSlgO1xuLy8gICAgICAgRGVidWdDb250ZXh0LmdldE9yQ3JlYXRlKGluc3RhbmNlW2tleV0uYmFja2luZ01vZGVsKS50YWcodGFnKTtcbi8vICAgICB9XG4vLyAgICAgcmV0dXJuIGluc3RhbmNlW2tleV07XG4vLyAgIH1cbi8vXG4vLyAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90b3R5cGUsIHByb3BlcnR5S2V5LCB7XG4vLyAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbi8vICAgICAgIHJldHVybiBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpLmJhY2tpbmdNb2RlbDtcbi8vICAgICB9LFxuLy8gICAgIHNldDogZnVuY3Rpb24odXNlck1vZGVsOiBNKSB7XG4vLyAgICAgICBjb25zdCBtZWNoYW5pY3MgPSBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpO1xuLy8gICAgICAgLy8gVGhpcyBoYW5kbGVzIHRoZSBzY2VuYXJpbyB3aGVyZSB3ZSB3YW50IHRvIHB1c2ggYW4gZXhpc3RpbmcgdmFsdWUgbW9kZWwgKHN1Y2ggYXMgYSBmb3JtIG1vZGVsKVxuLy8gICAgICAgLy8gdG8gYW5kIGZyb20gdGhlIHJvdXRlLlxuLy8gICAgICAgaWYgKG1lY2hhbmljcy5iaW5kaW5nKSB7XG4vLyAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLmRpc3Bvc2UoKTtcbi8vICAgICAgIH1cbi8vICAgICAgIGlmICh1c2VyTW9kZWwpIHtcbi8vICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcgPSBuZXcgQmluZGluZyhtZWNoYW5pY3MuYmFja2luZ01vZGVsLCB1c2VyTW9kZWwsIHtcbi8vICAgICAgICAgICB0b0xlZnQ6IEZ1bmN0aW9ucy5pZGVudGl0eSxcbi8vICAgICAgICAgICB0b1JpZ2h0OiBGdW5jdGlvbnMuaWRlbnRpdHlcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICAgIGlmIChwYXJhbWV0ZXJEZWYuaXNFbXB0eVZhbHVlKHVzZXJNb2RlbC52YWx1ZSkpIHtcbi8vICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgUHVzaCB2aXNpdCB0byBtb2RlbCBmb3IgJHt0YWd9YCwge3ZhbHVlOiBtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlfSk7XG4vLyAgICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcud3JpdGVSaWdodCgpOyAvLyBwdXNoIHRoZSB2aXNpdCBpbnRvIHRoZSB1c2VyIG1vZGVsO1xuLy8gICAgICAgICB9IGVsc2Uge1xuLy8gICAgICAgICAgIGlmICghcGFyYW1ldGVyRGVmLmlzRW1wdHlWYWx1ZShtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlKSkge1xuLy8gICAgICAgICAgICAgY29uc29sZS53YXJuKCdBc3NpZ25pbmcgYSB2aXNpdCBtb2RlbCB3aXRoIGFuIGV4aXN0aW5nIHZhbHVlIHRvIGEgdmlzaXQgcGFyYW1ldGVyIHdpdGggYW4gZXhpc3RpbmcgdmFsdWUuICBWaXNpdCBwYXJhbWV0ZXIgd2lsbCBiZSBvdmVycmlkZGVuJyk7XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLndyaXRlTGVmdCgpOyAvLyBwdXNoIHRoZSB1c2VyIG1vZGVsIGludG8gdGhlIHZpc2l0XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH0pO1xuLy8gfVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVJZDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyPihmb3JtYXR0ZXI6IEZvcm1hdHRlcjxUPiwgb3B0aW9ucz86IFJvdXRlSWRPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVmID0gbmV3IFBhcmFtZXRlckRlZmluaXRpb24uUm91dGVJZChwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBmb3JtYXR0ZXIpO1xuICAgIC8vIGluc3RhbGxNZWNoYW5pY3MocGFyYW1ldGVyRGVmLCBwcm90b3R5cGUsIHByb3BlcnR5S2V5LCAnQFJvdXRlSWQnKTtcbiAgICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtZXRlckRlZik7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXNpdFBhcmFtZXRlcjxUPihvcHRpb25zPzogUm91dGVQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlcicpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVmlzaXRQYXJhbWV0ZXJMaXN0PEU+KG9wdGlvbnM/OiBSb3V0ZUxpc3RQYXJhbWV0ZXJPcHRpb25zPEU+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlckxpc3QnKTtcbiAgfTtcbn1cbiJdfQ==
|