@porscheinformatik/material-addons 10.3.1 → 10.3.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"porscheinformatik-material-addons.umd.js","sources":["../../../projects/material-addons/src/lib/material-action-button/material-action-button.component.ts","../../../projects/material-addons/src/lib/material-action-button/material-action-button.module.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/material-addons/src/lib/button/mad-basic-button.ts","../../../projects/material-addons/src/lib/button/primary-button/primary-button.component.ts","../../../projects/material-addons/src/lib/button/outline-button/outline-button.component.ts","../../../projects/material-addons/src/lib/button/flat-button/link-button.component.ts","../../../projects/material-addons/src/lib/button/icon-button/icon-button.component.ts","../../../projects/material-addons/src/lib/button/danger-button/danger-button.component.ts","../../../projects/material-addons/src/lib/button/button.module.ts","../../../projects/material-addons/src/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.ts","../../../projects/material-addons/src/lib/numeric-field/number-format.service.ts","../../../projects/material-addons/src/lib/readonly/readonly-form-field/readonly-form-field.component.ts","../../../projects/material-addons/src/lib/readonly/readonly-form-field.module.ts","../../../projects/material-addons/src/lib/toolbar/toolbar.service.ts","../../../projects/material-addons/src/lib/toolbar/toolbar.component.ts","../../../projects/material-addons/src/lib/toolbar/toolbar.module.ts","../../../projects/material-addons/src/lib/numeric-field/numeric-field.directive.ts","../../../projects/material-addons/src/lib/numeric-field/numeric-field.module.ts","../../../projects/material-addons/src/lib/card/card.component.ts","../../../projects/material-addons/src/lib/throttle-click/throttle-click.directive.ts","../../../projects/material-addons/src/lib/throttle-click/throttle-click.module.ts","../../../projects/material-addons/src/lib/card/card.module.ts","../../../projects/material-addons/src/lib/quick-list/base-quick-list.component.ts","../../../projects/material-addons/src/lib/quick-list/quick-list.component.ts","../../../projects/material-addons/src/lib/quick-list/quick-list-compact/quick-list-compact.component.ts","../../../projects/material-addons/src/lib/quick-list/quick-list.module.ts","../../../projects/material-addons/src/lib/table/table.component.ts","../../../projects/material-addons/src/lib/table/table.module.ts","../../../projects/material-addons/src/lib/data-table/data-table-action-type.ts","../../../projects/material-addons/src/lib/data-table/data-table.component.ts","../../../projects/material-addons/src/lib/data-table/data-table.module.ts","../../../projects/material-addons/src/lib/stepper/step-header/step-header.component.ts","../../../projects/material-addons/src/lib/stepper/mad-stepper-animation.ts","../../../projects/material-addons/src/lib/stepper/stepper.component.ts","../../../projects/material-addons/src/lib/stepper/stepper.module.ts","../../../projects/material-addons/src/lib/content-panel/content-header/content-header.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel-container/content-panel-container.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel-container-content/content-panel-container-content.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.ts","../../../projects/material-addons/src/lib/content-panel/main-container/main-container.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel.module.ts","../../../projects/material-addons/src/lib/flowbar/flowbar.component.ts","../../../projects/material-addons/src/lib/flowbar/flowbar.module.ts","../../../projects/material-addons/src/lib/material-addons.module.ts","../../../projects/material-addons/src/public-api.ts","../../../projects/material-addons/src/porscheinformatik-material-addons.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'mad-material-action-button',\n templateUrl: './material-action-button.component.html',\n styleUrls: ['./material-action-button.component.css'],\n})\nexport class MaterialActionButtonComponent {\n @Input()\n actionName: string;\n\n @Input()\n id: string;\n\n @Input()\n icon = 'add';\n\n @Input()\n routerLink: string;\n\n // Sets the lower padding higher providing some bottom space for a fixed paginator\n @Input()\n liftHigher = true;\n\n @Input()\n liftHigher2 = false;\n}\n","import { NgModule } from '@angular/core';\nimport { MaterialActionButtonComponent } from './material-action-button.component';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [MaterialActionButtonComponent],\n imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule],\n exports: [MaterialActionButtonComponent],\n})\nexport class MaterialActionButtonModule {}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {ElementRef, HostBinding, SimpleChanges} from '@angular/core';\n\nexport class MadBasicButton {\n button: ElementRef;\n disabled: boolean;\n\n disableClick = (e: Event) => e.stopPropagation();\n\n ngOnChanges(changes: SimpleChanges) {\n this.disableButton();\n }\n\n disableButton(): void {\n if (this.disabled) {\n this.button.nativeElement.addEventListener('click', this.disableClick);\n } else {\n this.button.nativeElement.removeEventListener('click', this.disableClick);\n }\n }\n @HostBinding('style.pointer-events')\n get pointerEvent(): string {\n return this.disabled ? 'none' : 'auto';\n }\n\n @HostBinding('style.opacity')\n get opacity(): string {\n return this.disabled ? '0.35' : '1';\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-primary-button',\n templateUrl: './primary-button.component.html',\n styleUrls: ['./primary-button.component.css'],\n})\nexport class PrimaryButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-outline-button',\n templateUrl: './outline-button.component.html',\n styleUrls: ['./outline-button.component.css'],\n})\nexport class OutlineButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n@Component({\n selector: 'mad-link-button',\n templateUrl: './link-button.component.html',\n styleUrls: ['./link-button.component.css'],\n})\nexport class LinkButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-icon-button',\n templateUrl: './icon-button.component.html',\n styleUrls: ['./icon-button.component.css'],\n})\nexport class IconButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-danger-button',\n templateUrl: './danger-button.component.html',\n styleUrls: ['./danger-button.component.css'],\n})\nexport class DangerButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {PrimaryButtonComponent} from './primary-button/primary-button.component';\nimport {OutlineButtonComponent} from './outline-button/outline-button.component';\nimport {LinkButtonComponent} from './flat-button/link-button.component';\nimport {IconButtonComponent} from './icon-button/icon-button.component';\nimport {DangerButtonComponent} from \"./danger-button/danger-button.component\";\n\n@NgModule({\n declarations: [PrimaryButtonComponent, OutlineButtonComponent, LinkButtonComponent, DangerButtonComponent, IconButtonComponent],\n imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule],\n exports: [PrimaryButtonComponent, OutlineButtonComponent, LinkButtonComponent, DangerButtonComponent, IconButtonComponent],\n})\nexport class ButtonModule {}\n","import {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\n\n/**\n * Wraps a mat-form-field to replace it by a readOnly representation if necessary\n *\n * @author Stefan Laesser\n */\n@Component({\n selector: 'mad-readonly-form-field-wrapper',\n templateUrl: './readonly-form-field-wrapper.component.html',\n styleUrls: ['./readonly-form-field-wrapper.component.css'],\n})\nexport class ReadOnlyFormFieldWrapperComponent implements OnInit, AfterViewInit, OnChanges, AfterViewChecked {\n /**\n * If set to \"false\", the contained mat-form-field is rendered in all it's glory.\n * If set to \"true\", a readonly representation of the value is shown using the mat-form-fields label.\n */\n @Input() readonly = true;\n\n /**\n * This input *MUST MATCH* the mat-form-field value to ensure correct data\n * binding and formatting of readOnly representation!\n */\n @Input('value') value: any;\n\n /**\n * Automatically taken from the contained <mat-label>\n */\n label: string;\n\n @ViewChild('contentWrapper', {static: false})\n originalContent: ElementRef;\n @ViewChild('readOnlyContentWrapper', {static: false})\n readOnlyContentWrapper: ElementRef;\n\n @Input('textAlign') textAlign: 'right' | 'left' = 'left';\n @Input('formatNumber') formatNumber = false;\n @Input('decimalPlaces') decimalPlaces = 2;\n @Input('roundDisplayValue') roundValue = false;\n @Input('autofillDecimals') autofillDecimals = false;\n @Input('unit') unit: string | null = null;\n @Input('unitPosition') unitPosition: 'right' | 'left' = 'left';\n @Input('errorMessage') errorMessage: string | null = null;\n @Input() id: string;\n\n /**\n * If set to \"false\", a readonly input will be rendered.\n * If set to \"true\", a readonly textarea will be rendered instead.\n */\n @Input() multiline = false;\n\n /**\n * Defines the rows for the readonly textarea.\n */\n @Input() rows = 3;\n\n/**\n * If shrinkIfEmpty is set to \"false\", nothing changes\n * If set to \"true\" and multiline is also \"true\", the textarea will\n * shrink to one row, if value is empty/null/undefined.\n * Otherwise, the defined rows-value will be used\n */\n @Input() shrinkIfEmpty: boolean = false;\n\n toolTipForInputEnabled = false;\n toolTipText: string;\n\n constructor(private changeDetector: ChangeDetectorRef, private elementRef: ElementRef) {\n }\n\n ngOnInit(): void {\n this.doRendering();\n }\n\n ngAfterViewInit(): void {\n this.setReadonlyFieldStyle();\n this.doRendering();\n }\n\n ngAfterViewChecked(): void {\n this.setReadonlyFieldStyle();\n this.setTooltipForOverflownField();\n }\n\n ngOnChanges(_: SimpleChanges): void {\n this.doRendering();\n }\n\n getLabel(): string {\n if (!this.label) {\n this.extractLabel();\n }\n return this.label;\n }\n\n private doRendering(): void {\n if (!this.originalContent) {\n return;\n }\n if (!this.readonly) {\n this.correctWidth();\n return;\n }\n\n this.changeDetector.detectChanges();\n }\n\n private extractLabel(): void {\n if (!this.originalContent || !this.originalContent.nativeElement) {\n return null;\n }\n const labelElement = this.originalContent.nativeElement.querySelector('mat-label');\n this.label = labelElement ? labelElement.innerHTML : 'mat-label is missing!';\n }\n\n private correctWidth(): void {\n const formField = this.originalContent.nativeElement.querySelector('mat-form-field');\n if (formField) {\n formField.setAttribute('style', 'width:100%');\n }\n }\n\n private setReadonlyFieldStyle(): void {\n const input = this.readOnlyContentWrapper?.nativeElement?.querySelector('input');\n\n if (input) {\n let textOverFlowStyleValue = this.getTextOverFlowStyleValue();\n if (textOverFlowStyleValue) {\n input.setAttribute('style', 'text-overflow: ' + textOverFlowStyleValue);\n }\n }\n }\n\n // Ellipsis is enabled by default as text-overflow behaviour\n private getTextOverFlowStyleValue(): string {\n // it works only if the style is added to the component directly. Should find a way for get it from the calculated\n // style. Than it would be possible to define the text-overflow in css for the whole application\n let textOverflow = this.elementRef?.nativeElement?.style.textOverflow;\n if (!textOverflow) {\n return 'ellipsis';\n }\n\n return textOverflow;\n }\n\n private setTooltipForOverflownField() {\n if (this.isEllipsisForTextOverflowEnabled()) {\n const input = this.readOnlyContentWrapper?.nativeElement?.querySelector('input');\n\n if (input) {\n this.toolTipForInputEnabled = this.isTextOverflown(input);\n if (this.toolTipForInputEnabled) {\n this.toolTipText = this.calculateToolTipText();\n }\n this.changeDetector.detectChanges();\n }\n }\n }\n\n private isEllipsisForTextOverflowEnabled(): boolean {\n return this.getTextOverFlowStyleValue() === 'ellipsis';\n }\n\n private isTextOverflown(input: any): boolean {\n if (input) {\n return (input.offsetWidth < input.scrollWidth);\n }\n return false;\n }\n\n private calculateToolTipText(): string {\n if (!this.unit) {\n return this.value;\n }\n\n return this.unitPosition === 'left' ? this.unit + ' ' + this.value : this.value + ' ' + this.unit;\n }\n}\n","import { Inject, LOCALE_ID, Injectable } from '@angular/core';\n\nexport declare interface FormatOptions {\n decimalPlaces?: number;\n\n finalFormatting?: boolean;\n\n autofillDecimals?: boolean;\n}\n\nexport declare interface StripOptions {\n decimalPlaces?: number;\n\n removeLeadingZeros?: boolean;\n}\n\n@Injectable({\n providedIn: 'any',\n})\nexport class NumberFormatService {\n static readonly NEGATIVE = '-';\n static readonly NUMBERS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\n static readonly DEFAULT_FINAL_FORMATTING = true;\n static readonly DEFAULT_DECIMAL_PLACES = 2;\n static readonly DEFAULT_AUTOFILL_DECIMALS = false;\n static readonly DEFAULT_REMOVE_LEADING_ZEROS = false;\n\n decimalSeparator: ',' | '.';\n groupingSeparator: ',' | '.';\n\n allowedKeys: string[] = [];\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n // try to get the current formatting\n const localeDecimalSeparator = (1.1).toLocaleString(locale).charAt(1);\n this.decimalSeparator = localeDecimalSeparator === ',' ? ',' : '.';\n this.groupingSeparator = localeDecimalSeparator === ',' ? '.' : ',';\n\n this.allowedKeys = [...NumberFormatService.NUMBERS, NumberFormatService.NEGATIVE, this.decimalSeparator];\n }\n\n static valueIsSet(value: any): boolean {\n return typeof value !== 'undefined' && value !== null && (typeof value !== 'string' || value.length !== 0);\n }\n\n format(value: number, options?: Partial<FormatOptions>): string {\n return NumberFormatService.valueIsSet(value)\n ? this.formatNumber(value.toString().replace(new RegExp('[.]', 'g'), this.decimalSeparator), options)\n : '';\n }\n\n formatNumber(value: string, options?: Partial<FormatOptions>): string {\n const autofillDecimals = this.valueOrDefault(options?.autofillDecimals, NumberFormatService.DEFAULT_AUTOFILL_DECIMALS);\n const decimalPlaces = this.valueOrDefault(options?.decimalPlaces, NumberFormatService.DEFAULT_DECIMAL_PLACES);\n const finalFormatting = this.valueOrDefault(options?.finalFormatting, NumberFormatService.DEFAULT_FINAL_FORMATTING);\n\n let result = this.strip(value, { decimalPlaces, removeLeadingZeros: finalFormatting });\n\n /* add grouping separator */\n const decimalIndex = result.indexOf(this.decimalSeparator);\n const isNegative = result.startsWith(NumberFormatService.NEGATIVE);\n let i = decimalIndex > -1 ? decimalIndex : result.length;\n while (i > (isNegative ? 4 : 3)) {\n i -= 3;\n result = result.substring(0, i) + this.groupingSeparator + result.substring(i, result.length);\n }\n\n if (finalFormatting) {\n if (decimalPlaces > 0 && !!result) {\n /* autofill decimal places */\n let actualDecimalIndex = result.indexOf(this.decimalSeparator);\n if (autofillDecimals) {\n if (actualDecimalIndex === -1) {\n actualDecimalIndex = result.length;\n result += this.decimalSeparator;\n }\n\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n actualDecimalIndex = result.indexOf(this.decimalSeparator);\n\n const actualDecimalPlaces = result.length - actualDecimalIndex - 1;\n for (let j = 0; j < decimalPlaces - actualDecimalPlaces; j++) {\n result += '0';\n }\n } else {\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n }\n }\n }\n return result;\n }\n\n strip(value: string, options?: StripOptions): string {\n const decimalPlaces = this.valueOrDefault(options?.decimalPlaces, NumberFormatService.DEFAULT_DECIMAL_PLACES);\n const removeLeadingZeros = this.valueOrDefault(options?.removeLeadingZeros, NumberFormatService.DEFAULT_REMOVE_LEADING_ZEROS);\n\n let result = '';\n let indexDecimalSep = -1;\n let j = -1;\n let ignoredChars = 0;\n for (const char of value) {\n j++;\n if (this.allowedKeys.includes(char)) {\n if (char === this.decimalSeparator) {\n if (decimalPlaces === 0) {\n /* dismiss content after a decimal separator, when no places allowed */\n break;\n } else if (indexDecimalSep > -1) {\n /* ignore subsequent decimal separators */\n continue;\n }\n indexDecimalSep = j;\n }\n if (char === '0' && removeLeadingZeros) {\n /* remove leading zero only if it's not the only zero in the 'value' string */\n if ((result.length === 0 && j + 1 !== value.length) || result === NumberFormatService.NEGATIVE) {\n ignoredChars++;\n continue;\n }\n }\n if (char === NumberFormatService.NEGATIVE && j > 0) {\n /* dismiss content after a negative sign not on first position */\n break;\n }\n if (indexDecimalSep > -1 && result.length + ignoredChars > indexDecimalSep + decimalPlaces) {\n /* dismiss content after maximum decimal places reached */\n break;\n }\n result += char;\n } else if (char === this.groupingSeparator) {\n if (indexDecimalSep === -1) {\n ignoredChars++;\n }\n } else {\n /* dismiss content after a invalid character */\n break;\n }\n }\n return result;\n }\n\n private addMissingLeadingZero(result: string, actualDecimalIndex: number): string {\n const isNegative = result.startsWith(NumberFormatService.NEGATIVE);\n /* autoadd a zero before decimal separator, when it's missing */\n if (actualDecimalIndex === 0) {\n result = '0' + result;\n }\n /* autoadd a zero before decimal separator, when it's missing, for negative values */\n if (actualDecimalIndex === 1 && isNegative) {\n result = result[0] + '0' + result.substring(1, result.length);\n }\n return result;\n }\n\n private valueOrDefault(value: any, defaultValue: any): any {\n return NumberFormatService.valueIsSet(value) ? value : defaultValue;\n }\n}\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {ErrorStateMatcher} from '@angular/material/core';\nimport {NumberFormatService} from '../../numeric-field/number-format.service';\n\n/**\n * Read-only mat-form-field representation of provided value\n *\n * @author Stefan Laesser\n */\n\n@Component({\n selector: 'mad-readonly-form-field',\n templateUrl: './readonly-form-field.component.html',\n styleUrls: ['./readonly-form-field.component.css'],\n})\nexport class ReadOnlyFormFieldComponent implements OnChanges, AfterViewChecked {\n @Input('value') value: any;\n @Input('label') label: string;\n @Input('textAlign') textAlign: 'right' | 'left' = 'left';\n @Input('formatNumber') formatNumber = false;\n @Input('decimalPlaces') decimalPlaces = 2;\n @Input('roundDisplayValue') roundValue = false;\n @Input('autofillDecimals') autofillDecimals = false;\n @Input('unit') unit: string | null = null;\n @Input('unitPosition') unitPosition: 'right' | 'left' = 'left';\n @Input('errorMessage') errorMessage: string | null = null;\n @Input() multiline = false;\n @Input() rows = 3;\n @Input() id: string;\n /*\n * If shrinkIfEmpty is set to \"false\", nothing changes\n * If set to \"true\" and multiline is also \"true\", the textarea will\n * shrink to one row, if value is empty/null/undefined.\n * Otherwise, the defined rows-value will be used\n */\n @Input() shrinkIfEmpty: boolean = false;\n @ViewChild('inputEl') inputEl: ElementRef;\n errorMatcher: ErrorStateMatcher = {\n isErrorState: () => !!this.errorMessage,\n };\n\n private unitSpan: HTMLSpanElement;\n private textSpan: HTMLSpanElement;\n\n constructor(private changeDetector: ChangeDetectorRef, private renderer: Renderer2, private numberFormatService: NumberFormatService) {}\n\n ngOnChanges(_: SimpleChanges): void {\n if (!NumberFormatService.valueIsSet(this.value)) {\n this.value = '-';\n if (this.shrinkIfEmpty) {\n this.rows = 1;\n }\n } else if (this.formatNumber && typeof this.value === 'number') {\n this.value = this.numberFormatService.format(this.value, {\n decimalPlaces: this.decimalPlaces,\n finalFormatting: true,\n autofillDecimals: this.autofillDecimals,\n });\n }\n this.changeDetector.detectChanges();\n }\n\n // TODO direct copy from NumericFieldDirective\n ngAfterViewChecked(): void {\n this.injectUnitSymbol();\n }\n\n private injectUnitSymbol(): void {\n // Need to inject the unit symbol when the input element width is set to its actual value,\n // otherwise the icon wont show in the correct position\n if (!!this.unit && !this.unitSpan && this.inputEl.nativeElement.offsetWidth !== 0) {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode.parentNode;\n\n // Create the span with unit symbol and apply necessary styles\n this.unitSpan = this.renderer.createElement('span');\n\n if (this.unitPosition === 'left') {\n this.renderer.setAttribute(this.unitSpan, 'matPrefix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-right', '5px');\n this.renderer.insertBefore(inputWrapper, this.unitSpan, inputWrapper.children[0]);\n } else {\n this.renderer.setAttribute(this.unitSpan, 'matSuffix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-left', '5px');\n this.renderer.appendChild(inputWrapper, this.unitSpan);\n }\n }\n\n // special handling to move unit symbol along with display value\n if (!!this.unitSpan && this.textAlign === 'left' && this.unitPosition === 'right') {\n const inputStyles = window.getComputedStyle(this.inputEl.nativeElement.parentElement, null);\n this.unitSpan.style.position = 'absolute';\n this.unitSpan.style.marginTop = inputStyles.getPropertyValue('border-top-width');\n this.unitSpan.style.paddingTop = inputStyles.getPropertyValue('padding-top');\n this.unitSpan.style.paddingBottom = inputStyles.getPropertyValue('padding-bottom');\n\n if (!this.textSpan) {\n this.textSpan = document.createElement('span');\n document.body.appendChild(this.textSpan);\n this.textSpan.style.font = inputStyles.getPropertyValue('font');\n this.textSpan.style.fontSize = inputStyles.getPropertyValue('font-size');\n this.textSpan.style.height = 'auto';\n this.textSpan.style.width = 'auto';\n this.textSpan.style.position = 'absolute';\n this.textSpan.style.top = '0';\n this.textSpan.style.whiteSpace = 'no-wrap';\n this.textSpan.style.visibility = 'hidden';\n }\n this.textSpan.innerHTML = this.value;\n const width = Math.min(this.inputEl.nativeElement.clientWidth - this.unitSpan.clientWidth, Math.ceil(this.textSpan.clientWidth));\n this.unitSpan.style.left = width + 'px';\n }\n // always reset unit symbol\n if (!!this.unitSpan) {\n this.unitSpan.textContent = this.unit;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { ReadOnlyFormFieldWrapperComponent } from './readonly-form-field-wrapper/readonly-form-field-wrapper.component';\nimport { ReadOnlyFormFieldComponent } from './readonly-form-field/readonly-form-field.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule } from '@angular/forms';\nimport {MatTooltipModule} from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent],\n imports: [CommonModule, RouterModule, MatFormFieldModule, MatInputModule, FormsModule, MatTooltipModule],\n exports: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent],\n})\nexport class ReadOnlyFormFieldModule {}\n","import {Injectable, OnDestroy} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\nimport {Subscription} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {BackAction, MainAction, ToolbarAction} from './toolbar-action.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToolbarService implements OnDestroy {\n backAction: BackAction;\n mainActions: MainAction[] = []; // shown on the left, next to title, as big buttons\n toolbarActions: ToolbarAction[] = []; // shown on the right as icons\n toolbarActionsAlwaysAsMenu = false; // show the mobile view (burger menu) for toolbar actions\n dataTitle: string;\n routerSubscription: Subscription;\n private title: string;\n private toolbarActionsMenuTitle = 'More'; // title of the burger menu\n\n private currentUrl: string;\n\n constructor(private router: Router, private translate: TranslateService) {\n this.routerSubscription = this.router.events.subscribe(routingEvent => {\n if (routingEvent instanceof NavigationEnd) {\n if (this.currentUrl !== routingEvent.urlAfterRedirects) {\n this.clearToolbarActions();\n this.clearMainActions();\n delete this.backAction;\n delete this.dataTitle;\n }\n this.currentUrl = router.url;\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.routerSubscription) {\n this.routerSubscription.unsubscribe();\n }\n }\n\n getToolbarActions(): ToolbarAction[] {\n return this.toolbarActions;\n }\n\n addToolbarAction(action: ToolbarAction): void {\n this.translate\n .get(action.i18nActionKey)\n .toPromise()\n .then(translated => {\n action.actionName = translated;\n this.toolbarActions.push(action);\n });\n }\n\n set toolbarTitle(toolbarTitle: string) {\n this.title = toolbarTitle;\n }\n\n get toolbarTitle(): string {\n return this.title;\n }\n\n setDataTitle(dataTitle: string): void {\n this.dataTitle = dataTitle;\n }\n\n setToolbarActionsAlwaysAsMenu(toolbarActionsAlwaysAsMenu: boolean): void {\n this.toolbarActionsAlwaysAsMenu = toolbarActionsAlwaysAsMenu;\n }\n\n getToolbarActionsAlwaysAsMenu(): boolean {\n return this.toolbarActionsAlwaysAsMenu;\n }\n\n getDataTitle(): string {\n return this.dataTitle;\n }\n\n clearToolbarActions(): void {\n this.toolbarActions = [];\n }\n\n getMainActions(): MainAction[] {\n return this.mainActions;\n }\n\n getBackAction(): BackAction {\n return this.backAction;\n }\n\n setToolbarActionsMenuTitle(toolbarActionsMenuTitle: string) {\n this.toolbarActionsMenuTitle = toolbarActionsMenuTitle;\n }\n\n getToolbarActionsMenuTitle() {\n return this.toolbarActionsMenuTitle;\n }\n\n addMainAction(mainAction: MainAction): void {\n this.translate\n .get(mainAction.i18nActionKey)\n .toPromise()\n .then(translated => {\n mainAction.actionName = translated;\n this.mainActions.push(mainAction);\n });\n }\n\n /**\n * Per default the goBackRoute is a routerLink. But if a href should be used (for absolute browser routing) then isAbsoluteUrl can be set to true.\n */\n addBackAction(goBackRoute: string, isAbsoluteUrl = false): void {\n this.backAction = {\n matIcon: 'keyboard_backspace',\n i18nActionKey: '',\n };\n if (!isAbsoluteUrl) {\n this.backAction.routerLink = goBackRoute;\n } else {\n this.backAction.href = goBackRoute;\n }\n }\n\n addSimpleBackButton(overrideIfPresent = false): void {\n if (this.getBackAction() && !overrideIfPresent) {\n return;\n }\n\n this.backAction = {\n matIcon: 'keyboard_backspace',\n i18nActionKey: '',\n action(): void {\n window.history.back();\n },\n };\n }\n\n clearMainActions(): void {\n this.mainActions = [];\n }\n}\n","import {Component} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ToolbarService} from './toolbar.service';\nimport {Observable, of} from 'rxjs';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {map} from 'rxjs/operators';\nimport {Action, BackAction, MainAction, ToolbarAction} from './toolbar-action.interface';\n\n@Component({\n selector: 'mad-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.css'],\n})\nexport class ToolbarComponent {\n isHandset$: Observable<boolean> = this.breakpointObserver.observe([Breakpoints.Handset]).pipe(map(result => result.matches));\n\n constructor(private breakpointObserver: BreakpointObserver, private titleService: Title, private toolbarService: ToolbarService) {\n }\n\n getTitle(): string {\n const dataTitle = this.toolbarService.getDataTitle();\n const toolbarTitle = this.toolbarService.toolbarTitle;\n const title = !toolbarTitle || toolbarTitle.length <= 0 ? this.titleService.getTitle() : toolbarTitle;\n return !dataTitle || dataTitle.length <= 0 ? title : title + ': ' + dataTitle;\n }\n\n getToolbarActions(): ToolbarAction[] {\n return this.toolbarService.getToolbarActions();\n }\n\n getMainActions(): MainAction[] {\n return this.toolbarService.getMainActions();\n }\n\n hasPermission(action: Action): Observable<boolean> {\n if (!action || !action.showIf) {\n return of(true);\n }\n return action.showIf;\n }\n\n isRouterLink(): boolean {\n return this.toolbarService.getBackAction() && !!this.toolbarService.getBackAction().routerLink;\n }\n\n isAbsoluteLink(): boolean {\n return this.toolbarService.getBackAction() && !!this.toolbarService.getBackAction().href;\n }\n\n isAction(): boolean {\n return this.toolbarService.getBackAction() && !!this.toolbarService.getBackAction().action;\n }\n\n getBackAction(): BackAction {\n return this.toolbarService.getBackAction();\n }\n\n getToolbarActionsAlwaysAsMenu(): boolean {\n return this.toolbarService.getToolbarActionsAlwaysAsMenu();\n }\n\n getToolbarActionsMenuTitle(): string {\n return this.toolbarService.getToolbarActionsMenuTitle();\n }\n\n showBadgeForMenu() {\n return this.getToolbarActions()\n .slice(1) // the first icon is not shown in menu\n .filter(value => value.badge && value.badge.value).length > 0;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {ToolbarComponent} from './toolbar.component';\nimport {MaterialActionButtonModule} from '../material-action-button/material-action-button.module';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {ButtonModule} from '../button/button.module';\nimport {MatBadgeModule} from \"@angular/material/badge\";\n\n@NgModule({\n declarations: [ToolbarComponent],\n imports: [\n CommonModule,\n RouterModule,\n MatMenuModule,\n MatButtonModule,\n MatToolbarModule,\n MatIconModule,\n MaterialActionButtonModule,\n MatTooltipModule,\n ButtonModule,\n MatBadgeModule,\n ],\n exports: [ToolbarComponent],\n})\nexport class ToolbarModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NumberFormatService } from './number-format.service';\n\nconst BACK_KEYCODE = 8;\nconst SPACE_KEYCODE = 32;\nconst DEL_KEYCODE = 46;\nconst CONTROL_KEYCODES_UPPER_BORDER = 46;\nconst OTHER_CONTROL_KEYS = new Set([224, 91, 93]);\n\n@Directive({\n selector: '[madNumericField]',\n host: {\n '[class.text-right]': 'textAlign === \"right\"',\n '(change)': 'onChange(getValueForFormControl())',\n '(input)': 'onChange(getValueForFormControl())',\n '(blur)': 'onTouched()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumericFieldDirective), // eslint-disable-line\n multi: true,\n },\n ],\n})\nexport class NumericFieldDirective implements OnInit, OnDestroy, AfterViewChecked, ControlValueAccessor {\n @Input('textAlign') textAlign: 'right' | 'left' = 'right';\n @Input('decimalPlaces') decimalPlaces = 2;\n @Input('roundDisplayValue') roundValue = false;\n @Input('autofillDecimals') autofillDecimals = false;\n @Input('unit') unit: string | null = null;\n @Input('unitPosition') unitPosition: 'right' | 'left' = 'right';\n @Output('numericValueChange') numericValueChanged = new EventEmitter<number>();\n\n private displayValue = '';\n private originalValue = NaN;\n private _numericValue: number;\n private inputChangeListener: () => void;\n private keyupListener: () => void;\n private keydownListener: () => void;\n\n @Input('numericValue')\n set numericValue(value: number) {\n if (this._numericValue !== value && !(isNaN(this._numericValue) && (isNaN(value) || value === null))) {\n this.originalValue = value;\n // Don't roundOrTruncate if value was set to empty otherwise input value will be set to 0 instead of empty\n // which happens when an input is being reset\n this._numericValue = value === null || value === undefined ? value : this.roundOrTruncate(value); // eslint-disable-line\n this.handleInputChanged();\n }\n }\n\n private unitSpan: HTMLSpanElement;\n private textSpan: HTMLSpanElement;\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef, private numberFormatService: NumberFormatService) {}\n\n /* Control Values Accessor Stuff below */\n // eslint-disable-next-line\n onChange: any = () => {};\n // eslint-disable-next-line\n onTouched: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(): void {\n // Dont need to implement since its just a directive\n }\n\n writeValue(value: number): void {\n this.numericValue = value;\n }\n\n ngOnInit(): void {\n /* needs to be parsed as number explicitly as it comes as string from user input */\n this.decimalPlaces = parseInt(this.decimalPlaces.toString(), 10);\n\n this.inputChangeListener = this.renderer.listen(this.inputEl.nativeElement, 'blur', event => {\n this.formatInput(event.target, true);\n });\n\n this.keyupListener = this.renderer.listen(this.inputEl.nativeElement, 'keyup', event => {\n if (event.keyCode === BACK_KEYCODE || (event.keyCode >= CONTROL_KEYCODES_UPPER_BORDER && !OTHER_CONTROL_KEYS.has(event.keyCode))) {\n this.formatInput(event.target, false);\n }\n });\n\n this.keydownListener = this.renderer.listen(this.inputEl.nativeElement, 'keydown', event => {\n const value: string = event.target.value;\n if (\n this.numberFormatService.allowedKeys.includes(event.key) ||\n (event.keyCode <= CONTROL_KEYCODES_UPPER_BORDER && event.keyCode > 0 && event.keyCode !== SPACE_KEYCODE) ||\n event.metaKey ||\n event.ctrlKey ||\n event.altKey\n ) {\n /* allow negative sign only as first character and none exists outside of text selection */\n const indexNegativeSign = value.indexOf(NumberFormatService.NEGATIVE);\n if (\n event.key === NumberFormatService.NEGATIVE &&\n (event.target.selectionStart > 0 || indexNegativeSign > -1) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexNegativeSign >= event.target.selectionStart && indexNegativeSign <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* no duplicate decimal separators */\n const indexDecimalSep = value.indexOf(this.numberFormatService.decimalSeparator);\n if (\n event.key === this.numberFormatService.decimalSeparator &&\n (indexDecimalSep > -1 || this.decimalPlaces === 0) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexDecimalSep >= event.target.selectionStart && indexDecimalSep <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* prevent too many decimal places */\n if (\n NumberFormatService.NUMBERS.includes(event.key) &&\n indexDecimalSep > -1 &&\n indexDecimalSep < event.target.selectionStart &&\n event.target.selectionStart === event.target.selectionEnd &&\n value.length > indexDecimalSep + this.decimalPlaces\n ) {\n return false;\n }\n\n /* when deleting thousand separator, remove the digit before or after it */\n const cursorStart = event.target.selectionStart;\n\n if (cursorStart === event.target.selectionEnd) {\n if (event.keyCode === BACK_KEYCODE && value.substr(cursorStart - 1, 1) === this.numberFormatService.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart - 2) + value.substring(cursorStart - 1, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart - 1;\n return false;\n } else if (event.keyCode === DEL_KEYCODE && value.substr(cursorStart, 1) === this.numberFormatService.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart + 1) + value.substring(cursorStart + 2, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart + 1;\n return false;\n }\n }\n this.originalValue = NaN;\n } else {\n return false;\n }\n return true;\n });\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n }\n\n ngAfterViewChecked(): void {\n this.injectUnitSymbol();\n }\n\n handleInputChanged(): void {\n // Call in set timeout to avoid Expression has changed after it has been checked error.\n // Sometimes the value changes because we cut off decimal places\n setTimeout(() => {\n this.updateInput(\n this.numberFormatService.format(this._numericValue, {\n decimalPlaces: this.decimalPlaces,\n finalFormatting: false,\n autofillDecimals: this.autofillDecimals,\n }),\n );\n }, 1);\n }\n\n formatInput(element: HTMLInputElement, finalFormatting: boolean): void {\n const cursorPos = element.selectionStart;\n const length = element.value.length;\n const setCursor = this.displayValue !== element.value;\n const textFormatted = this.numberFormatService.formatNumber(element.value, {\n decimalPlaces: this.decimalPlaces,\n finalFormatting,\n autofillDecimals: this.autofillDecimals,\n });\n\n // special handling to move unit symbol along with display value\n if (this.textAlign === 'left' && this.unitPosition === 'right') {\n const inputStyles = window.getComputedStyle(this.inputEl.nativeElement.parentElement, null);\n this.unitSpan.style.position = 'absolute';\n this.unitSpan.style.marginTop = inputStyles.getPropertyValue('border-top-width');\n this.unitSpan.style.paddingTop = inputStyles.getPropertyValue('padding-top');\n this.unitSpan.style.paddingBottom = inputStyles.getPropertyValue('padding-bottom');\n\n if (!this.textSpan) {\n this.textSpan = document.createElement('span');\n document.body.appendChild(this.textSpan);\n this.textSpan.style.font = inputStyles.getPropertyValue('font');\n this.textSpan.style.fontSize = inputStyles.getPropertyValue('font-size');\n this.textSpan.style.height = 'auto';\n this.textSpan.style.width = 'auto';\n this.textSpan.style.position = 'absolute';\n this.textSpan.style.top = '0';\n this.textSpan.style.whiteSpace = 'no-wrap';\n this.textSpan.style.visibility = 'hidden';\n }\n this.textSpan.innerHTML = textFormatted;\n const width = Math.min(this.inputEl.nativeElement.clientWidth - this.unitSpan.clientWidth, Math.ceil(this.textSpan.clientWidth));\n this.unitSpan.style.left = width + 'px';\n }\n\n this.updateInput(textFormatted);\n if (setCursor) {\n element.selectionStart = element.selectionEnd = Math.max(cursorPos + element.value.length - length, 0);\n }\n }\n\n updateInput(value: string): void {\n this.displayValue = value;\n this.inputEl.nativeElement.value = value;\n this._numericValue = parseFloat(\n this.numberFormatService.strip(value, { decimalPlaces: this.decimalPlaces }).replace(this.numberFormatService.decimalSeparator, '.'),\n );\n if (this._numericValue !== this.roundOrTruncate(this.originalValue)) {\n this.originalValue = this._numericValue;\n this.numericValueChanged.emit(this._numericValue);\n }\n }\n\n getValueForFormControl(): number | undefined {\n this.formatInput(this.inputEl.nativeElement, false);\n if (isNaN(this._numericValue)) {\n // Return undefined instead of NaN to support the default required validator.\n return undefined; // eslint-disable-line\n }\n return this._numericValue;\n }\n\n private injectUnitSymbol(): void {\n // Need to inject the unit symbol when the input element width is set to its actual value,\n // otherwise the icon wont show in the correct position\n if (!!this.unit && !this.unitSpan && this.inputEl.nativeElement.offsetWidth !== 0) {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode.parentNode;\n\n // Create the span with unit symbol and apply necessary styles\n this.unitSpan = this.renderer.createElement('span');\n\n if (this.unitPosition === 'left') {\n this.renderer.setAttribute(this.unitSpan, 'matPrefix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-right', '5px');\n this.renderer.insertBefore(inputWrapper, this.unitSpan, inputWrapper.children[0]);\n } else {\n this.renderer.setAttribute(this.unitSpan, 'matSuffix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-left', '5px');\n this.renderer.appendChild(inputWrapper, this.unitSpan);\n }\n }\n\n // do not display unit symbol if the unit should move along display value\n if (!!this.unitSpan && this.textAlign === 'left' && this.unitPosition === 'right') {\n if (NumberFormatService.valueIsSet(this.displayValue)) {\n this.unitSpan.style.display = 'unset';\n } else {\n this.unitSpan.style.display = 'none';\n }\n }\n // always reset unit symbol\n if (!!this.unitSpan) {\n this.unitSpan.textContent = this.unit;\n }\n }\n\n private detachListener(): void {\n if (this.inputChangeListener) {\n this.inputChangeListener();\n delete this.inputChangeListener;\n }\n if (this.keydownListener) {\n this.keydownListener();\n delete this.keydownListener;\n }\n if (this.keyupListener) {\n this.keyupListener();\n delete this.keyupListener;\n }\n }\n\n private roundOrTruncate(value: number): number {\n const method = this.roundValue ? 'round' : value < 0 ? 'ceil' : 'floor';\n return Math[method](value * Math.pow(10, this.decimalPlaces)) / Math.pow(10, this.decimalPlaces);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NumericFieldDirective } from './numeric-field.directive';\nimport { NumberFormatService } from './number-format.service';\n\n@NgModule({\n providers: [NumberFormatService],\n declarations: [NumericFieldDirective],\n exports: [NumericFieldDirective],\n})\nexport class NumericFieldModule {\n static forRoot(): ModuleWithProviders<NumericFieldModule> {\n return {\n ngModule: NumericFieldModule,\n providers: [NumberFormatService],\n };\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\n\n@Component({\n selector: 'mad-card',\n templateUrl: './card.component.html',\n animations: [\n trigger('collapseExpandAnimation', [\n transition(':enter', [style({opacity: 0, height: 0, overflow: 'hidden'}), animate('100ms', style({\n opacity: 1,\n height: '*'\n }))]),\n transition(':leave', [style({opacity: 1, height: '*', overflow: 'hidden'}), animate('100ms', style({\n opacity: 0,\n height: 0\n }))]),\n ]),\n trigger('rotateIcon', [\n state('true', style({transform: 'rotate(0)'})),\n state('false', style({transform: 'rotate(180deg)'})),\n transition('true => false', animate('100ms ease-out')),\n transition('false => true', animate('100ms ease-in')),\n ]),\n ],\n styleUrls: ['./card.component.css'],\n})\nexport class CardComponent {\n @Input() cancelDisabled = false;\n @Input() cancelText = 'NOT SET';\n @Input() readonly = true;\n @Input() editText = 'NOT SET';\n @Input() expandable = true;\n @Input() expanded = true;\n @Input() saveDisabled = false;\n @Input() saveText = 'NOT SET';\n @Input() title: string;\n @Input() editMode = false;\n @Input() additionalActionIcon: string;\n @Input() additionalActionText: string = '';\n @Output() edit = new EventEmitter();\n @Output() cancel = new EventEmitter();\n @Output() save = new EventEmitter();\n @Output() additionalAction = new EventEmitter();\n\n onCancel(): void {\n this.cancel.emit(undefined);\n }\n\n onEdit(): void {\n this.edit.emit(undefined);\n this.expanded = true;\n }\n\n onSave(): void {\n this.save.emit(undefined);\n }\n\n toggleCollapse(): void {\n this.expanded = !this.expanded;\n }\n\n additionalActionClicked() {\n this.additionalAction.emit(undefined);\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { throttleTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[madThrottleClick]',\n})\nexport class ThrottleClickDirective implements OnInit, OnDestroy {\n @Input() throttleTime = 300;\n @Output() throttleClick = new EventEmitter();\n private clicks = new Subject();\n private subscription: Subscription;\n constructor() {}\n\n ngOnInit() {\n this.subscription = this.clicks.pipe(throttleTime(this.throttleTime)).subscribe(e => this.throttleClick.emit(e));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('click', ['$event'])\n clickEvent(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.clicks.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThrottleClickDirective } from './throttle-click.directive';\n\n@NgModule({\n declarations: [ThrottleClickDirective],\n imports: [CommonModule],\n exports: [ThrottleClickDirective],\n})\nexport class ThrottleClickModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatIconModule} from '@angular/material/icon';\nimport {CardComponent} from './card.component';\nimport {ButtonModule} from \"../button/button.module\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {ThrottleClickModule} from '../throttle-click/throttle-click.module';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, MatButtonModule, ThrottleClickModule],\n exports: [CardComponent],\n})\nexport class CardModule {\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChildren,\n} from '@angular/core';\n\nexport interface QuickListItem {\n id: string;\n}\n\n@Component({\n selector: 'mad-base-quick-list',\n template: '',\n styleUrls: [],\n})\nexport class BaseQuickListComponent<T> implements OnInit, AfterViewInit {\n @Input() allItems = [] as T[];\n @Input() addLabel = 'NOT SET';\n @Input() addPossible = true;\n @Input() blankItem = {} as any;\n @Input() readonly: boolean;\n @Input() maxItems: number;\n @Input() minItems: number;\n\n @Output() added = new EventEmitter<T>();\n @Output() removed = new EventEmitter<T>();\n @ContentChild(TemplateRef) itemTemplate: TemplateRef<any>;\n @ViewChildren('row') itemRows: QueryList<ElementRef>;\n\n rowCountFocus: number;\n addEventFunction: Function;\n\n constructor(public changeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.addEventFunction = this.addItem.bind(this);\n if (this.minItems) {\n for (let n = this.allItems.length; n < this.minItems; n++) {\n this.interalAddItem();\n }\n }\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => this.setFocusOnAdd(), 1);\n }\n\n addItem(): void {\n const newItem = this.interalAddItem();\n if (!!newItem) {\n this.added.emit(newItem);\n }\n }\n\n removeItem(item: T): void {\n if (this.isDeleteAllowed()) {\n this.allItems.splice(this.allItems.indexOf(item), 1);\n this.removed.emit(item);\n }\n }\n\n setFocusOnAdd(): void {\n this.rowCountFocus = this.itemRows.length;\n this.itemRows.changes.subscribe((els: QueryList<ElementRef>) => {\n if (els.length > this.rowCountFocus && !!els.last) {\n const firstFocusable = els.last.nativeElement.querySelector(\"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\");\n if (firstFocusable) {\n firstFocusable.focus();\n }\n }\n this.rowCountFocus = els.length;\n });\n }\n\n isAddAllowed(): boolean {\n return this.addPossible && (!this.maxItems || this.allItems.length < this.maxItems);\n }\n\n isDeleteAllowed(): boolean {\n return !this.minItems || this.allItems.length > this.minItems;\n }\n\n private interalAddItem(): T {\n if (this.isAddAllowed()) {\n const newItem = { ...this.blankItem };\n // creates ids in the form of \"n5kdz1pljl8\"\n newItem.id = Math.random()\n .toString(36)\n .substring(2);\n this.allItems.push(newItem);\n this.changeDetectorRef.detectChanges();\n return newItem;\n }\n return null;\n }\n\n}\n","// Based on https://github.com/porscheinformatik/clarity-addons/blob/master/src/clr-addons/generic-quick-list/generic-quick-list.ts\n\nimport { ChangeDetectorRef, Component } from '@angular/core';\nimport { BaseQuickListComponent, QuickListItem } from './base-quick-list.component';\n\n@Component({\n selector: 'mad-quick-list',\n templateUrl: './quick-list.component.html',\n styleUrls: [],\n})\nexport class QuickListComponent extends BaseQuickListComponent<QuickListItem> {\n constructor(public changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport { BaseQuickListComponent, QuickListItem } from '../base-quick-list.component';\n\n@Component({\n selector: 'mad-quick-list-compact',\n templateUrl: './quick-list-compact.component.html',\n styleUrls: [],\n})\nexport class QuickListCompactComponent extends BaseQuickListComponent<QuickListItem> {\n\n constructor(public changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { QuickListComponent } from './quick-list.component';\nimport { ButtonModule } from '../button/button.module';\nimport { BaseQuickListComponent } from './base-quick-list.component';\nimport { QuickListCompactComponent } from './quick-list-compact/quick-list-compact.component';\n\n@NgModule({\n declarations: [QuickListComponent, BaseQuickListComponent, QuickListCompactComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, ButtonModule],\n exports: [QuickListComponent, QuickListCompactComponent, BaseQuickListComponent],\n})\nexport class QuickListModule {}\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { ColumnHeader } from './column-header';\nimport { TableAction } from './table-action';\n\n@Component({\n selector: 'mad-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n})\nexport class TableComponent implements OnInit, AfterViewInit {\n readonly ACTION_COLUMN_NAME = '__action__';\n\n @Input() columns: ColumnHeader[] = [];\n @Input() filterLabel = 'NOT SET';\n @Input() filterPlaceholder = 'NOT SET';\n @Input() noDataText: string;\n @Input() pageSizeOptions = [5, 10, 15];\n @Input() defaultPageSize = this.pageSizeOptions?.[0] || 10;\n @Input() rowActions: TableAction[] = [];\n @Input() tableActions: TableAction[] = [];\n\n @Input() set displayedData(data: any[]) {\n if (!this.dataSource) {\n this.dataSource = new MatTableDataSource<any>(data);\n } else {\n this.dataSource.data = data;\n }\n }\n\n @Input() set paginationEnabled(isPaginationEnabled: boolean) {\n this.isPaginationEnabled = isPaginationEnabled;\n // eslint-disable-next-line\n const pageSize = this.isPaginationEnabled ? this.defaultPageSize : Number.MAX_VALUE;\n if (this.dataSource.paginator) {\n this.dataSource.paginator._changePageSize(pageSize);\n }\n }\n\n @Input()\n set filterEnabled(isFilterEnabled: boolean) {\n this.isFilterEnabled = isFilterEnabled;\n this.setFilterValue(undefined);\n }\n\n @Output() tableAction = new EventEmitter<TableAction>();\n @Output() rowAction = new EventEmitter<TableAction>();\n @Output() sortEvent = new EventEmitter<Sort>();\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n dataSource: MatTableDataSource<any[]>;\n columnNames: string[];\n isRowClickable: boolean;\n defaultAction: TableAction;\n isFilterEnabled = false;\n isPaginationEnabled = false;\n\n ngOnInit(): void {\n this.columnNames = this.columns.map(column => column.label);\n this.isRowClickable = this.rowActions.length > 0;\n if (this.isRowClickable) {\n this.columnNames.unshift(this.ACTION_COLUMN_NAME);\n this.defaultAction = this.rowActions[0];\n }\n }\n\n ngAfterViewInit(): void {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n // set custom filter predicate to enable search for multiple search strings:\n // e.g. \"one two three\"\n this.dataSource.filterPredicate = (data: any, filter: string) =>\n !filter || filter.split(/\\s+/).every(term => !!Object.keys(data).find(key => data[key].includes(term)));\n }\n\n onFilter(value: string): void {\n this.setFilterValue(value);\n }\n\n onRowEvent(event: MouseEvent, row: any, action = this.defaultAction): void {\n if (!!action && !this.isClickOnRowMenuIcon(event)) {\n this.rowAction.emit({ ...action, outputRow: row });\n }\n }\n\n onSortingEvent(sortingParams: Sort): void {\n this.sortEvent.emit(sortingParams);\n }\n\n onTableAction(tableAction: TableAction): void {\n if (!!tableAction) {\n this.tableAction.emit(tableAction);\n }\n }\n\n private setFilterValue(value: string): void {\n this.dataSource.filter = value?.trim().toLowerCase();\n }\n\n private isClickOnRowMenuIcon(event: MouseEvent): boolean {\n return (event?.target as HTMLElement)?.classList.contains('mat-icon');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { TableComponent } from './table.component';\nimport { ButtonModule } from '../button/button.module';\n\n@NgModule({\n declarations: [TableComponent],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n ButtonModule,\n ],\n exports: [TableComponent],\n})\nexport class TableModule {}\n","export class DataTableActionType {\n public static SINGLE = \"SINGLE\";\n public static BATCH = \"BATCH\";\n public static NONE = \"NONE\";\n}\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { DataTableColumnHeader } from \"./data-table-column-header\";\nimport { DataTableAction } from \"./data-table-action\";\nimport { DataTableActionType } from \"./data-table-action-type\";\nimport { SelectionModel } from \"@angular/cdk/collections\";\nimport { v4 as uuidV4 } from \"uuid\";\n\n@Component({\n selector: \"mad-data-table\",\n templateUrl: \"./data-table.component.html\",\n styleUrls: [\"./data-table.component.scss\"]\n})\nexport class DataTableComponent implements OnInit, AfterViewInit {\n readonly ACTION_COLUMN_NAME = \"__action__\";\n readonly SINGLE = DataTableActionType.SINGLE;\n readonly BATCH = DataTableActionType.BATCH;\n readonly NONE = DataTableActionType.NONE;\n\n @Input() columns: DataTableColumnHeader[] = [];\n @Input() filterLabel = \"Filter\";\n @Input() filterPlaceholder = \"\";\n @Input() noDataText = \"No matching data found\";\n @Input() pageSizeOptions = [5, 10, 15];\n @Input() defaultPageSize = this.pageSizeOptions?.[0] || 10;\n @Input() actions: DataTableAction[] = [];\n @Input() idGenerator: any;\n\n @Input() set tableData(data: any[]) {\n if (!this.dataSource) {\n this.dataSource = new MatTableDataSource<any>(data);\n }\n this.createDataMapsAndSetDisplayedDataSourceData(data);\n }\n\n @Input() set loading(isLoading: boolean) {\n this.isLoading = isLoading;\n }\n\n @Input() set paginationEnabled(isPaginationEnabled: boolean) {\n this.isPaginationEnabled = isPaginationEnabled;\n // eslint-disable-next-line\n const pageSize = this.isPaginationEnabled ? this.defaultPageSize : Number.MAX_VALUE;\n if (this.dataSource.paginator) {\n this.dataSource.paginator._changePageSize(pageSize);\n }\n }\n\n @Input()\n set filterEnabled(isFilterEnabled: boolean) {\n this.isFilterEnabled = isFilterEnabled;\n this.setFilterValue(undefined);\n }\n\n @Input()\n set forceMode(mode: string) {\n if (mode === this.SINGLE || mode === this.BATCH || mode === this.NONE) {\n this._forceMode = mode;\n this.mode = mode;\n this.setActions();\n }\n }\n\n @Output() sortEvent = new EventEmitter<Sort>();\n @Output() actionEvent = new EventEmitter<DataTableAction>();\n @Output() pagingEvent = new EventEmitter<any>();\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n tableActions: DataTableAction[] = [];\n rowActions: DataTableAction[] = [];\n allSelected = false;\n selected: [];\n _forceMode: string;\n displayedDataMap = new Map<string, any>();\n actualDataMap = new Map<string, any>();\n dataSource: MatTableDataSource<any[]>;\n selectionModel = new SelectionModel<string>(true);\n columnNames: string[];\n defaultAction: DataTableAction;\n isFilterEnabled = false;\n isPaginationEnabled = false;\n mode = this.NONE;\n isRowClickable = false;\n isLoading = false;\n\n ngOnInit(): void {\n this.columnNames = this.columns.map(column => column.label);\n this.mode = this.getTableMode();\n this.setActions();\n if (this.mode !== this.NONE) {\n this.isRowClickable = true;\n this.defaultAction = this.rowActions[0];\n }\n this.columnNames.unshift(this.ACTION_COLUMN_NAME);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }\n\n get selectedCount(): number {\n return this.selectionModel?.selected ? this.selectionModel.selected.length : 0;\n }\n\n get rowCount(): number {\n return this.dataSource?._pageData(this.dataSource.data) ? this.dataSource._pageData(this.dataSource.data).length : 0;\n }\n\n public getSelectedCount(actionType: string): string {\n const count = this.selectedCount;\n if (actionType != this.BATCH || count < 2) {\n return \"\";\n }\n return \" (\" + count + \")\";\n }\n\n public isDisabled(actionType: string): boolean {\n switch (actionType) {\n case this.SINGLE:\n return this.selectedCount != 1;\n case this.BATCH:\n return this.selectedCount < 1;\n default:\n return false;\n }\n }\n\n public onToggleSelectAll(): void {\n // clear all selection first\n this.selectionModel.clear();\n // toggle all checkbox\n this.allSelected = !this.allSelected;\n if (this.allSelected) {\n // select all rows of the current page\n this.dataSource._pageData(this.dataSource.data).forEach((row) => {\n const dataRow: any = row as any;\n const rowId = \"\" + dataRow.rowId;\n this.selectionModel.select(rowId);\n }\n );\n }\n }\n\n public isSelected(rowId: string): boolean {\n return this.selectionModel.isSelected(rowId);\n }\n\n public setFilterValue(value: string): void {\n this.dataSource.filter = value?.trim().toLowerCase();\n }\n\n public onRowCheckbox(event: MouseEvent, row: any): void {\n event.stopPropagation(); // no click event on row\n this.selectionModel.toggle(row.rowId);\n }\n\n public onRowEvent(event: MouseEvent, row: any, action = this.defaultAction): void {\n switch (this.mode) {\n case this.BATCH:\n this.onRowCheckbox(event, row);\n break;\n case this.SINGLE:\n // emit the default action if the row (not the icon!) was clicked\n if (!!action && !DataTableComponent.isClickOnRowMenuIcon(event)) {\n const selected = [];\n // if ID-generator is provided, return the ID, else return the ACTUAL data\n selected.push(this.idGenerator ? row.rowId : this.actualDataMap.get(row.rowId));\n this.emitTableAction(action, selected);\n }\n break;\n default:\n // do nothing if mode is NONE (or null)\n return;\n }\n }\n\n public onSortingEvent(sortingParams: Sort): void {\n this.sortEvent.emit(sortingParams);\n }\n\n public onPaginationEvent(event: any): void {\n this.pagingEvent.emit(event);\n }\n\n public onTableAction(tableAction: DataTableAction): void {\n if (!!tableAction) {\n const selection: any[] = [];\n for (const selected of this.selectionModel.selected) {\n selection.push(this.idGenerator ? selected : this.actualDataMap.get(selected));\n }\n tableAction.selected = selection;\n this.actionEvent.emit(tableAction);\n }\n }\n\n private static transformData(value: any, transformer: any, transformerParams: any): any {\n if (!transformer || !(transformer instanceof Function)) {\n return value;\n }\n return transformer(value, transformerParams);\n }\n\n private static generateRowId(): string {\n return uuidV4();\n }\n\n private static isClickOnRowMenuIcon(event: MouseEvent): boolean {\n return (event?.target as HTMLElement)?.classList.contains(\"mat-icon\");\n }\n\n private emitTableAction(action: DataTableAction, selected: any[]): void {\n const emitAction = { ...action };\n if (action.type !== this.NONE) {\n emitAction.selected = [...selected];\n }\n this.actionEvent.emit(emitAction);\n }\n\n private generateDisplayedDataElement(rowId: string, actualDataElement: any): any {\n const displayedDataElement: { [key: string]: any } = {};\n displayedDataElement[\"rowId\"] = rowId;\n for (const column of this.columns) {\n const actualValue = actualDataElement[column.dataPropertyName];\n displayedDataElement[column.dataPropertyName] = DataTableComponent.transformData(actualValue, column.transformer, column.transformerParams);\n }\n return displayedDataElement;\n }\n\n private setActions(): void {\n this.rowActions = [];\n this.tableActions = [];\n for (const action of this.actions) {\n if (this.mode !== action.hiddenInMode) {\n switch (action.type) {\n case this.SINGLE:\n if (this.mode === this.SINGLE) {\n this.rowActions.push(action);\n } else {\n this.tableActions.push(action);\n }\n break;\n case this.BATCH:\n if (this.mode !== this.SINGLE) {\n this.tableActions.push(action);\n }\n break;\n default:\n this.tableActions.push(action);\n }\n }\n }\n }\n\n private createDataMapsAndSetDisplayedDataSourceData(data: any[]) {\n const displayedDataList = [];\n this.actualDataMap.clear();\n this.displayedDataMap.clear();\n for (const dataEntry of data) {\n const rowId = (this.idGenerator) ? this.idGenerator(dataEntry) : DataTableComponent.generateRowId();\n this.actualDataMap.set(rowId, dataEntry);\n const displayedDataElement = this.generateDisplayedDataElement(rowId, dataEntry);\n this.displayedDataMap.set(rowId, displayedDataElement);\n displayedDataList.push(displayedDataElement);\n }\n this.dataSource.data = displayedDataList;\n }\n\n\n private getTableMode(): string {\n if (this._forceMode) {\n return this._forceMode;\n }\n\n if (!this.actions) {\n return this.NONE;\n }\n const distinctActionTypes = new Set<string>();\n for (const rowAction of this.actions) {\n distinctActionTypes.add(rowAction.type);\n }\n if (distinctActionTypes.has(this.BATCH)) {\n return this.BATCH;\n }\n if (distinctActionTypes.has(this.SINGLE)) {\n return this.SINGLE;\n }\n return this.NONE;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\nimport { DataTableComponent } from \"./data-table.component\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatBadgeModule } from \"@angular/material/badge\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\n\n@NgModule({\n declarations: [DataTableComponent],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n MatProgressSpinnerModule,\n ButtonModule,\n TranslateModule,\n MatCheckboxModule,\n MatBadgeModule\n ],\n exports: [DataTableComponent]\n})\nexport class DataTableModule {\n}\n","import { CdkStepHeader, STEP_STATE, StepState } from '@angular/cdk/stepper';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, ViewEncapsulation } from '@angular/core';\nimport { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'mad-step-header',\n templateUrl: './step-header.component.html',\n styleUrls: ['./step-header.component.scss'],\n inputs: ['color'],\n host: {\n 'class': 'mad-step-header',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StepHeaderComponent extends CdkStepHeader {\n @Input()\n index: number;\n\n @Input()\n label: string;\n\n @Input() state: StepState;\n\n @Input() errorMessage: string;\n\n @Input() selected: boolean;\n\n @Input() active: boolean;\n\n @Input() optional: boolean;\n\n @Input() hasError: boolean;\n\n @Input() completed: boolean;\n\n @Input() closed: boolean;\n\n constructor(private _focusMonitor: FocusMonitor, _elementRef: ElementRef<HTMLElement>) {\n super(_elementRef);\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n public getCssForState(): string {\n if (this.state === STEP_STATE.NUMBER && !this.completed && !this.hasError) {\n return 'step-state-neutral'; //initiale state is 'number'\n } else if (this.completed) {\n return 'step-state-complete';\n } else if (this.hasError) {\n return 'step-state-error';\n }\n }\n\n public getIcon(): string {\n if (this.completed) {\n return 'check_circle_outline';\n } else if (this.hasError) {\n return 'error_outline';\n }\n return '';\n }\n}\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\n/**\n * Animations used by the MAD stepper.\n */\nexport const madStepperAnimations: {\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n verticalStepTransition: trigger('stepTransition', [\n state('previous', style({ height: '0px', visibility: 'hidden' })),\n state('next', style({ height: '0px', visibility: 'hidden' })),\n state('current', style({ height: '*', visibility: 'visible' })),\n transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { CdkStep, CdkStepper, STEP_STATE, StepContentPositionState} from '@angular/cdk/stepper';\nimport { AnimationEvent } from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy, OnInit,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { StepHeaderComponent } from './step-header/step-header.component';\nimport { madStepperAnimations } from './mad-stepper-animation';\n\n@Component({\n selector: 'mad-step',\n templateUrl: './step.component.html',\n styleUrls: ['./stepper.component.scss'],\n providers: [{ provide: CdkStep, useExisting: StepComponent }],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StepComponent extends CdkStep implements AfterContentInit, OnDestroy {\n /** Action event for the next button. If not set the StepComponent will handle the step navigation */\n @Output()\n onNext = new EventEmitter<any>();\n\n /** Action event for the done button. If not set the StepComponent will handle the step navigation */\n @Output()\n onDone = new EventEmitter<any>();\n\n /*** Action event when the header is clicked. If not set the StepComponent will handle the step navigation*/\n @Output()\n onHeaderClick = new EventEmitter<any>();\n\n stepClosed = false;\n\n private _isSelected = Subscription.EMPTY;\n\n constructor(@Inject(forwardRef(() => StepperComponent)) private stepper: StepperComponent, private _viewContainerRef: ViewContainerRef) {\n super(stepper);\n }\n\n ngAfterContentInit() {\n this._isSelected = this._stepper.steps.changes\n .pipe(\n switchMap(() =>\n this._stepper.selectionChange.pipe(\n map(event => event.selectedStep === this),\n tap(() => (this.stepClosed = false)),\n startWith(this._stepper.selected === this),\n ),\n ),\n )\n .subscribe();\n }\n\n ngOnDestroy() {\n this._isSelected.unsubscribe();\n }\n\n public next(markFormAsTouched = true): void {\n this.stepValidation(markFormAsTouched);\n\n if (this.onNext.observers.length <= 0) {\n this.stepper.next();\n }\n this.onNext.emit();\n }\n\n public selectAndMarkAsTouched(index: number): void {\n //Mark current selected step as touched before selecting to display errors in the from\n this._stepper.selected?.stepControl?.markAllAsTouched();\n this.stepClosed = false;\n if (this.onHeaderClick.observers.length <= 0) {\n this.select();\n }\n this.onHeaderClick.emit(index);\n }\n\n public completeLast(): void {\n this.stepValidation(true);\n this.stepClosed = true;\n\n if (this.onDone.observers.length <= 0) {\n this.stepper.next();\n }\n\n this.onDone.emit();\n }\n\n public resetValidations(): void {\n this.hasError = false;\n this.completed = true;\n this.state = STEP_STATE.DONE;\n }\n\n private stepValidation(markFormAsTouched: boolean): void {\n if (markFormAsTouched){\n this.stepControl?.markAllAsTouched();\n }\n if (this.stepControl?.valid) {\n this.hasError = false;\n this.completed = true;\n this.state = STEP_STATE.DONE;\n } else {\n this.completed = false;\n this.hasError = true;\n this.state = STEP_STATE.ERROR;\n }\n }\n}\n\n@Component({\n selector: 'mad-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n host: {\n '[class.stepper-vertical]': 'true',\n '[attr.aria-orientation]': '\"vertical\"',\n 'role': 'tablist',\n },\n animations: [madStepperAnimations.verticalStepTransition],\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n providers: [{ provide: CdkStepper, useExisting: StepperComponent }],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StepperComponent extends CdkStepper implements OnInit, AfterContentInit {\n\n /** Event emitted when the current step is done transitioning in. */\n @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n @Input()\n nextButtonLabel: string;\n\n @Input()\n doneButtonLabel: string;\n /** Step headers of all steps inside the stepper */\n @ViewChildren(StepHeaderComponent) _stepHeader: QueryList<StepHeaderComponent>;\n\n /** Steps inside the Stepper */\n @ContentChildren(StepComponent, { descendants: true }) _steps: QueryList<StepComponent>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n steps: QueryList<StepComponent> = new QueryList<StepComponent>();\n\n readonly _animationDone = new Subject<AnimationEvent>();\n\n\n constructor(\n @Optional() dir: Directionality,\n changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) _document: any,\n ) {\n super(dir, changeDetectorRef, elementRef, _document);\n this._orientation = 'vertical';\n }\n\n ngOnInit() {\n // Only linear stepper implementation is supported\n super.linear = true;\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._stateChanged();\n });\n\n this._animationDone\n .pipe(\n distinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n takeUntil(this._destroyed),\n )\n .subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n\n /**\n * Method patched to enable the closing of the last step.\n */\n _getAnimationDirection(index: number): StepContentPositionState {\n const closeLastStep = this.selectedIndex === this.steps.length - 1 && this._steps.last?.completed && this._steps.last?.stepClosed;\n if (closeLastStep) {\n return 'next';\n }\n return super._getAnimationDirection(index);\n }\n\n _stepIsNavigable(index: number, step: StepComponent): boolean {\n return step.completed || this.selectedIndex === index || !this.linear;\n }\n}\n","import { StepComponent, StepperComponent} from './stepper.component';\nimport { StepHeaderComponent } from './step-header/step-header.component';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgModule } from '@angular/core';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { FlexModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [StepperComponent, StepHeaderComponent, StepComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, CdkStepperModule, FlexModule],\n exports: [StepperComponent, StepHeaderComponent, StepComponent],\n})\nexport class StepperModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-header',\n templateUrl: './content-header.component.html',\n styleUrls: ['./content-header.component.scss']\n})\nexport class ContentHeaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-panel-container',\n templateUrl: './content-panel-container.component.html',\n styleUrls: ['./content-panel-container.component.scss']\n})\nexport class ContentPanelContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-panel-container-content',\n templateUrl: './content-panel-container-content.component.html',\n styleUrls: ['./content-panel-container-content.component.scss']\n})\nexport class ContentPanelContainerContentComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-panel-container-footer',\n templateUrl: './content-panel-container-footer.component.html',\n styleUrls: ['./content-panel-container-footer.component.scss']\n})\nexport class ContentPanelContainerFooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-main-container',\n templateUrl: './main-container.component.html',\n styleUrls: ['./main-container.component.scss']\n})\nexport class MainContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { ContentHeaderComponent } from './content-header/content-header.component';\nimport { ContentPanelContainerComponent } from './content-panel-container/content-panel-container.component';\nimport { ContentPanelContainerContentComponent } from './content-panel-container-content/content-panel-container-content.component';\nimport { ContentPanelContainerFooterComponent } from './content-panel-container-footer/content-panel-container-footer.component';\nimport { MainContainerComponent } from './main-container/main-container.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n ContentHeaderComponent,\n ContentPanelContainerComponent,\n ContentPanelContainerContentComponent,\n ContentPanelContainerFooterComponent,\n MainContainerComponent,\n ],\n imports: [CommonModule],\n exports: [\n ContentHeaderComponent,\n ContentPanelContainerComponent,\n ContentPanelContainerContentComponent,\n ContentPanelContainerFooterComponent,\n MainContainerComponent,\n ],\n})\nexport class ContentPanelModule {}\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport { MatStepper} from '@angular/material/stepper';\n\nexport interface IStep {\n label: string,\n enabled?: boolean,\n subSteps?: IStep[],\n activeSubStep?: IStep\n}\n\n@Component({\n selector: 'mad-flowbar',\n templateUrl: './flowbar.component.html',\n styleUrls: ['./flowbar.component.scss']\n})\nexport class FlowbarComponent implements OnInit, AfterViewInit {\n @ViewChild('stepper') private stepper: MatStepper;\n\n @Input('steps') _steps: IStep[] = [];\n @Input('activeStep') _activeStep: IStep;\n @Output('activeStepChange') _activeStepChange: EventEmitter<IStep> = new EventEmitter<IStep>(true);\n /**\n * Event emitted when a step header is clicked.\n * When defined header navigation has to be implemented programmatically.\n * e.g. {@see changeActiveStepOnHeader}\n */\n @Output('headerClick') _headerClick: EventEmitter<IStep> = new EventEmitter<IStep>(true);\n\n\n ngOnInit(): void {\n // If no active step is set as input or the active step is not enabled, select the first enabled step\n if (!this._activeStep || !this._activeStep.enabled) {\n this._activeStep = this._steps.find(step => {\n return step.enabled;\n });\n if (this._activeStep) {\n // If sub steps exist then set the first non disabled sub step per default\n if (this.activeTabHasSubSteps()) {\n this._activeStep.activeSubStep = this._activeStep.subSteps.find(step => {\n return step.enabled;\n });\n }\n this._activeStepChange.emit(this._activeStep);\n }\n }\n }\n\n ngAfterViewInit() {\n this.stepper._getIndicatorType = () => 'number';\n }\n\n public getIndexForActiveStep(): number {\n const selectedIndex = this._steps.indexOf(this._activeStep);\n return selectedIndex === -1 ? 0 : selectedIndex;\n }\n\n public changeActiveStep(step: IStep): void {\n const previousIndex = this._steps.indexOf(this._activeStep);\n this._activeStep = step;\n if (this.activeTabHasSubSteps()) {\n if (previousIndex < this._steps.indexOf(this._activeStep)) {\n this._activeStep.activeSubStep = this._activeStep.subSteps[0];\n } else {\n this._activeStep.activeSubStep = this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n }\n this._activeStepChange.emit(this._activeStep);\n }\n\n public changeActiveStepOnHeader(step: IStep): void {\n const stepIndex = this._steps.indexOf(step);\n this._activeStep = step;\n this.stepper.selected = this.stepper._steps.find((_, i) => i === stepIndex);\n }\n\n public changeActiveSubStep(subStep: IStep): void {\n this._activeStep.activeSubStep = subStep;\n }\n\n public previous(): void {\n if (this.isPreviousAvailable()) {\n // If active step has no sub steps or first sub step is selected -> go to previous main step\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n const previousEnabledStep = this.findPreviousEnabledStep();\n this.changeActiveStep(previousEnabledStep);\n this.stepper.selectedIndex = this._steps.indexOf(previousEnabledStep);\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex - 1];\n }\n }\n }\n\n public next(): void {\n if (this.isNextAvailable()) {\n // If active step has no sub steps or last sub step is selected -> go to next main step\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n const nextEnabledStep = this.findNextEnabledStep();\n this.changeActiveStep(nextEnabledStep);\n this.stepper.selectedIndex = this._steps.indexOf(nextEnabledStep);\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex + 1];\n }\n }\n }\n\n public isPreviousAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n const index = this.getCurrentIndex();\n return index > 0 && this.isAnyPreviousStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isNextAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n const index = this.getCurrentIndex();\n return index < this._steps.length - 1 && this.isAnyFollowingStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isLastStep(): boolean {\n if (this.getCurrentIndex() === this._steps.length - 1) {\n if (this.activeTabHasSubSteps()) {\n return this.isLastSubStep();\n } else {\n return true;\n }\n }\n return false;\n }\n\n public getCurrentIndex(): number {\n return this._steps.findIndex(value => {\n return value === this._activeStep;\n });\n }\n\n public getCurrentSubStepIndex(): number {\n return this._activeStep.subSteps.findIndex(value => {\n return value === this._activeStep.activeSubStep;\n });\n }\n\n public triggerClick(): void {\n const selectedStep = this._steps[this.stepper.selectedIndex];\n this.changeActiveStep(selectedStep);\n }\n\n public headerClick(event: any, step: IStep): void {\n event.stopPropagation(); //stop processing current header click event\n this._headerClick.emit(step);\n }\n\n get currentStepLabel(): string {\n return this._activeStep.label;\n }\n\n get currentSubStepLabel(): string {\n return this._activeStep.activeSubStep?.label;\n }\n\n private activeTabHasSubSteps(): boolean {\n return this._activeStep.subSteps && this._activeStep.subSteps.length > 0;\n }\n\n private isFirstSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[0];\n }\n\n private isLastSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n\n private isAnyPreviousStepEnabled(index: number): boolean {\n // eslint-disable-next-line id-blacklist\n return this._steps.slice(0, index).find(step => step.enabled) !== undefined;\n }\n\n private isAnyFollowingStepEnabled(index: number): boolean {\n // eslint-disable-next-line id-blacklist\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled) !== undefined;\n }\n\n private findPreviousEnabledStep(): IStep {\n const index = this.getCurrentIndex();\n return this._steps\n .slice(0, index)\n .reverse()\n .find(step => step.enabled);\n }\n\n private findNextEnabledStep(): IStep {\n const index = this.getCurrentIndex();\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {FlowbarComponent} from './flowbar.component';\n\n@NgModule({\n declarations: [FlowbarComponent],\n imports: [CommonModule, MatStepperModule],\n exports: [FlowbarComponent],\n})\nexport class FlowbarModule {}\n","import {NgModule} from '@angular/core';\nimport {ToolbarModule} from './toolbar/toolbar.module';\nimport {ReadOnlyFormFieldModule} from './readonly/readonly-form-field.module';\nimport {MaterialActionButtonModule} from './material-action-button/material-action-button.module';\nimport {NumericFieldModule} from './numeric-field/numeric-field.module';\nimport {CardModule} from './card/card.module';\nimport {QuickListModule} from './quick-list/quick-list.module';\nimport {ButtonModule} from './button/button.module';\nimport {ThrottleClickModule} from './throttle-click/throttle-click.module';\nimport {StepperModule} from './stepper/stepper.module';\n\n@NgModule({\n exports: [\n ReadOnlyFormFieldModule,\n ButtonModule,\n ToolbarModule,\n MaterialActionButtonModule,\n NumericFieldModule,\n CardModule,\n QuickListModule,\n ThrottleClickModule,\n ],\n})\nexport class MaterialAddonsModule {}\n","/*\n * Public API Surface of material-addons\n */\nexport * from './lib/material-action-button/material-action-button.component';\nexport * from './lib/material-action-button/material-action-button.module';\nexport * from './lib/button/button.module';\nexport * from './lib/readonly/readonly-form-field.module';\nexport * from './lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component';\nexport * from './lib/readonly/readonly-form-field/readonly-form-field.component';\nexport * from './lib/toolbar/toolbar.module';\nexport * from './lib/toolbar/toolbar.component';\nexport * from './lib/toolbar/toolbar.service';\nexport * from './lib/toolbar/toolbar-action.interface';\nexport * from './lib/numeric-field/numeric-field.module';\nexport * from './lib/numeric-field/number-format.service';\nexport * from './lib/card/card.module';\nexport * from './lib/quick-list/quick-list.module';\nexport * from './lib/table/table';\nexport * from './lib/table/table.module';\nexport * from './lib/data-table/data-table';\nexport * from './lib/data-table/data-table.module';\nexport * from './lib/throttle-click/throttle-click.directive';\nexport * from './lib/throttle-click/throttle-click.module';\nexport * from './lib/stepper/stepper.component';\nexport * from './lib/stepper/step-header/step-header.component';\nexport * from './lib/stepper/mad-stepper-animation';\nexport * from './lib/stepper/stepper.module';\nexport * from './lib/content-panel/content-header/content-header.component';\nexport * from './lib/content-panel/content-panel-container/content-panel-container.component';\nexport * from './lib/content-panel/content-panel-container-content/content-panel-container-content.component';\nexport * from './lib/content-panel/content-panel-container-footer/content-panel-container-footer.component';\nexport * from './lib/content-panel/main-container/main-container.component';\nexport * from './lib/content-panel/content-panel.module';\nexport * from './lib/flowbar/flowbar.component';\nexport * from './lib/flowbar/flowbar.module';\nexport * from './lib/material-addons.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {DangerButtonComponent as ɵe} from './lib/button/danger-button/danger-button.component';\nexport {LinkButtonComponent as ɵd} from './lib/button/flat-button/link-button.component';\nexport {IconButtonComponent as ɵf} from './lib/button/icon-button/icon-button.component';\nexport {MadBasicButton as ɵb} from './lib/button/mad-basic-button';\nexport {OutlineButtonComponent as ɵc} from './lib/button/outline-button/outline-button.component';\nexport {PrimaryButtonComponent as ɵa} from './lib/button/primary-button/primary-button.component';\nexport {CardComponent as ɵh} from './lib/card/card.component';\nexport {DataTableComponent as ɵm} from './lib/data-table/data-table.component';\nexport {NumericFieldDirective as ɵg} from './lib/numeric-field/numeric-field.directive';\nexport {BaseQuickListComponent as ɵj} from './lib/quick-list/base-quick-list.component';\nexport {QuickListCompactComponent as ɵk} from './lib/quick-list/quick-list-compact/quick-list-compact.component';\nexport {QuickListComponent as ɵi} from './lib/quick-list/quick-list.component';\nexport {TableComponent as ɵl} from './lib/table/table.component';"],"names":["Component","Input","NgModule","CommonModule","RouterModule","MatButtonModule","MatIconModule","MatTooltipModule","HostBinding","ViewChild","ElementRef","ChangeDetectorRef","Injectable","Inject","LOCALE_ID","Renderer2","MatFormFieldModule","MatInputModule","FormsModule","NavigationEnd","Router","TranslateService","Breakpoints","map","of","BreakpointObserver","Title","MatMenuModule","MatToolbarModule","MatBadgeModule","EventEmitter","Directive","NG_VALUE_ACCESSOR","forwardRef","Output","trigger","transition","style","animate","state","Subject","throttleTime","HostListener","MatCardModule","ContentChild","TemplateRef","ViewChildren","MatTableDataSource","MatPaginator","MatSort","MatPaginatorModule","MatSortModule","MatTableModule","SelectionModel","uuidV4","MatProgressSpinnerModule","TranslateModule","MatCheckboxModule","STEP_STATE","CdkStepHeader","ViewEncapsulation","ChangeDetectionStrategy","FocusMonitor","Subscription","switchMap","tap","startWith","CdkStep","ViewContainerRef","QueryList","takeUntil","distinctUntilChanged","CdkStepper","Directionality","Optional","DOCUMENT","ContentChildren","CdkStepperModule","FlexModule","MatStepperModule"],"mappings":";;;;;;;QAEA;YAaE,SAAI,GAAG,KAAK,CAAC;;YAOb,eAAU,GAAG,IAAI,CAAC;YAGlB,gBAAW,GAAG,KAAK,CAAC;SACrB;;;;gBAxBAA,YAAS,SAAC;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,mjBAAsD;;iBAEvD;;;6BAEEC,QAAK;qBAGLA,QAAK;uBAGLA,QAAK;6BAGLA,QAAK;6BAILA,QAAK;8BAGLA,QAAK;;;;QCXR;;;;;gBALCC,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;oBAC7C,OAAO,EAAE,CAACC,mBAAY,EAAEC,eAAY,EAAEC,sBAAe,EAAEC,kBAAa,EAAEC,wBAAgB,CAAC;oBACvF,OAAO,EAAE,CAAC,6BAA6B,CAAC;iBACzC;;;ICZD;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QC5OA;YAIE,iBAAY,GAAG,UAAC,CAAQ,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,GAAA,CAAC;SAsBlD;QApBC,oCAAW,GAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,sCAAa,GAAb;YACE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aACxE;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3E;SACF;QACD,sBACI,wCAAY;iBADhB;gBAEE,OAAO,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;aACxC;;;WAAA;QAED,sBACI,mCAAO;iBADX;gBAEE,OAAO,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAC;aACrC;;;WAAA;;;;+BARAC,cAAW,SAAC,sBAAsB;0BAKlCA,cAAW,SAAC,eAAe;;;;QChBc,0CAAc;QAYxD;YAAA,YACE,iBAAO,SAGR;YARD,WAAK,GAAW,EAAE,CAAC;YAMjB,iBAAM,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;YAC3B,iBAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;;SAChC;;KAhBH,CAA4C,cAAc;;gBALzDR,YAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,yIAA8C;;iBAE/C;;;;uBAEEC,QAAK;2BAGLA,QAAK;wBAGLA,QAAK;yBAGLQ,YAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAEC,aAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCVV,0CAAc;QAYxD;YAAA,YACE,iBAAO,SAGR;YARD,WAAK,GAAW,EAAE,CAAC;YAMjB,iBAAM,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;YAC3B,iBAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;;SAChC;;KAhBH,CAA4C,cAAc;;gBALzDV,YAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,0IAA8C;;iBAE/C;;;;uBAEEC,QAAK;2BAGLA,QAAK;wBAGLA,QAAK;yBAGLQ,YAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAEC,aAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCXb,uCAAc;QAYrD;YAAA,YACE,iBAAO,SAGR;YARD,WAAK,GAAW,EAAE,CAAC;YAMjB,iBAAM,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;YAC3B,iBAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;;SAChC;;KAhBH,CAAyC,cAAc;;gBALtDV,YAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,kIAA2C;;iBAE5C;;;;uBAEEC,QAAK;2BAGLA,QAAK;wBAGLA,QAAK;yBAGLQ,YAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAEC,aAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCTb,uCAAc;QAYrD;YAAA,YACE,iBAAO,SAGR;YARD,WAAK,GAAW,EAAE,CAAC;YAMjB,iBAAM,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;YAC3B,iBAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;;SAChC;;KAhBH,CAAyC,cAAc;;gBALtDV,YAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,uIAA2C;;iBAE5C;;;;uBAEEC,QAAK;2BAGLA,QAAK;wBAGLA,QAAK;yBAGLQ,YAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAEC,aAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCVX,yCAAc;QAYvD;YAAA,YACE,iBAAO,SAGR;YARD,WAAK,GAAW,EAAE,CAAC;YAMjB,iBAAM,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC;YAC3B,iBAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC;;SAChC;;KAhBH,CAA2C,cAAc;;gBALxDV,YAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,sIAA6C;;iBAE9C;;;;uBAEEC,QAAK;2BAGLA,QAAK;wBAGLA,QAAK;yBAGLQ,YAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAEC,aAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCDtD;;;;;gBALCR,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;oBAC/H,OAAO,EAAE,CAACC,mBAAY,EAAEC,eAAY,EAAEC,sBAAe,EAAEC,kBAAa,EAAEC,wBAAgB,CAAC;oBACvF,OAAO,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;iBAC3H;;;ICHD;;;;;;QAiEE,2CAAoB,cAAiC,EAAU,UAAsB;YAAjE,mBAAc,GAAd,cAAc,CAAmB;YAAU,eAAU,GAAV,UAAU,CAAY;;;;;YAlD5E,aAAQ,GAAG,IAAI,CAAC;YAkBL,cAAS,GAAqB,MAAM,CAAC;YAClC,iBAAY,GAAG,KAAK,CAAC;YACpB,kBAAa,GAAG,CAAC,CAAC;YACd,eAAU,GAAG,KAAK,CAAC;YACpB,qBAAgB,GAAG,KAAK,CAAC;YACrC,SAAI,GAAkB,IAAI,CAAC;YACnB,iBAAY,GAAqB,MAAM,CAAC;YACxC,iBAAY,GAAkB,IAAI,CAAC;;;;;YAOjD,cAAS,GAAG,KAAK,CAAC;;;;YAKlB,SAAI,GAAG,CAAC,CAAC;;;;;;;YAQT,kBAAa,GAAY,KAAK,CAAC;YAExC,2BAAsB,GAAG,KAAK,CAAC;SAI9B;QAED,oDAAQ,GAAR;YACE,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QAED,2DAAe,GAAf;YACE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QAED,8DAAkB,GAAlB;YACE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC;QAED,uDAAW,GAAX,UAAY,CAAgB;YAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QAED,oDAAQ,GAAR;YACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;YACD,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QAEO,uDAAW,GAAX;YACN,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO;aACR;YAED,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;SACrC;QAEO,wDAAY,GAAZ;YACN,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;gBAChE,OAAO,IAAI,CAAC;aACb;YACD,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACnF,IAAI,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC,SAAS,GAAG,uBAAuB,CAAC;SAC9E;QAEO,wDAAY,GAAZ;YACN,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACrF,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aAC/C;SACF;QAEO,iEAAqB,GAArB;;YACN,IAAM,KAAK,eAAG,IAAI,CAAC,sBAAsB,0CAAE,aAAa,0CAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAEjF,IAAI,KAAK,EAAE;gBACT,IAAI,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC9D,IAAI,sBAAsB,EAAE;oBAC1B,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,sBAAsB,CAAC,CAAC;iBACzE;aACF;SACF;;QAGO,qEAAyB,GAAzB;;;;YAGN,IAAI,YAAY,eAAG,IAAI,CAAC,UAAU,0CAAE,aAAa,0CAAE,KAAK,CAAC,YAAY,CAAC;YACtE,IAAI,CAAC,YAAY,EAAE;gBACjB,OAAO,UAAU,CAAC;aACnB;YAED,OAAO,YAAY,CAAC;SACrB;QAEO,uEAA2B,GAA3B;;YACN,IAAI,IAAI,CAAC,gCAAgC,EAAE,EAAE;gBAC3C,IAAM,KAAK,eAAG,IAAI,CAAC,sBAAsB,0CAAE,aAAa,0CAAE,aAAa,CAAC,OAAO,CAAC,CAAC;gBAEjF,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,IAAI,CAAC,sBAAsB,EAAE;wBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;qBAChD;oBACD,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;iBACrC;aACF;SACF;QAEO,4EAAgC,GAAhC;YACN,OAAO,IAAI,CAAC,yBAAyB,EAAE,KAAK,UAAU,CAAC;SACxD;QAEO,2DAAe,GAAf,UAAgB,KAAU;YAChC,IAAI,KAAK,EAAE;gBACT,QAAQ,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE;aAChD;YACD,OAAO,KAAK,CAAC;SACd;QAEO,gEAAoB,GAApB;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;YAED,OAAO,IAAI,CAAC,YAAY,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;SACnG;;;;gBAzKFP,YAAS,SAAC;oBACT,QAAQ,EAAE,iCAAiC;oBAC3C,w4BAA2D;;iBAE5D;;;gBAnBCW,oBAAiB;gBAEjBD,aAAU;;;2BAuBTT,QAAK;wBAMLA,QAAK,SAAC,OAAO;kCAObQ,YAAS,SAAC,gBAAgB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;yCAE3CA,YAAS,SAAC,wBAAwB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;4BAGnDR,QAAK,SAAC,WAAW;+BACjBA,QAAK,SAAC,cAAc;gCACpBA,QAAK,SAAC,eAAe;6BACrBA,QAAK,SAAC,mBAAmB;mCACzBA,QAAK,SAAC,kBAAkB;uBACxBA,QAAK,SAAC,MAAM;+BACZA,QAAK,SAAC,cAAc;+BACpBA,QAAK,SAAC,cAAc;qBACpBA,QAAK;4BAMLA,QAAK;uBAKLA,QAAK;gCAQLA,QAAK;;;;QCzCN,6BAA+B,MAAc;YAF7C,gBAAW,GAAa,EAAE,CAAC;;YAIzB,IAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YACnE,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YAEpE,IAAI,CAAC,WAAW,YAAO,mBAAmB,CAAC,OAAO,GAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAC,CAAC;SAC1G;QAEM,8BAAU,GAAjB,UAAkB,KAAU;YAC1B,OAAO,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;SAC5G;QAED,oCAAM,GAAN,UAAO,KAAa,EAAE,OAAgC;YACpD,OAAO,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC;kBACxC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;kBACnG,EAAE,CAAC;SACR;QAED,0CAAY,GAAZ,UAAa,KAAa,EAAE,OAAgC;YAC1D,IAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;YACvH,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YAC9G,IAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;YAEpH,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,aAAa,eAAA,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC,CAAC;;YAGvF,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3D,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YACzD,OAAO,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/F;YAED,IAAI,eAAe,EAAE;gBACnB,IAAI,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;;oBAEjC,IAAI,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC/D,IAAI,gBAAgB,EAAE;wBACpB,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE;4BAC7B,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;4BACnC,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC;yBACjC;wBAED,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;wBAChE,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBAE3D,IAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC;wBACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE;4BAC5D,MAAM,IAAI,GAAG,CAAC;yBACf;qBACF;yBAAM;wBACL,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;qBACjE;iBACF;aACF;YACD,OAAO,MAAM,CAAC;SACf;QAED,mCAAK,GAAL,UAAM,KAAa,EAAE,OAAsB;;YACzC,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YAC9G,IAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;YAE9H,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACX,IAAI,YAAY,GAAG,CAAC,CAAC;;gBACrB,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;oBAArB,IAAM,IAAI,kBAAA;oBACb,CAAC,EAAE,CAAC;oBACJ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACnC,IAAI,IAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE;4BAClC,IAAI,aAAa,KAAK,CAAC,EAAE;;gCAEvB,MAAM;6BACP;iCAAM,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE;;gCAE/B,SAAS;6BACV;4BACD,eAAe,GAAG,CAAC,CAAC;yBACrB;wBACD,IAAI,IAAI,KAAK,GAAG,IAAI,kBAAkB,EAAE;;4BAEtC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,KAAK,MAAM,KAAK,mBAAmB,CAAC,QAAQ,EAAE;gCAC9F,YAAY,EAAE,CAAC;gCACf,SAAS;6BACV;yBACF;wBACD,IAAI,IAAI,KAAK,mBAAmB,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE;;4BAElD,MAAM;yBACP;wBACD,IAAI,eAAe,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,EAAE;;4BAE1F,MAAM;yBACP;wBACD,MAAM,IAAI,IAAI,CAAC;qBAChB;yBAAM,IAAI,IAAI,KAAK,IAAI,CAAC,iBAAiB,EAAE;wBAC1C,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;4BAC1B,YAAY,EAAE,CAAC;yBAChB;qBACF;yBAAM;;wBAEL,MAAM;qBACP;iBACF;;;;;;;;;YACD,OAAO,MAAM,CAAC;SACf;QAEO,mDAAqB,GAArB,UAAsB,MAAc,EAAE,kBAA0B;YACtE,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;;YAEnE,IAAI,kBAAkB,KAAK,CAAC,EAAE;gBAC5B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;aACvB;;YAED,IAAI,kBAAkB,KAAK,CAAC,IAAI,UAAU,EAAE;gBAC1C,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aAC/D;YACD,OAAO,MAAM,CAAC;SACf;QAEO,4CAAc,GAAd,UAAe,KAAU,EAAE,YAAiB;YAClD,OAAO,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,CAAC;SACrE;;;IAxIe,4BAAQ,GAAG,GAAG,CAAC;IACf,2BAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,4CAAwB,GAAG,IAAI,CAAC;IAChC,0CAAsB,GAAG,CAAC,CAAC;IAC3B,6CAAyB,GAAG,KAAK,CAAC;IAClC,gDAA4B,GAAG,KAAK,CAAC;;;gBATtDW,aAAU,SAAC;oBACV,UAAU,EAAE,KAAK;iBAClB;;;6CAccC,SAAM,SAACC,YAAS;;;IClB/B;;;;;;QAwCE,oCAAoB,cAAiC,EAAU,QAAmB,EAAU,mBAAwC;YAApI,iBAAwI;YAApH,mBAAc,GAAd,cAAc,CAAmB;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;YA1BhH,cAAS,GAAqB,MAAM,CAAC;YAClC,iBAAY,GAAG,KAAK,CAAC;YACpB,kBAAa,GAAG,CAAC,CAAC;YACd,eAAU,GAAG,KAAK,CAAC;YACpB,qBAAgB,GAAG,KAAK,CAAC;YACrC,SAAI,GAAkB,IAAI,CAAC;YACnB,iBAAY,GAAqB,MAAM,CAAC;YACxC,iBAAY,GAAkB,IAAI,CAAC;YACjD,cAAS,GAAG,KAAK,CAAC;YAClB,SAAI,GAAG,CAAC,CAAC;;;;;;;YAQT,kBAAa,GAAY,KAAK,CAAC;YAExC,iBAAY,GAAsB;gBAChC,YAAY,EAAE,cAAM,OAAA,CAAC,CAAC,KAAI,CAAC,YAAY,GAAA;aACxC,CAAC;SAKsI;QAExI,gDAAW,GAAX,UAAY,CAAgB;YAC1B,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/C,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,IAAI,CAAC,aAAa,EAAE;oBACtB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;iBACf;aACF;iBAAM,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;oBACvD,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,eAAe,EAAE,IAAI;oBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACxC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;SACrC;;QAGD,uDAAkB,GAAlB;YACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAEO,qDAAgB,GAAhB;;;YAGN,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC,EAAE;;gBAEjF,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;;gBAGtE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAEpD,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;oBAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;oBAC9D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnF;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;oBAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACxD;aACF;;YAGD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;gBACjF,IAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC5F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;gBACjF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAC7E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBAEnF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC/C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;oBAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;oBAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;iBAC3C;gBACD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBACrC,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;aACzC;;YAED,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;aACvC;SACF;;;;gBA1GFd,YAAS,SAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,klBAAmD;;iBAEpD;;;gBAtBCW,oBAAiB;gBAKjBI,YAAS;gBAKH,mBAAmB;;;wBAcxBd,QAAK,SAAC,OAAO;wBACbA,QAAK,SAAC,OAAO;4BACbA,QAAK,SAAC,WAAW;+BACjBA,QAAK,SAAC,cAAc;gCACpBA,QAAK,SAAC,eAAe;6BACrBA,QAAK,SAAC,mBAAmB;mCACzBA,QAAK,SAAC,kBAAkB;uBACxBA,QAAK,SAAC,MAAM;+BACZA,QAAK,SAAC,cAAc;+BACpBA,QAAK,SAAC,cAAc;4BACpBA,QAAK;uBACLA,QAAK;qBACLA,QAAK;gCAOLA,QAAK;0BACLQ,YAAS,SAAC,SAAS;;;;QC/BtB;;;;;gBALCP,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,0BAA0B,EAAE,iCAAiC,CAAC;oBAC7E,OAAO,EAAE,CAACC,mBAAY,EAAEC,eAAY,EAAEY,4BAAkB,EAAEC,oBAAc,EAAEC,iBAAW,EAAEX,wBAAgB,CAAC;oBACxG,OAAO,EAAE,CAAC,0BAA0B,EAAE,iCAAiC,CAAC;iBACzE;;;;QCOC,wBAAoB,MAAc,EAAU,SAA2B;YAAvE,iBAYC;YAZmB,WAAM,GAAN,MAAM,CAAQ;YAAU,cAAS,GAAT,SAAS,CAAkB;YAVvE,gBAAW,GAAiB,EAAE,CAAC;YAC/B,mBAAc,GAAoB,EAAE,CAAC;YACrC,+BAA0B,GAAG,KAAK,CAAC;YAI3B,4BAAuB,GAAG,MAAM,CAAC;YAKvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,YAAY;gBACjE,IAAI,YAAY,YAAYY,gBAAa,EAAE;oBACzC,IAAI,KAAI,CAAC,UAAU,KAAK,YAAY,CAAC,iBAAiB,EAAE;wBACtD,KAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC3B,KAAI,CAAC,gBAAgB,EAAE,CAAC;wBACxB,OAAO,KAAI,CAAC,UAAU,CAAC;wBACvB,OAAO,KAAI,CAAC,SAAS,CAAC;qBACvB;oBACD,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;iBAC9B;aACF,CAAC,CAAC;SACJ;QAED,oCAAW,GAAX;YACE,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;QAED,0CAAiB,GAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;QAED,yCAAgB,GAAhB,UAAiB,MAAqB;YAAtC,iBAQC;YAPC,IAAI,CAAC,SAAS;iBACX,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;iBACzB,SAAS,EAAE;iBACX,IAAI,CAAC,UAAA,UAAU;gBACd,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC/B,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;QAED,sBAAI,wCAAY;iBAIhB;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;iBAND,UAAiB,YAAoB;gBACnC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;aAC3B;;;WAAA;QAMD,qCAAY,GAAZ,UAAa,SAAiB;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;QAED,sDAA6B,GAA7B,UAA8B,0BAAmC;YAC/D,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;SAC9D;QAED,sDAA6B,GAA7B;YACE,OAAO,IAAI,CAAC,0BAA0B,CAAC;SACxC;QAED,qCAAY,GAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QAED,4CAAmB,GAAnB;YACE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,uCAAc,GAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QAED,sCAAa,GAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;QAED,mDAA0B,GAA1B,UAA2B,uBAA+B;YACxD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;SACxD;QAED,mDAA0B,GAA1B;YACE,OAAO,IAAI,CAAC,uBAAuB,CAAC;SACrC;QAED,sCAAa,GAAb,UAAc,UAAsB;YAApC,iBAQC;YAPC,IAAI,CAAC,SAAS;iBACX,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;iBAC7B,SAAS,EAAE;iBACX,IAAI,CAAC,UAAA,UAAU;gBACd,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;gBACnC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;;QAKD,sCAAa,GAAb,UAAc,WAAmB,EAAE,aAAqB;YAArB,8BAAA,EAAA,qBAAqB;YACtD,IAAI,CAAC,UAAU,GAAG;gBAChB,OAAO,EAAE,oBAAoB;gBAC7B,aAAa,EAAE,EAAE;aAClB,CAAC;YACF,IAAI,CAAC,aAAa,EAAE;gBAClB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,WAAW,CAAC;aAC1C;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC;aACpC;SACF;QAED,4CAAmB,GAAnB,UAAoB,iBAAyB;YAAzB,kCAAA,EAAA,yBAAyB;YAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBAC9C,OAAO;aACR;YAED,IAAI,CAAC,UAAU,GAAG;gBAChB,OAAO,EAAE,oBAAoB;gBAC7B,aAAa,EAAE,EAAE;gBACjB,MAAM;oBACJ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBACvB;aACF,CAAC;SACH;QAED,yCAAgB,GAAhB;YACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;;;;;gBAtIFP,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;gBAPsBQ,SAAM;gBAErBC,mBAAgB;;;;QCatB,0BAAoB,kBAAsC,EAAU,YAAmB,EAAU,cAA8B;YAA3G,uBAAkB,GAAlB,kBAAkB,CAAoB;YAAU,iBAAY,GAAZ,YAAY,CAAO;YAAU,mBAAc,GAAd,cAAc,CAAgB;YAF/H,eAAU,GAAwB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAACC,kBAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAACC,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,GAAA,CAAC,CAAC,CAAC;SAG5H;QAED,mCAAQ,GAAR;YACE,IAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrD,IAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACtD,IAAM,KAAK,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC;YACtG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;SAC/E;QAED,4CAAiB,GAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;SAChD;QAED,yCAAc,GAAd;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;SAC7C;QAED,wCAAa,GAAb,UAAc,MAAc;YAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC7B,OAAOC,OAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;SACtB;QAED,uCAAY,GAAZ;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC;SAChG;QAED,yCAAc,GAAd;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;SAC1F;QAED,mCAAQ,GAAR;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;SAC5F;QAED,wCAAa,GAAb;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;SAC5C;QAED,wDAA6B,GAA7B;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,6BAA6B,EAAE,CAAC;SAC5D;QAED,qDAA0B,GAA1B;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,CAAC;SACzD;QAED,2CAAgB,GAAhB;YACE,OAAO,IAAI,CAAC,iBAAiB,EAAE;iBAC5B,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAA,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SACjE;;;;gBA7DFxB,YAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,85HAAuC;;iBAExC;;;gBAROyB,yBAAkB;gBAHlBC,qBAAK;gBACL,cAAc;;;;QC2BtB;;;;;gBAhBCxB,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE;wBACPC,mBAAY;wBACZC,eAAY;wBACZuB,kBAAa;wBACbtB,sBAAe;wBACfuB,wBAAgB;wBAChBtB,kBAAa;wBACb,0BAA0B;wBAC1BC,wBAAgB;wBAChB,YAAY;wBACZsB,oBAAc;qBACf;oBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC5B;;;IC5BD;;;;;IAqBA,IAAM,YAAY,GAAG,CAAC,CAAC;IACvB,IAAM,aAAa,GAAG,EAAE,CAAC;IACzB,IAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAM,6BAA6B,GAAG,EAAE,CAAC;IACzC,IAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;;QAgDhD,+BAAoB,QAAmB,EAAU,OAAmB,EAAU,mBAAwC;YAAlG,aAAQ,GAAR,QAAQ,CAAW;YAAU,YAAO,GAAP,OAAO,CAAY;YAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;YA7BlG,cAAS,GAAqB,OAAO,CAAC;YAClC,kBAAa,GAAG,CAAC,CAAC;YACd,eAAU,GAAG,KAAK,CAAC;YACpB,qBAAgB,GAAG,KAAK,CAAC;YACrC,SAAI,GAAkB,IAAI,CAAC;YACnB,iBAAY,GAAqB,OAAO,CAAC;YAClC,wBAAmB,GAAG,IAAIC,eAAY,EAAU,CAAC;YAEvE,iBAAY,GAAG,EAAE,CAAC;YAClB,kBAAa,GAAG,GAAG,CAAC;;;YAwB5B,aAAQ,GAAQ,eAAQ,CAAC;;YAEzB,cAAS,GAAQ,eAAQ,CAAC;SANgG;QAd1H,sBACI,+CAAY;iBADhB,UACiB,KAAa;gBAC5B,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE;oBACpG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;;;oBAG3B,IAAI,CAAC,aAAa,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBACjG,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC3B;aACF;;;WAAA;QAaD,gDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,iDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QAED,gDAAgB,GAAhB;;SAEC;QAED,0CAAU,GAAV,UAAW,KAAa;YACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;QAED,wCAAQ,GAAR;YAAA,iBA4EC;;YA1EC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAEjE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAA,KAAK;gBACvF,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACtC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,UAAA,KAAK;gBAClF,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,KAAK,KAAK,CAAC,OAAO,IAAI,6BAA6B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;oBAChI,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;iBACvC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,UAAA,KAAK;gBACtF,IAAM,KAAK,GAAW,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzC,IACE,KAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;qBACvD,KAAK,CAAC,OAAO,IAAI,6BAA6B,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC;oBACxG,KAAK,CAAC,OAAO;oBACb,KAAK,CAAC,OAAO;oBACb,KAAK,CAAC,MAAM,EACZ;;oBAEA,IAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBACtE,IACE,KAAK,CAAC,GAAG,KAAK,mBAAmB,CAAC,QAAQ;yBACzC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;yBAC1D,KAAK,CAAC,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,CAAC,YAAY;4BACxD,EAAE,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EACxG;wBACA,OAAO,KAAK,CAAC;qBACd;;oBAGD,IAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;oBACjF,IACE,KAAK,CAAC,GAAG,KAAK,KAAI,CAAC,mBAAmB,CAAC,gBAAgB;yBACtD,eAAe,GAAG,CAAC,CAAC,IAAI,KAAI,CAAC,aAAa,KAAK,CAAC,CAAC;yBACjD,KAAK,CAAC,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,CAAC,YAAY;4BACxD,EAAE,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EACpG;wBACA,OAAO,KAAK,CAAC;qBACd;;oBAGD,IACE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;wBAC/C,eAAe,GAAG,CAAC,CAAC;wBACpB,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc;wBAC7C,KAAK,CAAC,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,CAAC,YAAY;wBACzD,KAAK,CAAC,MAAM,GAAG,eAAe,GAAG,KAAI,CAAC,aAAa,EACnD;wBACA,OAAO,KAAK,CAAC;qBACd;;oBAGD,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;oBAEhD,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;wBAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,KAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;4BACrH,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;4BAC1G,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC;4BAC1E,OAAO,KAAK,CAAC;yBACd;6BAAM,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,KAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;4BACvH,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;4BAC1G,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC;4BAC1E,OAAO,KAAK,CAAC;yBACd;qBACF;oBACD,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;iBAC1B;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,IAAI,CAAC;aACb,CAAC,CAAC;SACJ;QAED,2CAAW,GAAX;YACE,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAED,kDAAkB,GAAlB;YACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,kDAAkB,GAAlB;YAAA,iBAYC;;;YATC,UAAU,CAAC;gBACT,KAAI,CAAC,WAAW,CACd,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAI,CAAC,aAAa,EAAE;oBAClD,aAAa,EAAE,KAAI,CAAC,aAAa;oBACjC,eAAe,EAAE,KAAK;oBACtB,gBAAgB,EAAE,KAAI,CAAC,gBAAgB;iBACxC,CAAC,CACH,CAAC;aACH,EAAE,CAAC,CAAC,CAAC;SACP;QAED,2CAAW,GAAX,UAAY,OAAyB,EAAE,eAAwB;YAC7D,IAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;YACzC,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YACpC,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,KAAK,CAAC;YACtD,IAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;gBACzE,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,eAAe,iBAAA;gBACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC,CAAC;;YAGH,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;gBAC9D,IAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC5F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;gBACjF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAC7E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBAEnF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC/C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;oBAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;oBAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;iBAC3C;gBACD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,aAAa,CAAC;gBACxC,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;aACzC;YAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAChC,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;aACxG;SACF;QAED,2CAAW,GAAX,UAAY,KAAa;YACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,UAAU,CAC7B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CACrI,CAAC;YACF,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBACnE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACnD;SACF;QAED,sDAAsB,GAAtB;YACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;;gBAE7B,OAAO,SAAS,CAAC;aAClB;YACD,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;QAEO,gDAAgB,GAAhB;;;YAGN,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC,EAAE;;gBAEjF,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;;gBAGtE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAEpD,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;oBAChC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;oBAC9D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnF;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;oBAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACxD;aACF;;YAGD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;gBACjF,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;iBACvC;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;iBACtC;aACF;;YAED,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;aACvC;SACF;QAEO,8CAAc,GAAd;YACN,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;aACjC;YACD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,eAAe,CAAC;aAC7B;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;SACF;QAEO,+CAAe,GAAf,UAAgB,KAAa;YACnC,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC;YACxE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAClG;;;;gBA7RFC,YAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,IAAI,EAAE;wBACJ,oBAAoB,EAAE,uBAAuB;wBAC7C,UAAU,EAAE,oCAAoC;wBAChD,SAAS,EAAE,oCAAoC;wBAC/C,QAAQ,EAAE,aAAa;qBACxB;oBACD,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEC,uBAAiB;4BAC1B,WAAW,EAAEC,aAAU,CAAC,cAAM,OAAA,qBAAqB,GAAA,CAAC;4BACpD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;gBA1BClB,YAAS;gBAPTL,aAAU;gBAUH,mBAAmB;;;4BAyBzBT,QAAK,SAAC,WAAW;gCACjBA,QAAK,SAAC,eAAe;6BACrBA,QAAK,SAAC,mBAAmB;mCACzBA,QAAK,SAAC,kBAAkB;uBACxBA,QAAK,SAAC,MAAM;+BACZA,QAAK,SAAC,cAAc;sCACpBiC,SAAM,SAAC,oBAAoB;+BAS3BjC,QAAK,SAAC,cAAc;;;;QClDvB;;QACS,0BAAO,GAAd;YACE,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,CAAC,mBAAmB,CAAC;aACjC,CAAC;SACH;;;;gBAXFC,WAAQ,SAAC;oBACR,SAAS,EAAE,CAAC,mBAAmB,CAAC;oBAChC,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;iBACjC;;;;QCLD;YAwBW,mBAAc,GAAG,KAAK,CAAC;YACvB,eAAU,GAAG,SAAS,CAAC;YACvB,aAAQ,GAAG,IAAI,CAAC;YAChB,aAAQ,GAAG,SAAS,CAAC;YACrB,eAAU,GAAG,IAAI,CAAC;YAClB,aAAQ,GAAG,IAAI,CAAC;YAChB,iBAAY,GAAG,KAAK,CAAC;YACrB,aAAQ,GAAG,SAAS,CAAC;YAErB,aAAQ,GAAG,KAAK,CAAC;YAEjB,yBAAoB,GAAW,EAAE,CAAC;YACjC,SAAI,GAAG,IAAI4B,eAAY,EAAE,CAAC;YAC1B,WAAM,GAAG,IAAIA,eAAY,EAAE,CAAC;YAC5B,SAAI,GAAG,IAAIA,eAAY,EAAE,CAAC;YAC1B,qBAAgB,GAAG,IAAIA,eAAY,EAAE,CAAC;SAsBjD;QApBC,gCAAQ,GAAR;YACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B;QAED,8BAAM,GAAN;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QAED,8BAAM,GAAN;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QAED,sCAAc,GAAd;YACE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC;QAED,+CAAuB,GAAvB;YACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;;;;gBA5DF9B,YAAS,SAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,svCAAoC;oBACpC,UAAU,EAAE;wBACVmC,kBAAO,CAAC,yBAAyB,EAAE;4BACjCC,qBAAU,CAAC,QAAQ,EAAE,CAACC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,EAAEC,kBAAO,CAAC,OAAO,EAAED,gBAAK,CAAC;oCAC/F,OAAO,EAAE,CAAC;oCACV,MAAM,EAAE,GAAG;iCACZ,CAAC,CAAC,CAAC,CAAC;4BACLD,qBAAU,CAAC,QAAQ,EAAE,CAACC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,EAAEC,kBAAO,CAAC,OAAO,EAAED,gBAAK,CAAC;oCACjG,OAAO,EAAE,CAAC;oCACV,MAAM,EAAE,CAAC;iCACV,CAAC,CAAC,CAAC,CAAC;yBACN,CAAC;wBACFF,kBAAO,CAAC,YAAY,EAAE;4BACpBI,gBAAK,CAAC,MAAM,EAAEF,gBAAK,CAAC,EAAC,SAAS,EAAE,WAAW,EAAC,CAAC,CAAC;4BAC9CE,gBAAK,CAAC,OAAO,EAAEF,gBAAK,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC,CAAC,CAAC;4BACpDD,qBAAU,CAAC,eAAe,EAAEE,kBAAO,CAAC,gBAAgB,CAAC,CAAC;4BACtDF,qBAAU,CAAC,eAAe,EAAEE,kBAAO,CAAC,eAAe,CAAC,CAAC;yBACtD,CAAC;qBACH;;iBAEF;;;iCAEErC,QAAK;6BACLA,QAAK;2BACLA,QAAK;2BACLA,QAAK;6BACLA,QAAK;2BACLA,QAAK;+BACLA,QAAK;2BACLA,QAAK;wBACLA,QAAK;2BACLA,QAAK;uCACLA,QAAK;uCACLA,QAAK;uBACLiC,SAAM;yBACNA,SAAM;uBACNA,SAAM;mCACNA,SAAM;;;;QC9BP;YAJS,iBAAY,GAAG,GAAG,CAAC;YAClB,kBAAa,GAAG,IAAIJ,eAAY,EAAE,CAAC;YACrC,WAAM,GAAG,IAAIU,YAAO,EAAE,CAAC;SAEf;QAEhB,yCAAQ,GAAR;YAAA,iBAEC;YADC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAACC,sBAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;SAClH;QAED,4CAAW,GAAX;YACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SACjC;QAGD,2CAAU,GAAV,UAAW,KAAU;YACnB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;;;;gBAvBFV,YAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;iBAC/B;;;;+BAEE9B,QAAK;gCACLiC,SAAM;6BAaNQ,eAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;QCbnC;;;;;gBALCxC,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC;;;;QCMD;;;;;gBALCD,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,CAACC,mBAAY,EAAEwC,kBAAa,EAAErC,kBAAa,EAAE,YAAY,EAAED,sBAAe,EAAE,mBAAmB,CAAC;oBACzG,OAAO,EAAE,CAAC,aAAa,CAAC;iBACzB;;;;QC4BC,gCAAmB,iBAAoC;YAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;YAhB9C,aAAQ,GAAG,EAAS,CAAC;YACrB,aAAQ,GAAG,SAAS,CAAC;YACrB,gBAAW,GAAG,IAAI,CAAC;YACnB,cAAS,GAAG,EAAS,CAAC;YAKrB,UAAK,GAAG,IAAIyB,eAAY,EAAK,CAAC;YAC9B,YAAO,GAAG,IAAIA,eAAY,EAAK,CAAC;SAOkB;QAE5D,yCAAQ,GAAR;YACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBACzD,IAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;aACF;SACF;QAED,gDAAe,GAAf;YAAA,iBAEC;YADC,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,aAAa,EAAE,GAAA,EAAE,CAAC,CAAC,CAAC;SAC3C;QAED,wCAAO,GAAP;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,OAAO,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;QAED,2CAAU,GAAV,UAAW,IAAO;YAChB,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;QAED,8CAAa,GAAb;YAAA,iBAWC;YAVC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,UAAC,GAA0B;gBACzD,IAAI,GAAG,CAAC,MAAM,GAAG,KAAI,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;oBACjD,IAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,qEAAqE,CAAC,CAAC;oBACnI,IAAI,cAAc,EAAE;wBAClB,cAAc,CAAC,KAAK,EAAE,CAAC;qBACxB;iBACF;gBACD,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC;aACjC,CAAC,CAAC;SACJ;QAED,6CAAY,GAAZ;YACE,OAAO,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrF;QAED,gDAAe,GAAf;YACE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC/D;QAEO,+CAAc,GAAd;YACN,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;gBACvB,IAAM,OAAO,qBAAQ,IAAI,CAAC,SAAS,CAAE,CAAC;;gBAEtC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;qBACvB,QAAQ,CAAC,EAAE,CAAC;qBACZ,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;gBACvC,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,IAAI,CAAC;SACb;;;;gBApFF9B,YAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,EAAE;iBAEb;;;gBArBCW,oBAAiB;;;2BAuBhBV,QAAK;2BACLA,QAAK;8BACLA,QAAK;4BACLA,QAAK;2BACLA,QAAK;2BACLA,QAAK;2BACLA,QAAK;wBAELiC,SAAM;0BACNA,SAAM;+BACNU,eAAY,SAACC,cAAW;2BACxBC,eAAY,SAAC,KAAK;;;;QC1BmB,sCAAqC;QAC3E,4BAAmB,iBAAoC;YAAvD,YACE,kBAAM,iBAAiB,CAAC,SACzB;YAFkB,uBAAiB,GAAjB,iBAAiB,CAAmB;;SAEtD;;KAHH,CAAwC,sBAAqC;;gBAL5E9C,YAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,ulBAA0C;iBAE3C;;;gBAPQW,oBAAiB;;;;QCSqB,6CAAqC;QAElF,mCAAmB,iBAAoC;YAAvD,YACE,kBAAM,iBAAiB,CAAC,SACzB;YAFkB,uBAAiB,GAAjB,iBAAiB,CAAmB;;SAEtD;;KAJH,CAA+C,sBAAqC;;gBALnFX,YAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,w3BAAkD;iBAEnD;;;gBATCW,oBAAiB;;;;QCanB;;;;;gBALCT,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,yBAAyB,CAAC;oBACrF,OAAO,EAAE,CAACC,mBAAY,EAAEE,sBAAe,EAAEC,kBAAa,EAAE,YAAY,CAAC;oBACrE,OAAO,EAAE,CAAC,kBAAkB,EAAE,yBAAyB,EAAE,sBAAsB,CAAC;iBACjF;;;;QCND;;YAMW,uBAAkB,GAAG,YAAY,CAAC;YAElC,YAAO,GAAmB,EAAE,CAAC;YAC7B,gBAAW,GAAG,SAAS,CAAC;YACxB,sBAAiB,GAAG,SAAS,CAAC;YAE9B,oBAAe,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9B,oBAAe,GAAG,OAAA,IAAI,CAAC,eAAe,0CAAG,CAAC,MAAK,EAAE,CAAC;YAClD,eAAU,GAAkB,EAAE,CAAC;YAC/B,iBAAY,GAAkB,EAAE,CAAC;YAyBhC,gBAAW,GAAG,IAAIwB,eAAY,EAAe,CAAC;YAC9C,cAAS,GAAG,IAAIA,eAAY,EAAe,CAAC;YAC5C,cAAS,GAAG,IAAIA,eAAY,EAAQ,CAAC;YAS/C,oBAAe,GAAG,KAAK,CAAC;YACxB,wBAAmB,GAAG,KAAK,CAAC;SA+C7B;QAlFC,sBAAa,yCAAa;iBAA1B,UAA2B,IAAW;gBACpC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAIiB,wBAAkB,CAAM,IAAI,CAAC,CAAC;iBACrD;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;iBAC7B;aACF;;;WAAA;QAED,sBAAa,6CAAiB;iBAA9B,UAA+B,mBAA4B;gBACzD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;;gBAE/C,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;gBACpF,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;oBAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBACrD;aACF;;;WAAA;QAED,sBACI,yCAAa;iBADjB,UACkB,eAAwB;gBACxC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;gBACvC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aAChC;;;WAAA;QAgBD,iCAAQ,GAAR;YACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,KAAK,GAAA,CAAC,CAAC;YAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACzC;SACF;QAED,wCAAe,GAAf;YACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;;;YAGjC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,UAAC,IAAS,EAAE,MAAc,IAC1D,OAAA,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAA,CAAC,GAAA,CAAC,GAAA,CAAC;SAC3G;QAED,iCAAQ,GAAR,UAAS,KAAa;YACpB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,mCAAU,GAAV,UAAW,KAAiB,EAAE,GAAQ,EAAE,MAA2B;YAA3B,uBAAA,EAAA,SAAS,IAAI,CAAC,aAAa;YACjE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,SAAS,CAAC,IAAI,iCAAM,MAAM,KAAE,SAAS,EAAE,GAAG,IAAG,CAAC;aACpD;SACF;QAED,uCAAc,GAAd,UAAe,aAAmB;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC;QAED,sCAAa,GAAb,UAAc,WAAwB;YACpC,IAAI,CAAC,CAAC,WAAW,EAAE;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACpC;SACF;QAEO,uCAAc,GAAd,UAAe,KAAa;YAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,GAAG,WAAW,EAAE,CAAC;SACtD;QAEO,6CAAoB,GAApB,UAAqB,KAAiB;;YAC5C,aAAQ,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAsB,0CAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE;SACvE;;;;gBAlGF/C,YAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,08FAAqC;;iBAEtC;;;0BAIEC,QAAK;8BACLA,QAAK;oCACLA,QAAK;6BACLA,QAAK;kCACLA,QAAK;kCACLA,QAAK;6BACLA,QAAK;+BACLA,QAAK;gCAELA,QAAK;oCAQLA,QAAK;gCASLA,QAAK;8BAMLiC,SAAM;4BACNA,SAAM;4BACNA,SAAM;4BAENzB,YAAS,SAACuC,sBAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;uBACzCvC,YAAS,SAACwC,YAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCvBtC;;;;;gBAhBC/C,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,cAAc,CAAC;oBAC9B,OAAO,EAAE;wBACPC,mBAAY;wBACZE,sBAAe;wBACfC,kBAAa;wBACbU,4BAAkB;wBAClBC,oBAAc;wBACdU,kBAAa;wBACbuB,4BAAkB;wBAClBC,kBAAa;wBACbC,oBAAc;wBACd,YAAY;qBACb;oBACD,OAAO,EAAE,CAAC,cAAc,CAAC;iBAC1B;;;IC5BD;QAAA;;;;IACgB,0BAAM,GAAG,QAAQ,CAAC;IAClB,yBAAK,GAAG,OAAO,CAAC;IAChB,wBAAI,GAAG,MAAM;;;QCO7B;;YAMW,uBAAkB,GAAG,YAAY,CAAC;YAClC,WAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;YACpC,UAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;YAClC,SAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAEhC,YAAO,GAA4B,EAAE,CAAC;YACtC,gBAAW,GAAG,QAAQ,CAAC;YACvB,sBAAiB,GAAG,EAAE,CAAC;YACvB,eAAU,GAAG,wBAAwB,CAAC;YACtC,oBAAe,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9B,oBAAe,GAAG,OAAA,IAAI,CAAC,eAAe,0CAAG,CAAC,MAAK,EAAE,CAAC;YAClD,YAAO,GAAsB,EAAE,CAAC;YAsC/B,cAAS,GAAG,IAAItB,eAAY,EAAQ,CAAC;YACrC,gBAAW,GAAG,IAAIA,eAAY,EAAmB,CAAC;YAClD,gBAAW,GAAG,IAAIA,eAAY,EAAO,CAAC;YAKhD,iBAAY,GAAsB,EAAE,CAAC;YACrC,eAAU,GAAsB,EAAE,CAAC;YACnC,gBAAW,GAAG,KAAK,CAAC;YAGpB,qBAAgB,GAAG,IAAI,GAAG,EAAe,CAAC;YAC1C,kBAAa,GAAG,IAAI,GAAG,EAAe,CAAC;YAEvC,mBAAc,GAAG,IAAIuB,0BAAc,CAAS,IAAI,CAAC,CAAC;YAGlD,oBAAe,GAAG,KAAK,CAAC;YACxB,wBAAmB,GAAG,KAAK,CAAC;YAC5B,SAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjB,mBAAc,GAAG,KAAK,CAAC;YACvB,cAAS,GAAG,KAAK,CAAC;SA8MnB;QAvQC,sBAAa,yCAAS;iBAAtB,UAAuB,IAAW;gBAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAIN,wBAAkB,CAAM,IAAI,CAAC,CAAC;iBACrD;gBACD,IAAI,CAAC,2CAA2C,CAAC,IAAI,CAAC,CAAC;aACxD;;;WAAA;QAED,sBAAa,uCAAO;iBAApB,UAAqB,SAAkB;gBACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;;;WAAA;QAED,sBAAa,iDAAiB;iBAA9B,UAA+B,mBAA4B;gBACzD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;;gBAE/C,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;gBACpF,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;oBAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBACrD;aACF;;;WAAA;QAED,sBACI,6CAAa;iBADjB,UACkB,eAAwB;gBACxC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;gBACvC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aAChC;;;WAAA;QAED,sBACI,yCAAS;iBADb,UACc,IAAY;gBACxB,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;oBACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,IAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;aACF;;;WAAA;QA0BD,qCAAQ,GAAR;YACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,KAAK,GAAA,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;gBAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnD;QAED,4CAAe,GAAf;YACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAClC;QAED,sBAAI,6CAAa;iBAAjB;;gBACE,OAAO,OAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,IAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAChF;;;WAAA;QAED,sBAAI,wCAAQ;iBAAZ;;gBACE,OAAO,OAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACtH;;;WAAA;QAEM,6CAAgB,GAAhB,UAAiB,UAAkB;YACxC,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;YACjC,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE;gBACzC,OAAO,EAAE,CAAC;aACX;YACD,OAAO,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;SAC3B;QAEM,uCAAU,GAAV,UAAW,UAAkB;YAClC,QAAQ,UAAU;gBAChB,KAAK,IAAI,CAAC,MAAM;oBACd,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;gBACjC,KAAK,IAAI,CAAC,KAAK;oBACb,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBAChC;oBACE,OAAO,KAAK,CAAC;aAChB;SACF;QAEM,8CAAiB,GAAjB;YAAA,iBAcN;;YAZC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;;YAE5B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,IAAI,CAAC,WAAW,EAAE;;gBAEpB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;oBACxD,IAAM,OAAO,GAAQ,GAAU,CAAC;oBAChC,IAAM,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;oBACjC,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACnC,CACF,CAAC;aACH;SACF;QAEM,uCAAU,GAAV,UAAW,KAAa;YAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC9C;QAEM,2CAAc,GAAd,UAAe,KAAa;YACjC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,GAAG,WAAW,EAAE,CAAC;SACtD;QAEM,0CAAa,GAAb,UAAc,KAAiB,EAAE,GAAQ;YAC9C,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvC;QAEM,uCAAU,GAAV,UAAW,KAAiB,EAAE,GAAQ,EAAE,MAA2B;YAA3B,uBAAA,EAAA,SAAS,IAAI,CAAC,aAAa;YACxE,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,IAAI,CAAC,KAAK;oBACb,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,IAAI,CAAC,MAAM;;oBAEd,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;wBAC/D,IAAM,QAAQ,GAAG,EAAE,CAAC;;wBAEpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wBAChF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;qBACxC;oBACD,MAAM;gBACR;;oBAEE,OAAO;aACV;SACF;QAEM,2CAAc,GAAd,UAAe,aAAmB;YACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC;QAEM,8CAAiB,GAAjB,UAAkB,KAAU;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;QAEM,0CAAa,GAAb,UAAc,WAA4B;;YAC/C,IAAI,CAAC,CAAC,WAAW,EAAE;gBACjB,IAAM,SAAS,GAAU,EAAE,CAAC;;oBAC5B,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAA,gBAAA,4BAAE;wBAAhD,IAAM,QAAQ,WAAA;wBACjB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAChF;;;;;;;;;gBACD,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC;gBACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACpC;SACF;QAEc,gCAAa,GAApB,UAAqB,KAAU,EAAE,WAAgB,EAAE,iBAAsB;YAC/E,IAAI,CAAC,WAAW,IAAI,EAAE,WAAW,YAAY,QAAQ,CAAC,EAAE;gBACtD,OAAO,KAAK,CAAC;aACd;YACD,OAAO,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;SAC9C;QAEc,gCAAa,GAApB;YACN,OAAOO,OAAM,EAAE,CAAC;SACjB;QAEc,uCAAoB,GAA3B,UAA4B,KAAiB;;YACnD,aAAQ,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAsB,0CAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE;SACvE;QAEO,4CAAe,GAAf,UAAgB,MAAuB,EAAE,QAAe;YAC9D,IAAM,UAAU,qBAAQ,MAAM,CAAE,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;gBAC7B,UAAU,CAAC,QAAQ,YAAO,QAAQ,CAAC,CAAC;aACrC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACnC;QAEO,yDAA4B,GAA5B,UAA6B,KAAa,EAAE,iBAAsB;;YACxE,IAAM,oBAAoB,GAA2B,EAAE,CAAC;YACxD,oBAAoB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;;gBACtC,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE;oBAA9B,IAAM,MAAM,WAAA;oBACf,IAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAC/D,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;iBAC7I;;;;;;;;;YACD,OAAO,oBAAoB,CAAC;SAC7B;QAEO,uCAAU,GAAV;;YACN,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;gBACvB,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE;oBAA9B,IAAM,MAAM,WAAA;oBACf,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,EAAE;wBACrC,QAAQ,MAAM,CAAC,IAAI;4BACjB,KAAK,IAAI,CAAC,MAAM;gCACd,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;oCAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iCAC9B;qCAAM;oCACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iCAChC;gCACD,MAAM;4BACR,KAAK,IAAI,CAAC,KAAK;gCACb,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;oCAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iCAChC;gCACD,MAAM;4BACR;gCACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBAClC;qBACF;iBACF;;;;;;;;;SACF;QAEO,wEAA2C,GAA3C,UAA4C,IAAW;;YAC7D,IAAM,iBAAiB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;;gBAC9B,KAAwB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;oBAAzB,IAAM,SAAS,iBAAA;oBAClB,IAAM,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;oBACpG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACzC,IAAM,oBAAoB,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACjF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACvD,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBAC9C;;;;;;;;;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,iBAAiB,CAAC;SAC1C;QAGO,yCAAY,GAAZ;;YACN,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO,IAAI,CAAC,IAAI,CAAC;aAClB;YACD,IAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;;gBAC9C,KAAwB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE;oBAAjC,IAAM,SAAS,WAAA;oBAClB,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACzC;;;;;;;;;YACD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACvC,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;YACD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACxC,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;YACD,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;;;;gBA1RFtD,YAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,09IAA0C;;iBAE3C;;;0BAOEC,QAAK;8BACLA,QAAK;oCACLA,QAAK;6BACLA,QAAK;kCACLA,QAAK;kCACLA,QAAK;0BACLA,QAAK;8BACLA,QAAK;4BAELA,QAAK;0BAOLA,QAAK;oCAILA,QAAK;gCASLA,QAAK;4BAMLA,QAAK;4BASLiC,SAAM;8BACNA,SAAM;8BACNA,SAAM;4BAENzB,YAAS,SAACuC,sBAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;uBACzCvC,YAAS,SAACwC,YAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QCjCtC;;;;;gBApBC/C,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE;wBACPC,mBAAY;wBACZE,sBAAe;wBACfC,kBAAa;wBACbU,4BAAkB;wBAClBC,oBAAc;wBACdU,kBAAa;wBACbuB,4BAAkB;wBAClBC,kBAAa;wBACbC,oBAAc;wBACdG,wCAAwB;wBACxB,YAAY;wBACZC,kBAAe;wBACfC,0BAAiB;wBACjB5B,oBAAc;qBACf;oBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;iBAC9B;;;;QCpBwC,uCAAa;QAuBpD,6BAAoB,aAA2B,EAAE,WAAoC;YAArF,YACE,kBAAM,WAAW,CAAC,SACnB;YAFmB,mBAAa,GAAb,aAAa,CAAc;;SAE9C;QAED,6CAAe,GAAf;YACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACpD;QAED,yCAAW,GAAX;YACE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACrD;;QAGD,mCAAK,GAAL,UAAM,MAAoB,EAAE,OAAsB;YAChD,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aAChE;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC/C;SACF;QAEM,4CAAc,GAAd;YACL,IAAI,IAAI,CAAC,KAAK,KAAK6B,kBAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACzE,OAAO,oBAAoB,CAAC;aAC7B;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE;gBACzB,OAAO,qBAAqB,CAAC;aAC9B;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxB,OAAO,kBAAkB,CAAC;aAC3B;SACF;QAEM,qCAAO,GAAP;YACL,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,sBAAsB,CAAC;aAC/B;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxB,OAAO,eAAe,CAAC;aACxB;YACD,OAAO,EAAE,CAAC;SACX;;KA7DH,CAAyCC,qBAAa;;gBAZrD3D,YAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,o1BAA2C;oBAE3C,MAAM,EAAE,CAAC,OAAO,CAAC;oBACjB,IAAI,EAAE;wBACJ,OAAO,EAAE,iBAAiB;wBAC1B,MAAM,EAAE,KAAK;qBACd;oBACD,aAAa,EAAE4D,oBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAChD;;;gBAbQC,iBAAY;gBADwBpD,aAAU;;;wBAgBpDT,QAAK;wBAGLA,QAAK;wBAGLA,QAAK;+BAELA,QAAK;2BAELA,QAAK;yBAELA,QAAK;2BAELA,QAAK;2BAELA,QAAK;4BAELA,QAAK;yBAELA,QAAK;;;ICnCR;;;QAGa,oBAAoB,GAE7B;QACF,sBAAsB,EAAEkC,kBAAO,CAAC,gBAAgB,EAAE;YAChDI,gBAAK,CAAC,UAAU,EAAEF,gBAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjEE,gBAAK,CAAC,MAAM,EAAEF,gBAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7DE,gBAAK,CAAC,SAAS,EAAEF,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/DD,qBAAU,CAAC,eAAe,EAAEE,kBAAO,CAAC,sCAAsC,CAAC,CAAC;SAC7E,CAAC;;;;QCuB+B,iCAAO;QAiBxC,uBAAgE,OAAyB,EAAU,iBAAmC;YAAtI,YACE,kBAAM,OAAO,CAAC,SACf;YAF+D,aAAO,GAAP,OAAO,CAAkB;YAAU,uBAAiB,GAAjB,iBAAiB,CAAkB;;YAdtI,YAAM,GAAG,IAAIR,eAAY,EAAO,CAAC;;YAIjC,YAAM,GAAG,IAAIA,eAAY,EAAO,CAAC;;YAIjC,mBAAa,GAAG,IAAIA,eAAY,EAAO,CAAC;YAExC,gBAAU,GAAG,KAAK,CAAC;YAEX,iBAAW,GAAGiC,iBAAY,CAAC,KAAK,CAAC;;SAIxC;QAED,0CAAkB,GAAlB;YAAA,iBAYC;YAXC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;iBAC3C,IAAI,CACHC,mBAAS,CAAC,cACR,OAAA,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAChCzC,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,YAAY,KAAK,KAAI,GAAA,CAAC,EACzC0C,aAAG,CAAC,cAAM,QAAC,KAAI,CAAC,UAAU,GAAG,KAAK,IAAC,CAAC,EACpCC,mBAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAI,CAAC,CAC3C,GAAA,CACF,CACF;iBACA,SAAS,EAAE,CAAC;SAChB;QAED,mCAAW,GAAX;YACE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;QAEM,4BAAI,GAAJ,UAAK,iBAAwB;YAAxB,kCAAA,EAAA,wBAAwB;YAClC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACpB;QAEM,8CAAsB,GAAtB,UAAuB,KAAa;;;YAEzC,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,0CAAE,WAAW,0CAAE,gBAAgB,GAAG;YACxD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;QAEM,oCAAY,GAAZ;YACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACpB;QAEM,wCAAgB,GAAhB;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAGR,kBAAU,CAAC,IAAI,CAAC;SAC9B;QAEO,sCAAc,GAAd,UAAe,iBAA0B;;YAC/C,IAAI,iBAAiB,EAAC;gBACpB,MAAA,IAAI,CAAC,WAAW,0CAAE,gBAAgB,GAAG;aACtC;YACD,UAAI,IAAI,CAAC,WAAW,0CAAE,KAAK,EAAE;gBAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAGA,kBAAU,CAAC,IAAI,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAGA,kBAAU,CAAC,KAAK,CAAC;aAC/B;SACF;;KAxFH,CAAmCS,eAAO;;gBARzCnE,YAAS,SAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,+nBAAoC;oBAEpC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAEmE,eAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;oBAC7D,aAAa,EAAEP,oBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAChD;;;gBAkB0E,gBAAgB,uBAA5EhD,SAAM,SAACoB,aAAU,CAAC,cAAM,OAAA,gBAAgB,GAAA,CAAC;gBAlCtDmC,mBAAgB;;;yBAmBflC,SAAM;yBAINA,SAAM;gCAINA,SAAM;;;QAgG6B,oCAAU;QAsB9C,0BACc,GAAmB,EAC/B,iBAAoC,EACpC,UAAmC,EACjB,SAAc;YAJlC,YAME,kBAAM,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,CAAC,SAErD;;YA3BkB,mBAAa,GAAuB,IAAIJ,eAAY,EAAQ,CAAC;;YAchF,WAAK,GAA6B,IAAIuC,YAAS,EAAiB,CAAC;YAExD,oBAAc,GAAG,IAAI7B,YAAO,EAAkB,CAAC;YAUtD,KAAI,CAAC,YAAY,GAAG,UAAU,CAAC;;SAChC;QAED,mCAAQ,GAAR;;YAEE,iBAAM,MAAM,GAAG,IAAI,CAAC;SACrB;QAED,6CAAkB,GAAlB;YAAA,iBAiBC;YAhBC,iBAAM,kBAAkB,WAAE,CAAC;YAE3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC8B,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5D,KAAI,CAAC,aAAa,EAAE,CAAC;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc;iBAChB,IAAI,CACHC,8BAAoB,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,GAAA,CAAC,EACtFD,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;iBACA,SAAS,CAAC,UAAA,KAAK;gBACd,IAAK,KAAK,CAAC,OAAoC,KAAK,SAAS,EAAE;oBAC7D,KAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;iBAC3B;aACF,CAAC,CAAC;SACN;;;;QAKD,iDAAsB,GAAtB,UAAuB,KAAa;;YAClC,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,WAAI,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,SAAS,CAAA,WAAI,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,UAAU,CAAA,CAAC;YAClI,IAAI,aAAa,EAAE;gBACjB,OAAO,MAAM,CAAC;aACf;YACD,OAAO,iBAAM,sBAAsB,YAAC,KAAK,CAAC,CAAC;SAC5C;QAED,2CAAgB,GAAhB,UAAiB,KAAa,EAAE,IAAmB;YACjD,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;SACvE;;KArEH,CAAsCE,kBAAU;;gBAf/CxE,YAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,u7EAAuC;oBAEvC,IAAI,EAAE;wBACJ,0BAA0B,EAAE,MAAM;wBAClC,yBAAyB,EAAE,YAAY;wBACvC,MAAM,EAAE,SAAS;qBAClB;oBACD,UAAU,EAAE,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;;oBAEzD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAEwE,kBAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;oBACnE,aAAa,EAAEZ,oBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAChD;;;gBA7IQY,mBAAc,uBAqKlBC,WAAQ;gBA/JX/D,oBAAiB;gBAGjBD,aAAU;gDA+JPG,SAAM,SAAC8D,eAAQ;;;gCAvBjBzC,SAAM;kCAENjC,QAAK;kCAGLA,QAAK;8BAGL6C,eAAY,SAAC,mBAAmB;yBAGhC8B,kBAAe,SAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;;QC9IvD;;;;;gBALC1E,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,CAAC;oBACpE,OAAO,EAAE,CAACC,mBAAY,EAAEE,sBAAe,EAAEC,kBAAa,EAAEuE,wBAAgB,EAAEC,qBAAU,CAAC;oBACrF,OAAO,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,CAAC;iBAChE;;;;QCJC;SAAiB;QAEjB,yCAAQ,GAAR;SACC;;;;gBAVF9E,YAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,mFAA8C;;iBAE/C;;;;;QCGC;SAAiB;QAEjB,iDAAQ,GAAR;SACC;;;;gBAVFA,YAAS,SAAC;oBACT,QAAQ,EAAE,6BAA6B;oBACvC,4NAAuD;;iBAExD;;;;;QCGC;SAAiB;QAEjB,wDAAQ,GAAR;SACC;;;;gBAVFA,YAAS,SAAC;oBACT,QAAQ,EAAE,qCAAqC;oBAC/C,qCAA+D;;iBAEhE;;;;;QCGC;SAAiB;QAEjB,uDAAQ,GAAR;SACC;;;;gBAVFA,YAAS,SAAC;oBACT,QAAQ,EAAE,oCAAoC;oBAC9C,qCAA8D;;iBAE/D;;;;;QCGC;SAAiB;QAEjB,yCAAQ,GAAR;SACC;;;;gBAVFA,YAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,6OAA8C;;iBAE/C;;;;;QCmBD;;;;;gBAjBCE,WAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,8BAA8B;wBAC9B,qCAAqC;wBACrC,oCAAoC;wBACpC,sBAAsB;qBACvB;oBACD,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE;wBACP,sBAAsB;wBACtB,8BAA8B;wBAC9B,qCAAqC;wBACrC,oCAAoC;wBACpC,sBAAsB;qBACvB;iBACF;;;;QCdD;YAQkB,WAAM,GAAY,EAAE,CAAC;YAET,sBAAiB,GAAwB,IAAI2B,eAAY,CAAQ,IAAI,CAAC,CAAC;;;;;;YAM5E,iBAAY,GAAwB,IAAIA,eAAY,CAAQ,IAAI,CAAC,CAAC;SAoL1F;QAjLC,mCAAQ,GAAR;;YAEE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAA,IAAI;oBACtC,OAAO,IAAI,CAAC,OAAO,CAAC;iBACrB,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,WAAW,EAAE;;oBAEpB,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;wBAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,IAAI;4BAClE,OAAO,IAAI,CAAC,OAAO,CAAC;yBACrB,CAAC,CAAC;qBACJ;oBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC/C;aACF;SACF;QAED,0CAAe,GAAf;YACE,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,cAAM,OAAA,QAAQ,GAAA,CAAC;SACjD;QAEM,gDAAqB,GAArB;YACL,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,OAAO,aAAa,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;SACjD;QAEM,2CAAgB,GAAhB,UAAiB,IAAW;YACjC,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAC/B,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBACzD,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC/D;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBAClG;aACF;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;QAEM,mDAAwB,GAAxB,UAAyB,IAAW;YACzC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,KAAK,SAAS,GAAA,CAAC,CAAC;SAC7E;QAEM,8CAAmB,GAAnB,UAAoB,OAAc;YACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC;SAC1C;QAEM,mCAAQ,GAAR;YACL,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE;;gBAE9B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;oBACzD,IAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC3D,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;iBACvE;qBAAM;oBACL,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACvF,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;iBAC9E;aACF;SACF;QAEM,+BAAI,GAAJ;YACL,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;;gBAE1B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;oBACxD,IAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACnD,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;iBACnE;qBAAM;oBACL,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACvF,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;iBAC9E;aACF;SACF;QAEM,8CAAmB,GAAnB;YACL,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;oBACzD,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrC,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;iBAC1D;qBAAM;oBACL,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;SACd;QAEM,0CAAe,GAAf;YACL,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;oBACxD,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrC,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;iBAChF;qBAAM;oBACL,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;SACd;QAEM,qCAAU,GAAV;YACL,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrD,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;oBAC/B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;iBAC7B;qBAAM;oBACL,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;SACd;QAEM,0CAAe,GAAf;YAAA,iBAIN;YAHC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,KAAK;gBAChC,OAAO,KAAK,KAAK,KAAI,CAAC,WAAW,CAAC;aACnC,CAAC,CAAC;SACJ;QAEM,iDAAsB,GAAtB;YAAA,iBAIN;YAHC,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAA,KAAK;gBAC9C,OAAO,KAAK,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC;aACjD,CAAC,CAAC;SACJ;QAEM,uCAAY,GAAZ;YACL,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACrC;QAEM,sCAAW,GAAX,UAAY,KAAU,EAAE,IAAW;YACxC,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,sBAAI,8CAAgB;iBAApB;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;aAC/B;;;WAAA;QAED,sBAAI,iDAAmB;iBAAvB;;gBACE,aAAO,IAAI,CAAC,WAAW,CAAC,aAAa,0CAAE,KAAK,CAAC;aAC9C;;;WAAA;QAEO,+CAAoB,GAApB;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1E;QAEO,yCAAc,GAAd;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACxE;QAEO,wCAAa,GAAb;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3G;QAEO,mDAAwB,GAAxB,UAAyB,KAAa;;YAE5C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,GAAA,CAAC,KAAK,SAAS,CAAC;SAC7E;QAEO,oDAAyB,GAAzB,UAA0B,KAAa;;YAE7C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,GAAA,CAAC,KAAK,SAAS,CAAC;SAClG;QAEO,kDAAuB,GAAvB;YACN,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,MAAM;iBACf,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;iBACf,OAAO,EAAE;iBACT,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,GAAA,CAAC,CAAC;SAC/B;QAEO,8CAAmB,GAAnB;YACN,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,GAAA,CAAC,CAAC;SACpF;;;;gBAnMF9B,YAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,4kBAAuC;;iBAExC;;;0BAEES,YAAS,SAAC,SAAS;yBAEnBR,QAAK,SAAC,OAAO;8BACbA,QAAK,SAAC,YAAY;oCAClBiC,SAAM,SAAC,kBAAkB;+BAMzBA,SAAM,SAAC,aAAa;;;;QChBvB;;;;;gBALChC,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAACC,mBAAY,EAAE4E,0BAAgB,CAAC;oBACzC,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC5B;;;;QCcD;;;;;gBAZC7E,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,uBAAuB;wBACvB,YAAY;wBACZ,aAAa;wBACb,0BAA0B;wBAC1B,kBAAkB;wBAClB,UAAU;wBACV,eAAe;wBACf,mBAAmB;qBACpB;iBACF;;;ICtBD;;;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"porscheinformatik-material-addons.umd.js","sources":["../../../projects/material-addons/src/lib/material-action-button/material-action-button.component.ts","../../../projects/material-addons/src/lib/material-action-button/material-action-button.module.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/material-addons/src/lib/button/mad-basic-button.ts","../../../projects/material-addons/src/lib/button/primary-button/primary-button.component.ts","../../../projects/material-addons/src/lib/button/outline-button/outline-button.component.ts","../../../projects/material-addons/src/lib/button/flat-button/link-button.component.ts","../../../projects/material-addons/src/lib/button/icon-button/icon-button.component.ts","../../../projects/material-addons/src/lib/button/danger-button/danger-button.component.ts","../../../projects/material-addons/src/lib/button/button.module.ts","../../../projects/material-addons/src/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.ts","../../../projects/material-addons/src/lib/numeric-field/number-format.service.ts","../../../projects/material-addons/src/lib/readonly/readonly-form-field/readonly-form-field.component.ts","../../../projects/material-addons/src/lib/readonly/readonly-form-field.module.ts","../../../projects/material-addons/src/lib/toolbar/toolbar.service.ts","../../../projects/material-addons/src/lib/toolbar/toolbar.component.ts","../../../projects/material-addons/src/lib/toolbar/toolbar.module.ts","../../../projects/material-addons/src/lib/numeric-field/numeric-field.directive.ts","../../../projects/material-addons/src/lib/numeric-field/numeric-field.module.ts","../../../projects/material-addons/src/lib/card/card.component.ts","../../../projects/material-addons/src/lib/throttle-click/throttle-click.directive.ts","../../../projects/material-addons/src/lib/throttle-click/throttle-click.module.ts","../../../projects/material-addons/src/lib/card/card.module.ts","../../../projects/material-addons/src/lib/quick-list/base-quick-list.component.ts","../../../projects/material-addons/src/lib/quick-list/quick-list.component.ts","../../../projects/material-addons/src/lib/quick-list/quick-list-compact/quick-list-compact.component.ts","../../../projects/material-addons/src/lib/quick-list/quick-list.module.ts","../../../projects/material-addons/src/lib/table/table.component.ts","../../../projects/material-addons/src/lib/table/table.module.ts","../../../projects/material-addons/src/lib/data-table/data-table-action-type.ts","../../../projects/material-addons/src/lib/data-table/data-table.component.ts","../../../projects/material-addons/src/lib/data-table/data-table.module.ts","../../../projects/material-addons/src/lib/stepper/step-header/step-header.component.ts","../../../projects/material-addons/src/lib/stepper/mad-stepper-animation.ts","../../../projects/material-addons/src/lib/stepper/stepper.component.ts","../../../projects/material-addons/src/lib/stepper/stepper.module.ts","../../../projects/material-addons/src/lib/content-panel/content-header/content-header.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel-container/content-panel-container.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel-container-content/content-panel-container-content.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.ts","../../../projects/material-addons/src/lib/content-panel/main-container/main-container.component.ts","../../../projects/material-addons/src/lib/content-panel/content-panel.module.ts","../../../projects/material-addons/src/lib/flowbar/flowbar.component.ts","../../../projects/material-addons/src/lib/flowbar/flowbar.module.ts","../../../projects/material-addons/src/lib/material-addons.module.ts","../../../projects/material-addons/src/public-api.ts","../../../projects/material-addons/src/porscheinformatik-material-addons.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'mad-material-action-button',\n templateUrl: './material-action-button.component.html',\n styleUrls: ['./material-action-button.component.css'],\n})\nexport class MaterialActionButtonComponent {\n @Input()\n actionName: string;\n\n @Input()\n id: string;\n\n @Input()\n icon = 'add';\n\n @Input()\n routerLink: string;\n\n // Sets the lower padding higher providing some bottom space for a fixed paginator\n @Input()\n liftHigher = true;\n\n @Input()\n liftHigher2 = false;\n}\n","import { NgModule } from '@angular/core';\nimport { MaterialActionButtonComponent } from './material-action-button.component';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [MaterialActionButtonComponent],\n imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule],\n exports: [MaterialActionButtonComponent],\n})\nexport class MaterialActionButtonModule {}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {ElementRef, HostBinding, SimpleChanges} from '@angular/core';\n\nexport class MadBasicButton {\n button: ElementRef;\n disabled: boolean;\n\n disableClick = (e: Event) => e.stopPropagation();\n\n ngOnChanges(changes: SimpleChanges) {\n this.disableButton();\n }\n\n disableButton(): void {\n if (this.disabled) {\n this.button.nativeElement.addEventListener('click', this.disableClick);\n } else {\n this.button.nativeElement.removeEventListener('click', this.disableClick);\n }\n }\n @HostBinding('style.pointer-events')\n get pointerEvent(): string {\n return this.disabled ? 'none' : 'auto';\n }\n\n @HostBinding('style.opacity')\n get opacity(): string {\n return this.disabled ? '0.35' : '1';\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-primary-button',\n templateUrl: './primary-button.component.html',\n styleUrls: ['./primary-button.component.css'],\n})\nexport class PrimaryButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-outline-button',\n templateUrl: './outline-button.component.html',\n styleUrls: ['./outline-button.component.css'],\n})\nexport class OutlineButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n@Component({\n selector: 'mad-link-button',\n templateUrl: './link-button.component.html',\n styleUrls: ['./link-button.component.css'],\n})\nexport class LinkButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-icon-button',\n templateUrl: './icon-button.component.html',\n styleUrls: ['./icon-button.component.css'],\n})\nexport class IconButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {MadBasicButton} from '../mad-basic-button';\n\n@Component({\n selector: 'mad-danger-button',\n templateUrl: './danger-button.component.html',\n styleUrls: ['./danger-button.component.css'],\n})\nexport class DangerButtonComponent extends MadBasicButton {\n @Input()\n type: string;\n\n @Input()\n disabled: boolean;\n\n @Input()\n title: string = '';\n\n @ViewChild('btn', { read: ElementRef, static: true }) button: ElementRef;\n\n constructor() {\n super();\n super.button = this.button;\n super.disabled = this.disabled;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {PrimaryButtonComponent} from './primary-button/primary-button.component';\nimport {OutlineButtonComponent} from './outline-button/outline-button.component';\nimport {LinkButtonComponent} from './flat-button/link-button.component';\nimport {IconButtonComponent} from './icon-button/icon-button.component';\nimport {DangerButtonComponent} from \"./danger-button/danger-button.component\";\n\n@NgModule({\n declarations: [PrimaryButtonComponent, OutlineButtonComponent, LinkButtonComponent, DangerButtonComponent, IconButtonComponent],\n imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule],\n exports: [PrimaryButtonComponent, OutlineButtonComponent, LinkButtonComponent, DangerButtonComponent, IconButtonComponent],\n})\nexport class ButtonModule {}\n","import {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\n\n/**\n * Wraps a mat-form-field to replace it by a readOnly representation if necessary\n *\n * @author Stefan Laesser\n */\n@Component({\n selector: 'mad-readonly-form-field-wrapper',\n templateUrl: './readonly-form-field-wrapper.component.html',\n styleUrls: ['./readonly-form-field-wrapper.component.css'],\n})\nexport class ReadOnlyFormFieldWrapperComponent implements OnInit, AfterViewInit, OnChanges, AfterViewChecked {\n /**\n * If set to \"false\", the contained mat-form-field is rendered in all it's glory.\n * If set to \"true\", a readonly representation of the value is shown using the mat-form-fields label.\n */\n @Input() readonly = true;\n\n /**\n * This input *MUST MATCH* the mat-form-field value to ensure correct data\n * binding and formatting of readOnly representation!\n */\n @Input('value') value: any;\n\n /**\n * Automatically taken from the contained <mat-label>\n */\n label: string;\n\n @ViewChild('contentWrapper', {static: false})\n originalContent: ElementRef;\n @ViewChild('readOnlyContentWrapper', {static: false})\n readOnlyContentWrapper: ElementRef;\n\n @Input('textAlign') textAlign: 'right' | 'left' = 'left';\n @Input('formatNumber') formatNumber = false;\n @Input('decimalPlaces') decimalPlaces = 2;\n @Input('roundDisplayValue') roundValue = false;\n @Input('autofillDecimals') autofillDecimals = false;\n @Input('unit') unit: string | null = null;\n @Input('unitPosition') unitPosition: 'right' | 'left' = 'left';\n @Input('errorMessage') errorMessage: string | null = null;\n @Input() id: string;\n\n /**\n * If set to \"false\", a readonly input will be rendered.\n * If set to \"true\", a readonly textarea will be rendered instead.\n */\n @Input() multiline = false;\n\n /**\n * Defines the rows for the readonly textarea.\n */\n @Input() rows = 3;\n\n/**\n * If shrinkIfEmpty is set to \"false\", nothing changes\n * If set to \"true\" and multiline is also \"true\", the textarea will\n * shrink to one row, if value is empty/null/undefined.\n * Otherwise, the defined rows-value will be used\n */\n @Input() shrinkIfEmpty: boolean = false;\n\n toolTipForInputEnabled = false;\n toolTipText: string;\n\n constructor(private changeDetector: ChangeDetectorRef, private elementRef: ElementRef) {\n }\n\n ngOnInit(): void {\n this.doRendering();\n }\n\n ngAfterViewInit(): void {\n this.setReadonlyFieldStyle();\n this.doRendering();\n }\n\n ngAfterViewChecked(): void {\n this.setReadonlyFieldStyle();\n this.setTooltipForOverflownField();\n }\n\n ngOnChanges(_: SimpleChanges): void {\n this.doRendering();\n }\n\n getLabel(): string {\n if (!this.label) {\n this.extractLabel();\n }\n return this.label;\n }\n\n private doRendering(): void {\n if (!this.originalContent) {\n return;\n }\n if (!this.readonly) {\n this.correctWidth();\n return;\n }\n\n this.changeDetector.detectChanges();\n }\n\n private extractLabel(): void {\n if (!this.originalContent || !this.originalContent.nativeElement) {\n return null;\n }\n const labelElement = this.originalContent.nativeElement.querySelector('mat-label');\n this.label = labelElement ? labelElement.innerHTML : 'mat-label is missing!';\n }\n\n private correctWidth(): void {\n const formField = this.originalContent.nativeElement.querySelector('mat-form-field');\n if (formField) {\n formField.setAttribute('style', 'width:100%');\n }\n }\n\n private setReadonlyFieldStyle(): void {\n const input = this.readOnlyContentWrapper?.nativeElement?.querySelector('input');\n\n if (input) {\n let textOverFlowStyleValue = this.getTextOverFlowStyleValue();\n if (textOverFlowStyleValue) {\n input.setAttribute('style', 'text-overflow: ' + textOverFlowStyleValue);\n }\n }\n }\n\n // Ellipsis is enabled by default as text-overflow behaviour\n private getTextOverFlowStyleValue(): string {\n // it works only if the style is added to the component directly. Should find a way for get it from the calculated\n // style. Than it would be possible to define the text-overflow in css for the whole application\n let textOverflow = this.elementRef?.nativeElement?.style.textOverflow;\n if (!textOverflow) {\n return 'ellipsis';\n }\n\n return textOverflow;\n }\n\n private setTooltipForOverflownField() {\n if (this.isEllipsisForTextOverflowEnabled()) {\n const input = this.readOnlyContentWrapper?.nativeElement?.querySelector('input');\n\n if (input) {\n this.toolTipForInputEnabled = this.isTextOverflown(input);\n if (this.toolTipForInputEnabled) {\n this.toolTipText = this.calculateToolTipText();\n }\n this.changeDetector.detectChanges();\n }\n }\n }\n\n private isEllipsisForTextOverflowEnabled(): boolean {\n return this.getTextOverFlowStyleValue() === 'ellipsis';\n }\n\n private isTextOverflown(input: any): boolean {\n if (input) {\n return (input.offsetWidth < input.scrollWidth);\n }\n return false;\n }\n\n private calculateToolTipText(): string {\n if (!this.unit) {\n return this.value;\n }\n\n return this.unitPosition === 'left' ? this.unit + ' ' + this.value : this.value + ' ' + this.unit;\n }\n}\n","import { Inject, LOCALE_ID, Injectable } from '@angular/core';\n\nexport declare interface FormatOptions {\n decimalPlaces?: number;\n\n finalFormatting?: boolean;\n\n autofillDecimals?: boolean;\n}\n\nexport declare interface StripOptions {\n decimalPlaces?: number;\n\n removeLeadingZeros?: boolean;\n}\n\n@Injectable({\n providedIn: 'any',\n})\nexport class NumberFormatService {\n static readonly NEGATIVE = '-';\n static readonly NUMBERS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\n static readonly DEFAULT_FINAL_FORMATTING = true;\n static readonly DEFAULT_DECIMAL_PLACES = 2;\n static readonly DEFAULT_AUTOFILL_DECIMALS = false;\n static readonly DEFAULT_REMOVE_LEADING_ZEROS = false;\n\n decimalSeparator: ',' | '.';\n groupingSeparator: ',' | '.';\n\n allowedKeys: string[] = [];\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n // try to get the current formatting\n const localeDecimalSeparator = (1.1).toLocaleString(locale).charAt(1);\n this.decimalSeparator = localeDecimalSeparator === ',' ? ',' : '.';\n this.groupingSeparator = localeDecimalSeparator === ',' ? '.' : ',';\n\n this.allowedKeys = [...NumberFormatService.NUMBERS, NumberFormatService.NEGATIVE, this.decimalSeparator];\n }\n\n static valueIsSet(value: any): boolean {\n return typeof value !== 'undefined' && value !== null && (typeof value !== 'string' || value.length !== 0);\n }\n\n format(value: number, options?: Partial<FormatOptions>): string {\n return NumberFormatService.valueIsSet(value)\n ? this.formatNumber(value.toString().replace(new RegExp('[.]', 'g'), this.decimalSeparator), options)\n : '';\n }\n\n formatNumber(value: string, options?: Partial<FormatOptions>): string {\n const autofillDecimals = this.valueOrDefault(options?.autofillDecimals, NumberFormatService.DEFAULT_AUTOFILL_DECIMALS);\n const decimalPlaces = this.valueOrDefault(options?.decimalPlaces, NumberFormatService.DEFAULT_DECIMAL_PLACES);\n const finalFormatting = this.valueOrDefault(options?.finalFormatting, NumberFormatService.DEFAULT_FINAL_FORMATTING);\n\n let result = this.strip(value, { decimalPlaces, removeLeadingZeros: finalFormatting });\n\n /* add grouping separator */\n const decimalIndex = result.indexOf(this.decimalSeparator);\n const isNegative = result.startsWith(NumberFormatService.NEGATIVE);\n let i = decimalIndex > -1 ? decimalIndex : result.length;\n while (i > (isNegative ? 4 : 3)) {\n i -= 3;\n result = result.substring(0, i) + this.groupingSeparator + result.substring(i, result.length);\n }\n\n if (finalFormatting) {\n if (decimalPlaces > 0 && !!result) {\n /* autofill decimal places */\n let actualDecimalIndex = result.indexOf(this.decimalSeparator);\n if (autofillDecimals) {\n if (actualDecimalIndex === -1) {\n actualDecimalIndex = result.length;\n result += this.decimalSeparator;\n }\n\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n actualDecimalIndex = result.indexOf(this.decimalSeparator);\n\n const actualDecimalPlaces = result.length - actualDecimalIndex - 1;\n for (let j = 0; j < decimalPlaces - actualDecimalPlaces; j++) {\n result += '0';\n }\n } else {\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n }\n }\n }\n return result;\n }\n\n strip(value: string, options?: StripOptions): string {\n const decimalPlaces = this.valueOrDefault(options?.decimalPlaces, NumberFormatService.DEFAULT_DECIMAL_PLACES);\n const removeLeadingZeros = this.valueOrDefault(options?.removeLeadingZeros, NumberFormatService.DEFAULT_REMOVE_LEADING_ZEROS);\n\n let result = '';\n let indexDecimalSep = -1;\n let j = -1;\n let ignoredChars = 0;\n for (const char of value) {\n j++;\n if (this.allowedKeys.includes(char)) {\n if (char === this.decimalSeparator) {\n if (decimalPlaces === 0) {\n /* dismiss content after a decimal separator, when no places allowed */\n break;\n } else if (indexDecimalSep > -1) {\n /* ignore subsequent decimal separators */\n continue;\n }\n indexDecimalSep = j;\n }\n if (char === '0' && removeLeadingZeros) {\n /* remove leading zero only if it's not the only zero in the 'value' string */\n if ((result.length === 0 && j + 1 !== value.length) || result === NumberFormatService.NEGATIVE) {\n ignoredChars++;\n continue;\n }\n }\n if (char === NumberFormatService.NEGATIVE && j > 0) {\n /* dismiss content after a negative sign not on first position */\n break;\n }\n if (indexDecimalSep > -1 && result.length + ignoredChars > indexDecimalSep + decimalPlaces) {\n /* dismiss content after maximum decimal places reached */\n break;\n }\n result += char;\n } else if (char === this.groupingSeparator) {\n if (indexDecimalSep === -1) {\n ignoredChars++;\n }\n } else {\n /* dismiss content after a invalid character */\n break;\n }\n }\n return result;\n }\n\n private addMissingLeadingZero(result: string, actualDecimalIndex: number): string {\n const isNegative = result.startsWith(NumberFormatService.NEGATIVE);\n /* autoadd a zero before decimal separator, when it's missing */\n if (actualDecimalIndex === 0) {\n result = '0' + result;\n }\n /* autoadd a zero before decimal separator, when it's missing, for negative values */\n if (actualDecimalIndex === 1 && isNegative) {\n result = result[0] + '0' + result.substring(1, result.length);\n }\n return result;\n }\n\n private valueOrDefault(value: any, defaultValue: any): any {\n return NumberFormatService.valueIsSet(value) ? value : defaultValue;\n }\n}\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {ErrorStateMatcher} from '@angular/material/core';\nimport {NumberFormatService} from '../../numeric-field/number-format.service';\n\n/**\n * Read-only mat-form-field representation of provided value\n *\n * @author Stefan Laesser\n */\n\n@Component({\n selector: 'mad-readonly-form-field',\n templateUrl: './readonly-form-field.component.html',\n styleUrls: ['./readonly-form-field.component.css'],\n})\nexport class ReadOnlyFormFieldComponent implements OnChanges, AfterViewChecked {\n @Input('value') value: any;\n @Input('label') label: string;\n @Input('textAlign') textAlign: 'right' | 'left' = 'left';\n @Input('formatNumber') formatNumber = false;\n @Input('decimalPlaces') decimalPlaces = 2;\n @Input('roundDisplayValue') roundValue = false;\n @Input('autofillDecimals') autofillDecimals = false;\n @Input('unit') unit: string | null = null;\n @Input('unitPosition') unitPosition: 'right' | 'left' = 'left';\n @Input('errorMessage') errorMessage: string | null = null;\n @Input() multiline = false;\n @Input() rows = 3;\n @Input() id: string;\n /*\n * If shrinkIfEmpty is set to \"false\", nothing changes\n * If set to \"true\" and multiline is also \"true\", the textarea will\n * shrink to one row, if value is empty/null/undefined.\n * Otherwise, the defined rows-value will be used\n */\n @Input() shrinkIfEmpty: boolean = false;\n @ViewChild('inputEl') inputEl: ElementRef;\n errorMatcher: ErrorStateMatcher = {\n isErrorState: () => !!this.errorMessage,\n };\n\n private unitSpan: HTMLSpanElement;\n private textSpan: HTMLSpanElement;\n\n constructor(private changeDetector: ChangeDetectorRef, private renderer: Renderer2, private numberFormatService: NumberFormatService) {}\n\n ngOnChanges(_: SimpleChanges): void {\n if (!NumberFormatService.valueIsSet(this.value)) {\n this.value = '-';\n if (this.shrinkIfEmpty) {\n this.rows = 1;\n }\n } else if (this.formatNumber && typeof this.value === 'number') {\n this.value = this.numberFormatService.format(this.value, {\n decimalPlaces: this.decimalPlaces,\n finalFormatting: true,\n autofillDecimals: this.autofillDecimals,\n });\n }\n this.changeDetector.detectChanges();\n }\n\n // TODO direct copy from NumericFieldDirective\n ngAfterViewChecked(): void {\n this.injectUnitSymbol();\n }\n\n private injectUnitSymbol(): void {\n // Need to inject the unit symbol when the input element width is set to its actual value,\n // otherwise the icon wont show in the correct position\n if (!!this.unit && !this.unitSpan && this.inputEl.nativeElement.offsetWidth !== 0) {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode.parentNode;\n\n // Create the span with unit symbol and apply necessary styles\n this.unitSpan = this.renderer.createElement('span');\n\n if (this.unitPosition === 'left') {\n this.renderer.setAttribute(this.unitSpan, 'matPrefix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-right', '5px');\n this.renderer.insertBefore(inputWrapper, this.unitSpan, inputWrapper.children[0]);\n } else {\n this.renderer.setAttribute(this.unitSpan, 'matSuffix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-left', '5px');\n this.renderer.appendChild(inputWrapper, this.unitSpan);\n }\n }\n\n // special handling to move unit symbol along with display value\n if (!!this.unitSpan && this.textAlign === 'left' && this.unitPosition === 'right') {\n const inputStyles = window.getComputedStyle(this.inputEl.nativeElement.parentElement, null);\n this.unitSpan.style.position = 'absolute';\n this.unitSpan.style.marginTop = inputStyles.getPropertyValue('border-top-width');\n this.unitSpan.style.paddingTop = inputStyles.getPropertyValue('padding-top');\n this.unitSpan.style.paddingBottom = inputStyles.getPropertyValue('padding-bottom');\n\n if (!this.textSpan) {\n this.textSpan = document.createElement('span');\n document.body.appendChild(this.textSpan);\n this.textSpan.style.font = inputStyles.getPropertyValue('font');\n this.textSpan.style.fontSize = inputStyles.getPropertyValue('font-size');\n this.textSpan.style.height = 'auto';\n this.textSpan.style.width = 'auto';\n this.textSpan.style.position = 'absolute';\n this.textSpan.style.top = '0';\n this.textSpan.style.whiteSpace = 'no-wrap';\n this.textSpan.style.visibility = 'hidden';\n }\n this.textSpan.innerHTML = this.value;\n const width = Math.min(this.inputEl.nativeElement.clientWidth - this.unitSpan.clientWidth, Math.ceil(this.textSpan.clientWidth));\n this.unitSpan.style.left = width + 'px';\n }\n // always reset unit symbol\n if (!!this.unitSpan) {\n this.unitSpan.textContent = this.unit;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { ReadOnlyFormFieldWrapperComponent } from './readonly-form-field-wrapper/readonly-form-field-wrapper.component';\nimport { ReadOnlyFormFieldComponent } from './readonly-form-field/readonly-form-field.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule } from '@angular/forms';\nimport {MatTooltipModule} from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent],\n imports: [CommonModule, RouterModule, MatFormFieldModule, MatInputModule, FormsModule, MatTooltipModule],\n exports: [ReadOnlyFormFieldComponent, ReadOnlyFormFieldWrapperComponent],\n})\nexport class ReadOnlyFormFieldModule {}\n","import {Injectable, OnDestroy} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\nimport {Subscription} from 'rxjs';\nimport {TranslateService} from '@ngx-translate/core';\nimport {BackAction, MainAction, ToolbarAction} from './toolbar-action.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToolbarService implements OnDestroy {\n backAction: BackAction;\n mainActions: MainAction[] = []; // shown on the left, next to title, as big buttons\n toolbarActions: ToolbarAction[] = []; // shown on the right as icons\n toolbarActionsAlwaysAsMenu = false; // show the mobile view (burger menu) for toolbar actions\n dataTitle: string;\n routerSubscription: Subscription;\n private title: string;\n private toolbarActionsMenuTitle = 'More'; // title of the burger menu\n\n private currentUrl: string;\n\n constructor(private router: Router, private translate: TranslateService) {\n this.routerSubscription = this.router.events.subscribe(routingEvent => {\n if (routingEvent instanceof NavigationEnd) {\n if (this.currentUrl !== routingEvent.urlAfterRedirects) {\n this.clearToolbarActions();\n this.clearMainActions();\n delete this.backAction;\n delete this.dataTitle;\n }\n this.currentUrl = router.url;\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.routerSubscription) {\n this.routerSubscription.unsubscribe();\n }\n }\n\n getToolbarActions(): ToolbarAction[] {\n return this.toolbarActions;\n }\n\n addToolbarAction(action: ToolbarAction): void {\n this.translate\n .get(action.i18nActionKey)\n .toPromise()\n .then(translated => {\n action.actionName = translated;\n this.toolbarActions.push(action);\n });\n }\n\n set toolbarTitle(toolbarTitle: string) {\n this.title = toolbarTitle;\n }\n\n get toolbarTitle(): string {\n return this.title;\n }\n\n setDataTitle(dataTitle: string): void {\n this.dataTitle = dataTitle;\n }\n\n setToolbarActionsAlwaysAsMenu(toolbarActionsAlwaysAsMenu: boolean): void {\n this.toolbarActionsAlwaysAsMenu = toolbarActionsAlwaysAsMenu;\n }\n\n getToolbarActionsAlwaysAsMenu(): boolean {\n return this.toolbarActionsAlwaysAsMenu;\n }\n\n getDataTitle(): string {\n return this.dataTitle;\n }\n\n clearToolbarActions(): void {\n this.toolbarActions = [];\n }\n\n getMainActions(): MainAction[] {\n return this.mainActions;\n }\n\n getBackAction(): BackAction {\n return this.backAction;\n }\n\n setToolbarActionsMenuTitle(toolbarActionsMenuTitle: string) {\n this.toolbarActionsMenuTitle = toolbarActionsMenuTitle;\n }\n\n getToolbarActionsMenuTitle() {\n return this.toolbarActionsMenuTitle;\n }\n\n addMainAction(mainAction: MainAction): void {\n this.translate\n .get(mainAction.i18nActionKey)\n .toPromise()\n .then(translated => {\n mainAction.actionName = translated;\n this.mainActions.push(mainAction);\n });\n }\n\n /**\n * Per default the goBackRoute is a routerLink. But if a href should be used (for absolute browser routing) then isAbsoluteUrl can be set to true.\n */\n addBackAction(goBackRoute: string, isAbsoluteUrl = false): void {\n this.backAction = {\n matIcon: 'keyboard_backspace',\n i18nActionKey: '',\n };\n if (!isAbsoluteUrl) {\n this.backAction.routerLink = goBackRoute;\n } else {\n this.backAction.href = goBackRoute;\n }\n }\n\n addSimpleBackButton(overrideIfPresent = false): void {\n if (this.getBackAction() && !overrideIfPresent) {\n return;\n }\n\n this.backAction = {\n matIcon: 'keyboard_backspace',\n i18nActionKey: '',\n action(): void {\n window.history.back();\n },\n };\n }\n\n clearMainActions(): void {\n this.mainActions = [];\n }\n}\n","import {Component} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ToolbarService} from './toolbar.service';\nimport {Observable, of} from 'rxjs';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {map} from 'rxjs/operators';\nimport {Action, BackAction, MainAction, ToolbarAction} from './toolbar-action.interface';\n\n@Component({\n selector: 'mad-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.css'],\n})\nexport class ToolbarComponent {\n isHandset$: Observable<boolean> = this.breakpointObserver.observe([Breakpoints.Handset]).pipe(map(result => result.matches));\n\n constructor(private breakpointObserver: BreakpointObserver, private titleService: Title, private toolbarService: ToolbarService) {\n }\n\n getTitle(): string {\n const dataTitle = this.toolbarService.getDataTitle();\n const toolbarTitle = this.toolbarService.toolbarTitle;\n const title = !toolbarTitle || toolbarTitle.length <= 0 ? this.titleService.getTitle() : toolbarTitle;\n return !dataTitle || dataTitle.length <= 0 ? title : title + ': ' + dataTitle;\n }\n\n getToolbarActions(): ToolbarAction[] {\n return this.toolbarService.getToolbarActions();\n }\n\n getMainActions(): MainAction[] {\n return this.toolbarService.getMainActions();\n }\n\n hasPermission(action: Action): Observable<boolean> {\n if (!action || !action.showIf) {\n return of(true);\n }\n return action.showIf;\n }\n\n isRouterLink(): boolean {\n return this.toolbarService.getBackAction() && !!this.toolbarService.getBackAction().routerLink;\n }\n\n isAbsoluteLink(): boolean {\n return this.toolbarService.getBackAction() && !!this.toolbarService.getBackAction().href;\n }\n\n isAction(): boolean {\n return this.toolbarService.getBackAction() && !!this.toolbarService.getBackAction().action;\n }\n\n getBackAction(): BackAction {\n return this.toolbarService.getBackAction();\n }\n\n getToolbarActionsAlwaysAsMenu(): boolean {\n return this.toolbarService.getToolbarActionsAlwaysAsMenu();\n }\n\n getToolbarActionsMenuTitle(): string {\n return this.toolbarService.getToolbarActionsMenuTitle();\n }\n\n showBadgeForMenu() {\n return this.getToolbarActions()\n .slice(1) // the first icon is not shown in menu\n .filter(value => value.badge && value.badge.value).length > 0;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {ToolbarComponent} from './toolbar.component';\nimport {MaterialActionButtonModule} from '../material-action-button/material-action-button.module';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {ButtonModule} from '../button/button.module';\nimport {MatBadgeModule} from \"@angular/material/badge\";\n\n@NgModule({\n declarations: [ToolbarComponent],\n imports: [\n CommonModule,\n RouterModule,\n MatMenuModule,\n MatButtonModule,\n MatToolbarModule,\n MatIconModule,\n MaterialActionButtonModule,\n MatTooltipModule,\n ButtonModule,\n MatBadgeModule,\n ],\n exports: [ToolbarComponent],\n})\nexport class ToolbarModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NumberFormatService } from './number-format.service';\n\nconst BACK_KEYCODE = 8;\nconst SPACE_KEYCODE = 32;\nconst DEL_KEYCODE = 46;\nconst CONTROL_KEYCODES_UPPER_BORDER = 46;\nconst OTHER_CONTROL_KEYS = new Set([224, 91, 93]);\n\n@Directive({\n selector: '[madNumericField]',\n host: {\n '[class.text-right]': 'textAlign === \"right\"',\n '(change)': 'onChange(getValueForFormControl())',\n '(input)': 'onChange(getValueForFormControl())',\n '(blur)': 'onTouched()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumericFieldDirective), // eslint-disable-line\n multi: true,\n },\n ],\n})\nexport class NumericFieldDirective implements OnInit, OnDestroy, AfterViewChecked, ControlValueAccessor {\n @Input('textAlign') textAlign: 'right' | 'left' = 'right';\n @Input('decimalPlaces') decimalPlaces = 2;\n @Input('roundDisplayValue') roundValue = false;\n @Input('autofillDecimals') autofillDecimals = false;\n @Input('unit') unit: string | null = null;\n @Input('unitPosition') unitPosition: 'right' | 'left' = 'right';\n @Output('numericValueChange') numericValueChanged = new EventEmitter<number>();\n\n private displayValue = '';\n private originalValue = NaN;\n private _numericValue: number;\n private inputChangeListener: () => void;\n private keyupListener: () => void;\n private keydownListener: () => void;\n\n @Input('numericValue')\n set numericValue(value: number) {\n if (this._numericValue !== value && !(isNaN(this._numericValue) && (isNaN(value) || value === null))) {\n this.originalValue = value;\n // Don't roundOrTruncate if value was set to empty otherwise input value will be set to 0 instead of empty\n // which happens when an input is being reset\n this._numericValue = value === null || value === undefined ? value : this.roundOrTruncate(value); // eslint-disable-line\n this.handleInputChanged();\n }\n }\n\n private unitSpan: HTMLSpanElement;\n private textSpan: HTMLSpanElement;\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef, private numberFormatService: NumberFormatService) {}\n\n /* Control Values Accessor Stuff below */\n // eslint-disable-next-line\n onChange: any = () => {};\n // eslint-disable-next-line\n onTouched: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(): void {\n // Dont need to implement since its just a directive\n }\n\n writeValue(value: number): void {\n this.numericValue = value;\n }\n\n ngOnInit(): void {\n /* needs to be parsed as number explicitly as it comes as string from user input */\n this.decimalPlaces = parseInt(this.decimalPlaces.toString(), 10);\n\n this.inputChangeListener = this.renderer.listen(this.inputEl.nativeElement, 'blur', event => {\n this.formatInput(event.target, true);\n });\n\n this.keyupListener = this.renderer.listen(this.inputEl.nativeElement, 'keyup', event => {\n if (event.keyCode === BACK_KEYCODE || (event.keyCode >= CONTROL_KEYCODES_UPPER_BORDER && !OTHER_CONTROL_KEYS.has(event.keyCode))) {\n this.formatInput(event.target, false);\n }\n });\n\n this.keydownListener = this.renderer.listen(this.inputEl.nativeElement, 'keydown', event => {\n const value: string = event.target.value;\n if (\n this.numberFormatService.allowedKeys.includes(event.key) ||\n (event.keyCode <= CONTROL_KEYCODES_UPPER_BORDER && event.keyCode > 0 && event.keyCode !== SPACE_KEYCODE) ||\n event.metaKey ||\n event.ctrlKey ||\n event.altKey\n ) {\n /* allow negative sign only as first character and none exists outside of text selection */\n const indexNegativeSign = value.indexOf(NumberFormatService.NEGATIVE);\n if (\n event.key === NumberFormatService.NEGATIVE &&\n (event.target.selectionStart > 0 || indexNegativeSign > -1) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexNegativeSign >= event.target.selectionStart && indexNegativeSign <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* no duplicate decimal separators */\n const indexDecimalSep = value.indexOf(this.numberFormatService.decimalSeparator);\n if (\n event.key === this.numberFormatService.decimalSeparator &&\n (indexDecimalSep > -1 || this.decimalPlaces === 0) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexDecimalSep >= event.target.selectionStart && indexDecimalSep <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* prevent too many decimal places */\n if (\n NumberFormatService.NUMBERS.includes(event.key) &&\n indexDecimalSep > -1 &&\n indexDecimalSep < event.target.selectionStart &&\n event.target.selectionStart === event.target.selectionEnd &&\n value.length > indexDecimalSep + this.decimalPlaces\n ) {\n return false;\n }\n\n /* when deleting thousand separator, remove the digit before or after it */\n const cursorStart = event.target.selectionStart;\n\n if (cursorStart === event.target.selectionEnd) {\n if (event.keyCode === BACK_KEYCODE && value.substr(cursorStart - 1, 1) === this.numberFormatService.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart - 2) + value.substring(cursorStart - 1, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart - 1;\n return false;\n } else if (event.keyCode === DEL_KEYCODE && value.substr(cursorStart, 1) === this.numberFormatService.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart + 1) + value.substring(cursorStart + 2, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart + 1;\n return false;\n }\n }\n this.originalValue = NaN;\n } else {\n return false;\n }\n return true;\n });\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n }\n\n ngAfterViewChecked(): void {\n this.injectUnitSymbol();\n }\n\n handleInputChanged(): void {\n // Call in set timeout to avoid Expression has changed after it has been checked error.\n // Sometimes the value changes because we cut off decimal places\n setTimeout(() => {\n this.updateInput(\n this.numberFormatService.format(this._numericValue, {\n decimalPlaces: this.decimalPlaces,\n finalFormatting: false,\n autofillDecimals: this.autofillDecimals,\n }),\n );\n }, 1);\n }\n\n formatInput(element: HTMLInputElement, finalFormatting: boolean): void {\n const cursorPos = element.selectionStart;\n const length = element.value.length;\n const setCursor = this.displayValue !== element.value;\n const textFormatted = this.numberFormatService.formatNumber(element.value, {\n decimalPlaces: this.decimalPlaces,\n finalFormatting,\n autofillDecimals: this.autofillDecimals,\n });\n\n // special handling to move unit symbol along with display value\n if (this.textAlign === 'left' && this.unitPosition === 'right') {\n const inputStyles = window.getComputedStyle(this.inputEl.nativeElement.parentElement, null);\n this.unitSpan.style.position = 'absolute';\n this.unitSpan.style.marginTop = inputStyles.getPropertyValue('border-top-width');\n this.unitSpan.style.paddingTop = inputStyles.getPropertyValue('padding-top');\n this.unitSpan.style.paddingBottom = inputStyles.getPropertyValue('padding-bottom');\n\n if (!this.textSpan) {\n this.textSpan = document.createElement('span');\n document.body.appendChild(this.textSpan);\n this.textSpan.style.font = inputStyles.getPropertyValue('font');\n this.textSpan.style.fontSize = inputStyles.getPropertyValue('font-size');\n this.textSpan.style.height = 'auto';\n this.textSpan.style.width = 'auto';\n this.textSpan.style.position = 'absolute';\n this.textSpan.style.top = '0';\n this.textSpan.style.whiteSpace = 'no-wrap';\n this.textSpan.style.visibility = 'hidden';\n }\n this.textSpan.innerHTML = textFormatted;\n const width = Math.min(this.inputEl.nativeElement.clientWidth - this.unitSpan.clientWidth, Math.ceil(this.textSpan.clientWidth));\n this.unitSpan.style.left = width + 'px';\n }\n\n this.updateInput(textFormatted);\n if (setCursor) {\n element.selectionStart = element.selectionEnd = Math.max(cursorPos + element.value.length - length, 0);\n }\n }\n\n updateInput(value: string): void {\n this.displayValue = value;\n this.inputEl.nativeElement.value = value;\n this._numericValue = parseFloat(\n this.numberFormatService.strip(value, { decimalPlaces: this.decimalPlaces }).replace(this.numberFormatService.decimalSeparator, '.'),\n );\n if (this._numericValue !== this.roundOrTruncate(this.originalValue)) {\n this.originalValue = this._numericValue;\n this.numericValueChanged.emit(this._numericValue);\n }\n }\n\n getValueForFormControl(): number | undefined {\n this.formatInput(this.inputEl.nativeElement, false);\n if (isNaN(this._numericValue)) {\n // Return undefined instead of NaN to support the default required validator.\n return undefined; // eslint-disable-line\n }\n return this._numericValue;\n }\n\n private injectUnitSymbol(): void {\n // Need to inject the unit symbol when the input element width is set to its actual value,\n // otherwise the icon wont show in the correct position\n if (!!this.unit && !this.unitSpan && this.inputEl.nativeElement.offsetWidth !== 0) {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode.parentNode;\n\n // Create the span with unit symbol and apply necessary styles\n this.unitSpan = this.renderer.createElement('span');\n\n if (this.unitPosition === 'left') {\n this.renderer.setAttribute(this.unitSpan, 'matPrefix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-right', '5px');\n this.renderer.insertBefore(inputWrapper, this.unitSpan, inputWrapper.children[0]);\n } else {\n this.renderer.setAttribute(this.unitSpan, 'matSuffix', '');\n this.renderer.setStyle(this.unitSpan, 'padding-left', '5px');\n this.renderer.appendChild(inputWrapper, this.unitSpan);\n }\n }\n\n // do not display unit symbol if the unit should move along display value\n if (!!this.unitSpan && this.textAlign === 'left' && this.unitPosition === 'right') {\n if (NumberFormatService.valueIsSet(this.displayValue)) {\n this.unitSpan.style.display = 'unset';\n } else {\n this.unitSpan.style.display = 'none';\n }\n }\n // always reset unit symbol\n if (!!this.unitSpan) {\n this.unitSpan.textContent = this.unit;\n }\n }\n\n private detachListener(): void {\n if (this.inputChangeListener) {\n this.inputChangeListener();\n delete this.inputChangeListener;\n }\n if (this.keydownListener) {\n this.keydownListener();\n delete this.keydownListener;\n }\n if (this.keyupListener) {\n this.keyupListener();\n delete this.keyupListener;\n }\n }\n\n private roundOrTruncate(value: number): number {\n const method = this.roundValue ? 'round' : value < 0 ? 'ceil' : 'floor';\n return Math[method](value * Math.pow(10, this.decimalPlaces)) / Math.pow(10, this.decimalPlaces);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NumericFieldDirective } from './numeric-field.directive';\nimport { NumberFormatService } from './number-format.service';\n\n@NgModule({\n providers: [NumberFormatService],\n declarations: [NumericFieldDirective],\n exports: [NumericFieldDirective],\n})\nexport class NumericFieldModule {\n static forRoot(): ModuleWithProviders<NumericFieldModule> {\n return {\n ngModule: NumericFieldModule,\n providers: [NumberFormatService],\n };\n }\n}\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\n\n@Component({\n selector: 'mad-card',\n templateUrl: './card.component.html',\n animations: [\n trigger('collapseExpandAnimation', [\n transition(':enter', [style({opacity: 0, height: 0, overflow: 'hidden'}), animate('100ms', style({\n opacity: 1,\n height: '*'\n }))]),\n transition(':leave', [style({opacity: 1, height: '*', overflow: 'hidden'}), animate('100ms', style({\n opacity: 0,\n height: 0\n }))]),\n ]),\n trigger('rotateIcon', [\n state('true', style({transform: 'rotate(0)'})),\n state('false', style({transform: 'rotate(180deg)'})),\n transition('true => false', animate('100ms ease-out')),\n transition('false => true', animate('100ms ease-in')),\n ]),\n ],\n styleUrls: ['./card.component.css'],\n})\nexport class CardComponent {\n @Input() cancelDisabled = false;\n @Input() cancelText = 'NOT SET';\n @Input() readonly = true;\n @Input() editText = 'NOT SET';\n @Input() expandable = true;\n @Input() expanded = true;\n @Input() saveDisabled = false;\n @Input() saveText = 'NOT SET';\n @Input() title: string;\n @Input() editMode = false;\n @Input() additionalActionIcon: string;\n @Input() additionalActionText: string = '';\n @Output() edit = new EventEmitter();\n @Output() cancel = new EventEmitter();\n @Output() save = new EventEmitter();\n @Output() additionalAction = new EventEmitter();\n\n onCancel(): void {\n this.cancel.emit(undefined);\n }\n\n onEdit(): void {\n this.edit.emit(undefined);\n this.expanded = true;\n }\n\n onSave(): void {\n this.save.emit(undefined);\n }\n\n toggleCollapse(): void {\n this.expanded = !this.expanded;\n }\n\n additionalActionClicked() {\n this.additionalAction.emit(undefined);\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { throttleTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[madThrottleClick]',\n})\nexport class ThrottleClickDirective implements OnInit, OnDestroy {\n @Input() throttleTime = 300;\n @Output() throttleClick = new EventEmitter();\n private clicks = new Subject();\n private subscription: Subscription;\n constructor() {}\n\n ngOnInit() {\n this.subscription = this.clicks.pipe(throttleTime(this.throttleTime)).subscribe(e => this.throttleClick.emit(e));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('click', ['$event'])\n clickEvent(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.clicks.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThrottleClickDirective } from './throttle-click.directive';\n\n@NgModule({\n declarations: [ThrottleClickDirective],\n imports: [CommonModule],\n exports: [ThrottleClickDirective],\n})\nexport class ThrottleClickModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatIconModule} from '@angular/material/icon';\nimport {CardComponent} from './card.component';\nimport {ButtonModule} from \"../button/button.module\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {ThrottleClickModule} from '../throttle-click/throttle-click.module';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, MatButtonModule, ThrottleClickModule],\n exports: [CardComponent],\n})\nexport class CardModule {\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChildren,\n} from '@angular/core';\n\nexport interface QuickListItem {\n id: string;\n}\n\n@Component({\n selector: 'mad-base-quick-list',\n template: '',\n styleUrls: [],\n})\nexport class BaseQuickListComponent<T> implements OnInit, AfterViewInit {\n @Input() allItems = [] as T[];\n @Input() addLabel = 'NOT SET';\n @Input() addPossible = true;\n @Input() blankItem = {} as any;\n @Input() readonly: boolean;\n @Input() maxItems: number;\n @Input() minItems: number;\n\n @Output() added = new EventEmitter<T>();\n @Output() removed = new EventEmitter<T>();\n @ContentChild(TemplateRef) itemTemplate: TemplateRef<any>;\n @ViewChildren('row') itemRows: QueryList<ElementRef>;\n\n rowCountFocus: number;\n addEventFunction: Function;\n\n constructor(public changeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.addEventFunction = this.addItem.bind(this);\n if (this.minItems) {\n for (let n = this.allItems.length; n < this.minItems; n++) {\n this.interalAddItem();\n }\n }\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => this.setFocusOnAdd(), 1);\n }\n\n addItem(): void {\n const newItem = this.interalAddItem();\n if (!!newItem) {\n this.added.emit(newItem);\n }\n }\n\n removeItem(item: T): void {\n if (this.isDeleteAllowed()) {\n this.allItems.splice(this.allItems.indexOf(item), 1);\n this.removed.emit(item);\n }\n }\n\n setFocusOnAdd(): void {\n this.rowCountFocus = this.itemRows.length;\n this.itemRows.changes.subscribe((els: QueryList<ElementRef>) => {\n if (els.length > this.rowCountFocus && !!els.last) {\n const firstFocusable = els.last.nativeElement.querySelector(\"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\");\n if (firstFocusable) {\n firstFocusable.focus();\n }\n }\n this.rowCountFocus = els.length;\n });\n }\n\n isAddAllowed(): boolean {\n return this.addPossible && (!this.maxItems || this.allItems.length < this.maxItems);\n }\n\n isDeleteAllowed(): boolean {\n return !this.minItems || this.allItems.length > this.minItems;\n }\n\n private interalAddItem(): T {\n if (this.isAddAllowed()) {\n const newItem = { ...this.blankItem };\n // creates ids in the form of \"n5kdz1pljl8\"\n newItem.id = Math.random()\n .toString(36)\n .substring(2);\n this.allItems.push(newItem);\n this.changeDetectorRef.detectChanges();\n return newItem;\n }\n return null;\n }\n\n}\n","// Based on https://github.com/porscheinformatik/clarity-addons/blob/master/src/clr-addons/generic-quick-list/generic-quick-list.ts\n\nimport { ChangeDetectorRef, Component } from '@angular/core';\nimport { BaseQuickListComponent, QuickListItem } from './base-quick-list.component';\n\n@Component({\n selector: 'mad-quick-list',\n templateUrl: './quick-list.component.html',\n styleUrls: [],\n})\nexport class QuickListComponent extends BaseQuickListComponent<QuickListItem> {\n constructor(public changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport { BaseQuickListComponent, QuickListItem } from '../base-quick-list.component';\n\n@Component({\n selector: 'mad-quick-list-compact',\n templateUrl: './quick-list-compact.component.html',\n styleUrls: [],\n})\nexport class QuickListCompactComponent extends BaseQuickListComponent<QuickListItem> {\n\n constructor(public changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { QuickListComponent } from './quick-list.component';\nimport { ButtonModule } from '../button/button.module';\nimport { BaseQuickListComponent } from './base-quick-list.component';\nimport { QuickListCompactComponent } from './quick-list-compact/quick-list-compact.component';\n\n@NgModule({\n declarations: [QuickListComponent, BaseQuickListComponent, QuickListCompactComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, ButtonModule],\n exports: [QuickListComponent, QuickListCompactComponent, BaseQuickListComponent],\n})\nexport class QuickListModule {}\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { ColumnHeader } from './column-header';\nimport { TableAction } from './table-action';\n\n@Component({\n selector: 'mad-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n})\nexport class TableComponent implements OnInit, AfterViewInit {\n readonly ACTION_COLUMN_NAME = '__action__';\n\n @Input() columns: ColumnHeader[] = [];\n @Input() filterLabel = 'NOT SET';\n @Input() filterPlaceholder = 'NOT SET';\n @Input() noDataText: string;\n @Input() pageSizeOptions = [5, 10, 15];\n @Input() defaultPageSize = this.pageSizeOptions?.[0] || 10;\n @Input() rowActions: TableAction[] = [];\n @Input() tableActions: TableAction[] = [];\n\n @Input() set displayedData(data: any[]) {\n if (!this.dataSource) {\n this.dataSource = new MatTableDataSource<any>(data);\n } else {\n this.dataSource.data = data;\n }\n }\n\n @Input() set paginationEnabled(isPaginationEnabled: boolean) {\n this.isPaginationEnabled = isPaginationEnabled;\n // eslint-disable-next-line\n const pageSize = this.isPaginationEnabled ? this.defaultPageSize : Number.MAX_VALUE;\n if (this.dataSource.paginator) {\n this.dataSource.paginator._changePageSize(pageSize);\n }\n }\n\n @Input()\n set filterEnabled(isFilterEnabled: boolean) {\n this.isFilterEnabled = isFilterEnabled;\n this.setFilterValue(undefined);\n }\n\n @Output() tableAction = new EventEmitter<TableAction>();\n @Output() rowAction = new EventEmitter<TableAction>();\n @Output() sortEvent = new EventEmitter<Sort>();\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n dataSource: MatTableDataSource<any[]>;\n columnNames: string[];\n isRowClickable: boolean;\n defaultAction: TableAction;\n isFilterEnabled = false;\n isPaginationEnabled = false;\n\n ngOnInit(): void {\n this.columnNames = this.columns.map(column => column.label);\n this.isRowClickable = this.rowActions.length > 0;\n if (this.isRowClickable) {\n this.columnNames.unshift(this.ACTION_COLUMN_NAME);\n this.defaultAction = this.rowActions[0];\n }\n }\n\n ngAfterViewInit(): void {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n // set custom filter predicate to enable search for multiple search strings:\n // e.g. \"one two three\"\n this.dataSource.filterPredicate = (data: any, filter: string) =>\n !filter || filter.split(/\\s+/).every(term => !!Object.keys(data).find(key => data[key].includes(term)));\n }\n\n onFilter(value: string): void {\n this.setFilterValue(value);\n }\n\n onRowEvent(event: MouseEvent, row: any, action = this.defaultAction): void {\n if (!!action && !this.isClickOnRowMenuIcon(event)) {\n this.rowAction.emit({ ...action, outputRow: row });\n }\n }\n\n onSortingEvent(sortingParams: Sort): void {\n this.sortEvent.emit(sortingParams);\n }\n\n onTableAction(tableAction: TableAction): void {\n if (!!tableAction) {\n this.tableAction.emit(tableAction);\n }\n }\n\n private setFilterValue(value: string): void {\n this.dataSource.filter = value?.trim().toLowerCase();\n }\n\n private isClickOnRowMenuIcon(event: MouseEvent): boolean {\n return (event?.target as HTMLElement)?.classList.contains('mat-icon');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { TableComponent } from './table.component';\nimport { ButtonModule } from '../button/button.module';\n\n@NgModule({\n declarations: [TableComponent],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n ButtonModule,\n ],\n exports: [TableComponent],\n})\nexport class TableModule {}\n","export class DataTableActionType {\n public static SINGLE = \"SINGLE\";\n public static BATCH = \"BATCH\";\n public static NONE = \"NONE\";\n}\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { DataTableColumnHeader } from \"./data-table-column-header\";\nimport { DataTableAction } from \"./data-table-action\";\nimport { DataTableActionType } from \"./data-table-action-type\";\nimport { SelectionModel } from \"@angular/cdk/collections\";\nimport { v4 as uuidV4 } from \"uuid\";\n\n@Component({\n selector: \"mad-data-table\",\n templateUrl: \"./data-table.component.html\",\n styleUrls: [\"./data-table.component.scss\"]\n})\nexport class DataTableComponent implements OnInit, AfterViewInit {\n readonly ACTION_COLUMN_NAME = \"__action__\";\n readonly SINGLE = DataTableActionType.SINGLE;\n readonly BATCH = DataTableActionType.BATCH;\n readonly NONE = DataTableActionType.NONE;\n\n @Input() columns: DataTableColumnHeader[] = [];\n @Input() filterLabel = \"Filter\";\n @Input() filterPlaceholder = \"\";\n @Input() noDataText = \"No matching data found\";\n @Input() pageSizeOptions = [5, 10, 15];\n @Input() defaultPageSize = this.pageSizeOptions?.[0] || 10;\n @Input() actions: DataTableAction[] = [];\n @Input() idGenerator: any;\n\n @Input() set tableData(data: any[]) {\n if (!this.dataSource) {\n this.dataSource = new MatTableDataSource<any>(data);\n }\n this.createDataMapsAndSetDisplayedDataSourceData(data);\n }\n\n @Input() set loading(isLoading: boolean) {\n this.isLoading = isLoading;\n }\n\n @Input() set paginationEnabled(isPaginationEnabled: boolean) {\n this.isPaginationEnabled = isPaginationEnabled;\n // eslint-disable-next-line\n const pageSize = this.isPaginationEnabled ? this.defaultPageSize : Number.MAX_VALUE;\n if (this.dataSource.paginator) {\n this.dataSource.paginator._changePageSize(pageSize);\n }\n }\n\n @Input()\n set filterEnabled(isFilterEnabled: boolean) {\n this.isFilterEnabled = isFilterEnabled;\n this.setFilterValue(undefined);\n }\n\n @Input()\n set forceMode(mode: string) {\n if (mode === this.SINGLE || mode === this.BATCH || mode === this.NONE) {\n this._forceMode = mode;\n this.mode = mode;\n this.setActions();\n }\n }\n\n @Output() sortEvent = new EventEmitter<Sort>();\n @Output() actionEvent = new EventEmitter<DataTableAction>();\n @Output() pagingEvent = new EventEmitter<any>();\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n tableActions: DataTableAction[] = [];\n rowActions: DataTableAction[] = [];\n allSelected = false;\n selected: [];\n _forceMode: string;\n displayedDataMap = new Map<string, any>();\n actualDataMap = new Map<string, any>();\n dataSource: MatTableDataSource<any[]>;\n selectionModel = new SelectionModel<string>(true);\n columnNames: string[];\n defaultAction: DataTableAction;\n isFilterEnabled = false;\n isPaginationEnabled = false;\n mode = this.NONE;\n isRowClickable = false;\n isLoading = false;\n\n ngOnInit(): void {\n this.columnNames = this.columns.map(column => column.label);\n this.mode = this.getTableMode();\n this.setActions();\n if (this.mode !== this.NONE) {\n this.isRowClickable = true;\n this.defaultAction = this.rowActions[0];\n }\n this.columnNames.unshift(this.ACTION_COLUMN_NAME);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }\n\n get selectedCount(): number {\n return this.selectionModel?.selected ? this.selectionModel.selected.length : 0;\n }\n\n get rowCount(): number {\n return this.dataSource?._pageData(this.dataSource.data) ? this.dataSource._pageData(this.dataSource.data).length : 0;\n }\n\n public getSelectedCount(actionType: string): string {\n const count = this.selectedCount;\n if (actionType != this.BATCH || count < 2) {\n return \"\";\n }\n return \" (\" + count + \")\";\n }\n\n public isDisabled(actionType: string): boolean {\n switch (actionType) {\n case this.SINGLE:\n return this.selectedCount != 1;\n case this.BATCH:\n return this.selectedCount < 1;\n default:\n return false;\n }\n }\n\n public onToggleSelectAll(): void {\n // clear all selection first\n this.selectionModel.clear();\n // toggle all checkbox\n this.allSelected = !this.allSelected;\n if (this.allSelected) {\n // select all rows of the current page\n this.dataSource._pageData(this.dataSource.data).forEach((row) => {\n const dataRow: any = row as any;\n const rowId = \"\" + dataRow.rowId;\n this.selectionModel.select(rowId);\n }\n );\n }\n }\n\n public isSelected(rowId: string): boolean {\n return this.selectionModel.isSelected(rowId);\n }\n\n public setFilterValue(value: string): void {\n this.dataSource.filter = value?.trim().toLowerCase();\n }\n\n public onRowCheckbox(event: MouseEvent, row: any): void {\n event.stopPropagation(); // no click event on row\n this.selectionModel.toggle(row.rowId);\n }\n\n public onRowEvent(event: MouseEvent, row: any, action = this.defaultAction): void {\n switch (this.mode) {\n case this.BATCH:\n this.onRowCheckbox(event, row);\n break;\n case this.SINGLE:\n // emit the default action if the row (not the icon!) was clicked\n if (!!action && !DataTableComponent.isClickOnRowMenuIcon(event)) {\n const selected = [];\n // if ID-generator is provided, return the ID, else return the ACTUAL data\n selected.push(this.idGenerator ? row.rowId : this.actualDataMap.get(row.rowId));\n this.emitTableAction(action, selected);\n }\n break;\n default:\n // do nothing if mode is NONE (or null)\n return;\n }\n }\n\n public onSortingEvent(sortingParams: Sort): void {\n this.sortEvent.emit(sortingParams);\n }\n\n public onPaginationEvent(event: any): void {\n this.pagingEvent.emit(event);\n }\n\n public onTableAction(tableAction: DataTableAction): void {\n if (!!tableAction) {\n const selection: any[] = [];\n for (const selected of this.selectionModel.selected) {\n selection.push(this.idGenerator ? selected : this.actualDataMap.get(selected));\n }\n tableAction.selected = selection;\n this.actionEvent.emit(tableAction);\n }\n }\n\n private static transformData(value: any, transformer: any, transformerParams: any): any {\n if (!transformer || !(transformer instanceof Function)) {\n return value;\n }\n return transformer(value, transformerParams);\n }\n\n private static generateRowId(): string {\n return uuidV4();\n }\n\n private static isClickOnRowMenuIcon(event: MouseEvent): boolean {\n return (event?.target as HTMLElement)?.classList.contains(\"mat-icon\");\n }\n\n private emitTableAction(action: DataTableAction, selected: any[]): void {\n const emitAction = { ...action };\n if (action.type !== this.NONE) {\n emitAction.selected = [...selected];\n }\n this.actionEvent.emit(emitAction);\n }\n\n private generateDisplayedDataElement(rowId: string, actualDataElement: any): any {\n const displayedDataElement: { [key: string]: any } = {};\n displayedDataElement[\"rowId\"] = rowId;\n for (const column of this.columns) {\n const actualValue = actualDataElement[column.dataPropertyName];\n displayedDataElement[column.dataPropertyName] = DataTableComponent.transformData(actualValue, column.transformer, column.transformerParams);\n }\n return displayedDataElement;\n }\n\n private setActions(): void {\n this.rowActions = [];\n this.tableActions = [];\n for (const action of this.actions) {\n if (this.mode !== action.hiddenInMode) {\n switch (action.type) {\n case this.SINGLE:\n if (this.mode === this.SINGLE) {\n this.rowActions.push(action);\n } else {\n this.tableActions.push(action);\n }\n break;\n case this.BATCH:\n if (this.mode !== this.SINGLE) {\n this.tableActions.push(action);\n }\n break;\n default:\n this.tableActions.push(action);\n }\n }\n }\n }\n\n private createDataMapsAndSetDisplayedDataSourceData(data: any[]) {\n const displayedDataList = [];\n this.actualDataMap.clear();\n this.displayedDataMap.clear();\n for (const dataEntry of data) {\n const rowId = (this.idGenerator) ? this.idGenerator(dataEntry) : DataTableComponent.generateRowId();\n this.actualDataMap.set(rowId, dataEntry);\n const displayedDataElement = this.generateDisplayedDataElement(rowId, dataEntry);\n this.displayedDataMap.set(rowId, displayedDataElement);\n displayedDataList.push(displayedDataElement);\n }\n this.dataSource.data = displayedDataList;\n }\n\n\n private getTableMode(): string {\n if (this._forceMode) {\n return this._forceMode;\n }\n\n if (!this.actions) {\n return this.NONE;\n }\n const distinctActionTypes = new Set<string>();\n for (const rowAction of this.actions) {\n distinctActionTypes.add(rowAction.type);\n }\n if (distinctActionTypes.has(this.BATCH)) {\n return this.BATCH;\n }\n if (distinctActionTypes.has(this.SINGLE)) {\n return this.SINGLE;\n }\n return this.NONE;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\nimport { DataTableComponent } from \"./data-table.component\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatBadgeModule } from \"@angular/material/badge\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\n\n@NgModule({\n declarations: [DataTableComponent],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n MatProgressSpinnerModule,\n ButtonModule,\n TranslateModule,\n MatCheckboxModule,\n MatBadgeModule\n ],\n exports: [DataTableComponent]\n})\nexport class DataTableModule {\n}\n","import { CdkStepHeader, STEP_STATE, StepState } from '@angular/cdk/stepper';\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, ViewEncapsulation } from '@angular/core';\nimport { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'mad-step-header',\n templateUrl: './step-header.component.html',\n styleUrls: ['./step-header.component.scss'],\n inputs: ['color'],\n host: {\n 'class': 'mad-step-header',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StepHeaderComponent extends CdkStepHeader {\n @Input()\n index: number;\n\n @Input()\n label: string;\n\n @Input() state: StepState;\n\n @Input() errorMessage: string;\n\n @Input() selected: boolean;\n\n @Input() active: boolean;\n\n @Input() optional: boolean;\n\n @Input() hasError: boolean;\n\n @Input() completed: boolean;\n\n @Input() closed: boolean;\n\n constructor(private _focusMonitor: FocusMonitor, _elementRef: ElementRef<HTMLElement>) {\n super(_elementRef);\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n public getCssForState(): string {\n if (this.state === STEP_STATE.NUMBER && !this.completed && !this.hasError) {\n return 'step-state-neutral'; //initiale state is 'number'\n } else if (this.completed) {\n return 'step-state-complete';\n } else if (this.hasError) {\n return 'step-state-error';\n }\n }\n\n public getIcon(): string {\n if (this.completed) {\n return 'check_circle_outline';\n } else if (this.hasError) {\n return 'error_outline';\n }\n return '';\n }\n}\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\n/**\n * Animations used by the MAD stepper.\n */\nexport const madStepperAnimations: {\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n verticalStepTransition: trigger('stepTransition', [\n state('previous', style({ height: '0px', visibility: 'hidden' })),\n state('next', style({ height: '0px', visibility: 'hidden' })),\n state('current', style({ height: '*', visibility: 'visible' })),\n transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { CdkStep, CdkStepper, STEP_STATE, StepContentPositionState} from '@angular/cdk/stepper';\nimport { AnimationEvent } from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy, OnInit,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { StepHeaderComponent } from './step-header/step-header.component';\nimport { madStepperAnimations } from './mad-stepper-animation';\n\n@Component({\n selector: 'mad-step',\n templateUrl: './step.component.html',\n styleUrls: ['./stepper.component.scss'],\n providers: [{ provide: CdkStep, useExisting: StepComponent }],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StepComponent extends CdkStep implements AfterContentInit, OnDestroy {\n /** Action event for the next button. If not set the StepComponent will handle the step navigation */\n @Output()\n onNext = new EventEmitter<any>();\n\n /** Action event for the done button. If not set the StepComponent will handle the step navigation */\n @Output()\n onDone = new EventEmitter<any>();\n\n /*** Action event when the header is clicked. If not set the StepComponent will handle the step navigation*/\n @Output()\n onHeaderClick = new EventEmitter<any>();\n\n stepClosed = false;\n\n private _isSelected = Subscription.EMPTY;\n\n constructor(@Inject(forwardRef(() => StepperComponent)) private stepper: StepperComponent, private _viewContainerRef: ViewContainerRef) {\n super(stepper);\n }\n\n ngAfterContentInit() {\n this._isSelected = this._stepper.steps.changes\n .pipe(\n switchMap(() =>\n this._stepper.selectionChange.pipe(\n map(event => event.selectedStep === this),\n tap(() => (this.stepClosed = false)),\n startWith(this._stepper.selected === this),\n ),\n ),\n )\n .subscribe();\n }\n\n ngOnDestroy() {\n this._isSelected.unsubscribe();\n }\n\n public next(markFormAsTouched = true): void {\n this.stepValidation(markFormAsTouched);\n\n if (this.onNext.observers.length <= 0) {\n this.stepper.next();\n }\n this.onNext.emit();\n }\n\n public selectAndMarkAsTouched(index: number): void {\n //Mark current selected step as touched before selecting to display errors in the from\n this._stepper.selected?.stepControl?.markAllAsTouched();\n this.stepClosed = false;\n if (this.onHeaderClick.observers.length <= 0) {\n this.select();\n }\n this.onHeaderClick.emit(index);\n }\n\n public completeLast(): void {\n this.stepValidation(true);\n this.stepClosed = true;\n\n if (this.onDone.observers.length <= 0) {\n this.stepper.next();\n }\n\n this.onDone.emit();\n }\n\n public resetValidations(): void {\n this.hasError = false;\n this.completed = true;\n this.state = STEP_STATE.DONE;\n }\n\n private stepValidation(markFormAsTouched: boolean): void {\n if (markFormAsTouched){\n this.stepControl?.markAllAsTouched();\n }\n if (this.stepControl?.valid) {\n this.hasError = false;\n this.completed = true;\n this.state = STEP_STATE.DONE;\n } else {\n this.completed = false;\n this.hasError = true;\n this.state = STEP_STATE.ERROR;\n }\n }\n}\n\n@Component({\n selector: 'mad-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n host: {\n '[class.stepper-vertical]': 'true',\n '[attr.aria-orientation]': '\"vertical\"',\n 'role': 'tablist',\n },\n animations: [madStepperAnimations.verticalStepTransition],\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n providers: [{ provide: CdkStepper, useExisting: StepperComponent }],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StepperComponent extends CdkStepper implements OnInit, AfterContentInit {\n\n /** Event emitted when the current step is done transitioning in. */\n @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n @Input()\n nextButtonLabel: string;\n\n @Input()\n doneButtonLabel: string;\n /** Step headers of all steps inside the stepper */\n @ViewChildren(StepHeaderComponent) _stepHeader: QueryList<StepHeaderComponent>;\n\n /** Steps inside the Stepper */\n @ContentChildren(StepComponent, { descendants: true }) _steps: QueryList<StepComponent>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n steps: QueryList<StepComponent> = new QueryList<StepComponent>();\n\n readonly _animationDone = new Subject<AnimationEvent>();\n\n\n constructor(\n @Optional() dir: Directionality,\n changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) _document: any,\n ) {\n super(dir, changeDetectorRef, elementRef, _document);\n this._orientation = 'vertical';\n }\n\n ngOnInit() {\n // Only linear stepper implementation is supported\n super.linear = true;\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._stateChanged();\n });\n\n this._animationDone\n .pipe(\n distinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n takeUntil(this._destroyed),\n )\n .subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n\n /**\n * Method patched to enable the closing of the last step.\n */\n _getAnimationDirection(index: number): StepContentPositionState {\n const closeLastStep = this.selectedIndex === this.steps.length - 1 && this._steps.last?.completed && this._steps.last?.stepClosed;\n if (closeLastStep) {\n return 'next';\n }\n return super._getAnimationDirection(index);\n }\n\n _stepIsNavigable(index: number, step: StepComponent): boolean {\n return step.completed || this.selectedIndex === index || !this.linear;\n }\n}\n","import { StepComponent, StepperComponent} from './stepper.component';\nimport { StepHeaderComponent } from './step-header/step-header.component';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgModule } from '@angular/core';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { FlexModule } from '@angular/flex-layout';\n\n@NgModule({\n declarations: [StepperComponent, StepHeaderComponent, StepComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, CdkStepperModule, FlexModule],\n exports: [StepperComponent, StepHeaderComponent, StepComponent],\n})\nexport class StepperModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-header',\n templateUrl: './content-header.component.html',\n styleUrls: ['./content-header.component.scss']\n})\nexport class ContentHeaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-panel-container',\n templateUrl: './content-panel-container.component.html',\n styleUrls: ['./content-panel-container.component.scss']\n})\nexport class ContentPanelContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-panel-container-content',\n templateUrl: './content-panel-container-content.component.html',\n styleUrls: ['./content-panel-container-content.component.scss']\n})\nexport class ContentPanelContainerContentComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-content-panel-container-footer',\n templateUrl: './content-panel-container-footer.component.html',\n styleUrls: ['./content-panel-container-footer.component.scss']\n})\nexport class ContentPanelContainerFooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mad-main-container',\n templateUrl: './main-container.component.html',\n styleUrls: ['./main-container.component.scss']\n})\nexport class MainContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { ContentHeaderComponent } from './content-header/content-header.component';\nimport { ContentPanelContainerComponent } from './content-panel-container/content-panel-container.component';\nimport { ContentPanelContainerContentComponent } from './content-panel-container-content/content-panel-container-content.component';\nimport { ContentPanelContainerFooterComponent } from './content-panel-container-footer/content-panel-container-footer.component';\nimport { MainContainerComponent } from './main-container/main-container.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n ContentHeaderComponent,\n ContentPanelContainerComponent,\n ContentPanelContainerContentComponent,\n ContentPanelContainerFooterComponent,\n MainContainerComponent,\n ],\n imports: [CommonModule],\n exports: [\n ContentHeaderComponent,\n ContentPanelContainerComponent,\n ContentPanelContainerContentComponent,\n ContentPanelContainerFooterComponent,\n MainContainerComponent,\n ],\n})\nexport class ContentPanelModule {}\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport { MatStepper} from '@angular/material/stepper';\n\nexport interface IStep {\n label: string,\n enabled?: boolean,\n subSteps?: IStep[],\n activeSubStep?: IStep\n}\n\n@Component({\n selector: 'mad-flowbar',\n templateUrl: './flowbar.component.html',\n styleUrls: ['./flowbar.component.scss']\n})\nexport class FlowbarComponent implements OnInit, AfterViewInit {\n @ViewChild('stepper') private stepper: MatStepper;\n\n @Input('steps') _steps: IStep[] = [];\n @Input('activeStep') _activeStep: IStep;\n @Output('activeStepChange') _activeStepChange: EventEmitter<IStep> = new EventEmitter<IStep>(true);\n /**\n * Event emitted when a step header is clicked.\n * When defined header navigation has to be implemented programmatically.\n * e.g. {@see changeActiveStepOnHeader}\n */\n @Output('headerClick') _headerClick: EventEmitter<IStep> = new EventEmitter<IStep>(true);\n\n\n ngOnInit(): void {\n // If no active step is set as input or the active step is not enabled, select the first enabled step\n if (!this._activeStep || !this._activeStep.enabled) {\n this._activeStep = this._steps.find(step => {\n return step.enabled;\n });\n if (this._activeStep) {\n // If sub steps exist then set the first non disabled sub step per default\n if (this.activeTabHasSubSteps()) {\n this._activeStep.activeSubStep = this._activeStep.subSteps.find(step => {\n return step.enabled;\n });\n }\n this._activeStepChange.emit(this._activeStep);\n }\n }\n }\n\n ngAfterViewInit() {\n this.stepper._getIndicatorType = () => 'number';\n }\n\n public getIndexForActiveStep(): number {\n const selectedIndex = this._steps.indexOf(this._activeStep);\n return selectedIndex === -1 ? 0 : selectedIndex;\n }\n\n public changeActiveStep(step: IStep): void {\n const previousIndex = this._steps.indexOf(this._activeStep);\n this._activeStep = step;\n if (this.activeTabHasSubSteps()) {\n if (previousIndex < this._steps.indexOf(this._activeStep)) {\n this._activeStep.activeSubStep = this._activeStep.subSteps[0];\n } else {\n this._activeStep.activeSubStep = this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n }\n this._activeStepChange.emit(this._activeStep);\n }\n\n public changeActiveStepOnHeader(step: IStep): void {\n const stepIndex = this._steps.indexOf(step);\n this._activeStep = step;\n this.stepper.selected = this.stepper._steps.find((_, i) => i === stepIndex);\n }\n\n public changeActiveSubStep(subStep: IStep): void {\n this._activeStep.activeSubStep = subStep;\n }\n\n public previous(): void {\n if (this.isPreviousAvailable()) {\n // If active step has no sub steps or first sub step is selected -> go to previous main step\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n const previousEnabledStep = this.findPreviousEnabledStep();\n this.changeActiveStep(previousEnabledStep);\n this.stepper.selectedIndex = this._steps.indexOf(previousEnabledStep);\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex - 1];\n }\n }\n }\n\n public next(): void {\n if (this.isNextAvailable()) {\n // If active step has no sub steps or last sub step is selected -> go to next main step\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n const nextEnabledStep = this.findNextEnabledStep();\n this.changeActiveStep(nextEnabledStep);\n this.stepper.selectedIndex = this._steps.indexOf(nextEnabledStep);\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex + 1];\n }\n }\n }\n\n public isPreviousAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n const index = this.getCurrentIndex();\n return index > 0 && this.isAnyPreviousStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isNextAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n const index = this.getCurrentIndex();\n return index < this._steps.length - 1 && this.isAnyFollowingStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isLastStep(): boolean {\n if (this.getCurrentIndex() === this._steps.length - 1) {\n if (this.activeTabHasSubSteps()) {\n return this.isLastSubStep();\n } else {\n return true;\n }\n }\n return false;\n }\n\n public getCurrentIndex(): number {\n return this._steps.findIndex(value => {\n return value === this._activeStep;\n });\n }\n\n public getCurrentSubStepIndex(): number {\n return this._activeStep.subSteps.findIndex(value => {\n return value === this._activeStep.activeSubStep;\n });\n }\n\n public triggerClick(): void {\n const selectedStep = this._steps[this.stepper.selectedIndex];\n this.changeActiveStep(selectedStep);\n }\n\n public headerClick(event: any, step: IStep): void {\n event.stopPropagation(); //stop processing current header click event\n this._headerClick.emit(step);\n }\n\n get currentStepLabel(): string {\n return this._activeStep.label;\n }\n\n get currentSubStepLabel(): string {\n return this._activeStep.activeSubStep?.label;\n }\n\n private activeTabHasSubSteps(): boolean {\n return this._activeStep.subSteps && this._activeStep.subSteps.length > 0;\n }\n\n private isFirstSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[0];\n }\n\n private isLastSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n\n private isAnyPreviousStepEnabled(index: number): boolean {\n // eslint-disable-next-line id-blacklist\n return this._steps.slice(0, index).find(step => step.enabled) !== undefined;\n }\n\n private isAnyFollowingStepEnabled(index: number): boolean {\n // eslint-disable-next-line id-blacklist\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled) !== undefined;\n }\n\n private findPreviousEnabledStep(): IStep {\n const index = this.getCurrentIndex();\n return this._steps\n .slice(0, index)\n .reverse()\n .find(step => step.enabled);\n }\n\n private findNextEnabledStep(): IStep {\n const index = this.getCurrentIndex();\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {FlowbarComponent} from './flowbar.component';\n\n@NgModule({\n declarations: [FlowbarComponent],\n imports: [CommonModule, MatStepperModule],\n exports: [FlowbarComponent],\n})\nexport class FlowbarModule {}\n","import {NgModule} from '@angular/core';\nimport {ToolbarModule} from './toolbar/toolbar.module';\nimport {ReadOnlyFormFieldModule} from './readonly/readonly-form-field.module';\nimport {MaterialActionButtonModule} from './material-action-button/material-action-button.module';\nimport {NumericFieldModule} from './numeric-field/numeric-field.module';\nimport {CardModule} from './card/card.module';\nimport {QuickListModule} from './quick-list/quick-list.module';\nimport {ButtonModule} from './button/button.module';\nimport {ThrottleClickModule} from './throttle-click/throttle-click.module';\nimport {StepperModule} from './stepper/stepper.module';\n\n@NgModule({\n exports: [\n ReadOnlyFormFieldModule,\n ButtonModule,\n ToolbarModule,\n MaterialActionButtonModule,\n NumericFieldModule,\n CardModule,\n QuickListModule,\n ThrottleClickModule,\n ],\n})\nexport class MaterialAddonsModule {}\n","/*\n * Public API Surface of material-addons\n */\nexport * from './lib/material-action-button/material-action-button.component';\nexport * from './lib/material-action-button/material-action-button.module';\nexport * from './lib/button/button.module';\nexport * from './lib/readonly/readonly-form-field.module';\nexport * from './lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component';\nexport * from './lib/readonly/readonly-form-field/readonly-form-field.component';\nexport * from './lib/toolbar/toolbar.module';\nexport * from './lib/toolbar/toolbar.component';\nexport * from './lib/toolbar/toolbar.service';\nexport * from './lib/toolbar/toolbar-action.interface';\nexport * from './lib/numeric-field/numeric-field.module';\nexport * from './lib/numeric-field/number-format.service';\nexport * from './lib/card/card.module';\nexport * from './lib/quick-list/quick-list.module';\nexport * from './lib/table/table';\nexport * from './lib/table/table.module';\nexport * from './lib/data-table/data-table';\nexport * from './lib/data-table/data-table.module';\nexport * from './lib/throttle-click/throttle-click.directive';\nexport * from './lib/throttle-click/throttle-click.module';\nexport * from './lib/stepper/stepper.component';\nexport * from './lib/stepper/step-header/step-header.component';\nexport * from './lib/stepper/mad-stepper-animation';\nexport * from './lib/stepper/stepper.module';\nexport * from './lib/content-panel/content-header/content-header.component';\nexport * from './lib/content-panel/content-panel-container/content-panel-container.component';\nexport * from './lib/content-panel/content-panel-container-content/content-panel-container-content.component';\nexport * from './lib/content-panel/content-panel-container-footer/content-panel-container-footer.component';\nexport * from './lib/content-panel/main-container/main-container.component';\nexport * from './lib/content-panel/content-panel.module';\nexport * from './lib/flowbar/flowbar.component';\nexport * from './lib/flowbar/flowbar.module';\nexport * from './lib/material-addons.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {DangerButtonComponent as ɵe} from './lib/button/danger-button/danger-button.component';\nexport {LinkButtonComponent as ɵd} from './lib/button/flat-button/link-button.component';\nexport {IconButtonComponent as ɵf} from './lib/button/icon-button/icon-button.component';\nexport {MadBasicButton as ɵb} from './lib/button/mad-basic-button';\nexport {OutlineButtonComponent as ɵc} from './lib/button/outline-button/outline-button.component';\nexport {PrimaryButtonComponent as ɵa} from './lib/button/primary-button/primary-button.component';\nexport {CardComponent as ɵh} from './lib/card/card.component';\nexport {DataTableComponent as ɵm} from './lib/data-table/data-table.component';\nexport {NumericFieldDirective as ɵg} from './lib/numeric-field/numeric-field.directive';\nexport {BaseQuickListComponent as ɵj} from './lib/quick-list/base-quick-list.component';\nexport {QuickListCompactComponent as ɵk} from './lib/quick-list/quick-list-compact/quick-list-compact.component';\nexport {QuickListComponent as ɵi} from './lib/quick-list/quick-list.component';\nexport {TableComponent as ɵl} from './lib/table/table.component';"],"names":["Component","Input","NgModule","CommonModule","RouterModule","MatButtonModule","MatIconModule","MatTooltipModule","HostBinding","ViewChild","ElementRef","ChangeDetectorRef","Injectable","Inject","LOCALE_ID","Renderer2","MatFormFieldModule","MatInputModule","FormsModule","NavigationEnd","Router","TranslateService","Breakpoints","map","of","BreakpointObserver","Title","MatMenuModule","MatToolbarModule","MatBadgeModule","EventEmitter","Directive","NG_VALUE_ACCESSOR","forwardRef","Output","trigger","transition","style","animate","state","Subject","throttleTime","HostListener","MatCardModule","ContentChild","TemplateRef","ViewChildren","MatTableDataSource","MatPaginator","MatSort","MatPaginatorModule","MatSortModule","MatTableModule","SelectionModel","uuidV4","MatProgressSpinnerModule","TranslateModule","MatCheckboxModule","STEP_STATE","CdkStepHeader","ViewEncapsulation","ChangeDetectionStrategy","FocusMonitor","Subscription","switchMap","tap","startWith","CdkStep","ViewContainerRef","QueryList","takeUntil","distinctUntilChanged","CdkStepper","Directionality","Optional","DOCUMENT","ContentChildren","CdkStepperModule","FlexModule","MatStepperModule"],"mappings":"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"}