@tuki-io/tuki-widgets 0.0.197 → 0.0.198
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 +24 -24
- package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
- package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
- package/esm2020/lib/widgets.component.mjs +9 -9
- package/esm2020/lib/widgets.module.mjs +1 -1
- package/esm2020/lib/widgets.service.mjs +1 -1
- package/esm2020/public-api.mjs +1 -1
- package/esm2020/user-creation/src/app.constants.mjs +2 -16
- package/esm2020/user-creation/src/classes/site.mjs +1 -1
- package/esm2020/user-creation/src/shared/material.module.mjs +7 -35
- package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +19 -43
- package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
- package/esm2020/user-creation/src/shared/shared.module.mjs +4 -27
- package/esm2020/user-creation/src/user-creation.module.mjs +7 -40
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +20 -512
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.mjs +3 -3
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +34 -80
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +19 -83
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +124 -594
- package/esm2020/user-device-manage/public-api.mjs +1 -1
- package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
- package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
- package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
- package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-device-manage/src/material.module.mjs +1 -1
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
- package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/device.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
- package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/public-api.mjs +1 -1
- package/esm2020/user-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
- package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
- package/esm2020/user-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
- package/esm2020/user-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-manage/src/material.module.mjs +1 -1
- package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +2 -2
- package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
- package/esm2020/users-list/public-api.mjs +1 -1
- package/esm2020/users-list/src/app.constants.mjs +1 -1
- package/esm2020/users-list/src/classes/app-location.mjs +1 -1
- package/esm2020/users-list/src/classes/device.mjs +1 -1
- package/esm2020/users-list/src/classes/line.mjs +1 -1
- package/esm2020/users-list/src/classes/move-user.mjs +1 -1
- package/esm2020/users-list/src/classes/notification.mjs +1 -1
- package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
- package/esm2020/users-list/src/classes/table-data.mjs +1 -1
- package/esm2020/users-list/src/classes/user-list.mjs +1 -1
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
- package/esm2020/users-list/src/services/api.service.mjs +1 -1
- package/esm2020/users-list/src/services/dns.service.mjs +1 -1
- package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
- package/esm2020/users-list/src/services/notification.service.mjs +1 -1
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
- package/esm2020/users-list/src/services/user.service.mjs +1 -1
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
- package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +325 -1913
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +10 -10
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +313 -1868
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +18 -18
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +10 -10
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
- package/package.json +1 -1
- package/user-creation/src/app.constants.d.ts +0 -10
- package/user-creation/src/shared/material.module.d.ts +1 -5
- package/user-creation/src/shared/services/user-creation-api.service.d.ts +2 -8
- package/user-creation/src/shared/shared.module.d.ts +1 -3
- package/user-creation/src/user-creation.module.d.ts +10 -17
- package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +7 -83
- package/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.d.ts +4 -11
- package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +0 -18
- package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.d.ts +56 -71
- package/esm2020/user-creation/src/classes/notification.mjs +0 -32
- package/esm2020/user-creation/src/environments/environment.mjs +0 -11
- package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +0 -19
- package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +0 -38
- package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +0 -30
- package/esm2020/user-creation/src/shared/services/notification.service.mjs +0 -62
- package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +0 -147
- package/esm2020/user-creation/src/utils/device-name-validation.mjs +0 -23
- package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +0 -26
- package/user-creation/src/classes/notification.d.ts +0 -18
- package/user-creation/src/environments/environment.d.ts +0 -9
- package/user-creation/src/interfaces/user-creation-wizard.interfaces.d.ts +0 -502
- package/user-creation/src/shared/components/notification/notification.component.d.ts +0 -19
- package/user-creation/src/shared/pipes/truncate.pipe.d.ts +0 -7
- package/user-creation/src/shared/services/notification.service.d.ts +0 -18
- package/user-creation/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-creation/src/utils/build-savable-end-user.d.ts +0 -23
- package/user-creation/src/utils/device-name-validation.d.ts +0 -6
- package/user-creation/src/utils/parse-device-name-rule.d.ts +0 -8
|
@@ -19,17 +19,17 @@ class WidgetsComponent {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
WidgetsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WidgetsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
WidgetsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WidgetsComponent, selector: "lib-widgets", ngImport: i0, template: `
|
|
23
|
-
<p>
|
|
24
|
-
widgets works!
|
|
25
|
-
</p>
|
|
22
|
+
WidgetsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WidgetsComponent, selector: "lib-widgets", ngImport: i0, template: `
|
|
23
|
+
<p>
|
|
24
|
+
widgets works!
|
|
25
|
+
</p>
|
|
26
26
|
`, isInline: true });
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WidgetsComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ selector: 'lib-widgets', template: `
|
|
30
|
-
<p>
|
|
31
|
-
widgets works!
|
|
32
|
-
</p>
|
|
29
|
+
args: [{ selector: 'lib-widgets', template: `
|
|
30
|
+
<p>
|
|
31
|
+
widgets works!
|
|
32
|
+
</p>
|
|
33
33
|
` }]
|
|
34
34
|
}], ctorParameters: function () { return []; } });
|
|
35
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuki-io-tuki-widgets.mjs","sources":["../../../../projects/tuki/widgets/src/lib/widgets.service.ts","../../../../projects/tuki/widgets/src/lib/widgets.component.ts","../../../../projects/tuki/widgets/src/lib/widgets.module.ts","../../../../projects/tuki/widgets/src/public-api.ts","../../../../projects/tuki/widgets/src/tuki-io-tuki-widgets.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WidgetsService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-widgets',\n template: `\n <p>\n widgets works!\n </p>\n `,\n styles: [\n ]\n})\nexport class WidgetsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { WidgetsComponent } from './widgets.component';\n\n\n\n@NgModule({\n declarations: [\n WidgetsComponent\n ],\n imports: [\n ],\n exports: [\n WidgetsComponent\n ]\n})\nexport class WidgetsModule { }\n","/*\n * Public API Surface of widgets\n */\n\nexport * from './lib/widgets.service';\nexport * from './lib/widgets.component';\nexport * from './lib/widgets.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,cAAc,CAAA;AAEzB,IAAA,WAAA,GAAA,GAAiB;;4GAFN,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCQY,gBAAgB,CAAA;AAE3B,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;8GALU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EARjB,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FAIU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACb,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCOU,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CARtB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAKhB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4GAGP,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;AACjB,qBAAA;AACF,iBAAA,CAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"tuki-io-tuki-widgets.mjs","sources":["../../../../projects/tuki/widgets/src/lib/widgets.service.ts","../../../../projects/tuki/widgets/src/lib/widgets.component.ts","../../../../projects/tuki/widgets/src/lib/widgets.module.ts","../../../../projects/tuki/widgets/src/public-api.ts","../../../../projects/tuki/widgets/src/tuki-io-tuki-widgets.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WidgetsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-widgets',\r\n template: `\r\n <p>\r\n widgets works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class WidgetsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { WidgetsComponent } from './widgets.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n WidgetsComponent\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n WidgetsComponent\r\n ]\r\n})\r\nexport class WidgetsModule { }\r\n","/*\r\n * Public API Surface of widgets\r\n */\r\n\r\nexport * from './lib/widgets.service';\r\nexport * from './lib/widgets.component';\r\nexport * from './lib/widgets.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,cAAc,CAAA;AAEzB,IAAA,WAAA,GAAA,GAAiB;;4GAFN,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCQY,gBAAgB,CAAA;AAE3B,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;8GALU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EARjB,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FAIU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACb,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCOU,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CARtB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAKhB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4GAGP,aAAa,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;AACjB,qBAAA;AACF,iBAAA,CAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -5,21 +5,11 @@ export declare const API: {
|
|
|
5
5
|
DEVICE_TYPES: string;
|
|
6
6
|
SITE_SETTINGS: string;
|
|
7
7
|
VM_USER_TEMPLATES: string;
|
|
8
|
-
EXISTING_USERS: string;
|
|
9
8
|
USER_TEMPLATES_UPLOAD_LIST: string;
|
|
10
9
|
USER_TEMPLATE_TOKEN: string;
|
|
11
|
-
AVAILABLE_DN_IN_RANGES: string;
|
|
12
|
-
USER_CHECK_ID_EXISTING: string;
|
|
13
|
-
LDAP_USERS: string;
|
|
14
|
-
USERS: string;
|
|
15
|
-
CREATE_NEW_USER_FROM_TEMPLATE: string;
|
|
16
|
-
DEVICE_DEFAULTS: string;
|
|
17
10
|
};
|
|
18
11
|
export declare const USER_CREATION_TYPES: {
|
|
19
12
|
CUCM: string;
|
|
20
13
|
MT: string;
|
|
21
14
|
};
|
|
22
15
|
export declare const MAX_INTEGER = 2147483647;
|
|
23
|
-
export declare const CUTTING_SYMBOLS: string[];
|
|
24
|
-
export declare const BREADCRUMB_LENGTH_LIMIT = 20;
|
|
25
|
-
export declare const DEFAULT_CUTTING_LENGTH = 15;
|
|
@@ -8,12 +8,8 @@ import * as i6 from "@angular/material/icon";
|
|
|
8
8
|
import * as i7 from "@angular/material/form-field";
|
|
9
9
|
import * as i8 from "@angular/material/input";
|
|
10
10
|
import * as i9 from "@angular/material/select";
|
|
11
|
-
import * as i10 from "@angular/material/autocomplete";
|
|
12
|
-
import * as i11 from "@angular/material/progress-spinner";
|
|
13
|
-
import * as i12 from "@angular/material/paginator";
|
|
14
|
-
import * as i13 from "@angular/material/chips";
|
|
15
11
|
export declare class MaterialModule {
|
|
16
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<MaterialModule, never>;
|
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialModule, never, [typeof i1.MatProgressBarModule, typeof i2.MatTooltipModule, typeof i3.MatTableModule, typeof i4.MatCheckboxModule, typeof i5.MatButtonModule, typeof i6.MatIconModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatSelectModule
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialModule, never, [typeof i1.MatProgressBarModule, typeof i2.MatTooltipModule, typeof i3.MatTableModule, typeof i4.MatCheckboxModule, typeof i5.MatButtonModule, typeof i6.MatIconModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatSelectModule], [typeof i1.MatProgressBarModule, typeof i2.MatTooltipModule, typeof i3.MatTableModule, typeof i4.MatCheckboxModule, typeof i5.MatButtonModule, typeof i6.MatIconModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatSelectModule]>;
|
|
18
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<MaterialModule>;
|
|
19
15
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
|
-
import { Site, SiteDefaults, SiteInterface } from "../../classes/site";
|
|
3
|
-
import { DeviceDefaultsInterface, UserTemplateInterface } from "../../interfaces/user-creation-wizard.interfaces";
|
|
2
|
+
import { Site, SiteDefaults, SiteInterface, UserTemplateInterface } from "../../classes/site";
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class UserCreationApiService {
|
|
6
5
|
private _allSites;
|
|
@@ -13,18 +12,13 @@ export declare class UserCreationApiService {
|
|
|
13
12
|
getSitesList(): void;
|
|
14
13
|
checkControlHubIntegration(customerId: string): Observable<any>;
|
|
15
14
|
getAllCustomerSites(customerId: string, onlySitesWithLocation?: boolean): Observable<Site[]>;
|
|
16
|
-
|
|
15
|
+
getSiteData(siteId: number): Observable<[SiteInterface, string[], SiteDefaults, void]>;
|
|
17
16
|
getSite(siteId: number, isEdit?: boolean): Observable<SiteInterface>;
|
|
18
17
|
getDeviceTypes(siteId: number | string): Observable<string[]>;
|
|
19
18
|
getSiteDefaults(siteId: number, directAccess: boolean, sharedLineSiteIds?: string): Observable<SiteDefaults>;
|
|
20
19
|
getVoiceMailUserTemplates(siteId: number): Observable<void>;
|
|
21
20
|
fetchAllUserTemplates(siteId: number): Observable<UserTemplateInterface[]>;
|
|
22
21
|
getUserTemplateToken(id: string, customerId: string): Observable<any>;
|
|
23
|
-
getAvailableDnInRanges(siteId: string, params: any): any;
|
|
24
|
-
getLdapUsers(siteId: string, params: any): Observable<any>;
|
|
25
|
-
checkUserIdExisting(siteId: string, userId: string): Observable<any>;
|
|
26
|
-
saveTemplateUser(user: any, templateId: string, siteId: string): Observable<any>;
|
|
27
|
-
getDeviceDefaults(siteId: string, deviceType: string): Observable<DeviceDefaultsInterface>;
|
|
28
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserCreationApiService, never>;
|
|
29
23
|
static ɵprov: i0.ɵɵInjectableDeclaration<UserCreationApiService>;
|
|
30
24
|
}
|
|
@@ -3,10 +3,8 @@ import * as i1 from "@angular/common";
|
|
|
3
3
|
import * as i2 from "./material.module";
|
|
4
4
|
import * as i3 from "ng-apexcharts";
|
|
5
5
|
import * as i4 from "@angular/common/http";
|
|
6
|
-
import * as i5 from "@angular/forms";
|
|
7
|
-
import * as i6 from "@angular/material/table";
|
|
8
6
|
export declare class SharedModule {
|
|
9
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.CommonModule, typeof i2.MaterialModule, typeof i3.NgApexchartsModule, typeof i4.HttpClientModule
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.CommonModule, typeof i2.MaterialModule, typeof i3.NgApexchartsModule, typeof i4.HttpClientModule], [typeof i2.MaterialModule]>;
|
|
11
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
|
|
12
10
|
}
|
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
import { HttpClient } from "@angular/common/http";
|
|
2
|
-
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
3
1
|
import * as i0 from "@angular/core";
|
|
4
2
|
import * as i1 from "./widgets/user-creation-wizard/user-creation-wizard.component";
|
|
5
3
|
import * as i2 from "./widgets/user-creation-wizard/components/user-template-step/user-template-step.component";
|
|
6
|
-
import * as i3 from "./
|
|
7
|
-
import * as i4 from "./widgets/user-creation-wizard/components/user-
|
|
8
|
-
import * as i5 from "
|
|
9
|
-
import * as i6 from "./
|
|
10
|
-
import * as i7 from "./shared/
|
|
11
|
-
import * as i8 from "@angular/
|
|
12
|
-
import * as i9 from "
|
|
13
|
-
import * as i10 from "
|
|
14
|
-
import * as i11 from "@angular/material/
|
|
15
|
-
import * as i12 from "@angular/material/expansion";
|
|
16
|
-
import * as i13 from "@angular/forms";
|
|
17
|
-
import * as i14 from "@angular/material/radio";
|
|
18
|
-
import * as i15 from "@ngx-translate/core";
|
|
19
|
-
export declare function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader;
|
|
4
|
+
import * as i3 from "./widgets/user-creation-wizard/components/user-details-step/user-details-step.component";
|
|
5
|
+
import * as i4 from "./widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component";
|
|
6
|
+
import * as i5 from "@angular/common";
|
|
7
|
+
import * as i6 from "./shared/shared.module";
|
|
8
|
+
import * as i7 from "./shared/material.module";
|
|
9
|
+
import * as i8 from "@angular/material/stepper";
|
|
10
|
+
import * as i9 from "@angular/material/expansion";
|
|
11
|
+
import * as i10 from "@angular/forms";
|
|
12
|
+
import * as i11 from "@angular/material/radio";
|
|
20
13
|
export declare class UserCreationModule {
|
|
21
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserCreationModule, never>;
|
|
22
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<UserCreationModule, [typeof i1.UserCreationWizardComponent, typeof i2.UserTemplateStepComponent, typeof i3.
|
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<UserCreationModule, [typeof i1.UserCreationWizardComponent, typeof i2.UserTemplateStepComponent, typeof i3.UserDetailsStepComponent, typeof i4.UserOverviewStepComponent], [typeof i5.CommonModule, typeof i6.SharedModule, typeof i7.MaterialModule, typeof i8.MatStepperModule, typeof i9.MatExpansionModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i11.MatRadioModule], [typeof i1.UserCreationWizardComponent]>;
|
|
23
16
|
static ɵinj: i0.ɵɵInjectorDeclaration<UserCreationModule>;
|
|
24
17
|
}
|
|
@@ -1,86 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
|
|
3
|
-
import { PageEvent } from '@angular/material/paginator';
|
|
4
|
-
import { LdapQueryType, ListUserInterface } from '../../../../interfaces/user-creation-wizard.interfaces';
|
|
5
|
-
import { UserCreationApiService } from '../../../../shared/services/user-creation-api.service';
|
|
6
|
-
import { UserCreationWizardService } from '../../user-creation-wizard.service';
|
|
1
|
+
import { LdapUserRow, UserCreationWizardService } from "../../user-creation-wizard.service";
|
|
7
2
|
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class UserDetailsStepComponent
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
userDetailsForm: FormGroup;
|
|
14
|
-
ldapSearchForm: FormGroup;
|
|
15
|
-
userIdCheckPending: boolean;
|
|
16
|
-
loadingAvailableNumbers: boolean;
|
|
17
|
-
ldapLoading: boolean;
|
|
18
|
-
ldapSearchAttempted: boolean;
|
|
19
|
-
readonly ldapPageSize = 10;
|
|
20
|
-
ldapPageIndex: number;
|
|
21
|
-
readonly ldapQueryTypeOptions: {
|
|
22
|
-
label: string;
|
|
23
|
-
value: LdapQueryType;
|
|
24
|
-
}[];
|
|
25
|
-
filteredAvailableNumbersByLine: string[][];
|
|
26
|
-
filteredRoutePartitionsByLine: string[][];
|
|
27
|
-
private readonly destroy$;
|
|
28
|
-
private readonly userIdAsyncValidator;
|
|
29
|
-
get linesFormArray(): FormArray;
|
|
30
|
-
get devicesFormArray(): FormArray;
|
|
31
|
-
get deviceProfilesFormArray(): FormArray;
|
|
32
|
-
get selectedLdapUser(): ListUserInterface | null;
|
|
33
|
-
get ldapTotalCount(): number;
|
|
34
|
-
get hasLdapUsers(): boolean;
|
|
35
|
-
constructor(fb: FormBuilder, userCreationApiService: UserCreationApiService, userCreationWizardService: UserCreationWizardService);
|
|
36
|
-
ngOnInit(): void;
|
|
37
|
-
ngOnDestroy(): void;
|
|
38
|
-
isStepValid(): boolean;
|
|
39
|
-
markAllAsTouched(): void;
|
|
40
|
-
syncToService(): void;
|
|
41
|
-
getLineGroup(index: number): FormGroup;
|
|
42
|
-
getDeviceGroup(index: number): FormGroup;
|
|
43
|
-
getDeviceProfileGroup(index: number): FormGroup;
|
|
44
|
-
getDeviceNamePrefix(index: number): string | null;
|
|
45
|
-
getDeviceProfileNamePrefix(index: number): string | null;
|
|
46
|
-
getDeviceNameValidationCaption(index: number): string;
|
|
47
|
-
getDeviceProfileNameValidationCaption(index: number): string;
|
|
48
|
-
getFilteredNumbers(lineIndex: number): string[];
|
|
49
|
-
getFilteredRoutePartitions(lineIndex: number): string[];
|
|
50
|
-
filterAvailableNumbers(lineIndex: number, event: Event): void;
|
|
51
|
-
filterRoutePartitions(lineIndex: number, event: Event): void;
|
|
52
|
-
onRoutePartitionSelected(lineIndex: number, routePartition: string): void;
|
|
53
|
-
onNumberSelected(lineIndex: number, number: string): void;
|
|
54
|
-
searchLdapUsers(pageIndex?: number): void;
|
|
55
|
-
onLdapPageChange(event: PageEvent): void;
|
|
56
|
-
onAddLdapUser(row: ListUserInterface): void;
|
|
57
|
-
onDeleteLdapUser(row: ListUserInterface): void;
|
|
58
|
-
onRemoveLdapTag(): void;
|
|
59
|
-
isLdapUserRowSelected(row: ListUserInterface): boolean;
|
|
60
|
-
private clearLdapSelection;
|
|
61
|
-
private applyLdapIntegratedFormState;
|
|
62
|
-
private restoreManualEntryFormState;
|
|
63
|
-
private setUserIdentityFieldsReadonly;
|
|
64
|
-
private toggleUserIdAsyncValidator;
|
|
65
|
-
private setupValidityEmitter;
|
|
66
|
-
private emitValidity;
|
|
67
|
-
private buildDynamicFormArrays;
|
|
68
|
-
private buildDeviceNameValidators;
|
|
69
|
-
private applyDeviceNameValidators;
|
|
70
|
-
private resetLdapSearchForm;
|
|
71
|
-
private patchUserFieldsFromSavedValue;
|
|
72
|
-
private patchUserFieldsFromService;
|
|
73
|
-
private setupLineListeners;
|
|
74
|
-
private initLineFilters;
|
|
75
|
-
private setupFormSync;
|
|
76
|
-
private fetchInitialAvailableNumbers;
|
|
77
|
-
private loadAvailableNumbersForLine;
|
|
78
|
-
private refreshNumberFilters;
|
|
79
|
-
private applyNumberFilter;
|
|
80
|
-
private applyRoutePartitionFilter;
|
|
81
|
-
private filterOptions;
|
|
82
|
-
private extractDirectoryNumber;
|
|
83
|
-
private createUserIdAsyncValidator;
|
|
3
|
+
export declare class UserDetailsStepComponent {
|
|
4
|
+
userCreationWizardService: UserCreationWizardService;
|
|
5
|
+
constructor(userCreationWizardService: UserCreationWizardService);
|
|
6
|
+
onAddUser(row: LdapUserRow): void;
|
|
7
|
+
getDeviceName(index: number): string;
|
|
84
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserDetailsStepComponent, never>;
|
|
85
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UserDetailsStepComponent, "tk-user-details-step", never, {}, {
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UserDetailsStepComponent, "tk-user-details-step", never, {}, {}, never, never, false, never>;
|
|
86
10
|
}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { EventEmitter } from "@angular/core";
|
|
2
1
|
import { UserCreationWizardService } from "../../user-creation-wizard.service";
|
|
3
2
|
import { FormBuilder, FormControl } from "@angular/forms";
|
|
4
3
|
import { UserCreationApiService } from "../../../../shared/services/user-creation-api.service";
|
|
5
|
-
import { Site } from "../../../../classes/site";
|
|
6
|
-
import { UserTemplateInterface } from "../../../../interfaces/user-creation-wizard.interfaces";
|
|
4
|
+
import { Site, UserTemplateInterface } from "../../../../classes/site";
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
export declare class UserTemplateStepComponent {
|
|
9
7
|
userCreationWizardService: UserCreationWizardService;
|
|
10
8
|
private readonly userCreationService;
|
|
11
9
|
private readonly fb;
|
|
12
10
|
customerId: number;
|
|
13
|
-
validityChange: EventEmitter<boolean>;
|
|
14
11
|
formGroup: import("@angular/forms").FormGroup<{
|
|
15
12
|
userType: FormControl<string | null>;
|
|
16
13
|
siteId: FormControl<null>;
|
|
@@ -21,15 +18,14 @@ export declare class UserTemplateStepComponent {
|
|
|
21
18
|
CUCM: string;
|
|
22
19
|
MT: string;
|
|
23
20
|
};
|
|
21
|
+
readonly defaultTemplateName = "User 8851 Office";
|
|
22
|
+
readonly fallbackTemplateId = "-1";
|
|
24
23
|
private readonly destroy$;
|
|
25
24
|
private sitesList;
|
|
26
25
|
readonly sitesList$: import("rxjs").Observable<Site[]>;
|
|
27
26
|
readonly templatesList$: import("rxjs").Observable<UserTemplateInterface[]>;
|
|
28
27
|
isTemplateSelectable: boolean;
|
|
29
28
|
templates: UserTemplateInterface[];
|
|
30
|
-
loadingSites: boolean;
|
|
31
|
-
loadingSiteData: boolean;
|
|
32
|
-
get isLoading(): boolean;
|
|
33
29
|
readonly templateToggleFormControl: FormControl<boolean | null>;
|
|
34
30
|
constructor(userCreationWizardService: UserCreationWizardService, userCreationService: UserCreationApiService, fb: FormBuilder);
|
|
35
31
|
ngOnInit(): void;
|
|
@@ -38,10 +34,7 @@ export declare class UserTemplateStepComponent {
|
|
|
38
34
|
private getSites;
|
|
39
35
|
isCUCM(site: Site): boolean;
|
|
40
36
|
getSelectedSiteName(): string;
|
|
41
|
-
getSelectedTemplateName(): string;
|
|
42
|
-
isStepValid(): boolean;
|
|
43
|
-
markStepTouched(): void;
|
|
44
37
|
ngOnDestroy(): void;
|
|
45
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserTemplateStepComponent, never>;
|
|
46
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UserTemplateStepComponent, "tk-user-template-step", never, { "customerId": "customerId"; }, {
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UserTemplateStepComponent, "tk-user-template-step", never, { "customerId": "customerId"; }, {}, never, never, false, never>;
|
|
47
40
|
}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { StepperSelectionEvent } from '@angular/cdk/stepper';
|
|
3
|
-
import { MatStepper } from '@angular/material/stepper';
|
|
4
|
-
import { NotificationService } from '../../shared/services/notification.service';
|
|
5
|
-
import { UserDetailsStepComponent } from './components/user-details-step/user-details-step.component';
|
|
6
|
-
import { UserTemplateStepComponent } from './components/user-template-step/user-template-step.component';
|
|
7
2
|
import * as i0 from "@angular/core";
|
|
8
|
-
export declare const USER_CREATED_SUCCESSFLLY = "User created successfully";
|
|
9
3
|
export declare class UserCreationWizardComponent implements OnInit, OnDestroy {
|
|
10
|
-
private notificationService;
|
|
11
4
|
private readonly apiService;
|
|
12
|
-
private readonly userCreationWizardService;
|
|
13
5
|
title: string;
|
|
14
6
|
host: string;
|
|
15
7
|
token: string;
|
|
@@ -18,20 +10,10 @@ export declare class UserCreationWizardComponent implements OnInit, OnDestroy {
|
|
|
18
10
|
submit: EventEmitter<void>;
|
|
19
11
|
isSubmitting: boolean;
|
|
20
12
|
private submitTimerId;
|
|
21
|
-
selectedIndex: number;
|
|
22
|
-
templateStepValid: boolean;
|
|
23
|
-
detailsStepValid: boolean;
|
|
24
|
-
templateStep?: UserTemplateStepComponent;
|
|
25
|
-
detailsStep?: UserDetailsStepComponent;
|
|
26
|
-
isLoading: boolean;
|
|
27
|
-
constructor(notificationService: NotificationService);
|
|
28
13
|
ngOnInit(): void;
|
|
29
14
|
onCancel(): void;
|
|
30
|
-
onStepSelectionChange(event: StepperSelectionEvent): void;
|
|
31
|
-
onStepperNext(stepper: MatStepper): void;
|
|
32
15
|
onSubmit(): void;
|
|
33
16
|
ngOnDestroy(): void;
|
|
34
|
-
private _saveChanges;
|
|
35
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserCreationWizardComponent, never>;
|
|
36
18
|
static ɵcmp: i0.ɵɵComponentDeclaration<UserCreationWizardComponent, "tk-user-creation-wizard", never, { "title": "title"; "host": "host"; "token": "token"; "customerId": "customerId"; }, { "cancel": "cancel"; "submit": "submit"; }, never, never, false, never>;
|
|
37
19
|
}
|
|
@@ -1,106 +1,91 @@
|
|
|
1
|
-
import { Observable } from "rxjs";
|
|
2
|
-
import { SiteDefaults } from "../../classes/site";
|
|
3
|
-
import { Site } from "../../classes/site";
|
|
4
|
-
import { DeviceEntry, EndUserInterface, LineOption, OverviewDeviceRow, OverviewLineRow, OverviewUserRow, SelectedLineRow, TemplateDeviceLike, TemplateEndUserLike, TemplateLineLike, UserCreationType, UserDetailsForm, UserDetailsFormValue, UserTemplateInterface, LineInterface, DeviceInterface, AvailableRangeInterface, ListUserInterface } from "../../interfaces/user-creation-wizard.interfaces";
|
|
5
1
|
import * as i0 from "@angular/core";
|
|
2
|
+
export interface LdapUserRow {
|
|
3
|
+
userId: string;
|
|
4
|
+
firstName: string;
|
|
5
|
+
lastName: string;
|
|
6
|
+
email: string;
|
|
7
|
+
}
|
|
8
|
+
export interface OverviewUserRow extends LdapUserRow {
|
|
9
|
+
userTemplate: string;
|
|
10
|
+
}
|
|
11
|
+
export interface OverviewLineRow {
|
|
12
|
+
number: string;
|
|
13
|
+
did: string;
|
|
14
|
+
routePartitionName: string;
|
|
15
|
+
css: string;
|
|
16
|
+
description: string;
|
|
17
|
+
}
|
|
18
|
+
export interface OverviewDeviceRow {
|
|
19
|
+
name: string;
|
|
20
|
+
deviceType: string;
|
|
21
|
+
lines: string;
|
|
22
|
+
description: string;
|
|
23
|
+
}
|
|
24
|
+
export type UserCreationType = 'CUCM' | 'MT';
|
|
25
|
+
export interface UserDetailsForm {
|
|
26
|
+
userId: string;
|
|
27
|
+
firstName: string;
|
|
28
|
+
lastName: string;
|
|
29
|
+
email: string;
|
|
30
|
+
}
|
|
31
|
+
export interface LineOption {
|
|
32
|
+
number: string;
|
|
33
|
+
did: string;
|
|
34
|
+
css: string;
|
|
35
|
+
description: string;
|
|
36
|
+
}
|
|
37
|
+
export interface SelectedLineRow {
|
|
38
|
+
lineNumber: string | null;
|
|
39
|
+
routePartitionName: string | null;
|
|
40
|
+
}
|
|
41
|
+
export interface DeviceEntry {
|
|
42
|
+
deviceType: string;
|
|
43
|
+
protocol: string;
|
|
44
|
+
buttonTemplate: string;
|
|
45
|
+
name: string;
|
|
46
|
+
}
|
|
6
47
|
export declare class UserCreationWizardService {
|
|
7
|
-
private readonly
|
|
48
|
+
private readonly api;
|
|
8
49
|
readonly ldapTableColumns: string[];
|
|
9
50
|
readonly userCreationTypes: UserCreationType[];
|
|
10
|
-
private template;
|
|
11
|
-
endUser: EndUserInterface | null;
|
|
12
|
-
lines: LineInterface[];
|
|
13
|
-
devices: DeviceInterface[];
|
|
14
|
-
deviceProfiles: DeviceInterface[];
|
|
15
|
-
private templateLinesSnapshot;
|
|
16
|
-
private _currentSite;
|
|
17
|
-
get currentSite(): Site | null;
|
|
18
51
|
siteOptions: string[];
|
|
19
52
|
templateOptions: string[];
|
|
20
53
|
lineOptions: LineOption[];
|
|
21
54
|
routePartitionOptions: string[];
|
|
22
55
|
deviceRows: number[];
|
|
23
|
-
ldapUsers:
|
|
56
|
+
ldapUsers: LdapUserRow[];
|
|
24
57
|
overviewUsers: OverviewUserRow[];
|
|
25
58
|
overviewLines: OverviewLineRow[];
|
|
26
59
|
overviewDevices: OverviewDeviceRow[];
|
|
27
|
-
overviewDeviceProfiles: OverviewDeviceRow[];
|
|
28
|
-
userDetailsFormValue: UserDetailsFormValue | null;
|
|
29
60
|
userDetailsForm: UserDetailsForm;
|
|
30
61
|
lineSelections: SelectedLineRow[];
|
|
31
62
|
deviceEntries: DeviceEntry[];
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
siteDefaults: SiteDefaults | null;
|
|
35
|
-
originalSiteDefaults: SiteDefaults | null;
|
|
36
|
-
templateLines: TemplateLineLike[];
|
|
37
|
-
templateDevices: TemplateDeviceLike[];
|
|
38
|
-
templateUserDetails: TemplateEndUserLike;
|
|
39
|
-
selectedSite: number | null;
|
|
40
|
-
selectedTemplateName: string | null;
|
|
41
|
-
selectedTemplateId: number | null;
|
|
63
|
+
selectedSite: string | null;
|
|
64
|
+
selectedTemplate: string | null;
|
|
42
65
|
selectedUserCreationType: UserCreationType;
|
|
43
|
-
|
|
44
|
-
private readonly deviceDefaultsLoadedSubject;
|
|
45
|
-
readonly deviceDefaultsLoaded$: Observable<void>;
|
|
46
|
-
get firstLineRoutePartition(): string;
|
|
47
|
-
get siteDefaultRoutePartition(): string;
|
|
48
|
-
get routePartitionNamesList(): string[];
|
|
49
|
-
selectedLdapUser: ListUserInterface | null;
|
|
50
|
-
ldapUsersTotal: number;
|
|
66
|
+
private readonly addedLdapUserIds;
|
|
51
67
|
constructor();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
setLdapUsersResult(users: ListUserInterface[], total: number): void;
|
|
57
|
-
setSelectedSite(site: number | null): void;
|
|
58
|
-
setSelectedTemplate(template?: UserTemplateInterface | undefined): void;
|
|
59
|
-
setCurrentSite(site: Site): void;
|
|
68
|
+
addLdapUser(row: LdapUserRow): void;
|
|
69
|
+
isLdapUserAdded(row: LdapUserRow): boolean;
|
|
70
|
+
setSelectedSite(site: string | null): void;
|
|
71
|
+
setSelectedTemplate(template: string | null): void;
|
|
60
72
|
resetTemplateDrivenData(): void;
|
|
61
|
-
applyTemplateTokenPayload(payload:
|
|
73
|
+
applyTemplateTokenPayload(payload: any): void;
|
|
62
74
|
setSelectedUserCreationType(type: UserCreationType): void;
|
|
63
|
-
resetUserDetailsStepState(): void;
|
|
64
|
-
private captureTemplateLinesSnapshot;
|
|
65
75
|
setUserDetailsField(field: keyof UserDetailsForm, value: string): void;
|
|
66
|
-
applyUserDetailsFormValue(formValue: UserDetailsFormValue): void;
|
|
67
76
|
setLineSelection(index: number, lineNumber: string | null): void;
|
|
68
77
|
setRoutePartitionSelection(index: number, routePartitionName: string | null): void;
|
|
69
78
|
setDeviceName(index: number, name: string): void;
|
|
70
79
|
getDeviceDisplayName(index: number): string;
|
|
71
|
-
|
|
72
|
-
loadDeviceDefaultsForDevices(siteId: number): Observable<void>;
|
|
73
|
-
private getUniqueDeviceTypes;
|
|
74
|
-
private applyDeviceDefaultsToType;
|
|
75
|
-
getDeviceNamePrefix(deviceIndex: number, isProfile?: boolean): string | null;
|
|
76
|
-
getDeviceNameValidationCaption(deviceIndex: number, isProfile?: boolean): string;
|
|
77
|
-
getDeviceNameValidationOptions(deviceIndex: number, isProfile?: boolean): {
|
|
78
|
-
regex: string;
|
|
79
|
-
caption: string;
|
|
80
|
-
} | null;
|
|
81
|
-
getNumberRange(siteId: string, routePartition: string): Observable<AvailableRangeInterface>;
|
|
80
|
+
loadPlaceholderData(): void;
|
|
82
81
|
private rebuildOverviewUsers;
|
|
83
82
|
private rebuildOverviewLines;
|
|
84
83
|
private rebuildOverviewDevices;
|
|
85
|
-
private rebuildOverviewDeviceProfiles;
|
|
86
84
|
private extractTemplateFromTokenPayload;
|
|
87
85
|
private uniqueByNumber;
|
|
88
86
|
private uniqueStrings;
|
|
89
87
|
private valueToString;
|
|
90
|
-
private getUnwrapNumberRange;
|
|
91
|
-
private unwrapNumberRange;
|
|
92
|
-
setAvailableDidMappedToDn(availableNumber: any): void;
|
|
93
88
|
loadDataFromApi(): void;
|
|
94
|
-
private initLineWithSiteInfo;
|
|
95
|
-
private setLineAssociationsForDevice;
|
|
96
|
-
private initDeviceWithSiteInfo;
|
|
97
|
-
private replaceDynamicValueSiteInfo;
|
|
98
|
-
private replaceDynamicValueFormat;
|
|
99
|
-
mutliStringReplace(object: any, input: string, directoryNumber?: string, user?: any): string;
|
|
100
|
-
private initTemplateDnsNamesForLines;
|
|
101
|
-
buildSavableEndUser(): EndUserInterface;
|
|
102
|
-
private resolveDeviceNameForSave;
|
|
103
|
-
saveNewUser(): Observable<any>;
|
|
104
89
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserCreationWizardService, never>;
|
|
105
90
|
static ɵprov: i0.ɵɵInjectableDeclaration<UserCreationWizardService>;
|
|
106
91
|
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { environment } from '../environments/environment';
|
|
2
|
-
const TTL_DEFAULT = environment.notificationsLifetime;
|
|
3
|
-
const TTL_LONG_DEFAULT = environment.longNotificationsLifetime;
|
|
4
|
-
export var NotificationType;
|
|
5
|
-
(function (NotificationType) {
|
|
6
|
-
NotificationType["info"] = "info";
|
|
7
|
-
NotificationType["error"] = "error";
|
|
8
|
-
NotificationType["success"] = "success";
|
|
9
|
-
NotificationType["warning"] = "warning";
|
|
10
|
-
})(NotificationType || (NotificationType = {}));
|
|
11
|
-
export class Notification {
|
|
12
|
-
constructor(data) {
|
|
13
|
-
this.ttl = TTL_DEFAULT;
|
|
14
|
-
Object.assign(this, data || {});
|
|
15
|
-
if (this.ttl === undefined) {
|
|
16
|
-
this.ttl = this.message && this.message.length && this.message.length < 80 ? TTL_DEFAULT : TTL_LONG_DEFAULT;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
isInfo() {
|
|
20
|
-
return this.type === NotificationType.info;
|
|
21
|
-
}
|
|
22
|
-
isError() {
|
|
23
|
-
return this.type === NotificationType.error;
|
|
24
|
-
}
|
|
25
|
-
isSuccess() {
|
|
26
|
-
return this.type === NotificationType.success;
|
|
27
|
-
}
|
|
28
|
-
isWarning() {
|
|
29
|
-
return this.type === NotificationType.warning;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL2NsYXNzZXMvbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMscUJBQXFCLENBQUM7QUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMseUJBQXlCLENBQUM7QUFFL0QsTUFBTSxDQUFOLElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUN4QixpQ0FBYSxDQUFBO0lBQ2IsbUNBQWUsQ0FBQTtJQUNmLHVDQUFtQixDQUFBO0lBQ25CLHVDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxPQUFPLFlBQVk7SUFPdkIsWUFBWSxJQUFTO1FBSHJCLFFBQUcsR0FBVyxXQUFXLENBQUM7UUFJeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhDLElBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM3RztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUNELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5cbmNvbnN0IFRUTF9ERUZBVUxUID0gZW52aXJvbm1lbnQubm90aWZpY2F0aW9uc0xpZmV0aW1lO1xuY29uc3QgVFRMX0xPTkdfREVGQVVMVCA9IGVudmlyb25tZW50LmxvbmdOb3RpZmljYXRpb25zTGlmZXRpbWU7XG5cbmV4cG9ydCBlbnVtIE5vdGlmaWNhdGlvblR5cGUge1xuICAgIGluZm8gPSAnaW5mbycsXG4gICAgZXJyb3IgPSAnZXJyb3InLFxuICAgIHN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gICAgd2FybmluZyA9ICd3YXJuaW5nJ1xufVxuXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uIHtcbiAgaWQ/OiBudW1iZXI7XG4gIHR5cGU/OiBOb3RpZmljYXRpb25UeXBlO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICB0dGw6IG51bWJlciA9IFRUTF9ERUZBVUxUO1xuICB0aW1lcklkPzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IGFueSkge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSB8fCB7fSk7XG5cbiAgICBpZih0aGlzLnR0bCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnR0bCA9IHRoaXMubWVzc2FnZSAmJiB0aGlzLm1lc3NhZ2UubGVuZ3RoICYmIHRoaXMubWVzc2FnZS5sZW5ndGggPCA4MCA/IFRUTF9ERUZBVUxUIDogVFRMX0xPTkdfREVGQVVMVDtcbiAgICB9XG4gIH1cblxuICBpc0luZm8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gTm90aWZpY2F0aW9uVHlwZS5pbmZvO1xuICB9XG4gIGlzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gTm90aWZpY2F0aW9uVHlwZS5lcnJvcjtcbiAgfVxuICBpc1N1Y2Nlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gTm90aWZpY2F0aW9uVHlwZS5zdWNjZXNzO1xuICB9XG4gIGlzV2FybmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBOb3RpZmljYXRpb25UeXBlLndhcm5pbmc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export const environment = {
|
|
2
|
-
production: false,
|
|
3
|
-
// apiUrl: 'http://localhost:4200',
|
|
4
|
-
apiUrl: 'http://192.168.0.191:8080',
|
|
5
|
-
notificationsLifetime: 30000,
|
|
6
|
-
longNotificationsLifetime: 45000,
|
|
7
|
-
cashCleanTimer: 900000,
|
|
8
|
-
cashArrayLength: 10000,
|
|
9
|
-
matomoUrl: 'http://192.168.0.136/matomo/',
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixVQUFVLEVBQUUsS0FBSztJQUNqQixtQ0FBbUM7SUFDbkMsTUFBTSxFQUFFLDJCQUEyQjtJQUNuQyxxQkFBcUIsRUFBRSxLQUFLO0lBQzVCLHlCQUF5QixFQUFFLEtBQUs7SUFDaEMsY0FBYyxFQUFFLE1BQU07SUFDdEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsU0FBUyxFQUFFLDhCQUE4QjtDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0ge1xuICBwcm9kdWN0aW9uOiBmYWxzZSxcbiAgLy8gYXBpVXJsOiAnaHR0cDovL2xvY2FsaG9zdDo0MjAwJyxcbiAgYXBpVXJsOiAnaHR0cDovLzE5Mi4xNjguMC4xOTE6ODA4MCcsXG4gIG5vdGlmaWNhdGlvbnNMaWZldGltZTogMzAwMDAsXG4gIGxvbmdOb3RpZmljYXRpb25zTGlmZXRpbWU6IDQ1MDAwLFxuICBjYXNoQ2xlYW5UaW1lcjogOTAwMDAwLFxuICBjYXNoQXJyYXlMZW5ndGg6IDEwMDAwLFxuICBtYXRvbW9Vcmw6ICdodHRwOi8vMTkyLjE2OC4wLjEzNi9tYXRvbW8vJyxcbn07XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export var DnRangeType;
|
|
2
|
-
(function (DnRangeType) {
|
|
3
|
-
DnRangeType["extension"] = "EXTENSION";
|
|
4
|
-
DnRangeType["cpg"] = "CPG";
|
|
5
|
-
DnRangeType["callpark"] = "CALLPARK";
|
|
6
|
-
DnRangeType["huntgroup"] = "HUNTGROUP";
|
|
7
|
-
DnRangeType["meetme"] = "MEETME";
|
|
8
|
-
DnRangeType["did"] = "DID";
|
|
9
|
-
})(DnRangeType || (DnRangeType = {}));
|
|
10
|
-
export var UserViewType;
|
|
11
|
-
(function (UserViewType) {
|
|
12
|
-
UserViewType[UserViewType["details"] = 0] = "details";
|
|
13
|
-
UserViewType[UserViewType["devices"] = 1] = "devices";
|
|
14
|
-
UserViewType[UserViewType["lines"] = 2] = "lines";
|
|
15
|
-
UserViewType[UserViewType["snr"] = 3] = "snr";
|
|
16
|
-
UserViewType[UserViewType["features"] = 4] = "features";
|
|
17
|
-
UserViewType[UserViewType["overview"] = 5] = "overview";
|
|
18
|
-
})(UserViewType || (UserViewType = {}));
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi13aXphcmQuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9pbnRlcmZhY2VzL3VzZXItY3JlYXRpb24td2l6YXJkLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNmVBLE1BQU0sQ0FBTixJQUFZLFdBT1g7QUFQRCxXQUFZLFdBQVc7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsMEJBQVcsQ0FBQTtJQUNYLG9DQUFxQixDQUFBO0lBQ3JCLHNDQUF1QixDQUFBO0lBQ3ZCLGdDQUFpQixDQUFBO0lBQ2pCLDBCQUFXLENBQUE7QUFDYixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEI7QUFzQkQsTUFBTSxDQUFOLElBQVksWUFPWDtBQVBELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gscURBQVcsQ0FBQTtJQUNYLGlEQUFTLENBQUE7SUFDVCw2Q0FBTyxDQUFBO0lBQ1AsdURBQVksQ0FBQTtJQUNaLHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBUFcsWUFBWSxLQUFaLFlBQVksUUFPdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIExkYXBVc2VyUm93IHtcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIExkYXBRdWVyeVR5cGUgPSAndXNlcklkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJztcblxuZXhwb3J0IGludGVyZmFjZSBPdmVydmlld1VzZXJSb3cgZXh0ZW5kcyBMZGFwVXNlclJvdyB7XG4gICAgdXNlclRlbXBsYXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcnZpZXdMaW5lUm93IHtcbiAgICBudW1iZXI6IHN0cmluZztcbiAgICBkaWQ6IHN0cmluZztcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZztcbiAgICBjc3M6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJ2aWV3RGV2aWNlUm93IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGV2aWNlVHlwZTogc3RyaW5nO1xuICAgIGxpbmVzOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVXNlckNyZWF0aW9uVHlwZSA9ICdDVUNNJyB8ICdNVCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNGb3JtIHtcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNMaW5lRm9ybVZhbHVlIHtcbiAgICBsaW5lTnVtYmVyOiBzdHJpbmc7XG4gICAgbnVtYmVyOiBzdHJpbmc7XG4gICAgcm91dGVQYXJ0aXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyRGV0YWlsc0RldmljZUZvcm1WYWx1ZSB7XG4gICAgZGV2aWNlVHlwZTogc3RyaW5nO1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgYnV0dG9uVGVtcGxhdGU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRldGFpbHNGb3JtVmFsdWUge1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBsaW5lczogVXNlckRldGFpbHNMaW5lRm9ybVZhbHVlW107XG4gICAgZGV2aWNlczogVXNlckRldGFpbHNEZXZpY2VGb3JtVmFsdWVbXTtcbiAgICBkZXZpY2VQcm9maWxlczogVXNlckRldGFpbHNEZXZpY2VGb3JtVmFsdWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5lT3B0aW9uIHtcbiAgICBudW1iZXI6IHN0cmluZztcbiAgICBkaWQ6IHN0cmluZztcbiAgICBjc3M6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGVkTGluZVJvdyB7XG4gICAgbGluZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlRW50cnkge1xuICAgIGRldmljZVR5cGU6IHN0cmluZztcbiAgICBwcm90b2NvbDogc3RyaW5nO1xuICAgIGJ1dHRvblRlbXBsYXRlOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlTGluZUxpa2Uge1xuICAgIGRpcmVjdG9yeU51bWJlcj86IHtcbiAgICAgICAgZGlyZWN0b3J5TnVtYmVyPzogc3RyaW5nO1xuICAgICAgICByb3V0ZVBhcnRpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB0ZW1wbGF0ZURpcmVjdG9yeU51bWJlcj86IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gICAgY2FsbGluZ1NlYXJjaFNwYWNlPzogc3RyaW5nIHwgeyBuYW1lPzogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbDtcbiAgICBkaWRQYXR0ZXJucz86IEFycmF5PHsgcGF0dGVybj86IHN0cmluZyB8IG51bGwgfT4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlRGV2aWNlTGlrZSB7XG4gICAgZGV2aWNlVHlwZT86IHN0cmluZyB8IG51bGw7XG4gICAgcHJvdG9jb2w/OiBzdHJpbmcgfCBudWxsO1xuICAgIGJ1dHRvblRlbXBsYXRlPzogc3RyaW5nIHwgbnVsbDtcbiAgICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgICBsaW5lQXNzb2NpYXRpb25zPzogQXJyYXk8e1xuICAgICAgICBkaXJlY3RvcnlOdW1iZXI/OiB7XG4gICAgICAgICAgICBkaXJlY3RvcnlOdW1iZXI/OiBzdHJpbmc7XG4gICAgICAgICAgICByb3V0ZVBhcnRpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgdGVtcGxhdGVEaXJlY3RvcnlOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB9IHwgbnVsbDtcbiAgICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZUVuZFVzZXJMaWtlIHtcbiAgICB1c2VyaWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGZpcnN0TmFtZT86IHN0cmluZyB8IG51bGw7XG4gICAgbGFzdE5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgIGVtYWlsPzogc3RyaW5nIHwgbnVsbDtcbiAgICBsaW5lcz86IFRlbXBsYXRlTGluZUxpa2VbXSB8IG51bGw7XG4gICAgZGV2aWNlcz86IFRlbXBsYXRlRGV2aWNlTGlrZVtdIHwgbnVsbDtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUZW1wbGF0ZUludGVyZmFjZSB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY3JlYXRlT3JVcGxvYWQ6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJUZW1wbGF0ZVNldHRpbmdzOiBVc2VyVGVtcGxhdGVTZXR0aW5nW107XG4gIGN1c3RvbWVySWQ6IG51bWJlcjtcbiAgdXNlclJlcXVpcmVkRmllbGRzOiBzdHJpbmdbXTtcbiAgZGV2aWNlUmVxdWlyZWRGaWVsZHM6IHN0cmluZ1tdO1xuICB1ZHBSZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIGxpbmVSZXF1aXJlZEZpZWxkczogc3RyaW5nW107XG4gIGVuZFVzZXI6IEVuZFVzZXJJbnRlcmZhY2U7XG4gIHR5cGU6IHN0cmluZztcbiAgZ2xvYmFsVGVtcGxhdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclRlbXBsYXRlU2V0dGluZyB7XG4gIC8vIEFkZCBmaWVsZHMgaWYgbmVlZGVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5kVXNlckludGVyZmFjZSB7XG4gIHVzZXJpZDogc3RyaW5nIHwgbnVsbDtcbiAgZW1haWw6IHN0cmluZyB8IG51bGw7XG4gIGZpcnN0TmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRvbWFpbjogc3RyaW5nIHwgbnVsbDtcbiAgY3VzdG9tZXJJZDogbnVtYmVyIHwgbnVsbDtcbiAgZGVwYXJ0bWVudDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlclByb2ZpbGU6IHN0cmluZyB8IG51bGw7XG4gIG1hbmFnZXI6IHN0cmluZyB8IG51bGw7XG4gIGVuYWJsZU1vYmlsZVZvaWNlQWNjZXNzOiBib29sZWFuIHwgbnVsbDtcbiAgYXNzb2NpYXRlZFBjOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyTG9jYWxlOiBzdHJpbmcgfCBudWxsO1xuICBkaWdlc3RDcmVkZW50aWFsczogc3RyaW5nIHwgbnVsbDtcbiAgbWlkZGxlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdGl0bGU6IHN0cmluZyB8IG51bGw7XG4gIHRlbGVwaG9uZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgaG9tZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgbW9iaWxlTnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICBwYWdlck51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgZGlzcGxheU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeVVyaTogc3RyaW5nIHwgbnVsbDtcbiAgcHJlc2VuY2VHcm91cDogc3RyaW5nIHwgbnVsbDtcbiAgc3Vic2NyaWJlQ3NzOiBzdHJpbmcgfCBudWxsO1xuICBhbGxvd0RldmljZUNvbnRyb2xGcm9tQ3RpOiBib29sZWFuIHwgbnVsbDtcbiAgZW5hYmxlQ3Jvc3NDbHVzdGVyRW06IGJvb2xlYW4gfCBudWxsO1xuICBtbHBwVXNlcklkTnVtYmVyOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwUHJlY2VkZW5jZVBhdHRlcm46IHN0cmluZyB8IG51bGw7XG4gIGNyZWF0ZVVzZXJNb2RlOiBib29sZWFuO1xuICBlbmFibGVNb2JpbGl0eTogYm9vbGVhbiB8IG51bGw7XG4gIGRldmljZXM6IERldmljZUludGVyZmFjZVtdO1xuICBkZXZpY2VQcm9maWxlczogRGV2aWNlSW50ZXJmYWNlW107XG4gIGxpbmVzOiBMaW5lSW50ZXJmYWNlW107XG4gIHNpbmdsZU51bWJlclJlYWNoPzoge1xuICAgIGFzc29jaWF0ZWRMaW5lcz86IExpbmVJbnRlcmZhY2VbXSB8IG51bGw7XG4gICAgcmVtb3RlRGVzdGluYXRpb25zPzoge1xuICAgICAgbGluZUFzc29jaWF0aW9ucz86IExpbmVJbnRlcmZhY2VbXSB8IG51bGw7XG4gICAgfVtdIHwgbnVsbDtcbiAgICByZW1vdGVEZXN0aW5hdGlvblByb2ZpbGVOYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgfSB8IG51bGw7XG4gIHByaW1hcnlMaW5lUmVmZXJlbmNlOiB1bmtub3duIHwgbnVsbDtcbiAgdm9pY2VtYWlsOiB1bmtub3duIHwgbnVsbDtcbiAgZmVhdHVyZXM6IEZlYXR1cmVbXTtcbiAgbWlncmF0aW9uVm1VbmNoYW5nZWQ6IGJvb2xlYW4gfCBudWxsO1xuICBtaWdyYXRpb25JbVBVbmNoYW5nZWQ6IGJvb2xlYW4gfCBudWxsO1xuICB1Y1NlcnZpY2VQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICB0ZWxlY29tTWFuYWdlclJ1bGU6IGJvb2xlYW47XG4gIHVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZXM6IFVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZVtdO1xuICBsZGFwSW50ZWdyYXRlZD86IGJvb2xlYW4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGxJbmZvRGlzcGxheSB7XG4gIGNhbGxlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICBjYWxsZXJOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICByZWRpcmVjdGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbiAgZGlhbGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWRQYXR0ZXJuIHtcbiAgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s/OiBzdHJpbmcgfCBudWxsO1xuICBwYXR0ZXJuPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm90b2NvbFNwZWNpZmljRGVmYXVsdHMge1xuICBidXR0b25UZW1wbGF0ZXM6IHN0cmluZ1tdO1xuICBzZWN1cml0eVByb2ZpbGVzOiBzdHJpbmdbXTtcbiAgc3VwcG9ydGVkRXhwYW5zaW9uTW9kdWxlczogc3RyaW5nW107XG4gIHN1cHBvcnRzU29mdGtleVRlbXBsYXRlczogYm9vbGVhbjtcbiAgc3VwcG9ydHNCTEY6IGJvb2xlYW47XG4gIHN1cHBvcnRzRU06IGJvb2xlYW47XG4gIHN1cHBvcnRzTXVsdGlwbGVDYWxsRGlzcGxheTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VEZWZhdWx0c0ludGVyZmFjZSB7XG4gIGRldmljZVR5cGU6IHN0cmluZztcbiAgZGV2aWNlTmFtZVJlZ2V4OiBzdHJpbmc7XG4gIGRldmljZU5hbWVFeHBsYWluZWQ6IHN0cmluZztcbiAgbmV0d29ya0xvY2FsZXM6IHN0cmluZ1tdO1xuICBwcm90b2NvbFByb3RvY29sU3BlY2lmaWNEZWZhdWx0OiBSZWNvcmQ8c3RyaW5nLCBQcm90b2NvbFNwZWNpZmljRGVmYXVsdHM+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUludGVyZmFjZSB7XG4gIGRldmljZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIHByb3RvY29sOiBzdHJpbmcgfCBudWxsO1xuICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICBuZXdOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBwcmVmaXg6IHN0cmluZyB8IG51bGw7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcbiAgYnV0dG9uVGVtcGxhdGU6IHN0cmluZyB8IG51bGw7XG4gIGxvY2F0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBkZXZpY2VQb29sTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgc29mdGtleVRlbXBsYXRlOiBzdHJpbmcgfCBudWxsO1xuICBlbnRpdHlDaGFuZ2VUeXBlOiBzdHJpbmcgfCBudWxsO1xuICBjcmVhdGVEZXZpY2VNb2RlPzogYm9vbGVhbjtcbiAgY2FsbGluZ1NlYXJjaFNwYWNlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgY29tbW9uUGhvbmVDb25maWdOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBzZWN1cml0eVByb2ZpbGU6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJMb2NhbGU6IHN0cmluZyB8IG51bGw7XG4gIG5ldHdvcmtMb2NhbGU6IHN0cmluZyB8IG51bGw7XG4gIGVuYWJsZWRFeHRlbnNpb25Nb2JpbGl0eTogYm9vbGVhbiB8IG51bGw7XG4gIGZpcnN0RXhwYW5zaW9uTW9kdWxlOiBzdHJpbmcgfCBudWxsO1xuICBzZWNvbmRFeHBhbnNpb25Nb2R1bGU6IHN0cmluZyB8IG51bGw7XG4gIHdpdGhVZHA6IGJvb2xlYW47XG4gIGxpbmVBc3NvY2lhdGlvbnM6IExpbmVBc3NvY2lhdGlvbltdO1xuICBzaXBQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICBzdWJzY3JpYmVDYWxsaW5nU2VhcmNoU3BhY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBleHRyYU9wdGlvbnM6IERldmljZUV4dHJhT3B0aW9ucztcbiAgdXNlckRldmljZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIGJ1aWx0SW5CcmlkZ2U6IHN0cmluZyB8IG51bGw7XG4gIHNlcnZpY2VzOiBTZXJ2aWNlW107XG4gIHNwZWVkRGlhbHM6IFNwZWVkRGlhbFtdO1xuICBidXN5TGFtcEZpZWxkczogQnVzeUxhbXBGaWVsZFtdO1xuICB3ZWJleFVVSUQ6IHN0cmluZyB8IG51bGw7XG4gIHBraWQ6IHN0cmluZyB8IG51bGw7XG4gIGRldmljZURlZmF1bHRzPzogRGV2aWNlRGVmYXVsdHNJbnRlcmZhY2UgfCBudWxsO1xuICBuYW1lVmFsaWRhdGlvblJlZ2V4Pzogc3RyaW5nIHwgbnVsbDtcbiAgbmFtZVZhbGlkYXRpb25DYXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5lQXNzb2NpYXRpb24ge1xuICBsaW5lUGtpZDogc3RyaW5nIHwgbnVsbDtcbiAgaW5kZXg6IG51bWJlcjtcbiAgcG9zaXRpb246IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeU51bWJlcjogRGlyZWN0b3J5TnVtYmVyO1xuICBlMTY0TWFzazogc3RyaW5nIHwgbnVsbDtcbiAgdGV4dExhYmVsOiBzdHJpbmcgfCBudWxsO1xuICBkaXNwbGF5TGFiZWw6IHN0cmluZyB8IG51bGw7XG4gIGRpc3BsYXlMYWJlbEFzY2lpOiBzdHJpbmcgfCBudWxsO1xuICBtYXhOdW1iZXJPZkNhbGxzOiBudW1iZXIgfCBudWxsO1xuICBidXN5VHJpZ2dlcjogbnVtYmVyIHwgbnVsbDtcbiAgcmVjb3JkaW5nT3B0aW9uOiBzdHJpbmcgfCBudWxsO1xuICByZWNvcmRpbmdQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICByZWNvcmRpbmdNZWRpYVNvdXJjZTogc3RyaW5nIHwgbnVsbDtcbiAgdmlzdWFsTVdJOiBib29sZWFuIHwgbnVsbDtcbiAgYXVkaWJsZU1XSTogYm9vbGVhbiB8IG51bGw7XG4gIHJpbmdTZXR0aW5nX2lkbGU6IHN0cmluZyB8IG51bGw7XG4gIHJpbmdTZXR0aW5nX2FjdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgcGlja3VwQUFTX2lkbGU6IHN0cmluZyB8IG51bGw7XG4gIHBpY2t1cEFBU19hY3RpdmU6IHN0cmluZyB8IG51bGw7XG4gIG1vbml0b3JDU1M6IHN0cmluZyB8IG51bGw7XG4gIGxvZ01pc3NlZENhbGw6IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsO1xuICBjYWxsSW5mb0Rpc3BsYXk6IENhbGxJbmZvRGlzcGxheSB8IHN0cmluZyB8IG51bGw7XG4gIGxpbmVMb2NhbElkOiBzdHJpbmc7XG4gIGRpZFBhdHRlcm46IERpZFBhdHRlcm4gfCBzdHJpbmcgfCBudWxsO1xuICBlbnRpdHlDaGFuZ2VUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgc2hhcmVkRGV2aWNlczogU2hhcmVkRGV2aWNlW107XG4gIHNoYXJlZFVzZXJzOiBTaGFyZWRVc2VyW107XG4gIG93bmVyVXNlcklkOiBzdHJpbmdbXTtcbiAgYXNzb2NpYXRlZDogYm9vbGVhbjtcbiAgcGF0dGVyblVzYWdlOiBzdHJpbmcgfCBudWxsO1xuICBhbGVydGluZ05hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBvcHVsYXRlV2l0aERpZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RvcnlOdW1iZXIge1xuICAvLyBkaXJlY3RvcnlOdW1iZXI6IHN0cmluZyB8IG51bGw7XG4gIC8vIHJvdXRlUGFydGl0aW9uTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgLy8gcGtpZDogc3RyaW5nIHwgbnVsbDtcbiAgLy8gZG5UeXBlOiBzdHJpbmcgfCBudWxsO1xuICAvLyBzdWJUeXBlOiBzdHJpbmcgfCBudWxsO1xuXG4gIGRpcmVjdG9yeU51bWJlcjogc3RyaW5nO1xuICB0ZW1wbGF0ZURpcmVjdG9yeU51bWJlcj86IHN0cmluZztcbiAgcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmc7XG4gIHBraWQ/OiBzdHJpbmcgfCBudWxsO1xuICBkblR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBzdWJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgZGlzcGxheVZhbHVlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUV4dHJhT3B0aW9ucyB7XG4gIG1lZGlhUmVzb3VyY2VHcm91cExpc3Q6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VJZDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlckhvbGRNT0hBdWRpb1NvdXJjZU5hbWU6IHN0cmluZyB8IG51bGw7XG4gIG5ldHdvcmtNT0hBdWRpb1NvdXJjZUlkOiBzdHJpbmcgfCBudWxsO1xuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBhYXJDc3M6IHN0cmluZyB8IG51bGw7XG4gIGFhckdyb3VwOiBzdHJpbmcgfCBudWxsO1xuICBwcml2YWN5OiBzdHJpbmcgfCBudWxsO1xuICBkZXZpY2VNb2JpbGl0eU1vZGU6IHN0cmluZyB8IG51bGw7XG4gIG1vYmlsaXR5VXNlcklkOiBzdHJpbmcgfCBudWxsO1xuICBwaG9uZVBlcnNvbmFsaXphdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgc2VydmljZXNQcm92aXNpb25pbmc6IHN0cmluZyB8IG51bGw7XG4gIHBob25lTG9hZE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIHBob25lSWRsZUJMRkFsZXJ0U2V0dGluZzogc3RyaW5nIHwgbnVsbDtcbiAgcGhvbmVCdXN5QkxGQWxlcnRTZXR0aW5nOiBzdHJpbmcgfCBudWxsO1xuICB1c2VUcnVzdGVkUmVsYXlQb2ludDogYm9vbGVhbiB8IG51bGw7XG4gIGFsd2F5c1VzZVByaW1lTGluZTogYm9vbGVhbiB8IG51bGw7XG4gIGFsd2F5c1VzZVByaW1lTGluZUZvclZvaWNlTWVzc2FnZTogYm9vbGVhbiB8IG51bGw7XG4gIGdlb2xvY2F0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBpZ25vcmVQcmVzZW50YXRpb25JbmRpY2F0b3JzOiBib29sZWFuIHwgbnVsbDtcbiAgbG9nZ2VkSW50b0h1bnRHcm91cDogYm9vbGVhbiB8IG51bGw7XG4gIGVuYWJsZWRFeHRlbnNpb25Nb2JpbGl0eTogYm9vbGVhbiB8IG51bGw7XG4gIHJlbW90ZURldmljZTogc3RyaW5nIHwgbnVsbDtcbiAgcHJvdGVjdGVkRGV2aWNlOiBib29sZWFuIHwgbnVsbDtcbiAgaG90bGluZURldmljZTogYm9vbGVhbjtcbiAgY29tbW9uRGV2aWNlQ29uZmlnTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdXNlRGV2aWNlUG9vbENncG5JbmdyZXNzRE46IGJvb2xlYW4gfCBudWxsO1xuICBjZ3BuSW5ncmVzc0ROOiBzdHJpbmcgfCBudWxsO1xuICB1c2VEZXZpY2VQb29sQ2dwblRyYW5zZm9ybUNzczogYm9vbGVhbiB8IG51bGw7XG4gIGNncG5UcmFuc2Zvcm1hdGlvbkNzczogc3RyaW5nIHwgbnVsbDtcbiAgcGFja2V0Q2FwdHVyZU1vZGU6IHN0cmluZyB8IG51bGw7XG4gIHBhY2tldENhcHR1cmVEdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgYmxmUHJlc2VuY2VHcm91cDogc3RyaW5nIHwgbnVsbDtcbiAgc2lwRGlhbFJ1bGVzOiBzdHJpbmcgfCBudWxsO1xuICBtdHBQcmVmZXJyZWRPcmlnaW5hdGluZ0NvZGVjOiBzdHJpbmcgfCBudWxsO1xuICByZXJvdXRlQ3NzOiBzdHJpbmcgfCBudWxsO1xuICBzdWJzY3JpYmVDc3M6IHN0cmluZyB8IG51bGw7XG4gIGRpZ2VzdFVzZXI6IHN0cmluZyB8IG51bGw7XG4gIG10cFJlcXVpcmVkOiBib29sZWFuIHwgbnVsbDtcbiAgdW5hdHRlbmRlZFBvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICByZXF1aXJlRHRtZlJlY2VwdGlvbjogYm9vbGVhbiB8IG51bGw7XG4gIGluZm9ybWF0aW9uVXJsOiBzdHJpbmcgfCBudWxsO1xuICBkaXJlY3RvcnlVcmw6IHN0cmluZyB8IG51bGw7XG4gIG1lc3NhZ2VzVXJsOiBzdHJpbmcgfCBudWxsO1xuICBzZXJ2aWNlc1VybDogc3RyaW5nIHwgbnVsbDtcbiAgYXV0aGVudGljYXRpb25Vcmw6IHN0cmluZyB8IG51bGw7XG4gIHByb3h5U2VydmVyVXJsOiBzdHJpbmcgfCBudWxsO1xuICBpZGxlVXJsOiBzdHJpbmcgfCBudWxsO1xuICBpZGxlVGltZW91dDogbnVtYmVyIHwgbnVsbDtcbiAgc2VjdXJlQXV0aGVudGljYXRpb25Vcmw6IHN0cmluZyB8IG51bGw7XG4gIHNlY3VyZURpcmVjdG9yeVVybDogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJlSWRsZVVybDogc3RyaW5nIHwgbnVsbDtcbiAgc2VjdXJlSW5mb3JtYXRpb25Vcmw6IHN0cmluZyB8IG51bGw7XG4gIHNlY3VyZU1lc3NhZ2VVcmw6IHN0cmluZyB8IG51bGw7XG4gIHNlY3VyZVNlcnZpY2VzVXJsOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwRG9tYWluOiBzdHJpbmcgfCBudWxsO1xuICBtbHBwSW5kaWNhdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbWxwcFByZWVtcHRpb246IHN0cmluZyB8IG51bGw7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc01vZGU6IHN0cmluZyB8IG51bGw7XG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsOiBzdHJpbmcgfCBudWxsO1xuICBjb25maWRlbnRpYWxBY2Nlc3NMZXZlbE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGRvTm90RGlzdHVyYjogYm9vbGVhbiB8IG51bGw7XG4gIGRuZE9wdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgZG5kSW5jb21pbmdDYWxsQWxlcnQ6IHN0cmluZyB8IG51bGw7XG4gIGRpc2FibGVTcGVha2VycGhvbmU6IGJvb2xlYW4gfCBudWxsO1xuICBkaXNhYmxlU3BlYWtlcnBob25lQW5kSGVhZHNldDogYm9vbGVhbiB8IG51bGw7XG4gIGZvcndhcmRpbmdEZWxheTogbnVtYmVyIHwgbnVsbDtcbiAgcGNQb3J0OiBib29sZWFuIHwgbnVsbDtcbiAgc2V0dGluZ3NBY2Nlc3M6IHN0cmluZyB8IG51bGw7XG4gIGdyYXR1aXRvdXNBUlA6IGJvb2xlYW4gfCBudWxsO1xuICBwY1ZvaWNlVmxhbkFjY2Vzczogc3RyaW5nIHwgbnVsbDtcbiAgdmlkZW9DYXBhYmlsaXRpZXM6IHN0cmluZyB8IG51bGw7XG4gIHdlYkFjY2VzczogYm9vbGVhbiB8IG51bGw7XG4gIGRheXNEaXNwbGF5Tm90QWN0aXZlOiBudW1iZXIgfCBudWxsO1xuICBkaXNwbGF5T25UaW1lOiBzdHJpbmcgfCBudWxsO1xuICBkaXNwbGF5T25EdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgZGlzcGxheUlkbGVUaW1lb3V0OiBudW1iZXIgfCBudWxsO1xuICB3aXJlbGVzc0hlYWRzZXRIb29rc3dpdGNoQ29udHJvbDogYm9vbGVhbiB8IG51bGw7XG4gIG1pblJpbmdWb2x1bWU6IG51bWJlciB8IG51bGw7XG4gIHNob3dBbGxDYWxsc09uUEw6IGJvb2xlYW4gfCBudWxsO1xuICBsaW5lTW9kZTogc3RyaW5nIHwgbnVsbDtcbiAgbGF0ZW50Q2FwYWJpbGl0eVJlZ2lzdHJhdGlvbjogYm9vbGVhbiB8IG51bGw7XG4gIGFjdGlvbmFibGVBbGVydDogYm9vbGVhbiB8IG51bGw7XG4gIHJldmVydFRvQWxsQ2FsbHM6IGJvb2xlYW4gfCBudWxsO1xuICB3aWRlYmFuZEhlYWRzZXRVSUNvbnRyb2w6IGJvb2xlYW4gfCBudWxsO1xuICB3aWRlYmFuZEhlYWRzZXQ6IGJvb2xlYW4gfCBudWxsO1xuICBhdXRoZW50aWNhdGlvbjgwMjogYm9vbGVhbiB8IG51bGw7XG4gIHNwYW5Ub1BjUG9ydDogYm9vbGVhbiB8IG51bGw7XG4gIGhlYWRzZXRNb25pdG9yOiBib29sZWFuIHwgbnVsbDtcbiAgaGVhZHNldFJlY29yZGluZzogYm9vbGVhbiB8IG51bGw7XG4gIHVwZGF0ZWRGaWVsZHM6IHN0cmluZ1tdO1xuICBlbmFibGVDZHBTd1BvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICBlbmFibGVDZHBQY1BvcnQ6IGJvb2xlYW4gfCBudWxsO1xuICBlbmFibGVMbGRwUGNQb3J0OiBib29sZWFuIHwgbnVsbDtcbiAgZGVmYXVsdFdhbGxwYXBlckZpbGU6IHN0cmluZyB8IG51bGw7XG4gIGFuYWxvZ0dhdGV3YXlQb3J0SW5mb3JtYXRpb246IHN0cmluZyB8IG51bGw7XG4gIGxvYWRTZXJ2ZXI6IHN0cmluZyB8IG51bGw7XG4gIHBlZXJGaXJtd2FyZVNoYXJpbmc6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZUludGVyZmFjZSB7XG4gIGRpcmVjdG9yeU51bWJlcjogRGlyZWN0b3J5TnVtYmVyO1xuICBjYWxsaW5nU2VhcmNoU3BhY2U6IHN0cmluZyB8IG51bGw7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBsb2NhbElkOiBzdHJpbmc7XG4gIGVudGl0eUNoYW5nZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIGFsZXJ0aW5nTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgYXNjaWlBbGVydGluZ05hbWU6IHN0cmluZyB8IG51bGw7XG4gIGNhbGxGb3J3YXJkQWxsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmRBbGxTZWNvbmRhcnlDU1M6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZEJ1c3lJbnRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkQnVzeUV4dGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmROb0Fuc3dlckludGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmROb0Fuc3dlckV4dGVybmFsOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmROb0NvdmVyYWdlSW50ZXJuYWw6IENhbGxGb3J3YXJkO1xuICBjYWxsRm9yd2FyZE5vQ292ZXJhZ2VFeHRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkT25DVElGYWlsdXJlOiBDYWxsRm9yd2FyZDtcbiAgY2FsbEZvcndhcmRVbnJlZ2lzdGVyZWRJbnRlcm5hbDogQ2FsbEZvcndhcmQ7XG4gIGNhbGxGb3J3YXJkVW5yZWdpc3RlcmVkRXh0ZXJuYWw6IENhbGxGb3J3YXJkO1xuICB2b2ljZU1haWxQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xuICBub0Fuc3dlclJpbmdEdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgYXV0b0Fuc3dlcjogc3RyaW5nIHwgbnVsbDtcbiAgY2FsbFBpY2t1cEdyb3VwOiBzdHJpbmcgfCBudWxsO1xuICBhYXJTZXR0aW5nczogQWFyU2V0dGluZ3M7XG4gIHBhcmtNb25pdG9yaW5nSW50ZXJuYWw6IHN0cmluZyB8IG51bGw7XG4gIHBhcmtNb25pdG9yaW5nRXh0ZXJuYWw6IHN0cmluZyB8IG51bGw7XG4gIHVyZ2VudFByaW9yaXR5OiBzdHJpbmcgfCBudWxsO1xuICBibGZQcmVzZW5jZUdyb3VwOiBzdHJpbmcgfCBudWxsO1xuICB1c2VySG9sZE1PSEF1ZGlvU291cmNlSWQ6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJIb2xkTU9IQXVkaW9Tb3VyY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBuZXR3b3JrTU9IQXVkaW9Tb3VyY2VJZDogc3RyaW5nIHwgbnVsbDtcbiAgbmV0d29ya01PSEF1ZGlvU291cmNlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcmVqZWN0QW5vbnltb3VzQ2FsbDogYm9vbGVhbiB8IG51bGw7XG4gIGVudGVycHJpc2VBbHROdW06IHN0cmluZyB8IG51bGw7XG4gIGUxNjRBbHROdW06IHN0cmluZyB8IG51bGw7XG4gIGRpcmVjdG9yeVVyaXM6IHN0cmluZ1tdO1xuICBjYWxsRm9yd2FyZEFsdGVybmF0ZVBhcnR5OiBDYWxsRm9yd2FyZDtcbiAgbWxwcE5vQW5zd2VyUmluZ0R1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xuICBjb25maWRlbnRpYWxBY2Nlc3NNb2RlOiBzdHJpbmcgfCBudWxsO1xuICBjb25maWRlbnRpYWxBY2Nlc3NMZXZlbDogc3RyaW5nIHwgbnVsbDtcbiAgY29uZmlkZW50aWFsQWNjZXNzTGV2ZWxOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBjYWxsQ29udHJvbEFnZW50UHJvZmlsZTogc3RyaW5nIHwgbnVsbDtcbiAgaG9sZFJldmVyc2lvblJpbmdEdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgaG9sZFJldmVyc2lvbk5vdGlmaWNhdGlvbkludGVydmFsOiBudW1iZXIgfCBudWxsO1xuICBwYXJ0eUVudHJhbmNlVG9uZTogc3RyaW5nIHwgbnVsbDtcbiAgcHN0bkZhaWxvdmVyOiBzdHJpbmcgfCBudWxsO1xuICBuZXdUb1VzZXI6IGJvb2xlYW4gfCBudWxsO1xuICBkaWRQYXR0ZXJuczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbEZvcndhcmQge1xuICBmb3J3YXJkVG9Wb2ljZU1haWw6IGJvb2xlYW4gfCBudWxsO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgY2FsbGluZ1NlYXJjaFNwYWNlOiBzdHJpbmcgfCBudWxsO1xuICBkdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBYXJTZXR0aW5ncyB7XG4gIGFhckRlc3RpbmF0aW9uTWFzazogc3RyaW5nIHwgbnVsbDtcbiAgYWFyR3JvdXA6IHN0cmluZyB8IG51bGw7XG4gIGFhclZvaWNlTWFpbEVuYWJsZWQ6IGJvb2xlYW4gfCBudWxsO1xuICBhYXJLZWVwQ2FsbEhpc3Rvcnk6IGJvb2xlYW4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZVByb2ZpbGUge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmUge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUZW1wbGF0ZVVkcERldmljZVR5cGVzUnVsZSB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkRGV2aWNlIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRVc2VyIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlIHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcGVlZERpYWwge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1c3lMYW1wRmllbGQge1xufVxuXG5leHBvcnQgZW51bSBEblJhbmdlVHlwZSB7XG4gIGV4dGVuc2lvbiA9ICdFWFRFTlNJT04nLFxuICBjcGcgPSAnQ1BHJyxcbiAgY2FsbHBhcmsgPSAnQ0FMTFBBUksnLFxuICBodW50Z3JvdXAgPSAnSFVOVEdST1VQJyxcbiAgbWVldG1lID0gJ01FRVRNRScsXG4gIGRpZCA9ICdESUQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG5SYW5nZUludGVyZmFjZSB7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgcHJlZml4OiBzdHJpbmc7XG4gIHJvdXRlUGFydGl0aW9uOiBzdHJpbmc7XG4gIGRuVHlwZTogRG5SYW5nZVR5cGU7XG4gIHRlbXBJZHg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdmFpbGFibGVQaG9uZU51bWJlclJhbmdlSW50ZXJmYWNlIHtcbiAgcGhvbmVOdW1iZXJSYW5nZTogRG5SYW5nZUludGVyZmFjZTtcbiAgdXNlZE51bWJlcnM6IHN0cmluZ1tdO1xuICByZXF1ZXN0ZWROdW1iZXI6IHN0cmluZztcbiAgdW5Vc2VkTnVtYmVyc1dpdGhEaWRzOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdmFpbGFibGVSYW5nZUludGVyZmFjZSB7XG4gIGF2YWlsYWJsZU51bWJlckxpc3Q6IEF2YWlsYWJsZVBob25lTnVtYmVyUmFuZ2VJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGVudW0gVXNlclZpZXdUeXBlIHtcbiAgZGV0YWlscyA9IDAsXG4gIGRldmljZXMgPSAxLFxuICBsaW5lcyA9IDIsXG4gIHNuciA9IDMsXG4gIGZlYXR1cmVzID0gNCxcbiAgb3ZlcnZpZXcgPSA1XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFVzZXJJbnRlcmZhY2Uge1xuICB1c2VyaWQ6IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHRlbGVwaG9uZU51bWJlcj86IHN0cmluZztcbiAgdmlld01vZGU/OiBVc2VyVmlld1R5cGU7XG4gIGRldmljZXM6IERldmljZUludGVyZmFjZVtdO1xuICBkZXZpY2VQcm9maWxlczogRGV2aWNlSW50ZXJmYWNlW107XG4gIGxpbmVzPzogTGluZUludGVyZmFjZVtdO1xuICBzaXRlSWQ/OiBudW1iZXI7XG4gIHNpdGVOYW1lPzogc3RyaW5nO1xuICBjaGVja2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZGFwVXNlcnNUYWJsZVJlc3BvbnNlIHtcbiAgdG90YWw6IG51bWJlcjtcbiAgcGFnZURhdGE6IExpc3RVc2VySW50ZXJmYWNlW107XG59Il19
|