aril 0.0.40 → 0.0.41
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/README.md +48 -48
- package/esm2022/boot/index.mjs +1 -1
- package/esm2022/boot/mfe/index.mjs +1 -1
- package/esm2022/boot/mfe/src/app.component.mjs +13 -13
- package/esm2022/http/lib/interfaces.mjs +1 -1
- package/esm2022/http/src/httpClient.mjs +1 -1
- package/esm2022/http/src/serviceBase.mjs +3 -4
- package/esm2022/http/src/serviceRequest.mjs +15 -20
- package/esm2022/http/src/serviceStateMethods.mjs +1 -1
- package/esm2022/i18n/index.mjs +1 -1
- package/esm2022/i18n/src/folder-name-token.mjs +1 -1
- package/esm2022/i18n/src/i18n.module.mjs +1 -1
- package/esm2022/i18n/src/loader.mjs +1 -1
- package/esm2022/i18n/src/provideI18n.mjs +1 -1
- package/esm2022/i18n/src/provideScope.mjs +1 -1
- package/esm2022/keycloak/index.mjs +1 -1
- package/esm2022/keycloak/src/auth.guard.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/theme/index.mjs +1 -1
- package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +3 -3
- package/esm2022/theme/layout/app/config/app.config.component.mjs +3 -3
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +3 -3
- package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +21 -21
- package/esm2022/theme/layout/app/menu/app.menu.component.mjs +139 -139
- package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +1 -1
- package/esm2022/theme/layout/index.mjs +1 -1
- package/esm2022/theme/layout/service/menuchangeevent.mjs +1 -1
- package/esm2022/ui/badge/index.mjs +1 -1
- package/esm2022/ui/badge/src/badge.component.mjs +3 -3
- package/esm2022/ui/button/index.mjs +1 -1
- package/esm2022/ui/button/src/button.component.mjs +7 -3
- package/esm2022/ui/button/src/split-button.component.mjs +3 -3
- package/esm2022/ui/calendar/index.mjs +1 -1
- package/esm2022/ui/checkbox/index.mjs +1 -1
- package/esm2022/ui/checkbox/src/check-box.component.mjs +3 -3
- package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +3 -3
- package/esm2022/ui/dxField/index.mjs +1 -1
- package/esm2022/ui/dxField/src/dx-field.component.mjs +3 -3
- package/esm2022/ui/field/index.mjs +1 -1
- package/esm2022/ui/field/src/field.component.mjs +3 -3
- package/esm2022/ui/fileUpload/index.mjs +1 -1
- package/esm2022/ui/fileUpload/src/file-upload.component.mjs +3 -3
- package/esm2022/ui/form/index.mjs +1 -1
- package/esm2022/ui/form/src/form-submit-button.component.mjs +3 -3
- package/esm2022/ui/form/src/form.component.mjs +1 -1
- package/esm2022/ui/index.mjs +1 -1
- package/esm2022/ui/lib/index.mjs +1 -1
- package/esm2022/ui/lib/src/form/form-error-message.component.mjs +9 -9
- package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +1 -1
- package/esm2022/ui/lib/src/form/form-field-builder.mjs +1 -1
- package/esm2022/ui/lib/src/form/form-validation.mjs +1 -1
- package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +1 -1
- package/esm2022/ui/lib/src/input/baseInput.mjs +1 -1
- package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +1 -1
- package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +1 -1
- package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +1 -1
- package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +1 -1
- package/esm2022/ui/lib/src/input/input-transforms.mjs +1 -1
- package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +1 -1
- package/esm2022/ui/mask/index.mjs +1 -1
- package/esm2022/ui/mask/src/mask.component.mjs +3 -3
- package/esm2022/ui/number/index.mjs +1 -1
- package/esm2022/ui/number/src/number.component.mjs +3 -3
- package/esm2022/ui/overlayPanel/index.mjs +1 -1
- package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +3 -3
- package/esm2022/ui/panel/index.mjs +1 -1
- package/esm2022/ui/panel/src/panel.component.mjs +3 -3
- package/esm2022/ui/password/index.mjs +1 -1
- package/esm2022/ui/password/src/password.component.mjs +3 -3
- package/esm2022/ui/radioButton/index.mjs +1 -1
- package/esm2022/ui/radioButton/src/radio-button.component.mjs +3 -3
- package/esm2022/ui/selectBox/index.mjs +1 -1
- package/esm2022/ui/switch/index.mjs +1 -1
- package/esm2022/ui/switch/src/switch.component.mjs +3 -3
- package/esm2022/ui/table/index.mjs +1 -1
- package/esm2022/ui/table/src/i18n.mjs +1 -1
- package/esm2022/ui/table/src/table-column.component.mjs +1 -1
- package/esm2022/ui/table/src/table.component.mjs +6 -3
- package/esm2022/ui/tagBox/index.mjs +1 -1
- package/esm2022/ui/tagBox/src/tag-box.component.mjs +3 -3
- package/esm2022/ui/text/index.mjs +1 -1
- package/esm2022/ui/text/src/text.component.mjs +3 -3
- package/esm2022/ui/textArea/index.mjs +1 -1
- package/esm2022/ui/textArea/src/text-area.component.mjs +3 -3
- package/esm2022/ui/tree/index.mjs +1 -1
- package/esm2022/ui/tree/src/tree.component.mjs +3 -3
- package/esm2022/ui/treeTable/index.mjs +1 -1
- package/esm2022/ui/treeTable/src/tree-table.component.mjs +3 -3
- package/esm2022/ui/value/index.mjs +1 -1
- package/esm2022/ui/value/src/value.component.mjs +3 -3
- package/esm2022/util/block/index.mjs +1 -1
- package/esm2022/util/custom_pages/index.mjs +1 -1
- package/esm2022/util/index.mjs +1 -1
- package/esm2022/util/init-event/index.mjs +1 -1
- package/esm2022/util/init-event/src/init-event.directive.mjs +1 -1
- package/esm2022/util/lib/index.mjs +1 -1
- package/esm2022/util/lib/src/interfaces.mjs +1 -1
- package/esm2022/util/lib/src/module-router.mjs +1 -1
- package/esm2022/util/lib/src/types.mjs +1 -1
- package/esm2022/util/loaders/index.mjs +1 -1
- package/esm2022/util/loaders/script/script.loader.service.mjs +1 -1
- package/esm2022/util/loaders/style/style.loader.service.mjs +1 -1
- package/esm2022/util/primitive-extensions/index.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/date.extensions.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/number.extensions.mjs +1 -1
- package/esm2022/util/primitive-extensions/src/string.extensions.mjs +1 -1
- package/esm2022/util/pub-sub/index.mjs +1 -1
- package/esm2022/util/pub-sub/src/pub-sub.service.mjs +1 -1
- package/fesm2022/{aril-app.component-c363Er6g.mjs → aril-app.component-dMGRlhy4.mjs} +13 -13
- package/fesm2022/aril-app.component-dMGRlhy4.mjs.map +1 -0
- package/fesm2022/{aril-boot-mfe-app.component-bXQ4mR78.mjs → aril-boot-mfe-app.component-_P7YKrLM.mjs} +14 -14
- package/fesm2022/aril-boot-mfe-app.component-_P7YKrLM.mjs.map +1 -0
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-DzhjEStq.mjs → aril-boot-mfe-aril-boot-mfe-5xVfZEyl.mjs} +2 -2
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-DzhjEStq.mjs.map → aril-boot-mfe-aril-boot-mfe-5xVfZEyl.mjs.map} +1 -1
- package/fesm2022/aril-boot-mfe.mjs +1 -1
- package/fesm2022/aril-boot.mjs.map +1 -1
- package/fesm2022/aril-http.mjs +16 -22
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-i18n.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +164 -164
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-theme.mjs.map +1 -1
- package/fesm2022/aril-ui-badge.mjs +2 -2
- package/fesm2022/aril-ui-badge.mjs.map +1 -1
- package/fesm2022/aril-ui-button.mjs +8 -4
- package/fesm2022/aril-ui-button.mjs.map +1 -1
- package/fesm2022/aril-ui-checkbox.mjs +4 -4
- package/fesm2022/aril-ui-checkbox.mjs.map +1 -1
- package/fesm2022/aril-ui-dxField.mjs +2 -2
- package/fesm2022/aril-ui-dxField.mjs.map +1 -1
- package/fesm2022/aril-ui-field.mjs +2 -2
- package/fesm2022/aril-ui-field.mjs.map +1 -1
- package/fesm2022/aril-ui-fileUpload.mjs +2 -2
- package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
- package/fesm2022/aril-ui-form.mjs +2 -2
- package/fesm2022/aril-ui-form.mjs.map +1 -1
- package/fesm2022/aril-ui-lib.mjs +8 -8
- package/fesm2022/aril-ui-lib.mjs.map +1 -1
- package/fesm2022/aril-ui-mask.mjs +2 -2
- package/fesm2022/aril-ui-mask.mjs.map +1 -1
- package/fesm2022/aril-ui-number.mjs +2 -2
- package/fesm2022/aril-ui-number.mjs.map +1 -1
- package/fesm2022/aril-ui-overlayPanel.mjs +2 -2
- package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -1
- package/fesm2022/aril-ui-panel.mjs +2 -2
- package/fesm2022/aril-ui-panel.mjs.map +1 -1
- package/fesm2022/aril-ui-password.mjs +2 -2
- package/fesm2022/aril-ui-password.mjs.map +1 -1
- package/fesm2022/aril-ui-radioButton.mjs +2 -2
- package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
- package/fesm2022/aril-ui-switch.mjs +2 -2
- package/fesm2022/aril-ui-switch.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +5 -2
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-tagBox.mjs +2 -2
- package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
- package/fesm2022/aril-ui-text.mjs +2 -2
- package/fesm2022/aril-ui-text.mjs.map +1 -1
- package/fesm2022/aril-ui-textArea.mjs +2 -2
- package/fesm2022/aril-ui-textArea.mjs.map +1 -1
- package/fesm2022/aril-ui-tree.mjs +2 -2
- package/fesm2022/aril-ui-tree.mjs.map +1 -1
- package/fesm2022/aril-ui-treeTable.mjs +2 -2
- package/fesm2022/aril-ui-treeTable.mjs.map +1 -1
- package/fesm2022/aril-ui-value.mjs +2 -2
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/fesm2022/aril-ui.mjs.map +1 -1
- package/fesm2022/aril-util-init-event.mjs.map +1 -1
- package/fesm2022/aril-util-lib.mjs.map +1 -1
- package/fesm2022/aril-util-loaders.mjs.map +1 -1
- package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -1
- package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
- package/fesm2022/aril-util.mjs.map +1 -1
- package/fesm2022/aril.mjs +1 -1
- package/http/src/serviceRequest.d.ts +1 -1
- package/package.json +31 -31
- package/styles/ui/ui.common.scss +24 -24
- package/theme/index.ts +1 -1
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +10 -10
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +50 -50
- package/theme/layout/app/config/app.config.component.html +142 -142
- package/theme/layout/app/config/app.config.component.ts +143 -143
- package/theme/layout/app/layout/app.layout.component.html +19 -19
- package/theme/layout/app/layout/app.layout.component.ts +170 -170
- package/theme/layout/app/layout/mfe.layout.component.ts +49 -49
- package/theme/layout/app/menu/app.menu.component.html +9 -9
- package/theme/layout/app/menu/app.menu.component.ts +356 -356
- package/theme/layout/app/menu/app.sub.menu.component.html +13 -13
- package/theme/layout/app/sidebar/app.sidebar.component.ts +44 -44
- package/theme/layout/index.ts +3 -3
- package/theme/layout/ng-package.json +6 -6
- package/theme/layout/service/menuchangeevent.ts +4 -4
- package/theme/ng-package.json +6 -6
- package/theme/styles/layout/_animation.scss +53 -53
- package/theme/styles/layout/_breadcrumb.scss +21 -21
- package/theme/styles/layout/_config.scss +42 -42
- package/theme/styles/layout/_content.scss +3 -3
- package/theme/styles/layout/_fonts.scss +40 -40
- package/theme/styles/layout/_layout_dark.scss +5 -5
- package/theme/styles/layout/_layout_dim.scss +5 -5
- package/theme/styles/layout/_layout_light.scss +5 -5
- package/theme/styles/layout/_main.scss +28 -28
- package/theme/styles/layout/_profile.scss +10 -10
- package/theme/styles/layout/_responsive.scss +111 -111
- package/theme/styles/layout/_sidebar_drawer.scss +234 -234
- package/theme/styles/layout/_sidebar_horizontal.scss +163 -163
- package/theme/styles/layout/_sidebar_reveal.scss +201 -201
- package/theme/styles/layout/_sidebar_slim.scss +144 -144
- package/theme/styles/layout/_sidebar_slim_plus.scss +162 -162
- package/theme/styles/layout/_sidebar_vertical.scss +153 -153
- package/theme/styles/layout/_typography.scss +68 -68
- package/theme/styles/layout/_utils.scss +24 -24
- package/theme/styles/layout/layout.scss +24 -24
- package/theme/styles/layout/menutheme/_colorscheme.scss +11 -11
- package/theme/styles/layout/menutheme/_menutheme.scss +3 -3
- package/theme/styles/layout/menutheme/_primarycolor.scss +16 -16
- package/theme/styles/layout/menutheme/_transparent.scss +26 -26
- package/theme/styles/layout/preloading.scss +84 -84
- package/theme/styles/theme/base/_colors.scss +17 -17
- package/theme/styles/theme/base/_common.scss +76 -76
- package/theme/styles/theme/base/_components.scss +106 -106
- package/theme/styles/theme/base/_mixins.scss +337 -337
- package/theme/styles/theme/base/components/button/_button.scss +576 -576
- package/theme/styles/theme/base/components/button/_speeddial.scss +96 -96
- package/theme/styles/theme/base/components/button/_splitbutton.scss +348 -348
- package/theme/styles/theme/base/components/data/_carousel.scss +37 -37
- package/theme/styles/theme/base/components/data/_datatable.scss +338 -338
- package/theme/styles/theme/base/components/data/_dataview.scss +46 -46
- package/theme/styles/theme/base/components/data/_filter.scss +137 -137
- package/theme/styles/theme/base/components/data/_orderlist.scss +114 -114
- package/theme/styles/theme/base/components/data/_organizationchart.scss +50 -50
- package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
- package/theme/styles/theme/base/components/data/_picklist.scss +114 -114
- package/theme/styles/theme/base/components/data/_timeline.scss +35 -35
- package/theme/styles/theme/base/components/data/_tree.scss +150 -150
- package/theme/styles/theme/base/components/data/_treetable.scss +255 -255
- package/theme/styles/theme/base/components/data/_virtualscroller.scss +28 -28
- package/theme/styles/theme/base/components/file/_fileupload.scss +64 -64
- package/theme/styles/theme/base/components/input/_autocomplete.scss +136 -136
- package/theme/styles/theme/base/components/input/_calendar.scss +267 -267
- package/theme/styles/theme/base/components/input/_cascadeselect.scss +135 -135
- package/theme/styles/theme/base/components/input/_checkbox.scss +94 -94
- package/theme/styles/theme/base/components/input/_chips.scss +65 -65
- package/theme/styles/theme/base/components/input/_colorpicker.scss +19 -19
- package/theme/styles/theme/base/components/input/_dropdown.scss +151 -151
- package/theme/styles/theme/base/components/input/_editor.scss +122 -122
- package/theme/styles/theme/base/components/input/_inputgroup.scss +75 -75
- package/theme/styles/theme/base/components/input/_inputmask.scss +16 -16
- package/theme/styles/theme/base/components/input/_inputnumber.scss +28 -28
- package/theme/styles/theme/base/components/input/_inputswitch.scss +60 -60
- package/theme/styles/theme/base/components/input/_inputtext.scss +100 -100
- package/theme/styles/theme/base/components/input/_listbox.scss +97 -97
- package/theme/styles/theme/base/components/input/_multiselect.scss +177 -177
- package/theme/styles/theme/base/components/input/_password.scss +52 -52
- package/theme/styles/theme/base/components/input/_radiobutton.scss +78 -78
- package/theme/styles/theme/base/components/input/_rating.scss +60 -60
- package/theme/styles/theme/base/components/input/_selectbutton.scss +50 -50
- package/theme/styles/theme/base/components/input/_slider.scss +75 -75
- package/theme/styles/theme/base/components/input/_togglebutton.scss +48 -48
- package/theme/styles/theme/base/components/input/_treeselect.scss +139 -139
- package/theme/styles/theme/base/components/menu/_breadcrumb.scss +42 -42
- package/theme/styles/theme/base/components/menu/_contextmenu.scss +39 -39
- package/theme/styles/theme/base/components/menu/_dock.scss +95 -95
- package/theme/styles/theme/base/components/menu/_megamenu.scss +55 -55
- package/theme/styles/theme/base/components/menu/_menu.scss +37 -37
- package/theme/styles/theme/base/components/menu/_menubar.scss +140 -140
- package/theme/styles/theme/base/components/menu/_panelmenu.scss +153 -153
- package/theme/styles/theme/base/components/menu/_slidemenu.scss +59 -59
- package/theme/styles/theme/base/components/menu/_steps.scss +56 -56
- package/theme/styles/theme/base/components/menu/_tabmenu.scss +73 -73
- package/theme/styles/theme/base/components/menu/_tieredmenu.scss +43 -43
- package/theme/styles/theme/base/components/messages/_inlinemessage.scss +69 -69
- package/theme/styles/theme/base/components/messages/_message.scss +107 -107
- package/theme/styles/theme/base/components/messages/_toast.scss +99 -99
- package/theme/styles/theme/base/components/misc/_avatar.scss +30 -30
- package/theme/styles/theme/base/components/misc/_badge.scss +48 -48
- package/theme/styles/theme/base/components/misc/_chip.scss +42 -42
- package/theme/styles/theme/base/components/misc/_inplace.scss +16 -16
- package/theme/styles/theme/base/components/misc/_progressbar.scss +17 -17
- package/theme/styles/theme/base/components/misc/_scrolltop.scss +25 -25
- package/theme/styles/theme/base/components/misc/_skeleton.scss +8 -8
- package/theme/styles/theme/base/components/misc/_tag.scss +40 -40
- package/theme/styles/theme/base/components/misc/_terminal.scss +12 -12
- package/theme/styles/theme/base/components/multimedia/_galleria.scss +155 -155
- package/theme/styles/theme/base/components/multimedia/_image.scss +49 -49
- package/theme/styles/theme/base/components/overlay/_confirmpopup.scss +70 -70
- package/theme/styles/theme/base/components/overlay/_dialog.scss +69 -69
- package/theme/styles/theme/base/components/overlay/_overlaypanel.scss +62 -62
- package/theme/styles/theme/base/components/overlay/_sidebar.scss +27 -27
- package/theme/styles/theme/base/components/overlay/_tooltip.scss +33 -33
- package/theme/styles/theme/base/components/panel/_accordion.scss +119 -119
- package/theme/styles/theme/base/components/panel/_card.scss +30 -30
- package/theme/styles/theme/base/components/panel/_divider.scss +31 -31
- package/theme/styles/theme/base/components/panel/_fieldset.scss +47 -47
- package/theme/styles/theme/base/components/panel/_panel.scss +63 -63
- package/theme/styles/theme/base/components/panel/_scrollpanel.scss +6 -6
- package/theme/styles/theme/base/components/panel/_splitter.scss +19 -19
- package/theme/styles/theme/base/components/panel/_tabview.scss +82 -82
- package/theme/styles/theme/base/components/panel/_toolbar.scss +11 -11
- package/theme/styles/theme/dark/_extensions.scss +134 -134
- package/theme/styles/theme/dark/_variables.scss +918 -918
- package/theme/styles/theme/dark/blue/theme.scss +14 -14
- package/theme/styles/theme/dark/indigo/theme.scss +14 -14
- package/theme/styles/theme/light/_extensions.scss +116 -116
- package/theme/styles/theme/light/_variables.scss +911 -911
- package/theme/styles/theme/light/blue/theme.scss +14 -14
- package/theme/styles/theme/light/indigo/theme.scss +14 -14
- package/ui/button/src/button.component.d.ts +1 -0
- package/ui/table/src/table.component.d.ts +6 -1
- package/fesm2022/aril-app.component-c363Er6g.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-app.component-bXQ4mR78.mjs.map +0 -1
|
@@ -172,73 +172,73 @@ export class AppMenuItemComponent {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuItemComponent, deps: [{ token: i1.LayoutService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i3.AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppMenuItemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, viewQueries: [{ propertyName: "submenu", first: true, predicate: ["submenu"], descendants: true }], ngImport: i0, template: `
|
|
176
|
-
<ng-container>
|
|
177
|
-
@if (root) {
|
|
178
|
-
<div class="layout-menuitem-root-text">
|
|
179
|
-
{{ item.label }}
|
|
180
|
-
</div>
|
|
181
|
-
}
|
|
182
|
-
@if (item.items?.length) {
|
|
183
|
-
<a
|
|
184
|
-
[attr.href]="item.url"
|
|
185
|
-
(click)="itemClick($event)"
|
|
186
|
-
(mouseenter)="onMouseEnter()"
|
|
187
|
-
[attr.target]="item.target"
|
|
188
|
-
tabindex="0"
|
|
189
|
-
pRipple
|
|
190
|
-
[pTooltip]="item.label"
|
|
191
|
-
[tooltipDisabled]="!(isSlim && root && !active)">
|
|
192
|
-
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
193
|
-
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
194
|
-
@if (item.items) {
|
|
195
|
-
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
196
|
-
}
|
|
197
|
-
</a>
|
|
198
|
-
} @else {
|
|
199
|
-
<a
|
|
200
|
-
(click)="itemClick($event)"
|
|
201
|
-
(mouseenter)="onMouseEnter()"
|
|
202
|
-
[routerLink]="item.routerLink"
|
|
203
|
-
routerLinkActive="active-route"
|
|
204
|
-
[routerLinkActiveOptions]="
|
|
205
|
-
item.routerLinkActiveOptions || {
|
|
206
|
-
paths: 'exact',
|
|
207
|
-
queryParams: 'ignored',
|
|
208
|
-
matrixParams: 'ignored',
|
|
209
|
-
fragment: 'ignored'
|
|
210
|
-
}
|
|
211
|
-
"
|
|
212
|
-
[fragment]="item.fragment"
|
|
213
|
-
[queryParamsHandling]="item.queryParamsHandling"
|
|
214
|
-
[preserveFragment]="item.preserveFragment"
|
|
215
|
-
[skipLocationChange]="item.skipLocationChange"
|
|
216
|
-
[replaceUrl]="item.replaceUrl"
|
|
217
|
-
[state]="item.state"
|
|
218
|
-
[queryParams]="item.queryParams"
|
|
219
|
-
[attr.target]="item.target"
|
|
220
|
-
tabindex="0"
|
|
221
|
-
pRipple
|
|
222
|
-
[pTooltip]="item.label"
|
|
223
|
-
[tooltipDisabled]="!(isSlim && root)">
|
|
224
|
-
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
225
|
-
|
|
226
|
-
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
227
|
-
|
|
228
|
-
@if (item.items) {
|
|
229
|
-
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
230
|
-
}
|
|
231
|
-
</a>
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
@if (item.items) {
|
|
235
|
-
<ul #submenu [@children]="submenuAnimation" (@children.done)="onSubmenuAnimated($event)">
|
|
236
|
-
@for (child of item.items; track child; let i = $index) {
|
|
237
|
-
<li app-menuitem [item]="child" [index]="i" [parentKey]="key"></li>
|
|
238
|
-
}
|
|
239
|
-
</ul>
|
|
240
|
-
}
|
|
241
|
-
</ng-container>
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppMenuItemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, viewQueries: [{ propertyName: "submenu", first: true, predicate: ["submenu"], descendants: true }], ngImport: i0, template: `
|
|
176
|
+
<ng-container>
|
|
177
|
+
@if (root) {
|
|
178
|
+
<div class="layout-menuitem-root-text">
|
|
179
|
+
{{ item.label }}
|
|
180
|
+
</div>
|
|
181
|
+
}
|
|
182
|
+
@if (item.items?.length) {
|
|
183
|
+
<a
|
|
184
|
+
[attr.href]="item.url"
|
|
185
|
+
(click)="itemClick($event)"
|
|
186
|
+
(mouseenter)="onMouseEnter()"
|
|
187
|
+
[attr.target]="item.target"
|
|
188
|
+
tabindex="0"
|
|
189
|
+
pRipple
|
|
190
|
+
[pTooltip]="item.label"
|
|
191
|
+
[tooltipDisabled]="!(isSlim && root && !active)">
|
|
192
|
+
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
193
|
+
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
194
|
+
@if (item.items) {
|
|
195
|
+
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
196
|
+
}
|
|
197
|
+
</a>
|
|
198
|
+
} @else {
|
|
199
|
+
<a
|
|
200
|
+
(click)="itemClick($event)"
|
|
201
|
+
(mouseenter)="onMouseEnter()"
|
|
202
|
+
[routerLink]="item.routerLink"
|
|
203
|
+
routerLinkActive="active-route"
|
|
204
|
+
[routerLinkActiveOptions]="
|
|
205
|
+
item.routerLinkActiveOptions || {
|
|
206
|
+
paths: 'exact',
|
|
207
|
+
queryParams: 'ignored',
|
|
208
|
+
matrixParams: 'ignored',
|
|
209
|
+
fragment: 'ignored'
|
|
210
|
+
}
|
|
211
|
+
"
|
|
212
|
+
[fragment]="item.fragment"
|
|
213
|
+
[queryParamsHandling]="item.queryParamsHandling"
|
|
214
|
+
[preserveFragment]="item.preserveFragment"
|
|
215
|
+
[skipLocationChange]="item.skipLocationChange"
|
|
216
|
+
[replaceUrl]="item.replaceUrl"
|
|
217
|
+
[state]="item.state"
|
|
218
|
+
[queryParams]="item.queryParams"
|
|
219
|
+
[attr.target]="item.target"
|
|
220
|
+
tabindex="0"
|
|
221
|
+
pRipple
|
|
222
|
+
[pTooltip]="item.label"
|
|
223
|
+
[tooltipDisabled]="!(isSlim && root)">
|
|
224
|
+
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
225
|
+
|
|
226
|
+
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
227
|
+
|
|
228
|
+
@if (item.items) {
|
|
229
|
+
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
230
|
+
}
|
|
231
|
+
</a>
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
@if (item.items) {
|
|
235
|
+
<ul #submenu [@children]="submenuAnimation" (@children.done)="onSubmenuAnimated($event)">
|
|
236
|
+
@for (child of item.items; track child; let i = $index) {
|
|
237
|
+
<li app-menuitem [item]="child" [index]="i" [parentKey]="key"></li>
|
|
238
|
+
}
|
|
239
|
+
</ul>
|
|
240
|
+
}
|
|
241
|
+
</ng-container>
|
|
242
242
|
`, isInline: true, dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i5.Ripple, selector: "[pRipple]" }], animations: [
|
|
243
243
|
trigger('children', [
|
|
244
244
|
state('collapsed', style({
|
|
@@ -262,73 +262,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
262
262
|
args: [{
|
|
263
263
|
standalone: true,
|
|
264
264
|
selector: '[app-menuitem]',
|
|
265
|
-
template: `
|
|
266
|
-
<ng-container>
|
|
267
|
-
@if (root) {
|
|
268
|
-
<div class="layout-menuitem-root-text">
|
|
269
|
-
{{ item.label }}
|
|
270
|
-
</div>
|
|
271
|
-
}
|
|
272
|
-
@if (item.items?.length) {
|
|
273
|
-
<a
|
|
274
|
-
[attr.href]="item.url"
|
|
275
|
-
(click)="itemClick($event)"
|
|
276
|
-
(mouseenter)="onMouseEnter()"
|
|
277
|
-
[attr.target]="item.target"
|
|
278
|
-
tabindex="0"
|
|
279
|
-
pRipple
|
|
280
|
-
[pTooltip]="item.label"
|
|
281
|
-
[tooltipDisabled]="!(isSlim && root && !active)">
|
|
282
|
-
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
283
|
-
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
284
|
-
@if (item.items) {
|
|
285
|
-
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
286
|
-
}
|
|
287
|
-
</a>
|
|
288
|
-
} @else {
|
|
289
|
-
<a
|
|
290
|
-
(click)="itemClick($event)"
|
|
291
|
-
(mouseenter)="onMouseEnter()"
|
|
292
|
-
[routerLink]="item.routerLink"
|
|
293
|
-
routerLinkActive="active-route"
|
|
294
|
-
[routerLinkActiveOptions]="
|
|
295
|
-
item.routerLinkActiveOptions || {
|
|
296
|
-
paths: 'exact',
|
|
297
|
-
queryParams: 'ignored',
|
|
298
|
-
matrixParams: 'ignored',
|
|
299
|
-
fragment: 'ignored'
|
|
300
|
-
}
|
|
301
|
-
"
|
|
302
|
-
[fragment]="item.fragment"
|
|
303
|
-
[queryParamsHandling]="item.queryParamsHandling"
|
|
304
|
-
[preserveFragment]="item.preserveFragment"
|
|
305
|
-
[skipLocationChange]="item.skipLocationChange"
|
|
306
|
-
[replaceUrl]="item.replaceUrl"
|
|
307
|
-
[state]="item.state"
|
|
308
|
-
[queryParams]="item.queryParams"
|
|
309
|
-
[attr.target]="item.target"
|
|
310
|
-
tabindex="0"
|
|
311
|
-
pRipple
|
|
312
|
-
[pTooltip]="item.label"
|
|
313
|
-
[tooltipDisabled]="!(isSlim && root)">
|
|
314
|
-
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
315
|
-
|
|
316
|
-
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
317
|
-
|
|
318
|
-
@if (item.items) {
|
|
319
|
-
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
320
|
-
}
|
|
321
|
-
</a>
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
@if (item.items) {
|
|
325
|
-
<ul #submenu [@children]="submenuAnimation" (@children.done)="onSubmenuAnimated($event)">
|
|
326
|
-
@for (child of item.items; track child; let i = $index) {
|
|
327
|
-
<li app-menuitem [item]="child" [index]="i" [parentKey]="key"></li>
|
|
328
|
-
}
|
|
329
|
-
</ul>
|
|
330
|
-
}
|
|
331
|
-
</ng-container>
|
|
265
|
+
template: `
|
|
266
|
+
<ng-container>
|
|
267
|
+
@if (root) {
|
|
268
|
+
<div class="layout-menuitem-root-text">
|
|
269
|
+
{{ item.label }}
|
|
270
|
+
</div>
|
|
271
|
+
}
|
|
272
|
+
@if (item.items?.length) {
|
|
273
|
+
<a
|
|
274
|
+
[attr.href]="item.url"
|
|
275
|
+
(click)="itemClick($event)"
|
|
276
|
+
(mouseenter)="onMouseEnter()"
|
|
277
|
+
[attr.target]="item.target"
|
|
278
|
+
tabindex="0"
|
|
279
|
+
pRipple
|
|
280
|
+
[pTooltip]="item.label"
|
|
281
|
+
[tooltipDisabled]="!(isSlim && root && !active)">
|
|
282
|
+
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
283
|
+
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
284
|
+
@if (item.items) {
|
|
285
|
+
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
286
|
+
}
|
|
287
|
+
</a>
|
|
288
|
+
} @else {
|
|
289
|
+
<a
|
|
290
|
+
(click)="itemClick($event)"
|
|
291
|
+
(mouseenter)="onMouseEnter()"
|
|
292
|
+
[routerLink]="item.routerLink"
|
|
293
|
+
routerLinkActive="active-route"
|
|
294
|
+
[routerLinkActiveOptions]="
|
|
295
|
+
item.routerLinkActiveOptions || {
|
|
296
|
+
paths: 'exact',
|
|
297
|
+
queryParams: 'ignored',
|
|
298
|
+
matrixParams: 'ignored',
|
|
299
|
+
fragment: 'ignored'
|
|
300
|
+
}
|
|
301
|
+
"
|
|
302
|
+
[fragment]="item.fragment"
|
|
303
|
+
[queryParamsHandling]="item.queryParamsHandling"
|
|
304
|
+
[preserveFragment]="item.preserveFragment"
|
|
305
|
+
[skipLocationChange]="item.skipLocationChange"
|
|
306
|
+
[replaceUrl]="item.replaceUrl"
|
|
307
|
+
[state]="item.state"
|
|
308
|
+
[queryParams]="item.queryParams"
|
|
309
|
+
[attr.target]="item.target"
|
|
310
|
+
tabindex="0"
|
|
311
|
+
pRipple
|
|
312
|
+
[pTooltip]="item.label"
|
|
313
|
+
[tooltipDisabled]="!(isSlim && root)">
|
|
314
|
+
<i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
|
|
315
|
+
|
|
316
|
+
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
317
|
+
|
|
318
|
+
@if (item.items) {
|
|
319
|
+
<i class="pi pi-fw pi-angle-down layout-submenu-toggler"></i>
|
|
320
|
+
}
|
|
321
|
+
</a>
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
@if (item.items) {
|
|
325
|
+
<ul #submenu [@children]="submenuAnimation" (@children.done)="onSubmenuAnimated($event)">
|
|
326
|
+
@for (child of item.items; track child; let i = $index) {
|
|
327
|
+
<li app-menuitem [item]="child" [index]="i" [parentKey]="key"></li>
|
|
328
|
+
}
|
|
329
|
+
</ul>
|
|
330
|
+
}
|
|
331
|
+
</ng-container>
|
|
332
332
|
`,
|
|
333
333
|
imports: [NgClass, RouterLink, RouterLinkActive, TooltipModule, RippleModule],
|
|
334
334
|
animations: [
|
|
@@ -372,11 +372,11 @@ export class AppMenuComponent {
|
|
|
372
372
|
this.menuService = inject(AppMenuService);
|
|
373
373
|
}
|
|
374
374
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
375
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppMenuComponent, isStandalone: true, selector: "app-menu", ngImport: i0, template: "<ul class=\"layout-menu flex-wrap\">\
|
|
375
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppMenuComponent, isStandalone: true, selector: "app-menu", ngImport: i0, template: "<ul class=\"layout-menu flex-wrap\">\n\t@for (item of menuService.menuItems(); track $index) {\n\t\t@if (item.separator) {\n\t\t\t<li class=\"menu-separator\"></li>\n\t\t} @else {\n\t\t\t<li app-menuitem [item]=\"item\" [index]=\"$index\" [root]=\"true\"></li>\n\t\t}\n\t}\n</ul>\n", dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }] }); }
|
|
376
376
|
}
|
|
377
377
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppMenuComponent, decorators: [{
|
|
378
378
|
type: Component,
|
|
379
|
-
args: [{ standalone: true, selector: 'app-menu', imports: [AppMenuItemComponent], template: "<ul class=\"layout-menu flex-wrap\">\
|
|
379
|
+
args: [{ standalone: true, selector: 'app-menu', imports: [AppMenuItemComponent], template: "<ul class=\"layout-menu flex-wrap\">\n\t@for (item of menuService.menuItems(); track $index) {\n\t\t@if (item.separator) {\n\t\t\t<li class=\"menu-separator\"></li>\n\t\t} @else {\n\t\t\t<li app-menuitem [item]=\"item\" [index]=\"$index\" [root]=\"true\"></li>\n\t\t}\n\t}\n</ul>\n" }]
|
|
380
380
|
}] });
|
|
381
381
|
export class AppSubMenuComponent {
|
|
382
382
|
constructor() {
|
|
@@ -386,13 +386,13 @@ export class AppSubMenuComponent {
|
|
|
386
386
|
return 'app-sub-menu-' + globalThis.activeMF;
|
|
387
387
|
}
|
|
388
388
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSubMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
389
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppSubMenuComponent, isStandalone: true, selector: "app-sub-menu", host: { properties: { "id": "this.id" } }, ngImport: i0, template: "<div class=\"layout-sidebar\">\
|
|
389
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppSubMenuComponent, isStandalone: true, selector: "app-sub-menu", host: { properties: { "id": "this.id" } }, ngImport: i0, template: "<div class=\"layout-sidebar\">\n\t<div #subMenuContainer class=\"layout-menu-container\">\n\t\t<ul class=\"layout-menu flex-wrap\">\n\t\t\t@for (subItem of menuService.subMenuItems(); track $index) {\n\t\t\t\t@if (subItem.separator) {\n\t\t\t\t\t<li class=\"menu-separator\"></li>\n\t\t\t\t} @else {\n\t\t\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n</div>\n", dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }] }); }
|
|
390
390
|
}
|
|
391
391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSubMenuComponent, decorators: [{
|
|
392
392
|
type: Component,
|
|
393
|
-
args: [{ standalone: true, selector: 'app-sub-menu', imports: [AppMenuItemComponent], template: "<div class=\"layout-sidebar\">\
|
|
393
|
+
args: [{ standalone: true, selector: 'app-sub-menu', imports: [AppMenuItemComponent], template: "<div class=\"layout-sidebar\">\n\t<div #subMenuContainer class=\"layout-menu-container\">\n\t\t<ul class=\"layout-menu flex-wrap\">\n\t\t\t@for (subItem of menuService.subMenuItems(); track $index) {\n\t\t\t\t@if (subItem.separator) {\n\t\t\t\t\t<li class=\"menu-separator\"></li>\n\t\t\t\t} @else {\n\t\t\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n</div>\n" }]
|
|
394
394
|
}], propDecorators: { id: [{
|
|
395
395
|
type: HostBinding,
|
|
396
396
|
args: ['id']
|
|
397
397
|
}] } });
|
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL21lbnUvYXBwLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL21lbnUvYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvbWVudS9hcHAuc3ViLm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFFTixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUF3R2hFLE1BQU0sT0FBTyxvQkFBb0I7SUFtQmhDLFlBQ1EsYUFBNEIsRUFDM0IsRUFBcUIsRUFDdEIsTUFBYyxFQUNiLFdB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QixtQkFBbUI7a0JBTi9CLFNBQVM7aUNBQ0csSUFBSSxZQUNOLGNBQWMsV0FDZixDQUFDLG9CQUFvQixDQUFDOzhCQU1SLEVBQUU7c0JBQXhCLFdBQVc7dUJBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50LCBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdEVsZW1lbnRSZWYsXHJcblx0SG9zdEJpbmRpbmcsXHJcblx0SW5wdXQsXHJcblx0T25EZXN0cm95LFxyXG5cdE9uSW5pdCxcclxuXHRWaWV3Q2hpbGQsXHJcblx0aW5qZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgRG9tSGFuZGxlciB9IGZyb20gJ3ByaW1lbmcvZG9tJztcclxuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLm1lbnUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnW2FwcC1tZW51aXRlbV0nLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHQ8bmctY29udGFpbmVyPlxyXG5cdFx0XHRAaWYgKHJvb3QpIHtcclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtdGV4dFwiPlxyXG5cdFx0XHRcdFx0e3sgaXRlbS5sYWJlbCB9fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHR9XHJcblx0XHRcdEBpZiAoaXRlbS5pdGVtcz8ubGVuZ3RoKSB7XHJcblx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFthdHRyLmhyZWZdPVwiaXRlbS51cmxcIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcclxuXHRcdFx0XHRcdChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcclxuXHRcdFx0XHRcdFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiXHJcblx0XHRcdFx0XHR0YWJpbmRleD1cIjBcIlxyXG5cdFx0XHRcdFx0cFJpcHBsZVxyXG5cdFx0XHRcdFx0W3BUb29sdGlwXT1cIml0ZW0ubGFiZWxcIlxyXG5cdFx0XHRcdFx0W3Rvb2x0aXBEaXNhYmxlZF09XCIhKGlzU2xpbSAmJiByb290ICYmICFhY3RpdmUpXCI+XHJcblx0XHRcdFx0XHQ8aSBbbmdDbGFzc109XCJpdGVtLmljb25cIiBjbGFzcz1cImxheW91dC1tZW51aXRlbS1pY29uXCI+PC9pPlxyXG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcblx0XHRcdFx0XHRAaWYgKGl0ZW0uaXRlbXMpIHtcclxuXHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIj48L2k+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9hPlxyXG5cdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcclxuXHRcdFx0XHRcdChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcclxuXHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXHJcblx0XHRcdFx0XHRyb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlLXJvdXRlXCJcclxuXHRcdFx0XHRcdFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJcclxuXHRcdFx0XHRcdFx0aXRlbS5yb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyB8fCB7XHJcblx0XHRcdFx0XHRcdFx0cGF0aHM6ICdleGFjdCcsXHJcblx0XHRcdFx0XHRcdFx0cXVlcnlQYXJhbXM6ICdpZ25vcmVkJyxcclxuXHRcdFx0XHRcdFx0XHRtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJyxcclxuXHRcdFx0XHRcdFx0XHRmcmFnbWVudDogJ2lnbm9yZWQnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFwiXHJcblx0XHRcdFx0XHRbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXHJcblx0XHRcdFx0XHRbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJpdGVtLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxyXG5cdFx0XHRcdFx0W3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbS5wcmVzZXJ2ZUZyYWdtZW50XCJcclxuXHRcdFx0XHRcdFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbS5za2lwTG9jYXRpb25DaGFuZ2VcIlxyXG5cdFx0XHRcdFx0W3JlcGxhY2VVcmxdPVwiaXRlbS5yZXBsYWNlVXJsXCJcclxuXHRcdFx0XHRcdFtzdGF0ZV09XCJpdGVtLnN0YXRlXCJcclxuXHRcdFx0XHRcdFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcclxuXHRcdFx0XHRcdFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiXHJcblx0XHRcdFx0XHR0YWJpbmRleD1cIjBcIlxyXG5cdFx0XHRcdFx0cFJpcHBsZVxyXG5cdFx0XHRcdFx0W3BUb29sdGlwXT1cIml0ZW0ubGFiZWxcIlxyXG5cdFx0XHRcdFx0W3Rvb2x0aXBEaXNhYmxlZF09XCIhKGlzU2xpbSAmJiByb290KVwiPlxyXG5cdFx0XHRcdFx0PGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cclxuXHJcblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImxheW91dC1tZW51aXRlbS10ZXh0XCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuXHJcblx0XHRcdFx0XHRAaWYgKGl0ZW0uaXRlbXMpIHtcclxuXHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIj48L2k+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9hPlxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaWYgKGl0ZW0uaXRlbXMpIHtcclxuXHRcdFx0XHQ8dWwgI3N1Ym1lbnUgW0BjaGlsZHJlbl09XCJzdWJtZW51QW5pbWF0aW9uXCIgKEBjaGlsZHJlbi5kb25lKT1cIm9uU3VibWVudUFuaW1hdGVkKCRldmVudClcIj5cclxuXHRcdFx0XHRcdEBmb3IgKGNoaWxkIG9mIGl0ZW0uaXRlbXM7IHRyYWNrIGNoaWxkOyBsZXQgaSA9ICRpbmRleCkge1xyXG5cdFx0XHRcdFx0XHQ8bGkgYXBwLW1lbnVpdGVtIFtpdGVtXT1cImNoaWxkXCIgW2luZGV4XT1cImlcIiBbcGFyZW50S2V5XT1cImtleVwiPjwvbGk+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC91bD5cclxuXHRcdFx0fVxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblx0YCxcclxuXHRpbXBvcnRzOiBbTmdDbGFzcywgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgVG9vbHRpcE1vZHVsZSwgUmlwcGxlTW9kdWxlXSxcclxuXHRhbmltYXRpb25zOiBbXHJcblx0XHR0cmlnZ2VyKCdjaGlsZHJlbicsIFtcclxuXHRcdFx0c3RhdGUoXHJcblx0XHRcdFx0J2NvbGxhcHNlZCcsXHJcblx0XHRcdFx0c3R5bGUoe1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMCdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpLFxyXG5cdFx0XHRzdGF0ZShcclxuXHRcdFx0XHQnZXhwYW5kZWQnLFxyXG5cdFx0XHRcdHN0eWxlKHtcclxuXHRcdFx0XHRcdGhlaWdodDogJyonXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KSxcclxuXHRcdFx0c3RhdGUoXHJcblx0XHRcdFx0J2hpZGRlbicsXHJcblx0XHRcdFx0c3R5bGUoe1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogJ25vbmUnXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KSxcclxuXHRcdFx0c3RhdGUoXHJcblx0XHRcdFx0J3Zpc2libGUnLFxyXG5cdFx0XHRcdHN0eWxlKHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6ICdibG9jaydcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPD0+IGV4cGFuZGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpXHJcblx0XHRdKVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcE1lbnVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dCgpIGl0ZW0hOiBNZW51SXRlbTtcclxuXHJcblx0QElucHV0KCkgaW5kZXghOiBudW1iZXI7XHJcblxyXG5cdEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MubGF5b3V0LXJvb3QtbWVudWl0ZW0nKSByb290ITogYm9vbGVhbjtcclxuXHJcblx0QElucHV0KCkgcGFyZW50S2V5ITogc3RyaW5nO1xyXG5cclxuXHRAVmlld0NoaWxkKCdzdWJtZW51Jykgc3VibWVudSE6IEVsZW1lbnRSZWY7XHJcblxyXG5cdGFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuXHRtZW51U291cmNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG5cdG1lbnVSZXNldFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRrZXk6IHN0cmluZyA9ICcnO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcml2YXRlIG1lbnVTZXJ2aWNlOiBBcHBNZW51U2VydmljZVxyXG5cdCkge1xyXG5cdFx0dGhpcy5tZW51U291cmNlU3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5tZW51U291cmNlJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcblx0XHRcdFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcclxuXHRcdFx0XHRpZiAodmFsdWUucm91dGVFdmVudCkge1xyXG5cdFx0XHRcdFx0dGhpcy5hY3RpdmUgPSB2YWx1ZS5rZXkgPT09IHRoaXMua2V5IHx8IHZhbHVlLmtleS5zdGFydHNXaXRoKHRoaXMua2V5ICsgJy0nKSA/IHRydWUgOiBmYWxzZTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0aWYgKHZhbHVlLmtleSAhPT0gdGhpcy5rZXkgJiYgIXZhbHVlLmtleS5zdGFydHNXaXRoKHRoaXMua2V5ICsgJy0nKSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLm1lbnVSZXNldFN1YnNjcmlwdGlvbiA9IHRoaXMubWVudVNlcnZpY2UucmVzZXRTb3VyY2UkLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pc1NsaW1QbHVzIHx8IHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsKSB7XHJcblx0XHRcdFx0dGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRpZiAodGhpcy5pdGVtLnJvdXRlckxpbmspIHtcclxuXHRcdFx0XHRcdHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLmtleSA9IHRoaXMucGFyZW50S2V5ID8gdGhpcy5wYXJlbnRLZXkgKyAnLScgKyB0aGlzLmluZGV4IDogU3RyaW5nKHRoaXMuaW5kZXgpO1xyXG5cclxuXHRcdGlmICghKHRoaXMuaXNTbGltUGx1cyB8fCB0aGlzLmlzU2xpbSB8fCB0aGlzLmlzSG9yaXpvbnRhbCkgJiYgdGhpcy5pdGVtLnJvdXRlckxpbmspIHtcclxuXHRcdFx0dGhpcy51cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG5cdFx0aWYgKFxyXG5cdFx0XHR0aGlzLnJvb3QgJiZcclxuXHRcdFx0dGhpcy5hY3RpdmUgJiZcclxuXHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpICYmXHJcblx0XHRcdCh0aGlzLmxheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCkgfHwgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpXHJcblx0XHQpIHtcclxuXHRcdFx0dGhpcy5jYWxjdWxhdGVQb3NpdGlvbih0aGlzLnN1Ym1lbnU/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3VibWVudT8ubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVwZGF0ZUFjdGl2ZVN0YXRlRnJvbVJvdXRlKCkge1xyXG5cdFx0bGV0IGFjdGl2ZVJvdXRlID0gdGhpcy5yb3V0ZXIuaXNBY3RpdmUodGhpcy5pdGVtLnJvdXRlckxpbmtbMF0sIHtcclxuXHRcdFx0cGF0aHM6ICdleGFjdCcsXHJcblx0XHRcdHF1ZXJ5UGFyYW1zOiAnaWdub3JlZCcsXHJcblx0XHRcdG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLFxyXG5cdFx0XHRmcmFnbWVudDogJ2lnbm9yZWQnXHJcblx0XHR9KTtcclxuXHJcblx0XHRpZiAoYWN0aXZlUm91dGUpIHtcclxuXHRcdFx0dGhpcy5tZW51U2VydmljZS5vbk1lbnVTdGF0ZUNoYW5nZSh7IGtleTogdGhpcy5rZXksIHJvdXRlRXZlbnQ6IHRydWUgfSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvblN1Ym1lbnVBbmltYXRlZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcclxuXHRcdGlmIChcclxuXHRcdFx0ZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnICYmXHJcblx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSAmJlxyXG5cdFx0XHQodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKVxyXG5cdFx0KSB7XHJcblx0XHRcdGNvbnN0IGVsID0gPEhUTUxVTGlzdEVsZW1lbnQ+ZXZlbnQuZWxlbWVudDtcclxuXHRcdFx0Y29uc3QgZWxQYXJlbnQgPSA8SFRNTFVMaXN0RWxlbWVudD5lbC5wYXJlbnRFbGVtZW50O1xyXG5cdFx0XHR0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKGVsLCBlbFBhcmVudCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjYWxjdWxhdGVQb3NpdGlvbihvdmVybGF5OiBIVE1MRWxlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCkge1xyXG5cdFx0aWYgKG92ZXJsYXkpIHtcclxuXHRcdFx0Y29uc3QgeyBsZWZ0LCB0b3AgfSA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHRcdFx0Y29uc3QgW3ZXaWR0aCwgdkhlaWdodF0gPSBbd2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodF07XHJcblx0XHRcdGNvbnN0IFtvV2lkdGgsIG9IZWlnaHRdID0gW292ZXJsYXkub2Zmc2V0V2lkdGgsIG92ZXJsYXkub2Zmc2V0SGVpZ2h0XTtcclxuXHRcdFx0Y29uc3Qgc2Nyb2xsYmFyV2lkdGggPSBEb21IYW5kbGVyLmNhbGN1bGF0ZVNjcm9sbGJhcldpZHRoKCk7XHJcblx0XHRcdC8vIHJlc2V0XHJcblx0XHRcdG92ZXJsYXkuc3R5bGUudG9wID0gJyc7XHJcblx0XHRcdG92ZXJsYXkuc3R5bGUubGVmdCA9ICcnO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMubGF5b3V0U2VydmljZS5pc0hvcml6b250YWwoKSkge1xyXG5cdFx0XHRcdGNvbnN0IHdpZHRoID0gbGVmdCArIG9XaWR0aCArIHNjcm9sbGJhcldpZHRoO1xyXG5cdFx0XHRcdG92ZXJsYXkuc3R5bGUubGVmdCA9IHZXaWR0aCA8IHdpZHRoID8gYCR7bGVmdCAtICh3aWR0aCAtIHZXaWR0aCl9cHhgIDogYCR7bGVmdH1weGA7XHJcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpIHtcclxuXHRcdFx0XHRjb25zdCBoZWlnaHQgPSB0b3AgKyBvSGVpZ2h0O1xyXG5cdFx0XHRcdG92ZXJsYXkuc3R5bGUudG9wID0gdkhlaWdodCA8IGhlaWdodCA/IGAke3RvcCAtIChoZWlnaHQgLSB2SGVpZ2h0KX1weGAgOiBgJHt0b3B9cHhgO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRpdGVtQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcblx0XHQvLyBhdm9pZCBwcm9jZXNzaW5nIGRpc2FibGVkIGl0ZW1zXHJcblx0XHRpZiAodGhpcy5pdGVtLmRpc2FibGVkKSB7XHJcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBuYXZpZ2F0ZSB3aXRoIGhvdmVyXHJcblx0XHRpZiAoKHRoaXMucm9vdCAmJiB0aGlzLmlzU2xpbSkgfHwgdGhpcy5pc0hvcml6b250YWwgfHwgdGhpcy5pc1NsaW1QbHVzKSB7XHJcblx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51SG92ZXJBY3RpdmUgPSAhdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBleGVjdXRlIGNvbW1hbmRcclxuXHRcdGlmICh0aGlzLml0ZW0uY29tbWFuZCkge1xyXG5cdFx0XHR0aGlzLml0ZW0uY29tbWFuZCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpdGVtOiB0aGlzLml0ZW0gfSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gdG9nZ2xlIGFjdGl2ZSBzdGF0ZVxyXG5cdFx0aWYgKHRoaXMuaXRlbS5pdGVtcykge1xyXG5cdFx0XHR0aGlzLmFjdGl2ZSA9ICF0aGlzLmFjdGl2ZTtcclxuXHJcblx0XHRcdGlmICh0aGlzLnJvb3QgJiYgdGhpcy5hY3RpdmUgJiYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykpIHtcclxuXHRcdFx0XHR0aGlzLmxheW91dFNlcnZpY2Uub25PdmVybGF5U3VibWVudU9wZW4oKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKHRoaXMubGF5b3V0U2VydmljZS5pc01vYmlsZSgpKSB7XHJcblx0XHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUgPSBmYWxzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykge1xyXG5cdFx0XHRcdHRoaXMubWVudVNlcnZpY2UucmVzZXQoKTtcclxuXHRcdFx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlID0gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLm1lbnVTZXJ2aWNlLm9uTWVudVN0YXRlQ2hhbmdlKHsga2V5OiB0aGlzLmtleSB9KTtcclxuXHR9XHJcblxyXG5cdG9uTW91c2VFbnRlcigpIHtcclxuXHRcdC8vIGFjdGl2YXRlIGl0ZW0gb24gaG92ZXJcclxuXHRcdGlmICh0aGlzLnJvb3QgJiYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpKSB7XHJcblx0XHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlKSB7XHJcblx0XHRcdFx0dGhpcy5hY3RpdmUgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMubWVudVNlcnZpY2Uub25NZW51U3RhdGVDaGFuZ2UoeyBrZXk6IHRoaXMua2V5IH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRnZXQgc3VibWVudUFuaW1hdGlvbigpIHtcclxuXHRcdGlmIChcclxuXHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpICYmXHJcblx0XHRcdCh0aGlzLmxheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCkgfHwgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpXHJcblx0XHQpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuYWN0aXZlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XHJcblx0XHR9IGVsc2VcclxuXHRcdFx0cmV0dXJuIChcclxuXHRcdFx0XHR0aGlzLnJvb3QgPyAnZXhwYW5kZWQnXHJcblx0XHRcdFx0OiB0aGlzLmFjdGl2ZSA/ICdleHBhbmRlZCdcclxuXHRcdFx0XHQ6ICdjb2xsYXBzZWQnXHJcblx0XHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXQgaXNIb3Jpem9udGFsKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMubGF5b3V0U2VydmljZS5pc0hvcml6b250YWwoKTtcclxuXHR9XHJcblxyXG5cdGdldCBpc1NsaW0oKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGlzU2xpbVBsdXMoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKTtcclxuXHR9XHJcblxyXG5cdEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlLW1lbnVpdGVtJylcclxuXHRnZXQgYWN0aXZlQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3RpdmUgJiYgIXRoaXMucm9vdDtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0aWYgKHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHR0aGlzLm1lbnVTb3VyY2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcHAtbWVudScsXHJcblx0aW1wb3J0czogW0FwcE1lbnVJdGVtQ29tcG9uZW50XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBNZW51Q29tcG9uZW50IHtcclxuXHRtZW51U2VydmljZSA9IGluamVjdChBcHBNZW51U2VydmljZSk7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FwcC1zdWItbWVudScsXHJcblx0aW1wb3J0czogW0FwcE1lbnVJdGVtQ29tcG9uZW50XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYXBwLnN1Yi5tZW51LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwU3ViTWVudUNvbXBvbmVudCB7XHJcblx0bWVudVNlcnZpY2UgPSBpbmplY3QoQXBwTWVudVNlcnZpY2UpO1xyXG5cclxuXHRASG9zdEJpbmRpbmcoJ2lkJykgZ2V0IGlkKCkge1xyXG5cdFx0cmV0dXJuICdhcHAtc3ViLW1lbnUtJyArICg8YW55Pmdsb2JhbFRoaXMpLmFjdGl2ZU1GO1xyXG5cdH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJsYXlvdXQtbWVudSBmbGV4LXdyYXBcIj5cclxuXHRAZm9yIChpdGVtIG9mIG1lbnVTZXJ2aWNlLm1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdEBpZiAoaXRlbS5zZXBhcmF0b3IpIHtcclxuXHRcdFx0PGxpIGNsYXNzPVwibWVudS1zZXBhcmF0b3JcIj48L2xpPlxyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdDxsaSBhcHAtbWVudWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtpbmRleF09XCIkaW5kZXhcIiBbcm9vdF09XCJ0cnVlXCI+PC9saT5cclxuXHRcdH1cclxuXHR9XHJcbjwvdWw+XHJcbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtc2lkZWJhclwiPlxyXG5cdDxkaXYgI3N1Yk1lbnVDb250YWluZXIgY2xhc3M9XCJsYXlvdXQtbWVudS1jb250YWluZXJcIj5cclxuXHRcdDx1bCBjbGFzcz1cImxheW91dC1tZW51IGZsZXgtd3JhcFwiPlxyXG5cdFx0XHRAZm9yIChzdWJJdGVtIG9mIG1lbnVTZXJ2aWNlLnN1Yk1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRAaWYgKHN1Ykl0ZW0uc2VwYXJhdG9yKSB7XHJcblx0XHRcdFx0XHQ8bGkgY2xhc3M9XCJtZW51LXNlcGFyYXRvclwiPjwvbGk+XHJcblx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHQ8bGkgYXBwLW1lbnVpdGVtIFtpdGVtXT1cInN1Ykl0ZW1cIiBbaW5kZXhdPVwiJGluZGV4XCIgW3Jvb3RdPVwidHJ1ZVwiPjwvbGk+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ8L3VsPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
398
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL21lbnUvYXBwLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL21lbnUvYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvbWVudS9hcHAuc3ViLm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFFTixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUF3R2hFLE1BQU0sT0FBTyxvQkFBb0I7SUFtQmhDLFlBQ1EsYUFBNEIsRUFDM0IsRUFBcUIsRUFDdEIsTUFBYyxFQUNiLFdB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QixtQkFBbUI7a0JBTi9CLFNBQVM7aUNBQ0csSUFBSSxZQUNOLGNBQWMsV0FDZixDQUFDLG9CQUFvQixDQUFDOzhCQU1SLEVBQUU7c0JBQXhCLFdBQVc7dUJBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50LCBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0Vmlld0NoaWxkLFxuXHRpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQgeyBSaXBwbGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLm1lbnUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ1thcHAtbWVudWl0ZW1dJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmctY29udGFpbmVyPlxuXHRcdFx0QGlmIChyb290KSB7XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tcm9vdC10ZXh0XCI+XG5cdFx0XHRcdFx0e3sgaXRlbS5sYWJlbCB9fVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdH1cblx0XHRcdEBpZiAoaXRlbS5pdGVtcz8ubGVuZ3RoKSB7XG5cdFx0XHRcdDxhXG5cdFx0XHRcdFx0W2F0dHIuaHJlZl09XCJpdGVtLnVybFwiXG5cdFx0XHRcdFx0KGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcblx0XHRcdFx0XHQobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG5cdFx0XHRcdFx0W2F0dHIudGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcblx0XHRcdFx0XHR0YWJpbmRleD1cIjBcIlxuXHRcdFx0XHRcdHBSaXBwbGVcblx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiaXRlbS5sYWJlbFwiXG5cdFx0XHRcdFx0W3Rvb2x0aXBEaXNhYmxlZF09XCIhKGlzU2xpbSAmJiByb290ICYmICFhY3RpdmUpXCI+XG5cdFx0XHRcdFx0PGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImxheW91dC1tZW51aXRlbS10ZXh0XCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cblx0XHRcdFx0XHRAaWYgKGl0ZW0uaXRlbXMpIHtcblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktZncgcGktYW5nbGUtZG93biBsYXlvdXQtc3VibWVudS10b2dnbGVyXCI+PC9pPlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9hPlxuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdDxhXG5cdFx0XHRcdFx0KGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcblx0XHRcdFx0XHQobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG5cdFx0XHRcdFx0W3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcblx0XHRcdFx0XHRyb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlLXJvdXRlXCJcblx0XHRcdFx0XHRbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwiXG5cdFx0XHRcdFx0XHRpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zIHx8IHtcblx0XHRcdFx0XHRcdFx0cGF0aHM6ICdleGFjdCcsXG5cdFx0XHRcdFx0XHRcdHF1ZXJ5UGFyYW1zOiAnaWdub3JlZCcsXG5cdFx0XHRcdFx0XHRcdG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLFxuXHRcdFx0XHRcdFx0XHRmcmFnbWVudDogJ2lnbm9yZWQnXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XCJcblx0XHRcdFx0XHRbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXG5cdFx0XHRcdFx0W3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcblx0XHRcdFx0XHRbcHJlc2VydmVGcmFnbWVudF09XCJpdGVtLnByZXNlcnZlRnJhZ21lbnRcIlxuXHRcdFx0XHRcdFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbS5za2lwTG9jYXRpb25DaGFuZ2VcIlxuXHRcdFx0XHRcdFtyZXBsYWNlVXJsXT1cIml0ZW0ucmVwbGFjZVVybFwiXG5cdFx0XHRcdFx0W3N0YXRlXT1cIml0ZW0uc3RhdGVcIlxuXHRcdFx0XHRcdFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcblx0XHRcdFx0XHRbYXR0ci50YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxuXHRcdFx0XHRcdHRhYmluZGV4PVwiMFwiXG5cdFx0XHRcdFx0cFJpcHBsZVxuXHRcdFx0XHRcdFtwVG9vbHRpcF09XCJpdGVtLmxhYmVsXCJcblx0XHRcdFx0XHRbdG9vbHRpcERpc2FibGVkXT1cIiEoaXNTbGltICYmIHJvb3QpXCI+XG5cdFx0XHRcdFx0PGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cblxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuXG5cdFx0XHRcdFx0QGlmIChpdGVtLml0ZW1zKSB7XG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWFuZ2xlLWRvd24gbGF5b3V0LXN1Ym1lbnUtdG9nZ2xlclwiPjwvaT5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvYT5cblx0XHRcdH1cblxuXHRcdFx0QGlmIChpdGVtLml0ZW1zKSB7XG5cdFx0XHRcdDx1bCAjc3VibWVudSBbQGNoaWxkcmVuXT1cInN1Ym1lbnVBbmltYXRpb25cIiAoQGNoaWxkcmVuLmRvbmUpPVwib25TdWJtZW51QW5pbWF0ZWQoJGV2ZW50KVwiPlxuXHRcdFx0XHRcdEBmb3IgKGNoaWxkIG9mIGl0ZW0uaXRlbXM7IHRyYWNrIGNoaWxkOyBsZXQgaSA9ICRpbmRleCkge1xuXHRcdFx0XHRcdFx0PGxpIGFwcC1tZW51aXRlbSBbaXRlbV09XCJjaGlsZFwiIFtpbmRleF09XCJpXCIgW3BhcmVudEtleV09XCJrZXlcIj48L2xpPlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC91bD5cblx0XHRcdH1cblx0XHQ8L25nLWNvbnRhaW5lcj5cblx0YCxcblx0aW1wb3J0czogW05nQ2xhc3MsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUsIFRvb2x0aXBNb2R1bGUsIFJpcHBsZU1vZHVsZV0sXG5cdGFuaW1hdGlvbnM6IFtcblx0XHR0cmlnZ2VyKCdjaGlsZHJlbicsIFtcblx0XHRcdHN0YXRlKFxuXHRcdFx0XHQnY29sbGFwc2VkJyxcblx0XHRcdFx0c3R5bGUoe1xuXHRcdFx0XHRcdGhlaWdodDogJzAnXG5cdFx0XHRcdH0pXG5cdFx0XHQpLFxuXHRcdFx0c3RhdGUoXG5cdFx0XHRcdCdleHBhbmRlZCcsXG5cdFx0XHRcdHN0eWxlKHtcblx0XHRcdFx0XHRoZWlnaHQ6ICcqJ1xuXHRcdFx0XHR9KVxuXHRcdFx0KSxcblx0XHRcdHN0YXRlKFxuXHRcdFx0XHQnaGlkZGVuJyxcblx0XHRcdFx0c3R5bGUoe1xuXHRcdFx0XHRcdGRpc3BsYXk6ICdub25lJ1xuXHRcdFx0XHR9KVxuXHRcdFx0KSxcblx0XHRcdHN0YXRlKFxuXHRcdFx0XHQndmlzaWJsZScsXG5cdFx0XHRcdHN0eWxlKHtcblx0XHRcdFx0XHRkaXNwbGF5OiAnYmxvY2snXG5cdFx0XHRcdH0pXG5cdFx0XHQpLFxuXHRcdFx0dHJhbnNpdGlvbignY29sbGFwc2VkIDw9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScpKVxuXHRcdF0pXG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cdEBJbnB1dCgpIGl0ZW0hOiBNZW51SXRlbTtcblxuXHRASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcblxuXHRASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmxheW91dC1yb290LW1lbnVpdGVtJykgcm9vdCE6IGJvb2xlYW47XG5cblx0QElucHV0KCkgcGFyZW50S2V5ITogc3RyaW5nO1xuXG5cdEBWaWV3Q2hpbGQoJ3N1Ym1lbnUnKSBzdWJtZW51ITogRWxlbWVudFJlZjtcblxuXHRhY3RpdmUgPSBmYWxzZTtcblxuXHRtZW51U291cmNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cblx0bWVudVJlc2V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cblx0a2V5OiBzdHJpbmcgPSAnJztcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcblx0XHRwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcblx0XHRwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG5cdFx0cHJpdmF0ZSBtZW51U2VydmljZTogQXBwTWVudVNlcnZpY2Vcblx0KSB7XG5cdFx0dGhpcy5tZW51U291cmNlU3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5tZW51U291cmNlJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG5cdFx0XHRQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB7XG5cdFx0XHRcdGlmICh2YWx1ZS5yb3V0ZUV2ZW50KSB7XG5cdFx0XHRcdFx0dGhpcy5hY3RpdmUgPSB2YWx1ZS5rZXkgPT09IHRoaXMua2V5IHx8IHZhbHVlLmtleS5zdGFydHNXaXRoKHRoaXMua2V5ICsgJy0nKSA/IHRydWUgOiBmYWxzZTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRpZiAodmFsdWUua2V5ICE9PSB0aGlzLmtleSAmJiAhdmFsdWUua2V5LnN0YXJ0c1dpdGgodGhpcy5rZXkgKyAnLScpKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHR0aGlzLm1lbnVSZXNldFN1YnNjcmlwdGlvbiA9IHRoaXMubWVudVNlcnZpY2UucmVzZXRTb3VyY2UkLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcblx0XHRcdGlmICh0aGlzLmlzU2xpbVBsdXMgfHwgdGhpcy5pc1NsaW0gfHwgdGhpcy5pc0hvcml6b250YWwpIHtcblx0XHRcdFx0dGhpcy5hY3RpdmUgPSBmYWxzZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLml0ZW0ucm91dGVyTGluaykge1xuXHRcdFx0XHRcdHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5rZXkgPSB0aGlzLnBhcmVudEtleSA/IHRoaXMucGFyZW50S2V5ICsgJy0nICsgdGhpcy5pbmRleCA6IFN0cmluZyh0aGlzLmluZGV4KTtcblxuXHRcdGlmICghKHRoaXMuaXNTbGltUGx1cyB8fCB0aGlzLmlzU2xpbSB8fCB0aGlzLmlzSG9yaXpvbnRhbCkgJiYgdGhpcy5pdGVtLnJvdXRlckxpbmspIHtcblx0XHRcdHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcblx0XHR9XG5cdH1cblxuXHRuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG5cdFx0aWYgKFxuXHRcdFx0dGhpcy5yb290ICYmXG5cdFx0XHR0aGlzLmFjdGl2ZSAmJlxuXHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpICYmXG5cdFx0XHQodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKVxuXHRcdCkge1xuXHRcdFx0dGhpcy5jYWxjdWxhdGVQb3NpdGlvbih0aGlzLnN1Ym1lbnU/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3VibWVudT8ubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KTtcblx0XHR9XG5cdH1cblxuXHR1cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpIHtcblx0XHRsZXQgYWN0aXZlUm91dGUgPSB0aGlzLnJvdXRlci5pc0FjdGl2ZSh0aGlzLml0ZW0ucm91dGVyTGlua1swXSwge1xuXHRcdFx0cGF0aHM6ICdleGFjdCcsXG5cdFx0XHRxdWVyeVBhcmFtczogJ2lnbm9yZWQnLFxuXHRcdFx0bWF0cml4UGFyYW1zOiAnaWdub3JlZCcsXG5cdFx0XHRmcmFnbWVudDogJ2lnbm9yZWQnXG5cdFx0fSk7XG5cblx0XHRpZiAoYWN0aXZlUm91dGUpIHtcblx0XHRcdHRoaXMubWVudVNlcnZpY2Uub25NZW51U3RhdGVDaGFuZ2UoeyBrZXk6IHRoaXMua2V5LCByb3V0ZUV2ZW50OiB0cnVlIH0pO1xuXHRcdH1cblx0fVxuXG5cdG9uU3VibWVudUFuaW1hdGVkKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuXHRcdGlmIChcblx0XHRcdGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJyAmJlxuXHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpICYmXG5cdFx0XHQodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKVxuXHRcdCkge1xuXHRcdFx0Y29uc3QgZWwgPSA8SFRNTFVMaXN0RWxlbWVudD5ldmVudC5lbGVtZW50O1xuXHRcdFx0Y29uc3QgZWxQYXJlbnQgPSA8SFRNTFVMaXN0RWxlbWVudD5lbC5wYXJlbnRFbGVtZW50O1xuXHRcdFx0dGhpcy5jYWxjdWxhdGVQb3NpdGlvbihlbCwgZWxQYXJlbnQpO1xuXHRcdH1cblx0fVxuXG5cdGNhbGN1bGF0ZVBvc2l0aW9uKG92ZXJsYXk6IEhUTUxFbGVtZW50LCB0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG5cdFx0aWYgKG92ZXJsYXkpIHtcblx0XHRcdGNvbnN0IHsgbGVmdCwgdG9wIH0gPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0XHRjb25zdCBbdldpZHRoLCB2SGVpZ2h0XSA9IFt3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0XTtcblx0XHRcdGNvbnN0IFtvV2lkdGgsIG9IZWlnaHRdID0gW292ZXJsYXkub2Zmc2V0V2lkdGgsIG92ZXJsYXkub2Zmc2V0SGVpZ2h0XTtcblx0XHRcdGNvbnN0IHNjcm9sbGJhcldpZHRoID0gRG9tSGFuZGxlci5jYWxjdWxhdGVTY3JvbGxiYXJXaWR0aCgpO1xuXHRcdFx0Ly8gcmVzZXRcblx0XHRcdG92ZXJsYXkuc3R5bGUudG9wID0gJyc7XG5cdFx0XHRvdmVybGF5LnN0eWxlLmxlZnQgPSAnJztcblxuXHRcdFx0aWYgKHRoaXMubGF5b3V0U2VydmljZS5pc0hvcml6b250YWwoKSkge1xuXHRcdFx0XHRjb25zdCB3aWR0aCA9IGxlZnQgKyBvV2lkdGggKyBzY3JvbGxiYXJXaWR0aDtcblx0XHRcdFx0b3ZlcmxheS5zdHlsZS5sZWZ0ID0gdldpZHRoIDwgd2lkdGggPyBgJHtsZWZ0IC0gKHdpZHRoIC0gdldpZHRoKX1weGAgOiBgJHtsZWZ0fXB4YDtcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpIHtcblx0XHRcdFx0Y29uc3QgaGVpZ2h0ID0gdG9wICsgb0hlaWdodDtcblx0XHRcdFx0b3ZlcmxheS5zdHlsZS50b3AgPSB2SGVpZ2h0IDwgaGVpZ2h0ID8gYCR7dG9wIC0gKGhlaWdodCAtIHZIZWlnaHQpfXB4YCA6IGAke3RvcH1weGA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0aXRlbUNsaWNrKGV2ZW50OiBFdmVudCkge1xuXHRcdC8vIGF2b2lkIHByb2Nlc3NpbmcgZGlzYWJsZWQgaXRlbXNcblx0XHRpZiAodGhpcy5pdGVtLmRpc2FibGVkKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIG5hdmlnYXRlIHdpdGggaG92ZXJcblx0XHRpZiAoKHRoaXMucm9vdCAmJiB0aGlzLmlzU2xpbSkgfHwgdGhpcy5pc0hvcml6b250YWwgfHwgdGhpcy5pc1NsaW1QbHVzKSB7XG5cdFx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlID0gIXRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51SG92ZXJBY3RpdmU7XG5cdFx0fVxuXG5cdFx0Ly8gZXhlY3V0ZSBjb21tYW5kXG5cdFx0aWYgKHRoaXMuaXRlbS5jb21tYW5kKSB7XG5cdFx0XHR0aGlzLml0ZW0uY29tbWFuZCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpdGVtOiB0aGlzLml0ZW0gfSk7XG5cdFx0fVxuXG5cdFx0Ly8gdG9nZ2xlIGFjdGl2ZSBzdGF0ZVxuXHRcdGlmICh0aGlzLml0ZW0uaXRlbXMpIHtcblx0XHRcdHRoaXMuYWN0aXZlID0gIXRoaXMuYWN0aXZlO1xuXG5cdFx0XHRpZiAodGhpcy5yb290ICYmIHRoaXMuYWN0aXZlICYmICh0aGlzLmlzU2xpbSB8fCB0aGlzLmlzSG9yaXpvbnRhbCB8fCB0aGlzLmlzU2xpbVBsdXMpKSB7XG5cdFx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5vbk92ZXJsYXlTdWJtZW51T3BlbigpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcblx0XHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUgPSBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykge1xuXHRcdFx0XHR0aGlzLm1lbnVTZXJ2aWNlLnJlc2V0KCk7XG5cdFx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51SG92ZXJBY3RpdmUgPSBmYWxzZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLm1lbnVTZXJ2aWNlLm9uTWVudVN0YXRlQ2hhbmdlKHsga2V5OiB0aGlzLmtleSB9KTtcblx0fVxuXG5cdG9uTW91c2VFbnRlcigpIHtcblx0XHQvLyBhY3RpdmF0ZSBpdGVtIG9uIGhvdmVyXG5cdFx0aWYgKHRoaXMucm9vdCAmJiAodGhpcy5pc1NsaW0gfHwgdGhpcy5pc0hvcml6b250YWwgfHwgdGhpcy5pc1NsaW1QbHVzKSAmJiB0aGlzLmxheW91dFNlcnZpY2UuaXNEZXNrdG9wKCkpIHtcblx0XHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlKSB7XG5cdFx0XHRcdHRoaXMuYWN0aXZlID0gdHJ1ZTtcblx0XHRcdFx0dGhpcy5tZW51U2VydmljZS5vbk1lbnVTdGF0ZUNoYW5nZSh7IGtleTogdGhpcy5rZXkgfSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Z2V0IHN1Ym1lbnVBbmltYXRpb24oKSB7XG5cdFx0aWYgKFxuXHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpICYmXG5cdFx0XHQodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKVxuXHRcdCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWN0aXZlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG5cdFx0fSBlbHNlXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHR0aGlzLnJvb3QgPyAnZXhwYW5kZWQnXG5cdFx0XHRcdDogdGhpcy5hY3RpdmUgPyAnZXhwYW5kZWQnXG5cdFx0XHRcdDogJ2NvbGxhcHNlZCdcblx0XHRcdCk7XG5cdH1cblxuXHRnZXQgaXNIb3Jpem9udGFsKCkge1xuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCk7XG5cdH1cblxuXHRnZXQgaXNTbGltKCkge1xuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCk7XG5cdH1cblxuXHRnZXQgaXNTbGltUGx1cygpIHtcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKTtcblx0fVxuXG5cdEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlLW1lbnVpdGVtJylcblx0Z2V0IGFjdGl2ZUNsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmFjdGl2ZSAmJiAhdGhpcy5yb290O1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0aWYgKHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbikge1xuXHRcdFx0dGhpcy5tZW51U291cmNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uKSB7XG5cdFx0XHR0aGlzLm1lbnVSZXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdhcHAtbWVudScsXG5cdGltcG9ydHM6IFtBcHBNZW51SXRlbUNvbXBvbmVudF0sXG5cdHRlbXBsYXRlVXJsOiAnLi9hcHAubWVudS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwTWVudUNvbXBvbmVudCB7XG5cdG1lbnVTZXJ2aWNlID0gaW5qZWN0KEFwcE1lbnVTZXJ2aWNlKTtcbn1cbkBDb21wb25lbnQoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ2FwcC1zdWItbWVudScsXG5cdGltcG9ydHM6IFtBcHBNZW51SXRlbUNvbXBvbmVudF0sXG5cdHRlbXBsYXRlVXJsOiAnLi9hcHAuc3ViLm1lbnUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcFN1Yk1lbnVDb21wb25lbnQge1xuXHRtZW51U2VydmljZSA9IGluamVjdChBcHBNZW51U2VydmljZSk7XG5cblx0QEhvc3RCaW5kaW5nKCdpZCcpIGdldCBpZCgpIHtcblx0XHRyZXR1cm4gJ2FwcC1zdWItbWVudS0nICsgKDxhbnk+Z2xvYmFsVGhpcykuYWN0aXZlTUY7XG5cdH1cbn1cbiIsIjx1bCBjbGFzcz1cImxheW91dC1tZW51IGZsZXgtd3JhcFwiPlxuXHRAZm9yIChpdGVtIG9mIG1lbnVTZXJ2aWNlLm1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcblx0XHRAaWYgKGl0ZW0uc2VwYXJhdG9yKSB7XG5cdFx0XHQ8bGkgY2xhc3M9XCJtZW51LXNlcGFyYXRvclwiPjwvbGk+XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQ8bGkgYXBwLW1lbnVpdGVtIFtpdGVtXT1cIml0ZW1cIiBbaW5kZXhdPVwiJGluZGV4XCIgW3Jvb3RdPVwidHJ1ZVwiPjwvbGk+XG5cdFx0fVxuXHR9XG48L3VsPlxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1zaWRlYmFyXCI+XG5cdDxkaXYgI3N1Yk1lbnVDb250YWluZXIgY2xhc3M9XCJsYXlvdXQtbWVudS1jb250YWluZXJcIj5cblx0XHQ8dWwgY2xhc3M9XCJsYXlvdXQtbWVudSBmbGV4LXdyYXBcIj5cblx0XHRcdEBmb3IgKHN1Ykl0ZW0gb2YgbWVudVNlcnZpY2Uuc3ViTWVudUl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuXHRcdFx0XHRAaWYgKHN1Ykl0ZW0uc2VwYXJhdG9yKSB7XG5cdFx0XHRcdFx0PGxpIGNsYXNzPVwibWVudS1zZXBhcmF0b3JcIj48L2xpPlxuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHQ8bGkgYXBwLW1lbnVpdGVtIFtpdGVtXT1cInN1Ykl0ZW1cIiBbaW5kZXhdPVwiJGluZGV4XCIgW3Jvb3RdPVwidHJ1ZVwiPjwvbGk+XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQ8L3VsPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
38
38
|
type: ViewChild,
|
|
39
39
|
args: ['menuContainer']
|
|
40
40
|
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL3NpZGViYXIvYXBwLnNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL3NpZGViYXIvYXBwLnNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFROUQsTUFBTSxPQUFPLG1CQUFtQjtJQUMvQixZQUNRLGFBQTRCLEVBQzVCLEVBQWM7UUFEZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBR3RCLFlBQU8sR0FBUSxJQUFJLENBQUM7SUFGakIsQ0FBQztJQU1KLFlBQVk7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUM7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQy9DLENBQUM7SUFDRixDQUFDO0lBRUQsWUFBWTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RixDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFFRCxNQUFNO1FBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ3hFLENBQUM7OEdBOUJXLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHVMQ1poQyw4cElBNkNBLDRDRHBDVyxVQUFVLG9PQUFFLGdCQUFnQjs7MkZBRzFCLG1CQUFtQjtrQkFOL0IsU0FBUztpQ0FDRyxJQUFJLFlBQ04sYUFBYSxXQUNkLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDOzJHQVdYLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLmxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51L2FwcC5tZW51LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ2FwcC1zaWRlYmFyJyxcblx0aW1wb3J0czogW1JvdXRlckxpbmssIEFwcE1lbnVDb21wb25lbnRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vYXBwLnNpZGViYXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcFNpZGViYXJDb21wb25lbnQge1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcblx0XHRwdWJsaWMgZWw6IEVsZW1lbnRSZWZcblx0KSB7fVxuXG5cdHRpbWVvdXQ6IGFueSA9IG51bGw7XG5cblx0QFZpZXdDaGlsZCgnbWVudUNvbnRhaW5lcicpIG1lbnVDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG5cdG9uTW91c2VFbnRlcigpIHtcblx0XHRpZiAoIXRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5hbmNob3JlZCkge1xuXHRcdFx0aWYgKHRoaXMudGltZW91dCkge1xuXHRcdFx0XHRjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcblx0XHRcdFx0dGhpcy50aW1lb3V0ID0gbnVsbDtcblx0XHRcdH1cblx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaWRlYmFyQWN0aXZlID0gdHJ1ZTtcblx0XHR9XG5cdH1cblxuXHRvbk1vdXNlTGVhdmUoKSB7XG5cdFx0aWYgKCF0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuYW5jaG9yZWQpIHtcblx0XHRcdGlmICghdGhpcy50aW1lb3V0KSB7XG5cdFx0XHRcdHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gKHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaWRlYmFyQWN0aXZlID0gZmFsc2UpLCAzMDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGFuY2hvcigpIHtcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuYW5jaG9yZWQgPSAhdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLmFuY2hvcmVkO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXNpZGViYXJcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCI+XHJcblx0PGRpdiBjbGFzcz1cInNpZGViYXItaGVhZGVyXCI+XHJcblx0XHQ8YSBbcm91dGVyTGlua109XCJbJy8nXVwiIGNsYXNzPVwiYXBwLWxvZ29cIj5cclxuXHRcdFx0PCEtLSA8c3ZnIHZpZXdCb3g9XCIwIDAgMTI0IDIyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgY2xhc3M9XCJhcHAtbG9nby1ub3JtYWxcIj5cclxuXHRcdFx0XHQ8cGF0aFxyXG5cdFx0XHRcdFx0ZD1cIk0xMC40ODUxIDBMMCAyMC45NDY1SDMuNTM3MDJMMTAuNDg1NiA2LjA3ODQzTDE3LjI5NDQgMjAuOTQ2NUgyMC45NzE1TDEwLjQ4NTEgMFpcIlxyXG5cdFx0XHRcdFx0ZmlsbD1cInZhcigtLWxvZ28tY29sb3IpXCIgLz5cclxuXHRcdFx0XHQ8cGF0aCBkPVwiTTEzLjg0IDE1Ljc5MjdMMTYuMjA3NyAyMS4wMDE2SDExLjc2ODJMMTMuODQgMTUuNzkyN1pcIiBmaWxsPVwidmFyKC0tbG9nby1jb2xvcilcIiAvPlxyXG5cdFx0XHRcdDxwYXRoIGQ9XCJNOS4wNDY0NSAyMS4wMDE2TDYuNjc4NzUgMTUuNzkyN0w0LjYwNzAxIDIxLjAwMTZIOS4wNDY0NVpcIiBmaWxsPVwidmFyKC0tbG9nby1jb2xvcilcIiAvPlxyXG5cdFx0XHRcdDxwYXRoXHJcblx0XHRcdFx0XHRkPVwiTTQwLjkwMzMgMTQuNTIxN0gzNC43NzFMMzMuMTc1MyAxOC4wMDA3SDMwLjg0NjdMMzcuOTM0NiAyLjc3NjYxTDQ0Ljc3MiAxOC4wMDA3SDQyLjQwNjJMNDAuOTAzMyAxNC41MjE3Wk00MC4wMjIgMTIuNDlMMzcuODk3NSA3LjYxOTM4TDM1LjY3MDkgMTIuNDlINDAuMDIyWlwiXHJcblx0XHRcdFx0XHRmaWxsPVwidmFyKC0tbG9nby1jb2xvcilcIiAvPlxyXG5cdFx0XHRcdDxwYXRoXHJcblx0XHRcdFx0XHRkPVwiTTUyLjQ5MjcgMTIuMTgzOFYxOC4wMDA3SDUwLjMzMTFWMy42NzY1MUg1Mi43ODAzQzUzLjk4MDIgMy42NzY1MSA1NC44ODYyIDMuNzYwMDEgNTUuNDk4NSAzLjkyN0M1Ni4xMTcgNC4wOTM5OSA1Ni42NjEzIDQuNDA5NDIgNTcuMTMxNCA0Ljg3MzI5QzU3Ljk1NCA1LjY3NzMzIDU4LjM2NTIgNi42OTE2NSA1OC4zNjUyIDcuOTE2MjZDNTguMzY1MiA5LjIyNzQ2IDU3LjkyNjEgMTAuMjY2NSA1Ny4wNDc5IDExLjAzMzRDNTYuMTY5NiAxMS44MDA0IDU0Ljk4NTIgMTIuMTgzOCA1My40OTQ2IDEyLjE4MzhINTIuNDkyN1pNNTIuNDkyNyAxMC4xNzk5SDUzLjI5OThDNTUuMjg1MiAxMC4xNzk5IDU2LjI3NzggOS40MTYxIDU2LjI3NzggNy44ODg0M0M1Ni4yNzc4IDYuNDEwMjQgNTUuMjU0MiA1LjY3MTE0IDUzLjIwNyA1LjY3MTE0SDUyLjQ5MjdWMTAuMTc5OVpcIlxyXG5cdFx0XHRcdFx0ZmlsbD1cInZhcigtLWxvZ28tY29sb3IpXCIgLz5cclxuXHRcdFx0XHQ8cGF0aFxyXG5cdFx0XHRcdFx0ZD1cIk02My42MzY3IDEwLjc3MzdDNjMuNjM2NyA4Ljc1NzQxIDY0LjM3NTggNy4wMjU2MyA2NS44NTQgNS41NzgzN0M2Ny4zMjYgNC4xMzExIDY5LjA5NDkgMy40MDc0NyA3MS4xNjA3IDMuNDA3NDdDNzMuMjAxNyAzLjQwNzQ3IDc0Ljk1MiA0LjEzNzI5IDc2LjQxMTYgNS41OTY5MkM3Ny44Nzc1IDcuMDU2NTYgNzguNjEwNCA4LjgwOTk4IDc4LjYxMDQgMTAuODU3MkM3OC42MTA0IDEyLjkxNjcgNzcuODc0NCAxNC42NjQgNzYuNDAyNCAxNi4wOTg5Qzc0LjkyNDIgMTcuNTQgNzMuMTM5OCAxOC4yNjA1IDcxLjA0OTMgMTguMjYwNUM2OS4yMDAxIDE4LjI2MDUgNjcuNTM5NCAxNy42MjA0IDY2LjA2NzQgMTYuMzQwMUM2NC40NDcgMTQuOTIzNyA2My42MzY3IDEzLjA2ODMgNjMuNjM2NyAxMC43NzM3Wk02NS44MTY5IDEwLjgwMTVDNjUuODE2OSAxMi4zODQ4IDY2LjM0ODggMTMuNjg2OCA2Ny40MTI2IDE0LjcwNzNDNjguNDcwMiAxNS43Mjc4IDY5LjY5MTggMTYuMjM4IDcxLjA3NzIgMTYuMjM4QzcyLjU4MDEgMTYuMjM4IDczLjg0OCAxNS43MTg1IDc0Ljg4MDkgMTQuNjc5NEM3NS45MTM4IDEzLjYyOCA3Ni40MzAyIDEyLjM0NzcgNzYuNDMwMiAxMC44Mzg2Qzc2LjQzMDIgOS4zMTA5NSA3NS45MTk5IDguMDMwNjggNzQuODk5NCA2Ljk5NzhDNzMuODg1MSA1Ljk1ODc0IDcyLjYyOTYgNS40MzkyMSA3MS4xMzI4IDUuNDM5MjFDNjkuNjQyMyA1LjQzOTIxIDY4LjM4MzYgNS45NTg3NCA2Ny4zNTcgNi45OTc4QzY2LjMzMDMgOC4wMjQ1IDY1LjgxNjkgOS4yOTI0IDY1LjgxNjkgMTAuODAxNVpcIlxyXG5cdFx0XHRcdFx0ZmlsbD1cInZhcigtLWxvZ28tY29sb3IpXCIgLz5cclxuXHRcdFx0XHQ8cGF0aCBkPVwiTTg3LjI0OTUgMy42NzY1MVYxNS45NjlIOTEuNDYxNVYxOC4wMDA3SDg1LjA4NzlWMy42NzY1MUg4Ny4yNDk1WlwiIGZpbGw9XCJ2YXIoLS1sb2dvLWNvbG9yKVwiIC8+XHJcblx0XHRcdFx0PHBhdGggZD1cIk05OS40MzI3IDMuNjc2NTFWMTUuOTY5SDEwMy42NDVWMTguMDAwN0g5Ny4yNzFWMy42NzY1MUg5OS40MzI3WlwiIGZpbGw9XCJ2YXIoLS1sb2dvLWNvbG9yKVwiIC8+XHJcblx0XHRcdFx0PHBhdGhcclxuXHRcdFx0XHRcdGQ9XCJNMTA4LjE0NiAxMC43NzM3QzEwOC4xNDYgOC43NTc0MSAxMDguODg1IDcuMDI1NjMgMTEwLjM2MyA1LjU3ODM3QzExMS44MzUgNC4xMzExIDExMy42MDQgMy40MDc0NyAxMTUuNjcgMy40MDc0N0MxMTcuNzExIDMuNDA3NDcgMTE5LjQ2MSA0LjEzNzI5IDEyMC45MjEgNS41OTY5MkMxMjIuMzg3IDcuMDU2NTYgMTIzLjEyIDguODA5OTggMTIzLjEyIDEwLjg1NzJDMTIzLjEyIDEyLjkxNjcgMTIyLjM4NCAxNC42NjQgMTIwLjkxMiAxNi4wOTg5QzExOS40MzMgMTcuNTQgMTE3LjY0OSAxOC4yNjA1IDExNS41NTkgMTguMjYwNUMxMTMuNzA5IDE4LjI2MDUgMTEyLjA0OSAxNy42MjA0IDExMC41NzcgMTYuMzQwMUMxMDguOTU2IDE0LjkyMzcgMTA4LjE0NiAxMy4wNjgzIDEwOC4xNDYgMTAuNzczN1pNMTEwLjMyNiAxMC44MDE1QzExMC4zMjYgMTIuMzg0OCAxMTAuODU4IDEzLjY4NjggMTExLjkyMiAxNC43MDczQzExMi45OCAxNS43Mjc4IDExNC4yMDEgMTYuMjM4IDExNS41ODYgMTYuMjM4QzExNy4wODkgMTYuMjM4IDExOC4zNTcgMTUuNzE4NSAxMTkuMzkgMTQuNjc5NEMxMjAuNDIzIDEzLjYyOCAxMjAuOTQgMTIuMzQ3NyAxMjAuOTQgMTAuODM4NkMxMjAuOTQgOS4zMTA5NSAxMjAuNDI5IDguMDMwNjggMTE5LjQwOSA2Ljk5NzhDMTE4LjM5NCA1Ljk1ODc0IDExNy4xMzkgNS40MzkyMSAxMTUuNjQyIDUuNDM5MjFDMTE0LjE1MiA1LjQzOTIxIDExMi44OTMgNS45NTg3NCAxMTEuODY2IDYuOTk3OEMxMTAuODQgOC4wMjQ1IDExMC4zMjYgOS4yOTI0IDExMC4zMjYgMTAuODAxNVpcIlxyXG5cdFx0XHRcdFx0ZmlsbD1cInZhcigtLWxvZ28tY29sb3IpXCIgLz5cclxuXHRcdFx0PC9zdmc+IC0tPlxyXG5cdFx0XHQ8c3ZnXHJcblx0XHRcdFx0d2lkdGg9XCIyMVwiXHJcblx0XHRcdFx0aGVpZ2h0PVwiMjJcIlxyXG5cdFx0XHRcdHZpZXdCb3g9XCIwIDAgMjEgMjJcIlxyXG5cdFx0XHRcdGZpbGw9XCJub25lXCJcclxuXHRcdFx0XHR4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuXHRcdFx0XHRjbGFzcz1cImFwcC1sb2dvLXNtYWxsXCI+XHJcblx0XHRcdFx0PHBhdGhcclxuXHRcdFx0XHRcdGQ9XCJNMTAuNDg1MSAwTDAgMjAuOTQ2NUgzLjUzNzAyTDEwLjQ4NTYgNi4wNzg0M0wxNy4yOTQ0IDIwLjk0NjVIMjAuOTcxNUwxMC40ODUxIDBaXCJcclxuXHRcdFx0XHRcdGZpbGw9XCJ2YXIoLS1sb2dvLWNvbG9yKVwiIC8+XHJcblx0XHRcdFx0PHBhdGggZD1cIk0xMy44Mzk5IDE1Ljc5M0wxNi4yMDc2IDIxLjAwMTlIMTEuNzY4MUwxMy44Mzk5IDE1Ljc5M1pcIiBmaWxsPVwidmFyKC0tbG9nby1jb2xvcilcIiAvPlxyXG5cdFx0XHRcdDxwYXRoIGQ9XCJNOS4wNDYzNyAyMS4wMDE5TDYuNjc4NjcgMTUuNzkzTDQuNjA2OTMgMjEuMDAxOUg5LjA0NjM3WlwiIGZpbGw9XCJ2YXIoLS1sb2dvLWNvbG9yKVwiIC8+XHJcblx0XHRcdDwvc3ZnPlxyXG5cdFx0PC9hPlxyXG5cdFx0PGJ1dHRvbiBjbGFzcz1cImxheW91dC1zaWRlYmFyLWFuY2hvciBwLWxpbmsgei0yIG1iLTJcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFuY2hvcigpXCI+PC9idXR0b24+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgI21lbnVDb250YWluZXIgY2xhc3M9XCJsYXlvdXQtbWVudS1jb250YWluZXJcIj5cclxuXHRcdDxhcHAtbWVudT48L2FwcC1tZW51PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './app/layout/app.layout.component';
|
|
2
2
|
export * from './app/layout/mfe.layout.component';
|
|
3
3
|
export * from './service/app.menu.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FwcC9sYXlvdXQvbWZlLmxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL2FwcC5tZW51LnNlcnZpY2UnO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWNoYW5nZWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvc2VydmljZS9tZW51Y2hhbmdlZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWVudUNoYW5nZUV2ZW50IHtcblx0a2V5OiBzdHJpbmc7XG5cdHJvdXRlRXZlbnQ/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './src/badge.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL2JhZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9iYWRnZS5jb21wb25lbnQnO1xuIl19
|
|
@@ -10,10 +10,10 @@ export class BadgeComponent {
|
|
|
10
10
|
this.rounded = input();
|
|
11
11
|
}
|
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: BadgeComponent, isStandalone: true, selector: "aril-badge", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: true, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-tag [icon]=\"icon()\" [value]=\"value()\" [severity]=\"severity()\" [rounded]=\"rounded()\">\
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: BadgeComponent, isStandalone: true, selector: "aril-badge", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: true, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<p-tag [icon]=\"icon()\" [value]=\"value()\" [severity]=\"severity()\" [rounded]=\"rounded()\">\n\t<ng-content></ng-content>\n</p-tag>\n", dependencies: [{ kind: "ngmodule", type: TagModule }, { kind: "component", type: i1.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BadgeComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
|
-
args: [{ standalone: true, selector: 'aril-badge', imports: [TagModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-tag [icon]=\"icon()\" [value]=\"value()\" [severity]=\"severity()\" [rounded]=\"rounded()\">\
|
|
17
|
+
args: [{ standalone: true, selector: 'aril-badge', imports: [TagModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-tag [icon]=\"icon()\" [value]=\"value()\" [severity]=\"severity()\" [rounded]=\"rounded()\">\n\t<ng-content></ng-content>\n</p-tag>\n" }]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9iYWRnZS9zcmMvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9iYWRnZS9zcmMvYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBV3hDLE1BQU0sT0FBTyxjQUFjO0lBUDNCO1FBUUMsU0FBSSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3ZCLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBWSxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxLQUFLLEVBQVcsQ0FBQztLQUMzQjs4R0FMWSxjQUFjO2tHQUFkLGNBQWMsNmpCQ2IzQiwwSUFHQSwyQ0RPVyxTQUFTOzsyRkFHUCxjQUFjO2tCQVAxQixTQUFTO2lDQUNHLElBQUksWUFDTixZQUFZLFdBRWIsQ0FBQyxTQUFTLENBQUMsbUJBQ0gsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFnJztcblxudHlwZSBTZXZlcml0eSA9ICdwcmltYXJ5JyB8ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xuXG5AQ29tcG9uZW50KHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdhcmlsLWJhZGdlJyxcblx0dGVtcGxhdGVVcmw6ICcuL2JhZGdlLmNvbXBvbmVudC5odG1sJyxcblx0aW1wb3J0czogW1RhZ01vZHVsZV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlQ29tcG9uZW50IHtcblx0aWNvbiA9IGlucHV0PHN0cmluZz4oKTtcblx0dmFsdWUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cdHNldmVyaXR5ID0gaW5wdXQucmVxdWlyZWQ8U2V2ZXJpdHk+KCk7XG5cdHJvdW5kZWQgPSBpbnB1dDxib29sZWFuPigpO1xufVxuIiwiPHAtdGFnIFtpY29uXT1cImljb24oKVwiIFt2YWx1ZV09XCJ2YWx1ZSgpXCIgW3NldmVyaXR5XT1cInNldmVyaXR5KClcIiBbcm91bmRlZF09XCJyb3VuZGVkKClcIj5cblx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9wLXRhZz5cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './src/button.component';
|
|
2
2
|
export * from './src/split-button.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL2J1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQnO1xuIl19
|
|
@@ -21,13 +21,17 @@ export class ButtonComponent {
|
|
|
21
21
|
return `${this.raised() ? `p-button-raised` : ''} ${this.outlined() ? `p-button-outlined` : ''} ${this.size() ? `p-button-${this.size()}` : ''} ${this._color()}`;
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
+
clickEvnt(e) {
|
|
25
|
+
e.stopPropagation();
|
|
26
|
+
this.clickEvent.emit();
|
|
27
|
+
}
|
|
24
28
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: ButtonComponent, isStandalone: true, selector: "aril-button:not([click])", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, host: { attributes: { "id": Math.random().toString(36).substring(2) } }, ngImport: i0, template: "<p-button\r\n\t[label]=\"label()\"\r\n\t[badge]=\"badge()\"\r\n\t[icon]=\"_icon()\"\r\n\ticonPos=\"left\"\r\n\t[disabled]=\"disabled()\"\r\n\t[styleClass]=\"_styleClass()\"\r\n\t[loading]=\"loading()\"\r\n\t(onClick)=\"
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: ButtonComponent, isStandalone: true, selector: "aril-button:not([click])", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, host: { attributes: { "id": Math.random().toString(36).substring(2) } }, ngImport: i0, template: "<p-button\r\n\t[label]=\"label()\"\r\n\t[badge]=\"badge()\"\r\n\t[icon]=\"_icon()\"\r\n\ticonPos=\"left\"\r\n\t[disabled]=\"disabled()\"\r\n\t[styleClass]=\"_styleClass()\"\r\n\t[loading]=\"loading()\"\r\n\t(onClick)=\"clickEvnt($event)\">\r\n</p-button>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "size", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
30
|
}
|
|
27
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
28
32
|
type: Component,
|
|
29
|
-
args: [{ standalone: true, selector: 'aril-button:not([click])', host: { id: Math.random().toString(36).substring(2) }, imports: [ButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-button\r\n\t[label]=\"label()\"\r\n\t[badge]=\"badge()\"\r\n\t[icon]=\"_icon()\"\r\n\ticonPos=\"left\"\r\n\t[disabled]=\"disabled()\"\r\n\t[styleClass]=\"_styleClass()\"\r\n\t[loading]=\"loading()\"\r\n\t(onClick)=\"
|
|
33
|
+
args: [{ standalone: true, selector: 'aril-button:not([click])', host: { id: Math.random().toString(36).substring(2) }, imports: [ButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-button\r\n\t[label]=\"label()\"\r\n\t[badge]=\"badge()\"\r\n\t[icon]=\"_icon()\"\r\n\ticonPos=\"left\"\r\n\t[disabled]=\"disabled()\"\r\n\t[styleClass]=\"_styleClass()\"\r\n\t[loading]=\"loading()\"\r\n\t(onClick)=\"clickEvnt($event)\">\r\n</p-button>\r\n" }]
|
|
30
34
|
}], propDecorators: { clickEvent: [{
|
|
31
35
|
type: Output
|
|
32
36
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvYnV0dG9uL3NyYy9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9idXR0b24vc3JjL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBYXZELE1BQU0sT0FBTyxlQUFlO0lBUjVCO1FBU0MsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3hCLFNBQUksR0FBRyxLQUFLLENBQU8sSUFBSSxDQUFDLENBQUM7UUFDekIsU0FBSSxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzFCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFdkIsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBRXRFLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUcsQ0FBQyxDQUFDLENBQUM7UUFFcEQsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFcEQsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ25LLENBQUMsQ0FBQyxDQUFDO0tBTUg7SUFKQSxTQUFTLENBQUMsQ0FBUTtRQUNqQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQXhCVyxlQUFlO2tHQUFmLGVBQWUsdXRDQUpmLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyw4QkNicEQsb1FBVUEsMkNESVcsWUFBWTs7MkZBR1YsZUFBZTtrQkFSM0IsU0FBUztpQ0FDRyxJQUFJLFlBQ04sMEJBQTBCLFFBRTlCLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQzVDLENBQUMsWUFBWSxDQUFDLG1CQUNOLHVCQUF1QixDQUFDLE1BQU07OEJBYXJDLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XHJcblxyXG5pbXBvcnQgeyBQcmltZUljb24sIGljb25UcmFuc2Zvcm0gfSBmcm9tICdhcmlsL3VpL2xpYic7XHJcblxyXG50eXBlIFNpemUgPSAnc20nIHwgJ21kJyB8ICdsZyc7XHJcbnR5cGUgQ29sb3JzID0gJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnaGVscCcgfCAnZGFuZ2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLWJ1dHRvbjpub3QoW2NsaWNrXSknLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG5cdGhvc3Q6IHsgaWQ6IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKSB9LFxyXG5cdGltcG9ydHM6IFtCdXR0b25Nb2R1bGVdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xyXG5cdGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdGxvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0cmFpc2VkID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0b3V0bGluZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0YmFkZ2UgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0c2l6ZSA9IGlucHV0PFNpemU+KCdzbScpO1xyXG5cdGljb24gPSBpbnB1dDxQcmltZUljb24+KCk7XHJcblx0Y29sb3IgPSBpbnB1dC5yZXF1aXJlZDxDb2xvcnM+KCk7XHJcblxyXG5cdEBPdXRwdXQoKSBjbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuXHJcblx0X2ljb24gPSBjb21wdXRlZCgoKSA9PiBpY29uVHJhbnNmb3JtKHRoaXMuaWNvbigpISkpO1xyXG5cclxuXHRfY29sb3IgPSBjb21wdXRlZCgoKSA9PiBgcC1idXR0b24tJHt0aGlzLmNvbG9yKCl9YCk7XHJcblxyXG5cdF9zdHlsZUNsYXNzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0cmV0dXJuIGAke3RoaXMucmFpc2VkKCkgPyBgcC1idXR0b24tcmFpc2VkYCA6ICcnfSAke3RoaXMub3V0bGluZWQoKSA/IGBwLWJ1dHRvbi1vdXRsaW5lZGAgOiAnJ30gJHt0aGlzLnNpemUoKSA/IGBwLWJ1dHRvbi0ke3RoaXMuc2l6ZSgpfWAgOiAnJ30gJHt0aGlzLl9jb2xvcigpfWA7XHJcblx0fSk7XHJcblxyXG5cdGNsaWNrRXZudChlOiBFdmVudCkge1xyXG5cdFx0ZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHRcdHRoaXMuY2xpY2tFdmVudC5lbWl0KCk7XHJcblx0fVxyXG59XHJcbiIsIjxwLWJ1dHRvblxyXG5cdFtsYWJlbF09XCJsYWJlbCgpXCJcclxuXHRbYmFkZ2VdPVwiYmFkZ2UoKVwiXHJcblx0W2ljb25dPVwiX2ljb24oKVwiXHJcblx0aWNvblBvcz1cImxlZnRcIlxyXG5cdFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcclxuXHRbc3R5bGVDbGFzc109XCJfc3R5bGVDbGFzcygpXCJcclxuXHRbbG9hZGluZ109XCJsb2FkaW5nKClcIlxyXG5cdChvbkNsaWNrKT1cImNsaWNrRXZudCgkZXZlbnQpXCI+XHJcbjwvcC1idXR0b24+XHJcbiJdfQ==
|