@tuki-io/tuki-widgets 0.0.161 → 0.0.162
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/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +2 -2
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +6 -7
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +6 -2
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +14 -10
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +14 -10
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/package.json +1 -1
- package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuki-io-tuki-widgets-user-creation.mjs","sources":["../../../../projects/tuki/widgets/user-creation/src/shared/services/user-creation-api.service.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.html","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.html","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.html","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.html","../../../../projects/tuki/widgets/user-creation/src/shared/material.module.ts","../../../../projects/tuki/widgets/user-creation/src/shared/shared.module.ts","../../../../projects/tuki/widgets/user-creation/src/user-creation.module.ts","../../../../projects/tuki/widgets/user-creation/public-api.ts","../../../../projects/tuki/widgets/user-creation/tuki-io-tuki-widgets-user-creation.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class UserCreationApiService {}","import { inject, Injectable } from \"@angular/core\";\r\nimport { UserCreationApiService } from \"../../shared/services/user-creation-api.service\";\r\n\r\nexport interface LdapUserRow {\r\n userId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\nexport interface OverviewUserRow extends LdapUserRow {\r\n userTemplate: string;\r\n}\r\n\r\nexport interface OverviewLineRow {\r\n number: string;\r\n did: string;\r\n routePartitionName: string;\r\n css: string;\r\n description: string;\r\n}\r\n\r\nexport interface OverviewDeviceRow {\r\n name: string;\r\n deviceType: string;\r\n lines: string;\r\n description: string;\r\n}\r\n\r\nexport type UserCreationType = 'CUCM' | 'MT';\r\n\r\nexport interface UserDetailsForm {\r\n userId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\nexport interface LineOption {\r\n number: string;\r\n did: string;\r\n css: string;\r\n description: string;\r\n}\r\n\r\nexport interface SelectedLineRow {\r\n lineNumber: string | null;\r\n routePartitionName: string | null;\r\n}\r\n\r\nexport interface DeviceEntry {\r\n deviceType: string;\r\n protocol: string;\r\n buttonTemplate: string;\r\n name: string;\r\n}\r\n\r\n@Injectable()\r\nexport class UserCreationWizardService {\r\n private readonly api = inject(UserCreationApiService);\r\n\r\n readonly ldapTableColumns: string[] = ['userId', 'firstName', 'lastName', 'email', 'add'];\r\n readonly userCreationTypes: UserCreationType[] = ['CUCM', 'MT'];\r\n\r\n siteOptions: string[] = [];\r\n templateOptions: string[] = [];\r\n lineOptions: LineOption[] = [];\r\n routePartitionOptions: string[] = [];\r\n deviceRows: number[] = [];\r\n ldapUsers: LdapUserRow[] = [];\r\n overviewUsers: OverviewUserRow[] = [];\r\n overviewLines: OverviewLineRow[] = [];\r\n overviewDevices: OverviewDeviceRow[] = [];\r\n userDetailsForm: UserDetailsForm = {\r\n userId: '',\r\n firstName: '',\r\n lastName: '',\r\n email: ''\r\n };\r\n lineSelections: SelectedLineRow[] = [];\r\n deviceEntries: DeviceEntry[] = [];\r\n\r\n selectedSite: string | null = null;\r\n selectedTemplate: string | null = null;\r\n selectedUserCreationType: UserCreationType = 'CUCM';\r\n\r\n constructor() {\r\n this.loadPlaceholderData();\r\n }\r\n\r\n setSelectedSite(site: string | null): void {\r\n this.selectedSite = site;\r\n }\r\n\r\n setSelectedTemplate(template: string | null): void {\r\n this.selectedTemplate = template;\r\n this.rebuildOverviewUsers();\r\n }\r\n\r\n setSelectedUserCreationType(type: UserCreationType): void {\r\n this.selectedUserCreationType = type;\r\n }\r\n\r\n setUserDetailsField(field: keyof UserDetailsForm, value: string): void {\r\n this.userDetailsForm = {\r\n ...this.userDetailsForm,\r\n [field]: value\r\n };\r\n this.rebuildOverviewUsers();\r\n }\r\n\r\n setLineSelection(index: number, lineNumber: string | null): void {\r\n if (!this.lineSelections[index]) {\r\n return;\r\n }\r\n this.lineSelections[index] = {\r\n ...this.lineSelections[index],\r\n lineNumber\r\n };\r\n this.rebuildOverviewLines();\r\n this.rebuildOverviewDevices();\r\n }\r\n\r\n setRoutePartitionSelection(index: number, routePartitionName: string | null): void {\r\n if (!this.lineSelections[index]) {\r\n return;\r\n }\r\n this.lineSelections[index] = {\r\n ...this.lineSelections[index],\r\n routePartitionName\r\n };\r\n this.rebuildOverviewLines();\r\n }\r\n\r\n setDeviceName(index: number, name: string): void {\r\n if (!this.deviceEntries[index]) {\r\n return;\r\n }\r\n this.deviceEntries[index] = {\r\n ...this.deviceEntries[index],\r\n name\r\n };\r\n this.rebuildOverviewDevices();\r\n }\r\n\r\n // Placeholder bootstrap until backend APIs are connected.\r\n loadPlaceholderData(): void {\r\n this.siteOptions = ['Site 1', 'Site 2', 'Site 3'];\r\n this.templateOptions = ['Template A', 'Template B', 'Template C'];\r\n this.lineOptions = [\r\n {\r\n number: '1001',\r\n did: '+1 555 0101',\r\n css: 'Internal-CSS',\r\n description: 'Primary line'\r\n },\r\n {\r\n number: '1002',\r\n did: '+1 555 0102',\r\n css: 'Support-CSS',\r\n description: 'Backup line'\r\n },\r\n {\r\n number: '1003',\r\n did: '+1 555 0103',\r\n css: 'Lobby-CSS',\r\n description: 'Lobby phone line'\r\n }\r\n ];\r\n this.routePartitionOptions = ['Partition A', 'Partition B', 'Partition C'];\r\n this.deviceRows = [1, 2];\r\n this.ldapUsers = [\r\n { userId: 'user_01', firstName: 'John', lastName: 'Doe', email: 'john.doe@example.com' },\r\n { userId: 'user_02', firstName: 'Jane', lastName: 'Smith', email: 'jane.smith@example.com' }\r\n ];\r\n this.lineSelections = [\r\n {\r\n lineNumber: this.lineOptions[0]?.number || null,\r\n routePartitionName: this.routePartitionOptions[0] || null\r\n },\r\n {\r\n lineNumber: this.lineOptions[1]?.number || null,\r\n routePartitionName: this.routePartitionOptions[1] || null\r\n }\r\n ];\r\n this.deviceEntries = [\r\n {\r\n deviceType: 'Cisco 8845',\r\n protocol: 'SIP',\r\n buttonTemplate: 'Standard 8845',\r\n name: 'SEP001122334455'\r\n },\r\n {\r\n deviceType: 'Cisco Jabber',\r\n protocol: 'SIP',\r\n buttonTemplate: 'Standard Jabber',\r\n name: 'CSFJDOE'\r\n }\r\n ];\r\n this.selectedTemplate = this.selectedTemplate || this.templateOptions[0] || null;\r\n this.rebuildOverviewUsers();\r\n this.rebuildOverviewLines();\r\n this.rebuildOverviewDevices();\r\n }\r\n\r\n private rebuildOverviewUsers(): void {\r\n const userTemplate = this.selectedTemplate || this.templateOptions[0] || '';\r\n const hasUserData = Object.values(this.userDetailsForm).some(value => value.trim().length > 0);\r\n this.overviewUsers = hasUserData\r\n ? [{\r\n userId: this.userDetailsForm.userId,\r\n firstName: this.userDetailsForm.firstName,\r\n lastName: this.userDetailsForm.lastName,\r\n email: this.userDetailsForm.email,\r\n userTemplate\r\n }]\r\n : [];\r\n }\r\n\r\n private rebuildOverviewLines(): void {\r\n this.overviewLines = this.lineSelections\r\n .map(selection => {\r\n if (!selection?.lineNumber) {\r\n return null;\r\n }\r\n const selectedLine = this.lineOptions.find(line => line.number === selection.lineNumber);\r\n if (!selectedLine) {\r\n return null;\r\n }\r\n return {\r\n number: selectedLine.number,\r\n did: selectedLine.did,\r\n routePartitionName: selection.routePartitionName || this.routePartitionOptions[0] || '',\r\n css: selectedLine.css,\r\n description: selectedLine.description\r\n };\r\n })\r\n .filter((line): line is OverviewLineRow => !!line);\r\n }\r\n\r\n private rebuildOverviewDevices(): void {\r\n const selectedLineNumbers = this.overviewLines.map(line => line.number).join(', ');\r\n this.overviewDevices = this.deviceEntries\r\n .filter(device => device.name.trim().length > 0 || device.deviceType.trim().length > 0)\r\n .map(device => ({\r\n name: device.name,\r\n deviceType: device.deviceType,\r\n lines: selectedLineNumbers,\r\n description: `${device.protocol} / ${device.buttonTemplate}`\r\n }));\r\n }\r\n\r\n // TODO: replace placeholders with real API integration.\r\n loadDataFromApi(): void {\r\n // this.api.getWizardBootstrapData().subscribe(...)\r\n }\r\n}","import { Component } from \"@angular/core\";\r\nimport { UserCreationWizardService } from \"../../user-creation-wizard.service\";\r\n\r\n@Component({\r\n selector: 'tk-user-template-step',\r\n templateUrl: './user-template-step.component.html',\r\n styleUrls: ['./user-template-step.component.scss']\r\n})\r\nexport class UserTemplateStepComponent {\r\n constructor(\r\n public userCreationWizardService: UserCreationWizardService\r\n ) {}\r\n}","<section class=\"template-step-content\">\r\n <div class=\"template-step-field template-step-field--user-type\">\r\n <label class=\"template-step-label\">User type</label>\r\n <div class=\"user-type-toggle-group\" role=\"radiogroup\" aria-label=\"User type\">\r\n <button\r\n mat-button\r\n type=\"button\"\r\n class=\"user-type-toggle\"\r\n role=\"radio\"\r\n [attr.aria-checked]=\"type === userCreationWizardService.selectedUserCreationType\"\r\n *ngFor=\"let type of userCreationWizardService.userCreationTypes\"\r\n [class.user-type-toggle--active]=\"type === userCreationWizardService.selectedUserCreationType\"\r\n (click)=\"userCreationWizardService.setSelectedUserCreationType(type)\"\r\n >\r\n {{ type }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"template-step-field\">\r\n <label class=\"template-step-label\">Select site</label>\r\n <mat-form-field class=\"template-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Site name\"\r\n [value]=\"userCreationWizardService.selectedSite\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedSite($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let site of userCreationWizardService.siteOptions\" [value]=\"site\">\r\n {{ site }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"template-step-field\">\r\n <label class=\"template-step-label\">Select user template</label>\r\n <mat-form-field class=\"template-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Templates\"\r\n [value]=\"userCreationWizardService.selectedTemplate\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedTemplate($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let template of userCreationWizardService.templateOptions\" [value]=\"template\">\r\n {{ template }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n</section>\r\n","import { Component } from \"@angular/core\";\r\nimport { UserCreationWizardService } from \"../../user-creation-wizard.service\";\r\n\r\n@Component({\r\n selector: 'tk-user-details-step',\r\n templateUrl: './user-details-step.component.html',\r\n styleUrls: ['./user-details-step.component.scss']\r\n})\r\nexport class UserDetailsStepComponent {\r\n constructor(\r\n public userCreationWizardService: UserCreationWizardService\r\n ) {}\r\n}","<section class=\"details-step-content\">\r\n <div class=\"details-step-dropdowns\">\r\n <div class=\"details-step-field\">\r\n <label class=\"details-step-label\">Select site</label>\r\n <mat-form-field class=\"details-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Site name\"\r\n [value]=\"userCreationWizardService.selectedSite\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedSite($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let site of userCreationWizardService.siteOptions\" [value]=\"site\">\r\n {{ site }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-step-field\">\r\n <label class=\"details-step-label\">Select user template</label>\r\n <mat-form-field class=\"details-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Templates\"\r\n [value]=\"userCreationWizardService.selectedTemplate\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedTemplate($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let template of userCreationWizardService.templateOptions\" [value]=\"template\">\r\n {{ template }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"details-step-section__part\">\r\n <div class=\"details-inline-fields\">\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">User ID</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"User ID\"\r\n [value]=\"userCreationWizardService.userDetailsForm.userId\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('userId', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">First Name</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"First Name\"\r\n [value]=\"userCreationWizardService.userDetailsForm.firstName\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('firstName', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Last Name</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Last Name\"\r\n [value]=\"userCreationWizardService.userDetailsForm.lastName\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('lastName', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Email</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Email\"\r\n [value]=\"userCreationWizardService.userDetailsForm.email\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('email', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">User Template</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"User Template\"\r\n [value]=\"userCreationWizardService.selectedTemplate || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"details-step-section__part\">\r\n <mat-accordion class=\"details-user-accordion\">\r\n <mat-expansion-panel togglePosition=\"before\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>Choose an existing or a LDAP user</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"details-user-accordion__content\">\r\n <table mat-table [dataSource]=\"userCreationWizardService.ldapUsers\" class=\"details-ldap-table\">\r\n <ng-container matColumnDef=\"userId\">\r\n <th mat-header-cell *matHeaderCellDef>User ID</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.userId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"firstName\">\r\n <th mat-header-cell *matHeaderCellDef>First Name</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.firstName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lastName\">\r\n <th mat-header-cell *matHeaderCellDef>Last Name</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.lastName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"email\">\r\n <th mat-header-cell *matHeaderCellDef>Email</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.email }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"add\">\r\n <th mat-header-cell *matHeaderCellDef>Add</th>\r\n <td mat-cell *matCellDef>\r\n <button mat-button class=\"details-ldap-table__add-btn\" type=\"button\">Add user</button>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"userCreationWizardService.ldapTableColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: userCreationWizardService.ldapTableColumns;\"></tr>\r\n </table>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"line-route-list\">\r\n <div class=\"line-route-row\" *ngFor=\"let lineSelection of userCreationWizardService.lineSelections; let idx = index\">\r\n <div class=\"line-route-field\">\r\n <mat-form-field class=\"details-step-select line-route-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Select line\"\r\n [value]=\"lineSelection.lineNumber\"\r\n (selectionChange)=\"userCreationWizardService.setLineSelection(idx, $event.value)\"\r\n >\r\n <mat-option *ngFor=\"let line of userCreationWizardService.lineOptions\" [value]=\"line.number\">\r\n {{ line.number }} - {{ line.did }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"line-route-field\">\r\n <mat-form-field class=\"details-step-select line-route-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Select route partition\"\r\n [value]=\"lineSelection.routePartitionName\"\r\n (selectionChange)=\"userCreationWizardService.setRoutePartitionSelection(idx, $event.value)\"\r\n >\r\n <mat-option *ngFor=\"let partition of userCreationWizardService.routePartitionOptions\" [value]=\"partition\">\r\n {{ partition }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"devices-rows\">\r\n <div class=\"details-inline-fields details-inline-fields--four\" *ngFor=\"let _row of userCreationWizardService.deviceRows; let idx = index\">\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Device type</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Device type\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].deviceType || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Protocol</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Protocol\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].protocol || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Button Template</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Button Template\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].buttonTemplate || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Name</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Name\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].name || ''\"\r\n (input)=\"userCreationWizardService.setDeviceName(idx, $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</section>\r\n","import { Component } from \"@angular/core\";\r\nimport { UserCreationWizardService } from \"../../user-creation-wizard.service\";\r\n\r\n@Component({\r\n selector: 'tk-user-overview-step',\r\n templateUrl: './user-overview-step.component.html',\r\n styleUrls: ['./user-overview-step.component.scss']\r\n})\r\nexport class UserOverviewStepComponent {\r\n readonly USER_DETAILS_COLS = ['User ID', 'First name', 'Last name', 'Email', 'User templates'];\r\n readonly LINES_COLS = ['Number', 'DID', 'Route partition name', 'CSS', 'Description'];\r\n readonly DEVICES_COLS = ['Name', 'Device type', 'Lines', 'Description'];\r\n\r\n constructor(\r\n public userCreationWizardService: UserCreationWizardService\r\n ) {}\r\n}","<section class=\"details-step-content\">\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"USER_DETAILS_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of USER_DETAILS_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let user of userCreationWizardService.overviewUsers\">\r\n <span>{{ user.userId }}</span>\r\n <span>{{ user.firstName }}</span>\r\n <span>{{ user.lastName }}</span>\r\n <span>{{ user.email }}</span>\r\n <span>{{ user.userTemplate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"LINES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of LINES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let line of userCreationWizardService.overviewLines\">\r\n <span>{{ line.number }}</span>\r\n <span>{{ line.did }}</span>\r\n <span>{{ line.routePartitionName }}</span>\r\n <span>{{ line.css }}</span>\r\n <span>{{ line.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDevices\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Single Number Reach</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Features</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div>\r\n\r\n</section>\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'tk-user-creation-wizard',\n templateUrl: './user-creation-wizard.component.html',\n styleUrls: ['./user-creation-wizard.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class UserCreationWizardComponent {\n @Input()\n title = 'Create User';\n\n @Output()\n cancel = new EventEmitter<void>();\n\n @Output()\n submit = new EventEmitter<void>();\n\n onCancel(): void {\n this.cancel.emit();\n }\n\n onSubmit(): void {\n this.submit.emit();\n }\n}\n","<div class=\"move-user-stepper-container\">\n <header class=\"move-user-header\">\n <div class=\"move-user-header__title\">{{ title }}</div>\n <div class=\"move-user-header__close\">\n <span class=\"app-icon user-creation-close-icon\" (click)=\"onCancel()\"></span>\n </div>\n </header>\n\n <div id=\"user-creation-stepper\">\n <mat-stepper [linear]=\"false\" labelPosition=\"bottom\" #stepper>\n <mat-step>\n <div class=\"step-title\">Step 1: User creation with template</div>\n <ng-template matStepLabel>User creation</ng-template>\n\n <div class=\"move-user-tab-content-box\">\n <tk-user-template-step></tk-user-template-step>\n </div>\n </mat-step>\n\n <mat-step>\n <div class=\"step-title\">Step 2 : User details</div>\n <ng-template matStepLabel>User details</ng-template>\n\n <div class=\"move-user-tab-content-box\">\n <tk-user-details-step></tk-user-details-step>\n </div>\n </mat-step>\n\n <mat-step>\n <div class=\"step-title\">Step 3: Review</div>\n <ng-template matStepLabel>Review</ng-template>\n\n <div class=\"move-user-tab-content-box\">\n <tk-user-overview-step></tk-user-overview-step>\n </div>\n </mat-step>\n </mat-stepper>\n\n <div class=\"wizard-actions\">\n <ng-container [ngSwitch]=\"stepper.selectedIndex\">\n <ng-container *ngSwitchCase=\"0\">\n <button mat-button class=\"uc-btn uc-btn-primary\" type=\"button\" (click)=\"stepper.next()\">\n Next\n </button>\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"onCancel()\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"1\">\n <button mat-button class=\"uc-btn uc-btn-primary\" type=\"button\" (click)=\"stepper.next()\">\n Next\n </button>\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\n Previous\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"2\">\n <button mat-button class=\"uc-btn uc-btn-primary\" type=\"button\" (click)=\"onSubmit()\">\n Create\n </button>\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\n Previous\n </button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\"\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatProgressBarModule,\r\n MatTooltipModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule\r\n ],\r\n exports: [\r\n MatProgressBarModule,\r\n MatTooltipModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule\r\n ]\r\n})\r\nexport class MaterialModule { }","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MaterialModule } from \"./material.module\";\r\nimport { NgApexchartsModule } from \"ng-apexcharts\"\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n NgApexchartsModule,\r\n HttpClientModule\r\n ],\r\n exports: [\r\n MaterialModule\r\n ]\r\n})\r\nexport class SharedModule {}","import { NgModule } from \"@angular/core\";\r\nimport { UserCreationWizardComponent } from \"./widgets/user-creation-wizard/user-creation-wizard.component\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { UserTemplateStepComponent } from \"./widgets/user-creation-wizard/components/user-template-step/user-template-step.component\";\r\nimport { UserDetailsStepComponent } from \"./widgets/user-creation-wizard/components/user-details-step/user-details-step.component\";\r\nimport { UserOverviewStepComponent } from \"./widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component\";\r\nimport { UserCreationApiService } from \"./shared/services/user-creation-api.service\";\r\nimport { UserCreationWizardService } from \"./widgets/user-creation-wizard/user-creation-wizard.service\";\r\nimport { MatStepperModule } from \"@angular/material/stepper\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { MaterialModule } from \"./shared/material.module\";\r\n\r\n@NgModule({\r\n declarations: [\r\n UserCreationWizardComponent,\r\n UserTemplateStepComponent,\r\n UserDetailsStepComponent,\r\n UserOverviewStepComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n MaterialModule,\r\n MatStepperModule,\r\n MatExpansionModule\r\n ],\r\n exports: [\r\n UserCreationWizardComponent\r\n ],\r\n providers: [\r\n UserCreationApiService,\r\n UserCreationWizardService\r\n ]\r\n})\r\nexport class UserCreationModule {}","/*\r\n * Public API Surface of @tuki-io/tuki-widgets\r\n */\r\n\r\n// Shared Components\r\n// export * from './shared/shared.module';\r\n\r\n// Widget Modules\r\nexport * from './src/user-creation.module';\r\n\r\n// Components\r\n// export * from './shared/components/index';\r\nexport * from './src/widgets/user-creation-wizard/user-creation-wizard.component';\r\n\r\n// Types\r\n// export * from './shared/types/data-table';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UserCreationWizardService","i3","i4","i5","i6","i7","i8","i1","i2","i4.UserTemplateStepComponent","i5.UserDetailsStepComponent","i6.UserOverviewStepComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tuki-io-tuki-widgets-user-creation.mjs","sources":["../../../../projects/tuki/widgets/user-creation/src/shared/services/user-creation-api.service.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.html","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.html","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.html","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.ts","../../../../projects/tuki/widgets/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.html","../../../../projects/tuki/widgets/user-creation/src/shared/material.module.ts","../../../../projects/tuki/widgets/user-creation/src/shared/shared.module.ts","../../../../projects/tuki/widgets/user-creation/src/user-creation.module.ts","../../../../projects/tuki/widgets/user-creation/public-api.ts","../../../../projects/tuki/widgets/user-creation/tuki-io-tuki-widgets-user-creation.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class UserCreationApiService {}","import { inject, Injectable } from \"@angular/core\";\r\nimport { UserCreationApiService } from \"../../shared/services/user-creation-api.service\";\r\n\r\nexport interface LdapUserRow {\r\n userId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\nexport interface OverviewUserRow extends LdapUserRow {\r\n userTemplate: string;\r\n}\r\n\r\nexport interface OverviewLineRow {\r\n number: string;\r\n did: string;\r\n routePartitionName: string;\r\n css: string;\r\n description: string;\r\n}\r\n\r\nexport interface OverviewDeviceRow {\r\n name: string;\r\n deviceType: string;\r\n lines: string;\r\n description: string;\r\n}\r\n\r\nexport type UserCreationType = 'CUCM' | 'MT';\r\n\r\nexport interface UserDetailsForm {\r\n userId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\nexport interface LineOption {\r\n number: string;\r\n did: string;\r\n css: string;\r\n description: string;\r\n}\r\n\r\nexport interface SelectedLineRow {\r\n lineNumber: string | null;\r\n routePartitionName: string | null;\r\n}\r\n\r\nexport interface DeviceEntry {\r\n deviceType: string;\r\n protocol: string;\r\n buttonTemplate: string;\r\n name: string;\r\n}\r\n\r\n@Injectable()\r\nexport class UserCreationWizardService {\r\n private readonly api = inject(UserCreationApiService);\r\n\r\n readonly ldapTableColumns: string[] = ['userId', 'firstName', 'lastName', 'email', 'add'];\r\n readonly userCreationTypes: UserCreationType[] = ['CUCM', 'MT'];\r\n\r\n siteOptions: string[] = [];\r\n templateOptions: string[] = [];\r\n lineOptions: LineOption[] = [];\r\n routePartitionOptions: string[] = [];\r\n deviceRows: number[] = [];\r\n ldapUsers: LdapUserRow[] = [];\r\n overviewUsers: OverviewUserRow[] = [];\r\n overviewLines: OverviewLineRow[] = [];\r\n overviewDevices: OverviewDeviceRow[] = [];\r\n userDetailsForm: UserDetailsForm = {\r\n userId: '',\r\n firstName: '',\r\n lastName: '',\r\n email: ''\r\n };\r\n lineSelections: SelectedLineRow[] = [];\r\n deviceEntries: DeviceEntry[] = [];\r\n\r\n selectedSite: string | null = null;\r\n selectedTemplate: string | null = null;\r\n selectedUserCreationType: UserCreationType = 'CUCM';\r\n\r\n constructor() {\r\n this.loadPlaceholderData();\r\n }\r\n\r\n setSelectedSite(site: string | null): void {\r\n this.selectedSite = site;\r\n }\r\n\r\n setSelectedTemplate(template: string | null): void {\r\n this.selectedTemplate = template;\r\n this.rebuildOverviewUsers();\r\n }\r\n\r\n setSelectedUserCreationType(type: UserCreationType): void {\r\n this.selectedUserCreationType = type;\r\n }\r\n\r\n setUserDetailsField(field: keyof UserDetailsForm, value: string): void {\r\n this.userDetailsForm = {\r\n ...this.userDetailsForm,\r\n [field]: value\r\n };\r\n this.rebuildOverviewUsers();\r\n }\r\n\r\n setLineSelection(index: number, lineNumber: string | null): void {\r\n if (!this.lineSelections[index]) {\r\n return;\r\n }\r\n this.lineSelections[index] = {\r\n ...this.lineSelections[index],\r\n lineNumber\r\n };\r\n this.rebuildOverviewLines();\r\n this.rebuildOverviewDevices();\r\n }\r\n\r\n setRoutePartitionSelection(index: number, routePartitionName: string | null): void {\r\n if (!this.lineSelections[index]) {\r\n return;\r\n }\r\n this.lineSelections[index] = {\r\n ...this.lineSelections[index],\r\n routePartitionName\r\n };\r\n this.rebuildOverviewLines();\r\n }\r\n\r\n setDeviceName(index: number, name: string): void {\r\n if (!this.deviceEntries[index]) {\r\n return;\r\n }\r\n this.deviceEntries[index] = {\r\n ...this.deviceEntries[index],\r\n name\r\n };\r\n this.rebuildOverviewDevices();\r\n }\r\n\r\n // Placeholder bootstrap until backend APIs are connected.\r\n loadPlaceholderData(): void {\r\n this.siteOptions = ['Site 1', 'Site 2', 'Site 3'];\r\n this.templateOptions = ['Template A', 'Template B', 'Template C'];\r\n this.lineOptions = [\r\n {\r\n number: '1001',\r\n did: '+1 555 0101',\r\n css: 'Internal-CSS',\r\n description: 'Primary line'\r\n },\r\n {\r\n number: '1002',\r\n did: '+1 555 0102',\r\n css: 'Support-CSS',\r\n description: 'Backup line'\r\n },\r\n {\r\n number: '1003',\r\n did: '+1 555 0103',\r\n css: 'Lobby-CSS',\r\n description: 'Lobby phone line'\r\n }\r\n ];\r\n this.routePartitionOptions = ['Partition A', 'Partition B', 'Partition C'];\r\n this.deviceRows = [1, 2];\r\n this.ldapUsers = [\r\n { userId: 'user_01', firstName: 'John', lastName: 'Doe', email: 'john.doe@example.com' },\r\n { userId: 'user_02', firstName: 'Jane', lastName: 'Smith', email: 'jane.smith@example.com' }\r\n ];\r\n this.lineSelections = [\r\n {\r\n lineNumber: this.lineOptions[0]?.number || null,\r\n routePartitionName: this.routePartitionOptions[0] || null\r\n },\r\n {\r\n lineNumber: this.lineOptions[1]?.number || null,\r\n routePartitionName: this.routePartitionOptions[1] || null\r\n }\r\n ];\r\n this.deviceEntries = [\r\n {\r\n deviceType: 'Cisco 8845',\r\n protocol: 'SIP',\r\n buttonTemplate: 'Standard 8845',\r\n name: 'SEP001122334455'\r\n },\r\n {\r\n deviceType: 'Cisco Jabber',\r\n protocol: 'SIP',\r\n buttonTemplate: 'Standard Jabber',\r\n name: 'CSFJDOE'\r\n }\r\n ];\r\n this.selectedTemplate = this.selectedTemplate || this.templateOptions[0] || null;\r\n this.rebuildOverviewUsers();\r\n this.rebuildOverviewLines();\r\n this.rebuildOverviewDevices();\r\n }\r\n\r\n private rebuildOverviewUsers(): void {\r\n const userTemplate = this.selectedTemplate || this.templateOptions[0] || '';\r\n const hasUserData = Object.values(this.userDetailsForm).some(value => value.trim().length > 0);\r\n this.overviewUsers = hasUserData\r\n ? [{\r\n userId: this.userDetailsForm.userId,\r\n firstName: this.userDetailsForm.firstName,\r\n lastName: this.userDetailsForm.lastName,\r\n email: this.userDetailsForm.email,\r\n userTemplate\r\n }]\r\n : [];\r\n }\r\n\r\n private rebuildOverviewLines(): void {\r\n this.overviewLines = this.lineSelections\r\n .map(selection => {\r\n if (!selection?.lineNumber) {\r\n return null;\r\n }\r\n const selectedLine = this.lineOptions.find(line => line.number === selection.lineNumber);\r\n if (!selectedLine) {\r\n return null;\r\n }\r\n return {\r\n number: selectedLine.number,\r\n did: selectedLine.did,\r\n routePartitionName: selection.routePartitionName || this.routePartitionOptions[0] || '',\r\n css: selectedLine.css,\r\n description: selectedLine.description\r\n };\r\n })\r\n .filter((line): line is OverviewLineRow => !!line);\r\n }\r\n\r\n private rebuildOverviewDevices(): void {\r\n const selectedLineNumbers = this.overviewLines.map(line => line.number).join(', ');\r\n this.overviewDevices = this.deviceEntries\r\n .filter(device => device.name.trim().length > 0 || device.deviceType.trim().length > 0)\r\n .map(device => ({\r\n name: device.name,\r\n deviceType: device.deviceType,\r\n lines: selectedLineNumbers,\r\n description: `${device.protocol} / ${device.buttonTemplate}`\r\n }));\r\n }\r\n\r\n // TODO: replace placeholders with real API integration.\r\n loadDataFromApi(): void {\r\n // this.api.getWizardBootstrapData().subscribe(...)\r\n }\r\n}","import { Component } from \"@angular/core\";\r\nimport { UserCreationWizardService } from \"../../user-creation-wizard.service\";\r\n\r\n@Component({\r\n selector: 'tk-user-template-step',\r\n templateUrl: './user-template-step.component.html',\r\n styleUrls: ['./user-template-step.component.scss']\r\n})\r\nexport class UserTemplateStepComponent {\r\n constructor(\r\n public userCreationWizardService: UserCreationWizardService\r\n ) {}\r\n}","<section class=\"template-step-content\">\r\n <div class=\"template-step-field template-step-field--user-type\">\r\n <label class=\"template-step-label\">User type</label>\r\n <div class=\"user-type-radio-group\" role=\"radiogroup\" aria-label=\"User type\">\r\n <label class=\"user-type-radio-option\" *ngFor=\"let type of userCreationWizardService.userCreationTypes\">\r\n <input\r\n class=\"user-type-radio-option__input\"\r\n type=\"radio\"\r\n name=\"user-creation-type\"\r\n [value]=\"type\"\r\n [checked]=\"type === userCreationWizardService.selectedUserCreationType\"\r\n (change)=\"userCreationWizardService.setSelectedUserCreationType(type)\"\r\n />\r\n <span class=\"user-type-radio-option__control\" aria-hidden=\"true\"></span>\r\n <span class=\"user-type-radio-option__label\">{{ type }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div class=\"template-step-field\">\r\n <label class=\"template-step-label\">Select site</label>\r\n <mat-form-field class=\"template-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Site name\"\r\n [value]=\"userCreationWizardService.selectedSite\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedSite($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let site of userCreationWizardService.siteOptions\" [value]=\"site\">\r\n {{ site }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"template-step-field\">\r\n <label class=\"template-step-label\">Select user template</label>\r\n <mat-form-field class=\"template-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Templates\"\r\n [value]=\"userCreationWizardService.selectedTemplate\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedTemplate($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let template of userCreationWizardService.templateOptions\" [value]=\"template\">\r\n {{ template }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n</section>\r\n","import { Component } from \"@angular/core\";\r\nimport { UserCreationWizardService } from \"../../user-creation-wizard.service\";\r\n\r\n@Component({\r\n selector: 'tk-user-details-step',\r\n templateUrl: './user-details-step.component.html',\r\n styleUrls: ['./user-details-step.component.scss']\r\n})\r\nexport class UserDetailsStepComponent {\r\n constructor(\r\n public userCreationWizardService: UserCreationWizardService\r\n ) {}\r\n}","<section class=\"details-step-content\">\r\n <div class=\"details-step-dropdowns\">\r\n <div class=\"details-step-field\">\r\n <label class=\"details-step-label\">Select site</label>\r\n <mat-form-field class=\"details-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Site name\"\r\n [value]=\"userCreationWizardService.selectedSite\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedSite($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let site of userCreationWizardService.siteOptions\" [value]=\"site\">\r\n {{ site }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-step-field\">\r\n <label class=\"details-step-label\">Select user template</label>\r\n <mat-form-field class=\"details-step-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Templates\"\r\n [value]=\"userCreationWizardService.selectedTemplate\"\r\n (selectionChange)=\"userCreationWizardService.setSelectedTemplate($event.value)\"\r\n >\r\n <mat-option *ngFor=\"let template of userCreationWizardService.templateOptions\" [value]=\"template\">\r\n {{ template }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"details-step-section__part\">\r\n <div class=\"details-inline-fields\">\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">User ID</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"User ID\"\r\n [value]=\"userCreationWizardService.userDetailsForm.userId\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('userId', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">First Name</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"First Name\"\r\n [value]=\"userCreationWizardService.userDetailsForm.firstName\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('firstName', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Last Name</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Last Name\"\r\n [value]=\"userCreationWizardService.userDetailsForm.lastName\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('lastName', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Email</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Email\"\r\n [value]=\"userCreationWizardService.userDetailsForm.email\"\r\n (input)=\"userCreationWizardService.setUserDetailsField('email', $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">User Template</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"User Template\"\r\n [value]=\"userCreationWizardService.selectedTemplate || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"details-step-section__part\">\r\n <mat-accordion class=\"details-user-accordion\">\r\n <mat-expansion-panel togglePosition=\"before\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>Choose an existing or a LDAP user</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"details-user-accordion__content\">\r\n <table mat-table [dataSource]=\"userCreationWizardService.ldapUsers\" class=\"details-ldap-table\">\r\n <ng-container matColumnDef=\"userId\">\r\n <th mat-header-cell *matHeaderCellDef>User ID</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.userId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"firstName\">\r\n <th mat-header-cell *matHeaderCellDef>First Name</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.firstName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"lastName\">\r\n <th mat-header-cell *matHeaderCellDef>Last Name</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.lastName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"email\">\r\n <th mat-header-cell *matHeaderCellDef>Email</th>\r\n <td mat-cell *matCellDef=\"let row\">{{ row.email }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"add\">\r\n <th mat-header-cell *matHeaderCellDef>Add</th>\r\n <td mat-cell *matCellDef>\r\n <button mat-button class=\"details-ldap-table__add-btn\" type=\"button\">Add user</button>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"userCreationWizardService.ldapTableColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: userCreationWizardService.ldapTableColumns;\"></tr>\r\n </table>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"line-route-list\">\r\n <div class=\"line-route-row\" *ngFor=\"let lineSelection of userCreationWizardService.lineSelections; let idx = index\">\r\n <div class=\"line-route-field\">\r\n <mat-form-field class=\"details-step-select line-route-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Select line\"\r\n [value]=\"lineSelection.lineNumber\"\r\n (selectionChange)=\"userCreationWizardService.setLineSelection(idx, $event.value)\"\r\n >\r\n <mat-option *ngFor=\"let line of userCreationWizardService.lineOptions\" [value]=\"line.number\">\r\n {{ line.number }} - {{ line.did }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"line-route-field\">\r\n <mat-form-field class=\"details-step-select line-route-select\" appearance=\"outline\">\r\n <mat-select\r\n placeholder=\"Select route partition\"\r\n [value]=\"lineSelection.routePartitionName\"\r\n (selectionChange)=\"userCreationWizardService.setRoutePartitionSelection(idx, $event.value)\"\r\n >\r\n <mat-option *ngFor=\"let partition of userCreationWizardService.routePartitionOptions\" [value]=\"partition\">\r\n {{ partition }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"devices-rows\">\r\n <div class=\"details-inline-fields details-inline-fields--four\" *ngFor=\"let _row of userCreationWizardService.deviceRows; let idx = index\">\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Device type</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Device type\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].deviceType || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Protocol</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Protocol\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].protocol || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Button Template</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Button Template\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].buttonTemplate || ''\"\r\n [disabled]=\"true\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"details-inline-field\">\r\n <label class=\"details-inline-field__label\">Name</label>\r\n <mat-form-field class=\"details-step-input\" appearance=\"outline\">\r\n <input\r\n matInput\r\n placeholder=\"Name\"\r\n [value]=\"userCreationWizardService.deviceEntries[idx].name || ''\"\r\n (input)=\"userCreationWizardService.setDeviceName(idx, $any($event.target).value)\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</section>\r\n","import { Component } from \"@angular/core\";\r\nimport { UserCreationWizardService } from \"../../user-creation-wizard.service\";\r\n\r\n@Component({\r\n selector: 'tk-user-overview-step',\r\n templateUrl: './user-overview-step.component.html',\r\n styleUrls: ['./user-overview-step.component.scss']\r\n})\r\nexport class UserOverviewStepComponent {\r\n readonly USER_DETAILS_COLS = ['User ID', 'First name', 'Last name', 'Email', 'User templates'];\r\n readonly LINES_COLS = ['Number', 'DID', 'Route partition name', 'CSS', 'Description'];\r\n readonly DEVICES_COLS = ['Name', 'Device type', 'Lines', 'Description'];\r\n\r\n constructor(\r\n public userCreationWizardService: UserCreationWizardService\r\n ) {}\r\n}","<section class=\"details-step-content\">\r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">User details</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"USER_DETAILS_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of USER_DETAILS_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let user of userCreationWizardService.overviewUsers\">\r\n <span>{{ user.userId }}</span>\r\n <span>{{ user.firstName }}</span>\r\n <span>{{ user.lastName }}</span>\r\n <span>{{ user.email }}</span>\r\n <span>{{ user.userTemplate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Lines</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"LINES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of LINES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let line of userCreationWizardService.overviewLines\">\r\n <span>{{ line.number }}</span>\r\n <span>{{ line.did }}</span>\r\n <span>{{ line.routePartitionName }}</span>\r\n <span>{{ line.css }}</span>\r\n <span>{{ line.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n \r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Devices</h3>\r\n <div class=\"details-step-section__content\">\r\n <div class=\"preview-list\" [style.--preview-cols]=\"DEVICES_COLS.length\">\r\n <div class=\"preview-list__header\">\r\n <span *ngFor=\"let col of DEVICES_COLS\">{{ col }}</span>\r\n </div>\r\n <div class=\"preview-list__row\" *ngFor=\"let device of userCreationWizardService.overviewDevices\">\r\n <span>{{ device.name }}</span>\r\n <span>{{ device.deviceType }}</span>\r\n <span>{{ device.lines }}</span>\r\n <span>{{ device.description }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Single Number Reach</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div>\r\n\r\n <div class=\"details-step-divider\"></div>\r\n \r\n <div class=\"details-step-sections\">\r\n <section class=\"details-step-section\">\r\n <h3 class=\"details-step-section__title\">Features</h3>\r\n <div class=\"details-step-section__content\"></div>\r\n </section>\r\n </div>\r\n\r\n</section>\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'tk-user-creation-wizard',\n templateUrl: './user-creation-wizard.component.html',\n styleUrls: ['./user-creation-wizard.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class UserCreationWizardComponent {\n @Input() title = 'Create User';\n \n @Input() token!: string;\n @Input() customerId!: number;\n\n @Output() cancel = new EventEmitter<void>();\n @Output() submit = new EventEmitter<void>();\n\n onCancel(): void {\n this.cancel.emit();\n }\n\n onSubmit(): void {\n this.submit.emit();\n }\n}\n","<div class=\"move-user-stepper-container\">\n <header class=\"move-user-header\">\n <div class=\"move-user-header__title\">{{ title }}</div>\n <div class=\"move-user-header__close\">\n <span class=\"app-icon user-creation-close-icon\" (click)=\"onCancel()\"></span>\n </div>\n </header>\n\n <div id=\"user-creation-stepper\">\n <mat-stepper [linear]=\"false\" labelPosition=\"bottom\" #stepper>\n <mat-step>\n <div class=\"step-title\">Step 1: User creation with template</div>\n <ng-template matStepLabel>User creation</ng-template>\n\n <div class=\"move-user-tab-content-box\">\n <tk-user-template-step></tk-user-template-step>\n </div>\n </mat-step>\n\n <mat-step>\n <div class=\"step-title\">Step 2 : User details</div>\n <ng-template matStepLabel>User details</ng-template>\n\n <div class=\"move-user-tab-content-box\">\n <tk-user-details-step></tk-user-details-step>\n </div>\n </mat-step>\n\n <mat-step>\n <div class=\"step-title\">Step 3: Review</div>\n <ng-template matStepLabel>Review</ng-template>\n\n <div class=\"move-user-tab-content-box\">\n <tk-user-overview-step></tk-user-overview-step>\n </div>\n </mat-step>\n </mat-stepper>\n\n <div class=\"wizard-actions\">\n <ng-container [ngSwitch]=\"stepper.selectedIndex\">\n <ng-container *ngSwitchCase=\"0\">\n <button mat-button class=\"uc-btn uc-btn-primary\" type=\"button\" (click)=\"stepper.next()\">\n Next\n </button>\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"onCancel()\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"1\">\n <button mat-button class=\"uc-btn uc-btn-primary\" type=\"button\" (click)=\"stepper.next()\">\n Next\n </button>\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\n Previous\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"2\">\n <button mat-button class=\"uc-btn uc-btn-primary\" type=\"button\" (click)=\"onSubmit()\">\n Create\n </button>\n <button mat-button class=\"uc-btn uc-btn-secondary\" type=\"button\" (click)=\"stepper.previous()\">\n Previous\n </button>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\"\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatProgressBarModule,\r\n MatTooltipModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule\r\n ],\r\n exports: [\r\n MatProgressBarModule,\r\n MatTooltipModule,\r\n MatTableModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule\r\n ]\r\n})\r\nexport class MaterialModule { }","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MaterialModule } from \"./material.module\";\r\nimport { NgApexchartsModule } from \"ng-apexcharts\"\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n NgApexchartsModule,\r\n HttpClientModule\r\n ],\r\n exports: [\r\n MaterialModule\r\n ]\r\n})\r\nexport class SharedModule {}","import { NgModule } from \"@angular/core\";\r\nimport { UserCreationWizardComponent } from \"./widgets/user-creation-wizard/user-creation-wizard.component\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { UserTemplateStepComponent } from \"./widgets/user-creation-wizard/components/user-template-step/user-template-step.component\";\r\nimport { UserDetailsStepComponent } from \"./widgets/user-creation-wizard/components/user-details-step/user-details-step.component\";\r\nimport { UserOverviewStepComponent } from \"./widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component\";\r\nimport { UserCreationApiService } from \"./shared/services/user-creation-api.service\";\r\nimport { UserCreationWizardService } from \"./widgets/user-creation-wizard/user-creation-wizard.service\";\r\nimport { MatStepperModule } from \"@angular/material/stepper\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { MaterialModule } from \"./shared/material.module\";\r\n\r\n@NgModule({\r\n declarations: [\r\n UserCreationWizardComponent,\r\n UserTemplateStepComponent,\r\n UserDetailsStepComponent,\r\n UserOverviewStepComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n MaterialModule,\r\n MatStepperModule,\r\n MatExpansionModule\r\n ],\r\n exports: [\r\n UserCreationWizardComponent\r\n ],\r\n providers: [\r\n UserCreationApiService,\r\n UserCreationWizardService\r\n ]\r\n})\r\nexport class UserCreationModule {}","/*\r\n * Public API Surface of @tuki-io/tuki-widgets\r\n */\r\n\r\n// Shared Components\r\n// export * from './shared/shared.module';\r\n\r\n// Widget Modules\r\nexport * from './src/user-creation.module';\r\n\r\n// Components\r\n// export * from './shared/components/index';\r\nexport * from './src/widgets/user-creation-wizard/user-creation-wizard.component';\r\n\r\n// Types\r\n// export * from './shared/types/data-table';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UserCreationWizardService","i3","i4","i5","i7","i8","i1","i2","i4.UserTemplateStepComponent","i5.UserDetailsStepComponent","i6.UserOverviewStepComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;MAGa,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAtB,sBAAsB,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;MCwDE,yBAAyB,CAAA;AA4BlC,IAAA,WAAA,GAAA;AA3BiB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAE7C,QAAA,IAAA,CAAA,gBAAgB,GAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjF,IAAA,CAAA,iBAAiB,GAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEhE,QAAA,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;AAC3B,QAAA,IAAe,CAAA,eAAA,GAAa,EAAE,CAAC;AAC/B,QAAA,IAAW,CAAA,WAAA,GAAiB,EAAE,CAAC;AAC/B,QAAA,IAAqB,CAAA,qBAAA,GAAa,EAAE,CAAC;AACrC,QAAA,IAAU,CAAA,UAAA,GAAa,EAAE,CAAC;AAC1B,QAAA,IAAS,CAAA,SAAA,GAAkB,EAAE,CAAC;AAC9B,QAAA,IAAa,CAAA,aAAA,GAAsB,EAAE,CAAC;AACtC,QAAA,IAAa,CAAA,aAAA,GAAsB,EAAE,CAAC;AACtC,QAAA,IAAe,CAAA,eAAA,GAAwB,EAAE,CAAC;QAC1C,IAAA,CAAA,eAAe,GAAoB;AAC/B,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,KAAK,EAAE,EAAE;SACZ,CAAC;AACF,QAAA,IAAc,CAAA,cAAA,GAAsB,EAAE,CAAC;AACvC,QAAA,IAAa,CAAA,aAAA,GAAkB,EAAE,CAAC;AAElC,QAAA,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;AACnC,QAAA,IAAgB,CAAA,gBAAA,GAAkB,IAAI,CAAC;AACvC,QAAA,IAAwB,CAAA,wBAAA,GAAqB,MAAM,CAAC;QAGhD,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC9B;AAED,IAAA,eAAe,CAAC,IAAmB,EAAA;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC5B;AAED,IAAA,mBAAmB,CAAC,QAAuB,EAAA;AACvC,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;AAED,IAAA,2BAA2B,CAAC,IAAsB,EAAA;AAC9C,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;KACxC;IAED,mBAAmB,CAAC,KAA4B,EAAE,KAAa,EAAA;AAC3D,QAAA,IAAI,CAAC,eAAe,GACb,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,eAAe,CACvB,EAAA,EAAA,CAAC,KAAK,GAAG,KAAK,GACjB,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;IAED,gBAAgB,CAAC,KAAa,EAAE,UAAyB,EAAA;AACrD,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GACnB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAC7B,EAAA,EAAA,UAAU,GACb,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;IAED,0BAA0B,CAAC,KAAa,EAAE,kBAAiC,EAAA;AACvE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GACnB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAC7B,EAAA,EAAA,kBAAkB,GACrB,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;IAED,aAAa,CAAC,KAAa,EAAE,IAAY,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC5B,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAClB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC5B,EAAA,EAAA,IAAI,GACP,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;;IAGD,mBAAmB,GAAA;;QACf,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,GAAG;AACf,YAAA;AACI,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,GAAG,EAAE,cAAc;AACnB,gBAAA,WAAW,EAAE,cAAc;AAC9B,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,WAAW,EAAE,aAAa;AAC7B,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,GAAG,EAAE,WAAW;AAChB,gBAAA,WAAW,EAAE,kBAAkB;AAClC,aAAA;SACJ,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG;AACb,YAAA,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE;AACxF,YAAA,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAE;SAC/F,CAAC;QACF,IAAI,CAAC,cAAc,GAAG;AAClB,YAAA;AACI,gBAAA,UAAU,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,IAAI;gBAC/C,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI;AAC5D,aAAA;AACD,YAAA;AACI,gBAAA,UAAU,EAAE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,IAAI;gBAC/C,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI;AAC5D,aAAA;SACJ,CAAC;QACF,IAAI,CAAC,aAAa,GAAG;AACjB,YAAA;AACI,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE,iBAAiB;AAC1B,aAAA;AACD,YAAA;AACI,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;SACJ,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACjF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;IAEO,oBAAoB,GAAA;AACxB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,aAAa,GAAG,WAAW;AAC5B,cAAE,CAAC;AACC,oBAAA,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;AACnC,oBAAA,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS;AACzC,oBAAA,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;AACvC,oBAAA,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;oBACjC,YAAY;iBACf,CAAC;cACA,EAAE,CAAC;KACZ;IAEO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc;aACnC,GAAG,CAAC,SAAS,IAAG;YACb,IAAI,EAAC,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAA,EAAE;AACxB,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC;YACzF,IAAI,CAAC,YAAY,EAAE;AACf,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;YACD,OAAO;gBACH,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,GAAG,EAAE,YAAY,CAAC,GAAG;AACrB,gBAAA,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE;gBACvF,GAAG,EAAE,YAAY,CAAC,GAAG;gBACrB,WAAW,EAAE,YAAY,CAAC,WAAW;aACxC,CAAC;AACN,SAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,KAA8B,CAAC,CAAC,IAAI,CAAC,CAAC;KAC1D;IAEO,sBAAsB,GAAA;QAC1B,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa;aACpC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACtF,aAAA,GAAG,CAAC,MAAM,KAAK;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;AAC7B,YAAA,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAM,GAAA,EAAA,MAAM,CAAC,cAAc,CAAE,CAAA;AAC/D,SAAA,CAAC,CAAC,CAAC;KACX;;IAGD,eAAe,GAAA;;KAEd;;uHArMQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2HAAzB,yBAAyB,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;;;MCjDE,yBAAyB,CAAA;AAClC,IAAA,WAAA,CACW,yBAAoD,EAAA;AAApD,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA2B;KAC3D;;uHAHK,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,6DCRtC,2rEAiDA,EAAA,MAAA,EAAA,CAAA,osEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDzCa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACI,uBAAuB,EAAA,QAAA,EAAA,2rEAAA,EAAA,MAAA,EAAA,CAAA,osEAAA,CAAA,EAAA,CAAA;;;MEIxB,wBAAwB,CAAA;AACjC,IAAA,WAAA,CACW,yBAAoD,EAAA;AAApD,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA2B;KAC3D;;sHAHK,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4DCRrC,m6WAmPA,EAAA,MAAA,EAAA,CAAA,4uJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD3Oa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACI,sBAAsB,EAAA,QAAA,EAAA,m6WAAA,EAAA,MAAA,EAAA,CAAA,4uJAAA,CAAA,EAAA,CAAA;;;MEIvB,yBAAyB,CAAA;AAKlC,IAAA,WAAA,CACW,yBAAoD,EAAA;AAApD,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA2B;AALtD,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACtF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAC7E,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;KAIpE;;uHAPK,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAL,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,6DCRtC,u0GAmFA,EAAA,MAAA,EAAA,CAAA,qiCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD3Ea,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACI,uBAAuB,EAAA,QAAA,EAAA,u0GAAA,EAAA,MAAA,EAAA,CAAA,qiCAAA,CAAA,EAAA,CAAA;;;MEIxB,2BAA2B,CAAA;AANxC,IAAA,WAAA,GAAA;AAOW,QAAA,IAAK,CAAA,KAAA,GAAG,aAAa,CAAC;AAKrB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;AAClC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;KAS7C;IAPC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;;yHAfU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,sLCRxC,igFAsEA,EAAA,MAAA,EAAA,CAAA,2rKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAAA,OAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,EAAA,oBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FD9Da,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;+BACE,yBAAyB,EAAA,aAAA,EAGpB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,igFAAA,EAAA,MAAA,EAAA,CAAA,2rKAAA,CAAA,EAAA,CAAA;8BAG5B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MEoBI,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAtBnB,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,kBAAkB;QAClB,cAAc;AACd,QAAA,eAAe,aAGf,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,kBAAkB;QAClB,cAAc;QACd,eAAe,CAAA,EAAA,CAAA,CAAA;AAGV,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAtBnB,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,kBAAkB;QAClB,cAAc;AACd,QAAA,eAAe,EAGf,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,kBAAkB;QAClB,cAAc;QACd,eAAe,CAAA,EAAA,CAAA,CAAA;4FAGV,cAAc,EAAA,UAAA,EAAA,CAAA;kBAxB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,oBAAoB;wBACpB,gBAAgB;wBAChB,cAAc;wBACd,iBAAiB;wBACjB,eAAe;wBACf,aAAa;wBACb,kBAAkB;wBAClB,cAAc;wBACd,eAAe;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,oBAAoB;wBACpB,gBAAgB;wBAChB,cAAc;wBACd,iBAAiB;wBACjB,eAAe;wBACf,aAAa;wBACb,kBAAkB;wBAClB,cAAc;wBACd,eAAe;AAClB,qBAAA;iBACJ,CAAA;;;MCfY,YAAY,CAAA;;0GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YATjB,YAAY;QACZ,cAAc;QACd,kBAAkB;QAClB,gBAAgB,aAGhB,cAAc,CAAA,EAAA,CAAA,CAAA;AAGT,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YATjB,YAAY;QACZ,cAAc;QACd,kBAAkB;AAClB,QAAA,gBAAgB,EAGhB,cAAc,CAAA,EAAA,CAAA,CAAA;4FAGT,YAAY,EAAA,UAAA,EAAA,CAAA;kBAZxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,cAAc;wBACd,kBAAkB;wBAClB,gBAAgB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,cAAc;AACjB,qBAAA;iBACJ,CAAA;;;MCiBY,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBApBvB,2BAA2B;QAC3B,yBAAyB;QACzB,wBAAwB;AACxB,QAAA,yBAAyB,aAGzB,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,kBAAkB,aAGlB,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAOtB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EALhB,SAAA,EAAA;QACP,sBAAsB;QACtB,yBAAyB;KAC5B,EAAA,OAAA,EAAA,CAZG,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,kBAAkB,CAAA,EAAA,CAAA,CAAA;4FAUb,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAtB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,2BAA2B;wBAC3B,yBAAyB;wBACzB,wBAAwB;wBACxB,yBAAyB;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,gBAAgB;wBAChB,kBAAkB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,2BAA2B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,sBAAsB;wBACtB,yBAAyB;AAC5B,qBAAA;iBACJ,CAAA;;;AClCD;;AAEG;AAEH;AACA;AAEA;AAOA;AACA;;ACfA;;AAEG;;;;"}
|