@smartsoft001/crud-shell-angular 1.1.732 → 1.1.736
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/lib/+state/crud.actions.js → esm2020/lib/+state/crud.actions.mjs} +0 -0
- package/esm2020/lib/+state/crud.effects.mjs +182 -0
- package/esm2020/lib/+state/crud.facade.mjs +88 -0
- package/esm2020/lib/+state/crud.reducer.mjs +212 -0
- package/{esm2015/lib/+state/crud.selectors.js → esm2020/lib/+state/crud.selectors.mjs} +0 -0
- package/esm2020/lib/components/components.module.mjs +109 -0
- package/esm2020/lib/components/export/export.component.mjs +47 -0
- package/esm2020/lib/components/filter/base/base.component.mjs +140 -0
- package/esm2020/lib/components/filter/check/check.component.mjs +36 -0
- package/esm2020/lib/components/filter/date/date.component.mjs +41 -0
- package/esm2020/lib/components/filter/date-with-edit/date-with-edit.component.mjs +45 -0
- package/esm2020/lib/components/filter/filter.component.mjs +29 -0
- package/esm2020/lib/components/filter/flag/flag.component.mjs +16 -0
- package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
- package/esm2020/lib/components/filter/int/int.component.mjs +33 -0
- package/esm2020/lib/components/filter/radio/radio.component.mjs +16 -0
- package/esm2020/lib/components/filter/text/text.component.mjs +16 -0
- package/esm2020/lib/components/filters/filters.component.mjs +111 -0
- package/esm2020/lib/components/filters-config/filters-config.component.mjs +37 -0
- package/esm2020/lib/components/group/group.component.mjs +54 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +68 -0
- package/esm2020/lib/crud-full.module.mjs +105 -0
- package/esm2020/lib/crud.config.mjs +17 -0
- package/esm2020/lib/crud.module.mjs +107 -0
- package/esm2020/lib/factories/list-pagination/list-pagination.factory.mjs +69 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
- package/{esm2015/lib/models/interfaces.js → esm2020/lib/models/interfaces.mjs} +0 -0
- package/esm2020/lib/pages/index.mjs +7 -0
- package/esm2020/lib/pages/item/base/base.component.mjs +44 -0
- package/esm2020/lib/pages/item/item.component.mjs +393 -0
- package/esm2020/lib/pages/item/standard/standard.component.mjs +15 -0
- package/esm2020/lib/pages/list/base/base.component.mjs +23 -0
- package/esm2020/lib/pages/list/list.component.mjs +343 -0
- package/esm2020/lib/pages/list/standard/standard.component.mjs +34 -0
- package/esm2020/lib/pipes/form-options/form-options.pipe.mjs +55 -0
- package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +0 -0
- package/esm2020/lib/pipes/pipes.module.mjs +20 -0
- package/{esm2015/lib/providers/model-possibilities/model-possibilities.provider.js → esm2020/lib/providers/model-possibilities/model-possibilities.provider.mjs} +0 -0
- package/esm2020/lib/services/crud/crud.service.mjs +138 -0
- package/esm2020/lib/services/list-group/list-group.service.mjs +60 -0
- package/esm2020/lib/services/page/page.service.mjs +41 -0
- package/{esm2015/lib/services/search/search.service.js → esm2020/lib/services/search/search.service.mjs} +9 -8
- package/esm2020/lib/services/socket/socket.service.mjs +17 -0
- package/esm2020/smartsoft001-crud-shell-angular.mjs +5 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs +2569 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs +2729 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/lib/+state/crud.effects.d.ts +3 -0
- package/lib/+state/crud.effects.d.ts.map +1 -1
- package/lib/+state/crud.facade.d.ts +3 -0
- package/lib/+state/crud.facade.d.ts.map +1 -1
- package/lib/components/components.module.d.ts +22 -0
- package/lib/components/components.module.d.ts.map +1 -1
- package/lib/components/export/export.component.d.ts +3 -0
- package/lib/components/export/export.component.d.ts.map +1 -1
- package/lib/components/filter/base/base.component.d.ts +3 -0
- package/lib/components/filter/base/base.component.d.ts.map +1 -1
- package/lib/components/filter/check/check.component.d.ts +3 -0
- package/lib/components/filter/check/check.component.d.ts.map +1 -1
- package/lib/components/filter/date/date.component.d.ts +3 -0
- package/lib/components/filter/date/date.component.d.ts.map +1 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +3 -0
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +1 -1
- package/lib/components/filter/filter.component.d.ts +3 -0
- package/lib/components/filter/filter.component.d.ts.map +1 -1
- package/lib/components/filter/flag/flag.component.d.ts +3 -0
- package/lib/components/filter/flag/flag.component.d.ts.map +1 -1
- package/lib/components/filter/int/int.component.d.ts +3 -0
- package/lib/components/filter/int/int.component.d.ts.map +1 -1
- package/lib/components/filter/radio/radio.component.d.ts +3 -0
- package/lib/components/filter/radio/radio.component.d.ts.map +1 -1
- package/lib/components/filter/text/text.component.d.ts +3 -0
- package/lib/components/filter/text/text.component.d.ts.map +1 -1
- package/lib/components/filters/filters.component.d.ts +3 -0
- package/lib/components/filters/filters.component.d.ts.map +1 -1
- package/lib/components/filters-config/filters-config.component.d.ts +3 -0
- package/lib/components/filters-config/filters-config.component.d.ts.map +1 -1
- package/lib/components/group/group.component.d.ts +3 -0
- package/lib/components/group/group.component.d.ts.map +1 -1
- package/lib/components/multiselect/multiselect.component.d.ts +3 -0
- package/lib/components/multiselect/multiselect.component.d.ts.map +1 -1
- package/lib/crud-full.module.d.ts +20 -0
- package/lib/crud-full.module.d.ts.map +1 -1
- package/lib/crud.config.d.ts +18 -2
- package/lib/crud.config.d.ts.map +1 -1
- package/lib/crud.module.d.ts +13 -0
- package/lib/crud.module.d.ts.map +1 -1
- package/lib/factories/list-pagination/list-pagination.factory.d.ts +3 -0
- package/lib/factories/list-pagination/list-pagination.factory.d.ts.map +1 -1
- package/lib/pages/index.d.ts +5 -1
- package/lib/pages/index.d.ts.map +1 -1
- package/lib/pages/item/base/base.component.d.ts +3 -0
- package/lib/pages/item/base/base.component.d.ts.map +1 -1
- package/lib/pages/item/item.component.d.ts +7 -1
- package/lib/pages/item/item.component.d.ts.map +1 -1
- package/lib/pages/item/standard/standard.component.d.ts +3 -0
- package/lib/pages/item/standard/standard.component.d.ts.map +1 -1
- package/lib/pages/list/base/base.component.d.ts +3 -0
- package/lib/pages/list/base/base.component.d.ts.map +1 -1
- package/lib/pages/list/list.component.d.ts +3 -0
- package/lib/pages/list/list.component.d.ts.map +1 -1
- package/lib/pages/list/standard/standard.component.d.ts +3 -0
- package/lib/pages/list/standard/standard.component.d.ts.map +1 -1
- package/lib/pipes/form-options/form-options.pipe.d.ts +3 -0
- package/lib/pipes/form-options/form-options.pipe.d.ts.map +1 -1
- package/lib/pipes/pipes.module.d.ts +5 -0
- package/lib/pipes/pipes.module.d.ts.map +1 -1
- package/lib/services/crud/crud.service.d.ts +3 -0
- package/lib/services/crud/crud.service.d.ts.map +1 -1
- package/lib/services/list-group/list-group.service.d.ts +3 -0
- package/lib/services/list-group/list-group.service.d.ts.map +1 -1
- package/lib/services/page/page.service.d.ts +3 -0
- package/lib/services/page/page.service.d.ts.map +1 -1
- package/lib/services/search/search.service.d.ts +3 -0
- package/lib/services/search/search.service.d.ts.map +1 -1
- package/lib/services/socket/socket.service.d.ts +5 -0
- package/lib/services/socket/socket.service.d.ts.map +1 -1
- package/package.json +38 -25
- package/smartsoft001-crud-shell-angular.d.ts +1 -17
- package/smartsoft001-crud-shell-angular.d.ts.map +1 -1
- package/bundles/smartsoft001-crud-shell-angular.umd.js +0 -3283
- package/bundles/smartsoft001-crud-shell-angular.umd.js.map +0 -1
- package/esm2015/lib/+state/crud.effects.js +0 -178
- package/esm2015/lib/+state/crud.facade.js +0 -92
- package/esm2015/lib/+state/crud.reducer.js +0 -92
- package/esm2015/lib/components/components.module.js +0 -65
- package/esm2015/lib/components/export/export.component.js +0 -55
- package/esm2015/lib/components/filter/base/base.component.js +0 -144
- package/esm2015/lib/components/filter/check/check.component.js +0 -34
- package/esm2015/lib/components/filter/date/date.component.js +0 -42
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +0 -43
- package/esm2015/lib/components/filter/filter.component.js +0 -30
- package/esm2015/lib/components/filter/flag/flag.component.js +0 -13
- package/esm2015/lib/components/filter/int/int.component.js +0 -31
- package/esm2015/lib/components/filter/radio/radio.component.js +0 -13
- package/esm2015/lib/components/filter/text/text.component.js +0 -13
- package/esm2015/lib/components/filters/filters.component.js +0 -124
- package/esm2015/lib/components/filters-config/filters-config.component.js +0 -46
- package/esm2015/lib/components/group/group.component.js +0 -65
- package/esm2015/lib/components/multiselect/multiselect.component.js +0 -74
- package/esm2015/lib/crud-full.module.js +0 -83
- package/esm2015/lib/crud.config.js +0 -14
- package/esm2015/lib/crud.module.js +0 -84
- package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +0 -73
- package/esm2015/lib/pages/index.js +0 -3
- package/esm2015/lib/pages/item/base/base.component.js +0 -44
- package/esm2015/lib/pages/item/item.component.js +0 -345
- package/esm2015/lib/pages/item/standard/standard.component.js +0 -13
- package/esm2015/lib/pages/list/base/base.component.js +0 -30
- package/esm2015/lib/pages/list/list.component.js +0 -319
- package/esm2015/lib/pages/list/standard/standard.component.js +0 -39
- package/esm2015/lib/pipes/form-options/form-options.pipe.js +0 -56
- package/esm2015/lib/pipes/pipes.module.js +0 -16
- package/esm2015/lib/services/crud/crud.service.js +0 -143
- package/esm2015/lib/services/list-group/list-group.service.js +0 -61
- package/esm2015/lib/services/page/page.service.js +0 -48
- package/esm2015/lib/services/socket/socket.service.js +0 -14
- package/esm2015/smartsoft001-crud-shell-angular.js +0 -22
- package/fesm2015/smartsoft001-crud-shell-angular.js +0 -2638
- package/fesm2015/smartsoft001-crud-shell-angular.js.map +0 -1
- package/lib/+state/crud.effects.ngfactory.d.ts.map +0 -1
- package/lib/+state/crud.facade.ngfactory.d.ts.map +0 -1
- package/lib/components/components.module.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/filter.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/filter.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters/filters.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters/filters.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/group/group.component.ngfactory.d.ts.map +0 -1
- package/lib/components/group/group.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.ngfactory.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/crud-full.module.ngfactory.d.ts.map +0 -1
- package/lib/crud.config.ngfactory.d.ts.map +0 -1
- package/lib/crud.module.ngfactory.d.ts.map +0 -1
- package/lib/factories/list-pagination/list-pagination.factory.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/item.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pages/list/list.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pipes/form-options/form-options.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/pipes.module.ngfactory.d.ts.map +0 -1
- package/lib/services/crud/crud.service.ngfactory.d.ts.map +0 -1
- package/lib/services/list-group/list-group.service.ngfactory.d.ts.map +0 -1
- package/lib/services/page/page.service.ngfactory.d.ts.map +0 -1
- package/lib/services/search/search.service.ngfactory.d.ts.map +0 -1
- package/lib/services/socket/socket.service.ngfactory.d.ts.map +0 -1
- package/smartsoft001-crud-shell-angular.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smartsoft001-crud-shell-angular.umd.js","sources":["../../../../../../libs/crud/shell/angular/src/lib/+state/crud.selectors.ts","../../../../../../node_modules/tslib/tslib.es6.js","../../../../../../libs/crud/shell/angular/src/lib/crud.config.ts","../../../../../../libs/crud/shell/angular/src/lib/+state/crud.actions.ts","../../../../../../libs/crud/shell/angular/src/lib/+state/crud.facade.ts","../../../../../../libs/crud/shell/angular/src/lib/components/export/export.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/filter.component.ts","../../../../../../libs/crud/shell/angular/src/lib/providers/model-possibilities/model-possibilities.provider.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/base/base.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/date/date.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/date-with-edit/date-with-edit.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/radio/radio.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/text/text.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/flag/flag.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/check/check.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filter/int/int.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filters/filters.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/filters-config/filters-config.component.ts","../../../../../../libs/crud/shell/angular/src/lib/components/multiselect/multiselect.component.ts","../../../../../../libs/crud/shell/angular/src/lib/services/list-group/list-group.service.ts","../../../../../../libs/crud/shell/angular/src/lib/components/group/group.component.ts","../../../../../../libs/crud/shell/angular/src/lib/services/socket/socket.service.ts","../../../../../../libs/crud/shell/angular/src/lib/pipes/form-options/form-options.pipe.ts","../../../../../../libs/crud/shell/angular/src/lib/pipes/pipes.module.ts","../../../../../../libs/crud/shell/angular/src/lib/services/crud/crud.service.ts","../../../../../../libs/crud/shell/angular/src/lib/+state/crud.effects.ts","../../../../../../libs/crud/shell/angular/src/lib/factories/list-pagination/list-pagination.factory.ts","../../../../../../libs/crud/shell/angular/src/lib/components/components.module.ts","../../../../../../libs/crud/shell/angular/src/lib/+state/crud.reducer.ts","../../../../../../libs/crud/shell/angular/src/lib/services/page/page.service.ts","../../../../../../libs/crud/shell/angular/src/lib/services/search/search.service.ts","../../../../../../libs/crud/shell/angular/src/lib/pages/list/list.component.ts","../../../../../../libs/crud/shell/angular/src/lib/pages/item/base/base.component.ts","../../../../../../libs/crud/shell/angular/src/lib/pages/item/standard/standard.component.ts","../../../../../../libs/crud/shell/angular/src/lib/pages/item/item.component.ts","../../../../../../libs/crud/shell/angular/src/lib/pages/list/base/base.component.ts","../../../../../../libs/crud/shell/angular/src/lib/pages/list/standard/standard.component.ts","../../../../../../libs/crud/shell/angular/src/lib/crud-full.module.ts","../../../../../../libs/crud/shell/angular/src/lib/crud.module.ts","../../../../../../libs/crud/shell/angular/src/smartsoft001-crud-shell-angular.ts"],"sourcesContent":["import {createFeatureSelector, createSelector} from \"@ngrx/store\";\n\nexport const getCrudState = (entity) => createFeatureSelector< any>(entity);\n\nexport const getCrudSelected = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.selected\n);\n\nexport const getCrudMultiSelected = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.multiSelected\n);\n\nexport const getCrudList = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.list\n);\n\nexport const getCrudTotalCount = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.totalCount\n);\n\nexport const getCrudLinks = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.links\n);\n\nexport const getCrudLoaded = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.loaded\n);\n\nexport const getCrudFilter = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.filter\n);\n\nexport const getCrudError = (entity) => createSelector(\n getCrudState(entity),\n (state) => state.error\n);\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 {Injectable, Type} from \"@angular/core\";\n\nimport {\n IIconButtonOptions, ICellPipe, InputBaseComponent, ListMode, PaginationMode\n} from \"@smartsoft001/angular\";\n\nimport {ICrudFilterQueryItem, ICrudListGroup} from \"./models\";\n\n@Injectable()\nexport class CrudConfig<T> {\n apiUrl: string;\n entity: string;\n type?: any;\n reducerFactory?: () => any;\n baseQuery?: Array<ICrudFilterQueryItem>;\n}\n\n@Injectable()\nexport class CrudFullConfig<T> extends CrudConfig<T> {\n type: any;\n title: string;\n details?: boolean | {\n cellPipe?: ICellPipe<T>;\n components?: {\n top?: any,\n bottom?: any\n }\n };\n edit?: boolean;\n add?: boolean;\n remove?: boolean;\n search?: boolean;\n export?: boolean;\n pagination?: {\n limit: number,\n };\n sort?: boolean | {\n default?: string;\n defaultDesc?: boolean;\n };\n list?: {\n cellPipe?: ICellPipe<T>;\n components?: {\n top: any\n },\n mode?: ListMode,\n paginationMode?: PaginationMode,\n resetQuery?: \"beforeInit\"\n groups?: Array<ICrudListGroup>\n };\n buttons?: Array<IIconButtonOptions>;\n inputComponents?: {\n [key: string]: Type<InputBaseComponent<T>>\n }\n}\n","import { Action } from \"@ngrx/store\";\n\nimport { IEntity } from \"@smartsoft001/domain-core\";\nimport { ICrudCreateManyOptions, ICrudFilter } from \"../models/interfaces\";\n\n\n/*\n * Create\n */\nexport const create = function<T extends IEntity<string>>(\n entity: string,\n item: T\n): Action & { item: T } {\n return {\n type: `[${entity}] Create`,\n item\n };\n};\n\nexport const createSuccess = function<T extends IEntity<string>>(\n entity: string,\n item: T\n): Action & { item: T } {\n return {\n type: `[${entity}] Create Success`,\n item\n };\n};\n\nexport const createFailure = function<T extends IEntity<string>>(\n entity: string,\n item: T,\n error\n): Action & { item: T; error } {\n return {\n type: `[${entity}] Create Failure`,\n item,\n error\n };\n};\n\n/*\n * Create many\n */\nexport const createMany = function<T extends IEntity<string>>(\n entity: string,\n data: { items: T[]; options: ICrudCreateManyOptions }\n): Action & { data: { items: T[]; options: ICrudCreateManyOptions } } {\n return {\n type: `[${entity}] Create Many`,\n data\n };\n};\n\nexport const createManySuccess = function<T extends IEntity<string>>(\n entity: string,\n data: { items: T[]; options: ICrudCreateManyOptions }\n): Action & { data: { items: T[]; options: ICrudCreateManyOptions } } {\n return {\n type: `[${entity}] Create Many Success`,\n data\n };\n};\n\nexport const createManyFailure = function<T extends IEntity<string>>(\n entity: string,\n data: { items: T[]; options: ICrudCreateManyOptions },\n error\n): Action & { data: { items: T[]; options: ICrudCreateManyOptions }; error } {\n return {\n type: `[${entity}] Create Many Failure`,\n data,\n error\n };\n};\n\n/*\n * Read\n */\nexport const read = function(\n entity: string,\n filter: ICrudFilter = null\n): Action & { filter: ICrudFilter } {\n return {\n type: `[${entity}] Read`,\n filter\n };\n};\n\nexport const readSuccess = function<T extends IEntity<string>, F>(\n entity: string,\n filter: F,\n result: { data: T[]; totalCount: number; links }\n): Action & { result: { data: T[]; totalCount: number; links }; filter: F } {\n return {\n type: `[${entity}] Read Success`,\n result,\n filter\n };\n};\n\nexport const readFailure = function<F>(\n entity: string,\n filter: F,\n error\n): Action & { filter: F; error } {\n return {\n type: `[${entity}] Read Failure`,\n filter,\n error\n };\n};\n\n/*\n * Export\n */\nexport const exportList = function(\n entity: string,\n filter: ICrudFilter = null,\n format\n): Action & { filter: ICrudFilter, format } {\n return {\n type: `[${entity}] Export`,\n filter,\n format\n };\n};\n\nexport const exportListSuccess = function<T extends IEntity<string>, F>(\n entity: string,\n filter: F\n): Action & { filter: F } {\n return {\n type: `[${entity}] Export Success`,\n filter\n };\n};\n\nexport const exportListFailure = function<F>(\n entity: string,\n filter: F,\n error\n): Action & { filter: F; error } {\n return {\n type: `[${entity}] Export Failure`,\n filter,\n error\n };\n};\n\n/*\n * Select\n */\nexport const select = function(\n entity: string,\n id: string\n): Action & { id: string } {\n return {\n type: `[${entity}] Select`,\n id\n };\n};\n\nexport const selectSuccess = function<T extends IEntity<string>, F>(\n entity: string,\n id: string,\n item: T\n): Action & { id: string; item: T } {\n return {\n type: `[${entity}] Select Success`,\n id,\n item\n };\n};\n\nexport const selectFailure = function<F>(\n entity: string,\n id: string,\n error\n): Action & { id: string; error } {\n return {\n type: `[${entity}] Select Failure`,\n id,\n error\n };\n};\n\nexport const unselect = function(entity: string): Action {\n return {\n type: `[${entity}] Unselect`\n };\n};\n\n/*\n * MultiSelect\n */\nexport const multiSelect = function<T extends IEntity<string>>(\n entity: string,\n items: Array<T>\n): Action & { items: Array<T> } {\n return {\n type: `[${entity}] MultiSelect`,\n items\n };\n};\n\n/*\n * Update\n */\nexport const update = function<T extends IEntity<string>>(\n entity: string,\n item: T\n): Action & { item: T } {\n return {\n type: `[${entity}] Update`,\n item\n };\n};\n\nexport const updateSuccess = function<T extends IEntity<string>>(\n entity: string,\n item: T\n): Action & { item: T } {\n return {\n type: `[${entity}] Update Success`,\n item\n };\n};\n\nexport const updateFailure = function<T extends IEntity<string>>(\n entity: string,\n item: T,\n error\n): Action & { item: T; error } {\n return {\n type: `[${entity}] Update Failure`,\n item,\n error\n };\n};\n\n/*\n * Update partial\n */\nexport const updatePartial = function<T extends IEntity<string>>(\n entity: string,\n item: Partial<T> & { id: string }\n): Action & { item: Partial<T> & { id: string } } {\n return {\n type: `[${entity}] Update partial`,\n item\n };\n};\n\nexport const updatePartialSuccess = function<T extends IEntity<string>>(\n entity: string,\n item: Partial<T> & { id: string }\n): Action & { item: Partial<T> & { id: string } } {\n return {\n type: `[${entity}] Update partial Success`,\n item\n };\n};\n\nexport const updatePartialFailure = function<T extends IEntity<string>>(\n entity: string,\n item: Partial<T> & { id: string },\n error\n): Action & { item: Partial<T> & { id: string }; error } {\n return {\n type: `[${entity}] Update partial Failure`,\n item,\n error\n };\n};\n\n/*\n * Update partial many\n */\nexport const updatePartialMany = function<T extends IEntity<string>>(\n entity: string,\n items: Partial<T> & { id: string }[]\n): Action & { items: Partial<T> & { id: string }[] } {\n return {\n type: `[${entity}] Update partial many`,\n items\n };\n};\n\nexport const updatePartialManySuccess = function<T extends IEntity<string>>(\n entity: string,\n items: Partial<T> & { id: string }[]\n): Action & { items: Partial<T> & { id: string }[] } {\n return {\n type: `[${entity}] Update partial many Success`,\n items\n };\n};\n\nexport const updatePartialManyFailure = function<T extends IEntity<string>>(\n entity: string,\n items: Partial<T> & { id: string }[],\n error\n): Action & { items: Partial<T> & { id: string }[]; error } {\n return {\n type: `[${entity}] Update partial many Failure`,\n items,\n error\n };\n};\n\n/*\n * Delete\n */\nexport const deleteItem = function(\n entity: string,\n id: string\n): Action & { id: string } {\n return {\n type: `[${entity}] Delete`,\n id\n };\n};\n\nexport const deleteSuccess = function(\n entity: string,\n id: string\n): Action & { id: string } {\n return {\n type: `[${entity}] Delete Success`,\n id\n };\n};\n\nexport const deleteFailure = function<F>(\n entity: string,\n id: string,\n error\n): Action & { id: string; error } {\n return {\n type: `[${entity}] Delete Failure`,\n id,\n error\n };\n};\n","import { select, Store } from \"@ngrx/store\";\nimport { Observable } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\nimport { map, tap } from \"rxjs/operators\";\nimport * as _ from \"lodash\";\n\nimport { IEntity } from \"@smartsoft001/domain-core\";\n\nimport { CrudConfig } from \"../crud.config\";\nimport * as CrudActions from \"./crud.actions\";\nimport * as CrudSelectors from \"./crud.selectors\";\nimport {ICrudCreateManyOptions, ICrudFilter} from \"../models/interfaces\";\nimport {NgrxStoreService} from \"@smartsoft001/angular\";\n\n\n@Injectable()\nexport class CrudFacade<T extends IEntity<string>> {\n selected: T;\n multiSelected: T;\n list: Array<T>;\n filter: ICrudFilter;\n\n loaded$: Observable<boolean> = this.store.pipe(\n select(CrudSelectors.getCrudLoaded(this.config.entity))\n );\n loading$: Observable<boolean> = this.store.pipe(\n select(CrudSelectors.getCrudLoaded(this.config.entity)),\n map(l => !l)\n );\n selected$: Observable<T> = this.store.pipe(\n select(CrudSelectors.getCrudSelected(this.config.entity)),\n tap(s => {\n this.selected = s;\n })\n );\n multiSelected$: Observable<T[]> = this.store.pipe(\n select(CrudSelectors.getCrudMultiSelected(this.config.entity)),\n tap(s => {\n this.multiSelected = s;\n })\n );\n list$: Observable<T[]> = this.store.pipe(\n select(CrudSelectors.getCrudList(this.config.entity)),\n tap(l => {\n this.list = l;\n })\n );\n filter$: Observable<ICrudFilter> = this.store.pipe(\n select(CrudSelectors.getCrudFilter(this.config.entity)),\n tap(f => {\n this.filter = f;\n })\n );\n totalCount$: Observable<number> = this.store.pipe(\n select(CrudSelectors.getCrudTotalCount(this.config.entity))\n );\n links$: Observable<any> = this.store.pipe(\n select(CrudSelectors.getCrudLinks(this.config.entity))\n );\n\n error$: Observable<any> = this.store.pipe(\n select(CrudSelectors.getCrudError(this.config.entity))\n );\n\n constructor(private store: Store<any>, private config: CrudConfig<T>) {\n if (NgrxStoreService.store) {\n this.store = NgrxStoreService.store;\n }\n }\n\n create(item: T): void {\n this.store.dispatch(CrudActions.create(this.config.entity, item));\n }\n\n createMany(items: Array<T>, options: ICrudCreateManyOptions): void {\n this.store.dispatch(CrudActions.createMany(this.config.entity, { items, options }));\n }\n\n read(filter: ICrudFilter = null): void {\n let baseQuery = [];\n if (this.config.baseQuery) {\n baseQuery = this.config.baseQuery;\n }\n\n const fullFilter = {\n ...(filter ? filter : {}),\n query: filter && filter.query ? filter.query : baseQuery\n };\n\n this.store.dispatch(CrudActions.read(this.config.entity, fullFilter));\n }\n\n select(id: string): void {\n this.store.dispatch(CrudActions.select(this.config.entity, id));\n }\n\n unselect(): void {\n this.store.dispatch(CrudActions.unselect(this.config.entity));\n }\n\n multiSelect(items: Array<T>): void {\n this.store.dispatch(CrudActions.multiSelect(this.config.entity, items));\n }\n\n update(item: T): void {\n this.getStore().dispatch(CrudActions.update(this.config.entity, item));\n }\n\n export(filter: ICrudFilter = null, format = null): void {\n this.getStore().dispatch(CrudActions.exportList(this.config.entity, filter, format));\n }\n\n updatePartial(item: Partial<T> & { id: string }): void {\n this.getStore().dispatch(CrudActions.updatePartial(this.config.entity, item));\n }\n\n updatePartialMany(items: (Partial<T> & {id: string})[]) {\n this.getStore().dispatch(CrudActions.updatePartialMany(this.config.entity, items));\n }\n\n delete(id: string): void {\n this.getStore().dispatch(CrudActions.deleteItem(this.config.entity, id));\n }\n\n private getStore(): Store {\n if (NgrxStoreService.store) return NgrxStoreService.store;\n\n return this.store;\n }\n}\n","import {Component, ElementRef, OnInit} from '@angular/core';\nimport {Observable} from \"rxjs\";\n\nimport {BaseComponent, IButtonOptions, PopoverService, StyleService} from \"@smartsoft001/angular\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {CrudFacade} from \"../../+state/crud.facade\";\n\n@Component({\n selector: 'smart-crud-export',\n templateUrl: './export.component.html',\n styleUrls: ['./export.component.scss']\n})\nexport class ExportComponent<T extends IEntity<string>> extends BaseComponent implements OnInit {\n\n buttonExportCsvOptions: IButtonOptions = this.initButtonExportOptions('csv');\n buttonExportXlsxOptions: IButtonOptions = this.initButtonExportOptions('xlsx');\n\n loading$: Observable<boolean> = this.facade.loading$;\n\n constructor(\n private facade: CrudFacade<T>,\n private popoverService: PopoverService,\n private styleService: StyleService,\n private elementRef: ElementRef\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.styleService.init(this.elementRef);\n }\n\n private initButtonExportOptions(format: string): IButtonOptions {\n return {\n click: () => {\n this.facade.export({\n ...this.facade.filter,\n offset: null,\n limit: null\n }, format);\n\n const subscription = this.facade.loaded$.subscribe(val => {\n if (!val) return;\n this.popoverService.close();\n subscription.unsubscribe();\n });\n },\n loading$: this.facade.loading$,\n expand: 'block'\n }\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\n\nimport {FieldType, IModelFilter} from \"@smartsoft001/models\";\n\nimport {ICrudFilter} from \"../../models/interfaces\";\n\n@Component({\n selector: \"smart-crud-filter\",\n templateUrl: \"./filter.component.html\",\n styleUrls: [\"./filter.component.scss\"],\n})\nexport class FilterComponent implements OnInit {\n FieldType = FieldType;\n\n @Input() item: IModelFilter;\n @Input() filter: ICrudFilter;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { InjectionToken } from \"@angular/core\";\nimport {Observable} from \"rxjs\";\n\n/**\n * @deprecated - please, use IModelPossibilitiesProvider from @smartsoft001/angular\n */\nexport abstract class ICrudModelPossibilitiesProvider {\n abstract get<T>(type: any): { [key: string]: Observable<{ id: any; text: string }[]> };\n}\n\n/**\n * @deprecated - please, use MODEL_POSSIBILITIES_PROVIDER from @smartsoft001/angular\n */\nexport const CRUD_MODEL_POSSIBILITIES_PROVIDER = new InjectionToken<\n ICrudModelPossibilitiesProvider\n>(\"CRUD_MODEL_POSSIBILITIES_PROVIDER\");\n","import {Directive, Inject, Input, OnInit, Optional} from \"@angular/core\";\nimport {Debounce} from \"lodash-decorators\";\nimport {Observable} from \"rxjs\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\nimport {FieldType, IModelFilter} from \"@smartsoft001/models\";\n\nimport {ICrudFilter} from \"../../../models/interfaces\";\nimport {CrudFacade} from \"../../../+state/crud.facade\";\nimport {\n CRUD_MODEL_POSSIBILITIES_PROVIDER,\n ICrudModelPossibilitiesProvider,\n} from \"../../../providers/model-possibilities/model-possibilities.provider\";\nimport {CrudConfig} from \"../../../crud.config\";\n\n@Directive()\nexport class BaseComponent<T extends IEntity<string>> implements OnInit {\n possibilities$: Observable<{ id: any; text: string }[]>;\n\n @Input() item: IModelFilter;\n @Input() filter: ICrudFilter;\n\n get value(): any {\n if (this.isArrayType()) {\n return this.filter.query\n .filter(\n (q) => q.key === this.item.key && q.type === this.item.type\n )\n .map(q => q.value);\n }\n\n const query = this.filter.query.find(\n (q) => q.key === this.item.key && q.type === this.item.type\n );\n return query?.value;\n }\n\n set value(val: any) {\n this.refresh(val);\n }\n\n get minValue(): any {\n if (this.isArrayType()) {\n return this.filter.query\n .filter(\n (q) => q.key === this.item.key && q.type === \">=\"\n )\n .map(q => q.value);\n }\n\n const query = this.filter.query.find(\n (q) => q.key === this.item.key && q.type === \">=\"\n );\n return query?.value;\n }\n\n set minValue(val: any) {\n this.refresh(val, \">=\");\n }\n\n get maxValue(): any {\n if (this.isArrayType()) {\n return this.filter.query\n .filter(\n (q) => q.key === this.item.key && q.type === \"<=\"\n )\n .map(q => q.value);\n }\n\n const query = this.filter.query.find(\n (q) => q.key === this.item.key && q.type === \"<=\"\n );\n return query?.value;\n }\n\n set maxValue(val: any) {\n this.refresh(val, \"<=\");\n }\n\n constructor(\n protected facade: CrudFacade<T>,\n private config: CrudConfig<T>,\n @Optional()\n @Inject(CRUD_MODEL_POSSIBILITIES_PROVIDER)\n private modelPossibilitiesProvider: ICrudModelPossibilitiesProvider\n ) {}\n\n @Debounce(500)\n refresh(val: any, type = null): void {\n if (!type) type = this.item.type;\n\n if (this.isArrayType()) {\n this.refreshForArray(val as [], type);\n return;\n }\n\n let query = this.filter.query.find(\n (q) => q.key === this.item.key && q.type === type\n );\n\n if (val === null || val === undefined || val === '') {\n const index = this.filter.query.indexOf(query);\n if (index > -1) {\n this.filter.query.splice(index, 1);\n }\n\n this.facade.read(this.filter);\n return;\n }\n\n if (!query) {\n query = {\n key: this.item.key,\n type: type,\n value: null,\n };\n\n this.filter.query.push(query);\n }\n\n query.value = val;\n query.label = this.item.label;\n\n this.facade.read(this.filter);\n }\n\n ngOnInit(): void {\n this.initPossibilities();\n }\n\n private initPossibilities(): void {\n let possibilities = this.item.possibilities$;\n\n if (this.modelPossibilitiesProvider) {\n const possibilitiesFromProvider = this.modelPossibilitiesProvider.get(this.config.type);\n if (possibilitiesFromProvider && possibilitiesFromProvider[this.item.key])\n possibilities = possibilitiesFromProvider[this.item.key];\n }\n\n this.possibilities$ = possibilities;\n }\n\n private isArrayType(): boolean {\n return (this.item?.fieldType === FieldType.check);\n }\n\n private refreshForArray(vals: [], type): void {\n const queries = this.filter.query.filter(\n (q) => q.key === this.item.key && q.type === type\n );\n\n queries.forEach(query => {\n const index = this.filter.query.indexOf(query);\n if (index > -1) {\n this.filter.query.splice(index, 1);\n }\n });\n\n if (vals === null || vals === undefined || !vals.length) {\n this.facade.read(this.filter);\n return;\n }\n\n vals.forEach(val => {\n const query = {\n key: this.item.key,\n type: type,\n value: val,\n };\n\n this.filter.query.push(query);\n });\n\n this.facade.read(this.filter);\n }\n}\n","import { Component } from '@angular/core';\nimport * as moment from \"moment\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-date',\n templateUrl: './date.component.html',\n styleUrls: ['./date.component.scss']\n})\nexport class FilterDateComponent<T extends IEntity<string>> extends BaseComponent<T> {\n get allowAdvanced(): boolean {\n return this.item?.type === '=';\n }\n\n set customValue(val) {\n const momentDate = moment(val);\n this.value = (val as string)?.length >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;\n }\n\n get customValue(): any {\n return this.value;\n }\n\n set customMinValue(val) {\n const momentDate = moment(val);\n this.minValue = (val as string)?.length >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;\n }\n\n get customMinValue(): any {\n return this.minValue;\n }\n\n set customMaxValue(val) {\n const momentDate = moment(val);\n this.maxValue = (val as string)?.length >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;\n }\n\n get customMaxValue(): any {\n return this.maxValue;\n }\n}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {IonDatetime} from \"@ionic/angular\";\nimport {Subscription} from \"rxjs\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {FilterDateComponent} from \"../date/date.component\";\n\n@Component({\n selector: 'smart-crud-filter-date-with-edit',\n templateUrl: './date-with-edit.component.html',\n styleUrls: ['./date-with-edit.component.scss']\n})\nexport class FilterDateWithEditComponent<T extends IEntity<string>> extends FilterDateComponent<T>\nimplements OnInit, OnDestroy {\n private _subscriptions = new Subscription();\n\n advanced = false;\n\n @ViewChild(IonDatetime, { read: IonDatetime, static: false }) dateTimePicker: IonDatetime;\n\n open(): void {\n this.dateTimePicker.open();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n if (this.dateTimePicker) {\n this._subscriptions.add(this.dateTimePicker.ionChange.subscribe((val: CustomEvent) => {\n this.customValue = val.detail.value;\n }));\n } else {\n console.error('dateTimePicker not found!');\n }\n }\n\n ngOnDestroy(): void {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n}\n\n","import { Component } from '@angular/core';\nimport {IEntity} from \"@smartsoft001/domain-core\";\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.scss']\n})\nexport class FilterRadioComponent<T extends IEntity<string>> extends BaseComponent<T> {\n\n}\n","import { Component } from '@angular/core';\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss']\n})\nexport class FilterTextComponent<T extends IEntity<string>> extends BaseComponent<T> {\n\n}\n","import { Component } from '@angular/core';\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-flag',\n templateUrl: './flag.component.html',\n styleUrls: ['./flag.component.scss']\n})\nexport class FilterFlagComponent<T extends IEntity<string>> extends BaseComponent<T> {\n\n}\n","import {AfterContentInit, Component} from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\nimport { combineLatest } from 'rxjs';\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-check',\n templateUrl: './check.component.html',\n styleUrls: ['./check.component.scss']\n})\nexport class FilterCheckComponent<T extends IEntity<string>> extends BaseComponent<T> implements AfterContentInit {\n list$: Observable<{ value: any, isCheck: boolean }[]>;\n\n ngAfterContentInit(): void {\n this.list$ = combineLatest([ this.possibilities$, this.facade.filter$]).pipe((\n map(([possibilities]) => {\n return possibilities.map(pos => ({\n value: pos,\n isCheck: this.value.some(r => r === pos.id)\n }))\n })\n ));\n }\n\n onCheckChange(checked: boolean, entry: { value: any; isCheck: boolean }) {\n if (checked && !this.value.some(r => r === entry.value.id)) {\n this.value = [\n ...this.value,\n entry.value.id\n ]\n }\n\n if (!checked && this.value.some(r => r === entry.value.id)) {\n this.value = this.value.filter(r => r !== entry.value.id);\n }\n }\n}\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {IonDatetime} from \"@ionic/angular\";\nimport {Subscription} from \"rxjs\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {FilterDateComponent} from \"../date/date.component\";\nimport {BaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: 'smart-crud-filter-int',\n templateUrl: './int.component.html',\n styleUrls: ['./int.component.scss']\n})\nexport class FilterIntComponent<T extends IEntity<string>> extends BaseComponent<T>\nimplements OnInit, OnDestroy {\n private _subscriptions = new Subscription();\n\n advanced = false;\n\n get allowAdvanced(): boolean {\n return this.item?.type === '=';\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n\n ngOnDestroy(): void {\n if (this._subscriptions) {\n this._subscriptions.unsubscribe();\n }\n }\n}\n\n","import {Component, ElementRef, Input, OnInit} from '@angular/core';\nimport {Observable} from \"rxjs\";\n\nimport {AuthService, MenuService, StyleService} from \"@smartsoft001/angular\";\nimport {\n FieldType,\n getModelFieldsWithOptions,\n getModelOptions,\n IFieldListMetadata,\n IModelFilter\n} from \"@smartsoft001/models\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {ICrudFilter} from \"../../models/interfaces\";\nimport {CrudConfig} from \"../../crud.config\";\nimport {CrudFacade} from \"../../+state/crud.facade\";\n\n/**\n * This component is only to use in crud module\n * @requires CrudModule\n * @example\n *\n * html: <smart-crud-filters></smart-crud-filters>\n *\n * use on the model:\n * @Model({\n titleKey: 'body',\n filters: [\n {\n label: 'testNegation',\n key: 'body',\n type: '!=',\n },\n {\n label: 'fromDate',\n key: 'createDate',\n type: '<=',\n fieldType: FieldType.dateWithEdit\n },\n {\n label: 'select',\n key: 'type',\n type: '=',\n fieldType: FieldType.radio,\n possibilities$: of([\n {\n id: 1, text: 'Test 1'\n },\n {\n id: 2, text: 'Test 2'\n }\n ])\n }\n ]\n})\n *\n * use on the field (list.filter property):\n * @Field({\n create: modifyMetdata,\n update: {\n ...modifyMetdata,\n multi: true\n },\n type: FieldType.longText,\n details: true,\n list: {\n order: 2,\n filter: true\n }\n })\n body: string;\n */\n@Component({\n selector: 'smart-crud-filters',\n templateUrl: './filters.component.html',\n styleUrls: ['./filters.component.scss']\n})\nexport class FiltersComponent<T extends IEntity<string>> implements OnInit {\n list: Array<IModelFilter>;\n\n filter$: Observable<ICrudFilter>;\n\n /**\n * Hide menu used only from MenuService\n */\n @Input() hideMenu: boolean;\n\n constructor(\n private menuService: MenuService,\n private config: CrudConfig<T>,\n private facade: CrudFacade<T>,\n private styleService: StyleService,\n private elementRef: ElementRef\n ) { }\n\n async onClose(): Promise<void> {\n await this.menuService.closeEnd();\n }\n\n ngOnInit(): void {\n this.styleService.init(this.elementRef);\n\n const modelFilters = getModelOptions(this.config.type).filters;\n\n this.list = [\n ...(modelFilters ? modelFilters.map(item => {\n if (!item.label) {\n item.label = 'MODEL.' + item.key;\n }\n return item;\n }) : []),\n ...getModelFieldsWithOptions(new this.config.type())\n .filter(item => (item.options?.list as IFieldListMetadata)?.filter)\n .map(item => ({\n key: item.key,\n type: item.options.type === FieldType.text || item.options.type === FieldType.longText\n ? '~=' as '~=' : '=' as '=',\n label: 'MODEL.' + item.key,\n fieldType: item.options.type\n }))\n ];\n this.filter$ = this.facade.filter$;\n }\n}\n","import {Component, ElementRef, OnInit} from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\nimport {StyleService} from \"@smartsoft001/angular\";\n\nimport {ICrudFilterQueryItem} from '../../models/interfaces';\nimport { CrudFacade } from '../../+state/crud.facade';\n\n@Component({\n selector: 'smart-crud-filters-config',\n templateUrl: './filters-config.component.html',\n styleUrls: ['./filters-config.component.scss']\n})\nexport class FiltersConfigComponent<T extends IEntity<string>> implements OnInit {\n query$: Observable<ICrudFilterQueryItem[]>;\n\n constructor(\n private readonly facade: CrudFacade<any>,\n private styleService: StyleService,\n private elementRef: ElementRef\n ) { }\n\n onRemoveQuery(item: ICrudFilterQueryItem): void {\n const index = this.facade.filter.query.indexOf(item);\n if (index > -1) {\n this.facade.filter.query.splice(index, 1);\n }\n this.facade.read(this.facade.filter);\n }\n\n ngOnInit(): void {\n this.styleService.init(this.elementRef);\n\n this.query$ = this.facade.filter$.pipe(\n map(filter => {\n return filter?.query?.filter(i => !i.hidden);\n })\n );\n }\n}\n","import {IEntity} from \"@smartsoft001/domain-core\";\nimport {Component, OnInit} from \"@angular/core\";\nimport {Observable, Subject} from \"rxjs\";\nimport {tap} from \"rxjs/operators\";\nimport * as _ from \"lodash\";\n\nimport {getModelFieldsWithOptions, IFieldEditMetadata} from \"@smartsoft001/models\";\nimport {IButtonOptions, MenuService} from \"@smartsoft001/angular\";\n\nimport {CrudFacade} from \"../../+state/crud.facade\";\nimport {CrudConfig} from \"../../crud.config\";\n\n@Component({\n selector: 'smart-crud-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss']\n})\nexport class MultiselectComponent<T extends IEntity<string>> implements OnInit {\n private _list: Array<T>;\n private _changes: Partial<T>\n\n item: T;\n valid: boolean;\n buttonOptions: IButtonOptions = {\n click: async () => {\n const result = this._list.map(item => {\n return {\n ...this._changes,\n id: item.id\n }\n });\n\n this.facade.updatePartialMany(result);\n await this.menuService.closeEnd();\n },\n confirm: true\n }\n lock: boolean;\n\n list$: Observable<T[]>;\n\n constructor(\n private facade: CrudFacade<T>,\n public config: CrudConfig<T>,\n private menuService: MenuService\n ) {\n this.list$ = this.facade.multiSelected$.pipe(\n tap(list => {\n this.lock = true;\n const model = new this.config.type();\n\n const fieldsWithOptions = getModelFieldsWithOptions(model)\n .filter(f => (f.options.update as IFieldEditMetadata)?.multi);\n\n fieldsWithOptions.forEach(({ key }) => {\n const uniques = _.uniq(list.map(i => i[key]));\n\n if (uniques.length === 1) {\n model[key] = uniques[0];\n }\n });\n\n this.item = model;\n })\n );\n }\n\n async onClose(): Promise<void> {\n await this.menuService.closeEnd();\n }\n\n onPartialChange(changes: Partial<T>, list: Array<T>) {\n this.lock = false;\n this._list = list;\n this._changes = changes;\n }\n\n onValidChange(valid: boolean) {\n this.valid = valid;\n }\n\n ngOnInit(): void {\n\n }\n}","import {IEntity} from \"@smartsoft001/domain-core\";\nimport {Injectable} from \"@angular/core\";\nimport { debounce } from \"lodash-decorators\";\n\nimport {ICrudListGroup} from \"../../models/interfaces\";\nimport { CrudFacade } from \"../../+state/crud.facade\";\n\n@Injectable()\nexport class CrudListGroupService<T extends IEntity<string>> {\n private _destroyed: Array<ICrudListGroup> = [];\n\n constructor(private facade: CrudFacade<T>,) {\n }\n\n change(val, item: ICrudListGroup, groups: Array<ICrudListGroup>, force: boolean): void {\n if (val || force) {\n item.changed = true;\n\n let current = this.facade.filter.query.find(q => q.key === item.key && q.type === '=');\n\n if (!current) {\n current = {\n key: item.key,\n type: \"=\",\n value: null\n };\n this.facade.filter.query.push(current);\n }\n\n current.value = item.value;\n current.hidden = true;\n\n this.facade.read({\n ...this.facade.filter,\n offset: 0\n });\n }\n }\n\n destroy(groups: Array<ICrudListGroup>): void {\n this._destroyed = [\n ...(this._destroyed ? this._destroyed : []),\n ...groups.filter(g => g.changed)\n ];\n\n this.refresh();\n }\n\n @debounce(250)\n private refresh(): void {\n const list = this._destroyed;\n this._destroyed = [];\n\n const newQuery = this.facade.filter.query.filter(q => !list.some(i => q.key === i.key));\n\n this.facade.read({\n ...this.facade.filter,\n query: newQuery,\n })\n }\n}","import {ChangeDetectorRef, Component, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\n\nimport {BaseComponent, IListOptions, StyleService} from \"@smartsoft001/angular\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {ICrudListGroup} from \"../../models/interfaces\";\nimport {CrudFacade} from \"../../+state/crud.facade\";\nimport {CrudListGroupService} from \"../../services/list-group/list-group.service\";\n\n@Component({\n selector: 'smart-crud-group',\n templateUrl: './group.component.html',\n styleUrls: ['./group.component.scss']\n})\nexport class GroupComponent<T extends IEntity<string>> extends BaseComponent implements OnInit, OnDestroy {\n @Input() groups: Array<ICrudListGroup>;\n @Input() listOptions: IListOptions<T>;\n\n constructor(\n private styleService: StyleService,\n private elementRef: ElementRef,\n private facade: CrudFacade<T>,\n private cd: ChangeDetectorRef,\n private groupService: CrudListGroupService<T>\n ) {\n super();\n }\n\n change(val, item: ICrudListGroup, force = false): void {\n this.groups.filter(i => i.value !== item.value || i.key !== item.key).forEach(i => {\n i.show = false;\n });\n\n this.groupService.change(val, item, this.groups, force);\n\n if (val) {\n setTimeout(() => {\n item.show = val;\n this.cd.detectChanges();\n });\n } else {\n item.show = val;\n this.cd.detectChanges();\n }\n }\n\n ngOnInit(): void {\n this.styleService.init(this.elementRef);\n }\n\n ngOnDestroy(): void {\n this.groupService.destroy(this.groups);\n super.ngOnDestroy();\n }\n}\n","import {Injectable} from \"@angular/core\";\n\nimport {CrudConfig} from \"../../crud.config\";\n\n@Injectable()\nexport class SocketService<T>// extends Socket\n{\n // constructor(private crudConfig: CrudConfig<T>) {\n // super( {\n // url: crudConfig.apiUrl,\n // options: {\n // transports: [\"websocket\"],\n // path: new URL(crudConfig.apiUrl).pathname + '/_socket/'\n // }\n // });\n // }\n}\n\n@Injectable()\nexport class NotSocketService<T> { }\n","import {Inject, Optional, Pipe, PipeTransform, Type} from \"@angular/core\";\n\nimport { IEntity } from \"@smartsoft001/domain-core\";\nimport {IFormOptions, InputBaseComponent} from \"@smartsoft001/angular\";\n\nimport {\n CRUD_MODEL_POSSIBILITIES_PROVIDER,\n ICrudModelPossibilitiesProvider,\n} from \"../../providers/model-possibilities/model-possibilities.provider\";\n\n@Pipe({\n name: \"smartFormOptions\",\n})\nexport class FormOptionsPipe<T extends IEntity<string>>\n implements PipeTransform {\n constructor(\n @Optional()\n @Inject(CRUD_MODEL_POSSIBILITIES_PROVIDER)\n private modelPossibilitiesProvider: ICrudModelPossibilitiesProvider\n ) {}\n\n transform(\n item: T,\n mode: string,\n type: any,\n uniqueProvider?: (values: Record<keyof T, any>) => Promise<boolean>,\n inputComponents?: { [key: string]: Type<InputBaseComponent<any>> }\n ): IFormOptions<T> {\n if (!mode || !type) return null;\n\n let possibilities = {};\n\n if (type && this.modelPossibilitiesProvider) {\n possibilities = this.modelPossibilitiesProvider.get(type);\n }\n\n if (mode === \"create\") {\n return {\n mode: \"create\",\n possibilities,\n inputComponents,\n uniqueProvider,\n model: new type(),\n };\n } else {\n const model = new type();\n\n if (item) {\n Object.keys(item).forEach((key) => {\n model[key] = item[key];\n });\n }\n\n return {\n mode: mode,\n uniqueProvider,\n possibilities: possibilities,\n inputComponents,\n model: model,\n };\n }\n }\n}\n","import {NgModule} from \"@angular/core\";\n\nimport {FormOptionsPipe} from \"./form-options/form-options.pipe\";\n\n@NgModule({\n declarations: [\n FormOptionsPipe\n ],\n exports: [\n FormOptionsPipe\n ]\n})\nexport class CrudPipesModule {\n\n}\n","import {Injectable, Optional} from \"@angular/core\";\nimport {forkJoin, Observable} from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { map } from \"rxjs/operators\";\n\nimport { IEntity } from \"@smartsoft001/domain-core\";\n\nimport { CrudConfig } from \"../../crud.config\";\nimport { ICrudCreateManyOptions, ICrudFilter } from \"../../models/interfaces\";\nimport { SocketService } from \"../socket/socket.service\";\n\n@Injectable()\nexport class CrudService<T extends IEntity<string>> {\n protected _formatMap = {\n csv: \"text/csv\",\n xlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n };\n\n constructor(\n protected config: CrudConfig<T>,\n protected http: HttpClient,\n @Optional() protected socket: SocketService<T>\n ) {}\n\n // changes(criteria: { id?: string } = {}): Observable<ItemChangedData> {\n // this.socket.emit(\"changes\", criteria);\n // return this.socket.fromEvent(\"changes\");\n // }\n\n // TODO : Location is null\n create(item: T): Observable<string> {\n return this.http\n .post<void>(this.config.apiUrl, item, { observe: \"response\" })\n .pipe(\n map((response) => {\n const location = response.headers[\"Location\"];\n if (!location) return null;\n const array = location.split(\"/\");\n return array[array.length - 1];\n })\n );\n }\n\n createMany(\n items: Array<T>,\n options: ICrudCreateManyOptions\n ): Observable<void> {\n return this.http.post<void>(\n this.config.apiUrl + \"/bulk?mode=\" + options.mode,\n items\n );\n }\n\n getById(id: string): Observable<T> {\n return this.http.get<T>(this.config.apiUrl + \"/\" + id);\n }\n\n getList(\n filter: ICrudFilter = null\n ): Observable<{ data: T[]; totalCount: number; links }> {\n return this.http.get<{ data: T[]; totalCount: number; links }>(\n this.config.apiUrl + this.getQuery(filter)\n );\n }\n\n exportList(filter: ICrudFilter = null, format): Observable<void> {\n if (!format) {\n format = \"csv\";\n }\n\n if (format === \"xlsx\") {\n return this.http\n .get(this.config.apiUrl + this.getQuery(filter), {\n headers: {\n \"Content-Type\": this._formatMap[format],\n },\n observe: \"response\",\n reportProgress: false,\n responseType: \"blob\",\n })\n .pipe(\n map((res) => {\n const downloadLink = document.createElement(\"a\");\n const blob = res.body;\n\n const url = URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = \"data.\" + format;\n\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n })\n );\n }\n\n return this.http\n .get<string>(this.config.apiUrl + this.getQuery(filter), {\n headers: {\n \"Content-Type\": this._formatMap[format],\n },\n responseType: \"text\" as \"json\",\n })\n .pipe(\n map((res) => {\n const downloadLink = document.createElement(\"a\");\n const blob = new Blob([\"\\ufeff\", res]);\n\n const url = URL.createObjectURL(blob);\n downloadLink.href = url;\n downloadLink.download = \"data.\" + format;\n\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n })\n );\n }\n\n update(item: T): Observable<void> {\n return this.http.put<void>(this.config.apiUrl + \"/\" + item.id, item);\n }\n\n updatePartial(item: Partial<T> & { id: string }): Observable<void> {\n return this.http.patch<void>(this.config.apiUrl + \"/\" + item.id, item);\n }\n\n updatePartialMany(items: (Partial<T> & { id: string })[]): Observable<any> {\n return forkJoin(items.map(item => {\n return this.updatePartial(item);\n }));\n }\n\n delete(id: string): Observable<void> {\n return this.http.delete<void>(this.config.apiUrl + \"/\" + id);\n }\n\n protected getQuery(filter: ICrudFilter): string {\n let query = \"\";\n\n if (filter && filter.searchText) {\n query += \"&$search=\" + filter.searchText;\n }\n\n if (filter && filter.limit) {\n query += `&limit=${filter.limit}&offset=${\n filter.offset ? filter.offset : 0\n }`;\n }\n\n if (filter && filter.sortBy) {\n query += `&sort=${(filter.sortDesc ? \"-\" : \"\") + filter.sortBy}`;\n }\n\n if (filter && filter.query) {\n filter.query.forEach((q) => {\n if (\n q.value\n && (typeof q.value === 'string')\n && q.value.match(/^-?\\d+$/)\n && q.value[0] !== \"'\"\n && q.value[0] !== '\"'\n ) {\n query += \"&\" + q.key + q.type + `'${q.value}'`;\n } else {\n query += \"&\" + q.key + q.type + q.value;\n }\n });\n }\n\n return query ? \"?\" + query.replace(\"&\", \"\") : \"\";\n }\n}\n","import \"reflect-metadata\";\n\nimport { Injectable } from \"@angular/core\";\nimport { catchError, first, tap } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { Action, ActionsSubject, select, State, Store } from \"@ngrx/store\";\n\nimport { CrudService } from \"../services/crud/crud.service\";\nimport { IEntity } from \"@smartsoft001/domain-core\";\nimport * as CrudActions from \"./crud.actions\";\nimport { CrudConfig } from \"../crud.config\";\nimport { getCrudFilter } from \"./crud.selectors\";\n\n@Injectable()\nexport class CrudEffects<T extends IEntity<string>> {\n constructor(\n private actions$: ActionsSubject,\n private service: CrudService<T>,\n private config: CrudConfig<T>,\n private store: Store<any>,\n private state: State<any>\n ) {}\n\n init(): void {\n const metadata = Reflect.getMetadata(this.config.entity, CrudEffects);\n\n if (metadata) return;\n\n Reflect.defineMetadata(this.config.entity, true, CrudEffects);\n\n this.actions$.subscribe((action: Action & any) => {\n switch (action.type) {\n case `[${this.config.entity}] Create`:\n this.service\n .create(action.item)\n .pipe(\n tap(() =>\n this.store.dispatch(\n CrudActions.createSuccess(this.config.entity, action.item)\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.createFailure(\n this.config.entity,\n action.item,\n error\n )\n );\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Create Success`:\n const createState = this.state.getValue()[this.config.entity];\n this.store.dispatch(\n CrudActions.read(\n this.config.entity,\n createState.filter ? { ...createState.filter, offset: 0 } : null\n )\n );\n break;\n\n case `[${this.config.entity}] Create Many`:\n this.service\n .createMany(action.data.items, action.data.options)\n .pipe(\n tap(() =>\n this.store.dispatch(\n CrudActions.createManySuccess(this.config.entity, {\n items: action.data.items,\n options: action.data.options,\n })\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.createManyFailure(\n this.config.entity,\n {\n items: action.data.items,\n options: action.data.options,\n },\n error\n )\n );\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Create Many Success`:\n const createManyState = this.state.getValue()[this.config.entity];\n this.store.dispatch(\n CrudActions.read(\n this.config.entity,\n createManyState.filter\n ? { ...createManyState.filter, offset: 0 }\n : null\n )\n );\n break;\n\n case `[${this.config.entity}] Read`:\n this.service\n .getList(action.filter)\n .pipe(\n tap((result) =>\n this.store.dispatch(\n CrudActions.readSuccess(\n this.config.entity,\n action.filter,\n result\n )\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.readFailure(\n this.config.entity,\n action.filter,\n error\n )\n );\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Export`:\n this.service\n .exportList(action.filter, action.format)\n .pipe(\n tap((result) =>\n this.store.dispatch(\n CrudActions.exportListSuccess(\n this.config.entity,\n action.filter\n )\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.exportListFailure(\n this.config.entity,\n action.filter,\n error\n )\n );\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Select`:\n this.service\n .getById(action.id)\n .pipe(\n tap((result) =>\n this.store.dispatch(\n CrudActions.selectSuccess(\n this.config.entity,\n action.id,\n result\n )\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.selectFailure(\n this.config.entity,\n action.id,\n error\n )\n );\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Update`:\n this.service\n .updatePartial(action.item)\n .pipe(\n tap(() =>\n this.store.dispatch(\n CrudActions.updateSuccess(this.config.entity, action.item)\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.updateFailure(\n this.config.entity,\n action.item,\n error\n )\n );\n this.store.dispatch(CrudActions.read(this.config.entity));\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Update Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(\n CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n })\n );\n\n this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));\n });\n break;\n\n case `[${this.config.entity}] Update partial`:\n this.service\n .updatePartial(action.item)\n .pipe(\n tap(() =>\n this.store.dispatch(\n CrudActions.updatePartialSuccess(\n this.config.entity,\n action.item\n )\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.updatePartialFailure(\n this.config.entity,\n action.item,\n error\n )\n );\n this.store.dispatch(CrudActions.read(this.config.entity));\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Update partial Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(\n CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n })\n );\n\n this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));\n });\n break;\n\n case `[${this.config.entity}] Update partial many`:\n this.service\n .updatePartialMany(action.items)\n .pipe(\n tap(() =>\n this.store.dispatch(\n CrudActions.updatePartialManySuccess(\n this.config.entity,\n action.items\n )\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.updatePartialManyFailure(\n this.config.entity,\n action.items,\n error\n )\n );\n this.store.dispatch(CrudActions.read(this.config.entity));\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Update partial many Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(\n CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n })\n );\n });\n break;\n\n case `[${this.config.entity}] Delete`:\n this.service\n .delete(action.id)\n .pipe(\n tap(() =>\n this.store.dispatch(\n CrudActions.deleteSuccess(this.config.entity, action.id)\n )\n ),\n catchError((error) => {\n this.store.dispatch(\n CrudActions.deleteFailure(\n this.config.entity,\n action.id,\n error\n )\n );\n return of();\n })\n )\n .subscribe();\n break;\n\n case `[${this.config.entity}] Delete Success`:\n this.store\n .pipe(select(getCrudFilter(this.config.entity)), first())\n .subscribe((filter) => {\n this.store.dispatch(\n CrudActions.read(this.config.entity, {\n ...filter,\n offset: 0,\n })\n );\n });\n break;\n\n default:\n break;\n }\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { map } from \"rxjs/operators\";\nimport { combineLatest } from \"rxjs\";\n\nimport { IEntity } from \"@smartsoft001/domain-core\";\nimport {IListPaginationOptions, PaginationMode} from \"@smartsoft001/angular\";\n\nimport {CrudFacade} from \"../../+state/crud.facade\";\nimport {ICrudFilter} from \"../../models/interfaces\";\n\n@Injectable()\nexport class CrudListPaginationFactory<T extends IEntity<string>> {\n constructor(private readonly facade: CrudFacade<T>) {}\n\n async create(options: {\n mode?: PaginationMode,\n limit: number;\n provider: {\n getLinks(): any;\n getFilter(): ICrudFilter;\n };\n }): Promise<IListPaginationOptions> {\n return {\n mode: options.mode,\n limit: options.limit,\n loadNextPage: () => {\n if (!options.provider.getLinks() || !options.provider.getLinks().next)\n return Promise.resolve(false);\n\n return new Promise((res) => {\n const sub = this.facade.loaded$.subscribe((l) => {\n if (l) {\n // if (sub && !sub.closed) sub.unsubscribe();\n setTimeout(() => {\n res(\n options.provider.getLinks() &&\n options.provider.getLinks().next\n );\n });\n }\n });\n\n this.facade.read({\n ...options.provider.getFilter(),\n offset:\n options.provider.getFilter().offset +\n options.provider.getFilter().limit,\n });\n });\n },\n loadPrevPage: () => {\n if (!options.provider.getLinks() || !options.provider.getLinks().prev)\n return Promise.resolve(false);\n\n return new Promise((res) => {\n const sub = this.facade.loaded$.subscribe((l) => {\n if (l) {\n // if (sub && !sub.closed) sub.unsubscribe();\n setTimeout(() => {\n res(\n options.provider.getLinks() &&\n options.provider.getLinks().prev\n );\n });\n }\n });\n\n this.facade.read({\n ...options.provider.getFilter(),\n offset:\n options.provider.getFilter().offset -\n options.provider.getFilter().limit,\n });\n });\n },\n page$: this.facade.filter$.pipe(\n map((f) => {\n return f?.limit ? f.offset / f.limit + 1 : 0;\n })\n ),\n totalPages$: combineLatest(\n this.facade.filter$,\n this.facade.totalCount$\n ).pipe(\n map(([filter, totalCount]) => {\n return filter?.limit ? Math.ceil(totalCount / filter.limit) : 0;\n })\n ),\n };\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {StoreModule} from \"@ngrx/store\";\nimport {FormsModule} from \"@angular/forms\";\nimport {CommonModule} from \"@angular/common\";\n\nimport {SharedModule} from \"@smartsoft001/angular\";\n\nimport {ExportComponent} from \"./export/export.component\";\nimport {\n FilterComponent,\n FilterDateComponent,\n FilterDateWithEditComponent, FilterFlagComponent,\n FilterRadioComponent,\n FilterTextComponent,\n FilterCheckComponent,\n FilterIntComponent\n} from \"./filter\";\nimport {FiltersConfigComponent} from \"./filters-config/filters-config.component\";\nimport {FiltersComponent} from \"./filters/filters.component\";\nimport {MultiselectComponent} from \"./multiselect/multiselect.component\";\nimport {SocketService} from \"../services/socket/socket.service\";\nimport {CrudPipesModule} from \"../pipes/pipes.module\";\nimport {CrudService} from \"../services/crud/crud.service\";\nimport {CrudEffects} from \"../+state/crud.effects\";\nimport {CrudFacade} from \"../+state/crud.facade\";\nimport {CrudListPaginationFactory} from \"../factories/list-pagination/list-pagination.factory\";\nimport {GroupComponent} from \"./group/group.component\";\n\nconst COMPONENTS = [\n ExportComponent,\n FilterComponent,\n FilterTextComponent,\n FiltersConfigComponent,\n FilterDateComponent,\n FilterDateWithEditComponent,\n FilterRadioComponent,\n FiltersComponent,\n FilterFlagComponent,\n FilterCheckComponent,\n FilterIntComponent,\n MultiselectComponent,\n GroupComponent\n];\n\n@NgModule({\n declarations: [\n ...COMPONENTS\n ],\n imports: [\n //AuthSharedModule,\n StoreModule,\n SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule\n ],\n exports: [\n CrudPipesModule,\n ...COMPONENTS\n ],\n entryComponents: [\n ...COMPONENTS\n ],\n providers: [\n CrudService,\n CrudEffects,\n CrudFacade,\n SocketService,\n CrudListPaginationFactory,\n ]\n})\nexport class CrudComponentsModule { }","import {IEntity} from \"@smartsoft001/domain-core\";\nimport {Action} from \"@ngrx/store\";\nimport {PaginationMode} from \"@smartsoft001/angular\";\n\nimport {ICrudFilter} from \"../models/interfaces\";\n\nexport interface State<T extends IEntity<string>> {\n selected?: T;\n multiSelected?: Array<T>;\n list?: T[];\n totalCount?: number;\n filter?: ICrudFilter;\n links?: any;\n loaded: boolean; // has the Auth list been loaded\n error?: string | null; // last none error (if any)\n}\n\nexport const initialState: State<any> = {\n loaded: false\n};\n\nconst crudReducer = (state = initialState, action, entity) => {\n switch (action.type) {\n case `[${entity}] Create`:\n return {\n ...state,\n loaded: false,\n error: null\n };\n\n case `[${entity}] Create Success`:\n return {\n ...state,\n loaded: true,\n error: null\n };\n\n case `[${entity}] Create Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n case `[${entity}] Create Many`:\n return {\n ...state,\n loaded: false,\n error: null\n };\n\n case `[${entity}] Create Many Success`:\n return {\n ...state,\n loaded: true,\n error: null\n };\n\n case `[${entity}] Create Many Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n case `[${entity}] Export`:\n return {\n ...state,\n loaded: false\n };\n\n case `[${entity}] Export Success`:\n return {\n ...state,\n loaded: true\n };\n\n case `[${entity}] Export Failure`:\n return {\n ...state,\n loaded: true\n };\n\n case `[${entity}] Read`:\n return {\n ...state,\n loaded: false,\n filter: action.filter,\n error: null,\n totalCount: null,\n links: null,\n };\n\n case `[${entity}] Read Success`:\n\n let list = [];\n\n if (\n action.filter\n && action.filter.offset\n && state.list\n && action.filter.paginationMode !== PaginationMode.singlePage\n ) {\n state.list.forEach(i => {\n list.push(i);\n });\n\n list = [\n ...list,\n ...action.result.data\n ];\n } else {\n list = action.result.data;\n }\n\n return {\n ...state,\n loaded: true,\n list,\n totalCount: action.result.totalCount,\n links: action.result.links,\n error: null\n };\n\n case `[${entity}] Read Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n case `[${entity}] Select`:\n return {\n ...state,\n loaded: false,\n selected: null,\n error: null\n };\n\n case `[${entity}] Select Success`:\n return {\n ...state,\n loaded: true,\n selected: action.item,\n error: null\n };\n\n case `[${entity}] Select Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n case `[${entity}] MultiSelect`:\n return {\n ...state,\n multiSelected: [...action.items]\n };\n\n case `[${entity}] Unselect`:\n return {\n ...state,\n loaded: true,\n selected: null,\n error: null\n };\n\n case `[${entity}] Update`:\n return {\n ...state,\n loaded: false,\n error: null\n };\n\n case `[${entity}] Update Success`:\n return {\n ...state,\n loaded: true,\n error: null\n };\n\n case `[${entity}] Update Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n case `[${entity}] Update partial`:\n return {\n ...state,\n loaded: false,\n error: null\n };\n\n case `[${entity}] Update partial Success`:\n return {\n ...state,\n loaded: true,\n error: null\n };\n\n case `[${entity}] Update partial Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n case `[${entity}] Update partial many`:\n return {\n ...state,\n loaded: false,\n error: null\n };\n\n case `[${entity}] Update partial many Success`:\n return {\n ...state,\n multiSelected: [],\n loaded: true,\n error: null\n };\n\n case `[${entity}] Update partial many Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n case `[${entity}] Delete`:\n return {\n ...state,\n loaded: false,\n error: null\n };\n\n case `[${entity}] Delete Success`:\n return {\n ...state,\n loaded: true,\n error: null\n };\n\n case `[${entity}] Delete Failure`:\n return {\n ...state,\n loaded: true,\n error: action.error\n };\n\n default:\n return state;\n }\n};\n\nexport function getReducer(entity) {\n return (state, action: Action) => {\n return crudReducer(state, action, entity);\n }\n}\n","import {Injectable} from \"@angular/core\";\nimport {AuthService} from \"@smartsoft001/angular\";\nimport {getModelOptions} from \"@smartsoft001/models\";\n\nimport { CrudFullConfig } from \"../../crud.config\";\n\n@Injectable()\nexport class PageService<T> {\n constructor(\n private authService: AuthService,\n private config: CrudFullConfig<T>\n ) { }\n\n checkPermissions(): void {\n const val: CrudFullConfig<T> = this.config;\n const modelOptions = getModelOptions(val.type);\n\n if (\n val.add &&\n modelOptions.create &&\n modelOptions.create.permissions &&\n !this.authService.expectPermissions(modelOptions.create.permissions)\n ) {\n val.add = false;\n }\n\n if (\n val.edit &&\n modelOptions.update &&\n modelOptions.update.permissions &&\n !this.authService.expectPermissions(modelOptions.update.permissions)\n ) {\n val.edit = false;\n }\n\n if (\n val.remove &&\n modelOptions.remove &&\n modelOptions.remove.permissions &&\n !this.authService.expectPermissions(modelOptions.remove.permissions)\n ) {\n val.remove = false;\n }\n }\n}","import {Injectable} from \"@angular/core\";\nimport {BehaviorSubject, Observable, combineLatest} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\n\nimport {ICrudFilter} from \"../../models/interfaces\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CrudSearchService {\n private _filterSource = new BehaviorSubject<Partial<ICrudFilter>>(null);\n private _enabledSource = new BehaviorSubject<boolean>(false);\n\n get filter(): Partial<ICrudFilter> {\n if (!this._enabledSource.value) return {};\n return this._filterSource.value;\n }\n\n get enabled(): boolean {\n return this._enabledSource.value;\n }\n\n enabled$ = this._enabledSource.asObservable();\n\n filter$: Observable<Partial<ICrudFilter>> = combineLatest([\n this._filterSource.asObservable(), this.enabled$\n ]).pipe(\n map(([ filter, enabled ]) => {\n if (!enabled) return {};\n return filter;\n })\n );\n\n setFilter(val: Partial<ICrudFilter>): void {\n this._filterSource.next(val);\n }\n\n setEnabled(val: boolean): void {\n this._enabledSource.next(val);\n }\n}","import {\n ChangeDetectorRef,\n Component,\n ComponentFactory, ComponentFactoryResolver, ElementRef,\n Injector, NgModuleRef, OnDestroy,\n OnInit, QueryList, TemplateRef,\n ViewChild, ViewChildren,\n ViewContainerRef,\n} from \"@angular/core\";\nimport { map, tap } from \"rxjs/operators\";\nimport { Router } from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport * as _ from \"lodash\";\n\nimport {\n CreateDynamicComponent,\n DynamicComponentLoader, DynamicContentDirective,\n HardwareService,\n IIconButtonOptions,\n IListOptions,\n IPageOptions,\n ListMode,\n MenuService, StyleService,\n} from \"@smartsoft001/angular\";\nimport { IEntity } from \"@smartsoft001/domain-core\";\nimport {\n getModelFieldsWithOptions,\n getModelOptions,\n IFieldEditMetadata,\n IFieldListMetadata,\n} from \"@smartsoft001/models\";\n\nimport { CrudFacade } from \"../../+state/crud.facade\";\nimport { CrudFullConfig } from \"../../crud.config\";\nimport { ICrudFilter } from \"../../models/interfaces\";\nimport { ExportComponent } from \"../../components/export/export.component\";\nimport { FiltersComponent } from \"../../components/filters/filters.component\";\nimport { MultiselectComponent } from \"../../components/multiselect/multiselect.component\";\nimport { CrudListPaginationFactory } from \"../../factories/list-pagination/list-pagination.factory\";\nimport {PageService} from \"../../services/page/page.service\";\nimport {CrudListPageBaseComponent} from \"./base/base.component\";\nimport {CrudSearchService} from \"../../services/search/search.service\";\n\n@Component({\n selector: \"smart-crud-list-page\",\n template: `\n <smart-page [options]=\"pageOptions\" *ngIf=\"filter$ | async\">\n <div #topTpl></div>\n <smart-crud-list-standard-page *ngIf=\"template === 'default'\" [listOptions]=\"listOptions\">\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-list-standard-page>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n `\n})\nexport class ListComponent<T extends IEntity<string>>\n extends CreateDynamicComponent<CrudListPageBaseComponent<any>>('crud-list-page')\n implements OnInit, OnDestroy\n{\n pageOptions: IPageOptions;\n listOptions: IListOptions<T>;\n filter: ICrudFilter;\n links: { next; prev };\n\n filter$: Observable<ICrudFilter> = this.facade.filter$.pipe(\n tap((filter) => {\n this.filter = filter;\n })\n );\n\n @ViewChild(\"topTpl\", { read: ViewContainerRef, static: false })\n topTpl: ViewContainerRef;\n\n @ViewChild(\"contentTpl\", { read: TemplateRef, static: false })\n contentTpl: TemplateRef<any>;\n\n @ViewChildren(DynamicContentDirective, { read: DynamicContentDirective })\n dynamicContents = new QueryList<DynamicContentDirective>();\n\n constructor(\n private facade: CrudFacade<T>,\n private router: Router,\n private dynamicComponentLoader: DynamicComponentLoader<T>,\n private injector: Injector,\n private cd: ChangeDetectorRef,\n private menuService: MenuService,\n private hardwareService: HardwareService,\n private paginationFacade: CrudListPaginationFactory<T>,\n private styleService: StyleService,\n private elementRef: ElementRef,\n private pageService: PageService<T>,\n public config: CrudFullConfig<T>,\n private searchService: CrudSearchService,\n private moduleRef: NgModuleRef<any>,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n super(cd, moduleRef, componentFactoryResolver);\n\n this.facade.links$.pipe(this.takeUntilDestroy).subscribe((links) => {\n this.links = links;\n });\n }\n\n refreshProperties(): void {\n this.baseInstance.listOptions = this.listOptions;\n }\n\n async ngOnInit(): Promise<void> {\n await this.pageService.checkPermissions();\n\n let newFilter = null;\n\n if (this.config.list?.resetQuery === 'beforeInit') {\n newFilter = {\n query: this.config.baseQuery ? [ ...this.config.baseQuery ] : [],\n paginationMode: this.config.list.paginationMode,\n limit: this.config.pagination ? this.config.pagination.limit : null,\n offset: this.config.pagination ? 0 : null,\n sortBy: this.config.sort ? this.config.sort[\"default\"] : null,\n sortDesc: this.config.sort ? this.config.sort[\"defaultDesc\"] : null,\n ...this.searchService.filter\n };\n } else if (this.filter) {\n newFilter = this.filter;\n } else {\n newFilter = {\n paginationMode: this.config.list.paginationMode,\n limit: this.searchService.filter?.limit ? this.searchService.filter.limit : this.config.pagination\n ? this.config.pagination.limit : null,\n offset: this.searchService.filter?.offset || this.searchService.filter?.offset === 0\n ? this.searchService.filter.offset : this.config.pagination ? 0 : null,\n sortBy: this.searchService.filter?.sortBy ? this.searchService.filter.sortBy : this.config.sort\n ? this.config.sort[\"default\"] : null,\n sortDesc: this.searchService.filter?.sortDesc ? this.searchService.filter.sortDesc : this.config.sort\n ? this.config.sort[\"defaultDesc\"] : null,\n query: this.config.baseQuery ? [ ...this.config.baseQuery ] : [],\n ...this.searchService.filter\n };\n }\n\n this.facade.read(newFilter);\n\n const endButtons = this.getEndButtons();\n\n this.pageOptions = {\n title: this.config.title,\n search: this.config.search\n ? {\n text$: this.filter$.pipe(map((f) => (f ? f.searchText : null))),\n set: (txt) => {\n if (txt !== this.filter.searchText)\n this.facade.read({\n ...this.filter,\n searchText: txt,\n offset: 0,\n });\n },\n }\n : null,\n endButtons: endButtons,\n };\n\n const compiledComponents =\n await this.dynamicComponentLoader.getComponentsWithFactories({\n components: [\n ...(this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].top\n ? [this.config.details[\"components\"].top]\n : []),\n ...(this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].bottom\n ? [this.config.details[\"components\"].bottom]\n : []),\n ...(this.config.list &&\n this.config.list[\"components\"] &&\n this.config.list[\"components\"].top\n ? [this.config.list[\"components\"].top]\n : []),\n ],\n });\n\n this.listOptions = {\n provider: {\n getData: (filter): void => {\n const global = {\n ...this.filter,\n ...filter,\n };\n this.facade.read(global);\n },\n onChangeMultiSelected: async (list) => {\n if (list.length && !this.menuService.openedEnd) {\n await this.menuService.openEnd({\n injector: this.injector,\n component: MultiselectComponent,\n });\n } else if (!list.length && this.menuService.openedEnd) {\n await this.menuService.closeEnd();\n }\n\n this.facade.multiSelect(list);\n },\n list$: this.facade.list$,\n loading$: this.facade.loaded$.pipe(map((l) => !l)),\n },\n cellPipe: this.config.list ? this.config.list.cellPipe : null,\n mode: this.config.list?.mode,\n type: this.config.type,\n details: this.config.details\n ? {\n provider: {\n getData: (id) => {\n this.facade.select(id);\n },\n clearData: () => {\n this.facade.unselect();\n },\n item$: this.facade.selected$,\n loading$: this.facade.loaded$.pipe(map((l) => !l)),\n },\n componentFactories: {\n top:\n this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].top\n ? compiledComponents.find(\n (cc) =>\n cc.component === this.config.details[\"components\"].top\n ).factory\n : null,\n bottom:\n this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].bottom\n ? compiledComponents.find(\n (cc) =>\n cc.component ===\n this.config.details[\"components\"].bottom\n ).factory\n : null,\n },\n }\n : null,\n item:\n this.config.edit || this.config.details\n ? {\n options: {\n routingPrefix: \"/\" + this.router.routerState.snapshot.url + \"/\",\n edit: this.config.edit,\n },\n }\n : null,\n remove: this.config.remove\n ? {\n provider: {\n invoke: (id) => this.facade.delete(id),\n },\n }\n : null,\n pagination: await this.paginationFacade.create({\n mode: this.config.list.paginationMode,\n limit: this.config.pagination.limit,\n provider: {\n getFilter: () => {\n return this.filter;\n },\n getLinks: () => this.links,\n },\n }),\n sort: this.config.sort,\n };\n\n this.cd.detectChanges();\n\n this.initCloseMenu();\n this.initTopComponent(compiledComponents);\n\n this.refreshDynamicInstance();\n }\n\n private initCloseMenu() {\n this.router.events.pipe(this.takeUntilDestroy).subscribe(async () => {\n await this.clear();\n });\n }\n\n private async clear() {\n await this.menuService.closeEnd();\n\n this.listOptions = {\n ...this.listOptions,\n select: null,\n };\n\n this.facade.multiSelect([]);\n }\n\n private getEndButtons(): Array<IIconButtonOptions> {\n const fieldsWithOptions = getModelFieldsWithOptions(new this.config.type());\n const modelOptions = getModelOptions(this.config.type);\n\n const showFilters =\n fieldsWithOptions.some(\n (x) => (x.options?.list as IFieldListMetadata)?.filter\n ) || modelOptions?.filters?.length;\n\n const showMultiEdit =\n this.config.edit &&\n fieldsWithOptions.some(\n (x) => (x.options?.update as IFieldEditMetadata)?.multi\n ) &&\n !this.hardwareService.isMobile &&\n (!this.config?.list?.mode ||\n this.config?.list?.mode === ListMode.desktop);\n\n return [\n ...(showMultiEdit\n ? [\n {\n icon: \"checkbox-outline\",\n text: \"multi\",\n handler: async () => {\n this.listOptions = {\n ...this.listOptions,\n select: this.listOptions.select === \"multi\" ? null : \"multi\",\n };\n this.facade.multiSelect([]);\n if (this.menuService.openedEnd)\n await this.menuService.closeEnd();\n this.cd.detectChanges();\n },\n },\n ]\n : []),\n ...(showFilters\n ? [\n {\n icon: \"filter-outline\",\n text: \"filters\",\n handler: async () => {\n await this.menuService.openEnd({\n injector: this.injector,\n component: FiltersComponent,\n });\n },\n },\n ]\n : []),\n ...(this.config.add\n ? [\n {\n icon: \"add\",\n text: \"add\",\n handler: () => {\n this.router.navigate([\n \"/\" + this.router.routerState.snapshot.url + \"/add\",\n ]);\n },\n },\n ]\n : []),\n ...(this.config.export\n ? [\n {\n text: \"export\",\n icon: \"download-outline\",\n type: \"popover\" as \"popover\",\n component: ExportComponent,\n },\n ]\n : []),\n ...(this.config.buttons ? this.config.buttons : []),\n ];\n }\n\n private initTopComponent(\n compiledComponents: {\n component: any;\n factory: ComponentFactory<any>;\n }[]\n ) {\n const factory =\n this.config.list &&\n this.config.list[\"components\"] &&\n this.config.list[\"components\"].top\n ? compiledComponents.find(\n (cc) => cc.component === this.config.list[\"components\"].top\n ).factory\n : null;\n\n setTimeout(() => {\n if (factory && !this.topTpl.get(0)) {\n this.topTpl.createComponent(factory);\n }\n });\n }\n}\n","import {\n Directive, EventEmitter,\n Input, Output, QueryList,\n ViewChild, ViewChildren,\n ViewContainerRef\n} from \"@angular/core\";\nimport {Observable} from \"rxjs\";\n\nimport {\n BaseComponent,\n DynamicComponentType, FormComponent, IDetailsOptions,\n} from \"@smartsoft001/angular\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\nimport { CrudFullConfig } from \"../../../crud.config\";\nimport { CrudFacade } from \"../../../+state/crud.facade\";\n\n@Directive()\nexport abstract class CrudItemPageBaseComponent<T extends IEntity<string>> extends BaseComponent {\n static smartType: DynamicComponentType = \"crud-item-page\";\n\n selected$: Observable<T>;\n\n @ViewChild(\"contentTpl\", { read: ViewContainerRef, static: true })\n contentTpl: ViewContainerRef;\n\n @ViewChildren(FormComponent, { read: FormComponent }) formComponents = new QueryList<FormComponent<any>>();\n\n @Input()\n detailsOptions: IDetailsOptions<T>;\n\n @Input()\n mode: string;\n\n @Input()\n uniqueProvider: (values: Record<keyof T, any>) => Promise<boolean>;\n\n @Output()\n onPartialChange = new EventEmitter<Partial<T>>();\n\n @Output()\n onChange = new EventEmitter<T>();\n\n @Output()\n onValidChange = new EventEmitter<boolean>();\n\n constructor(\n public config: CrudFullConfig<T>,\n public facade: CrudFacade<T>\n ) {\n super();\n this.selected$ = facade.selected$;\n\n\n }\n}","import {Component} from \"@angular/core\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {CrudItemPageBaseComponent} from \"../base/base.component\";\n\n@Component({\n selector: \"smart-crud-item-standard-page\",\n templateUrl: \"./standard.component.html\",\n styleUrls: [\"./standard.component.scss\"],\n})\nexport class ItemStandardComponent<T extends IEntity<string>> extends CrudItemPageBaseComponent<T> {}","import {\n ChangeDetectorRef,\n Component, ComponentFactoryResolver,\n ElementRef, NgModuleRef,\n OnInit,\n QueryList, TemplateRef,\n ViewChild,\n ViewChildren\n} from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { Location } from \"@angular/common\";\nimport {TranslateService} from \"@ngx-translate/core\";\n\nimport {\n AuthService, CreateDynamicComponent, DetailsService,\n DynamicComponentLoader, DynamicContentDirective, ICellPipe,\n IDetailsOptions,\n IIconButtonOptions,\n IPageOptions, StyleService, ToastService,\n} from \"@smartsoft001/angular\";\nimport { IEntity } from \"@smartsoft001/domain-core\";\nimport {getModelOptions} from \"@smartsoft001/models\";\n\nimport { CrudFacade } from \"../../+state/crud.facade\";\nimport { CrudFullConfig } from \"../../crud.config\";\nimport { CrudService } from \"../../services/crud/crud.service\";\nimport { ICrudFilter } from \"../../models/interfaces\";\nimport { IonContent } from \"@ionic/angular\";\nimport {AbstractControl, FormArray, FormControl, FormGroup} from \"@angular/forms\"\nimport {ItemStandardComponent} from \"./standard/standard.component\";\nimport { CrudItemPageBaseComponent } from \"./base/base.component\";\nimport { PageService } from \"../../services/page/page.service\";\n\n@Component({\n selector: \"smart-crud-item-page\",\n template: `\n <smart-page [options]=\"pageOptions\">\n <div #topTpl></div>\n <smart-crud-item-standard-page *ngIf=\"template === 'default'\"\n [detailsOptions]=\"detailsOptions\"\n [mode]=\"mode\"\n [uniqueProvider]=\"uniqueProvider\"\n (onPartialChange)=\"onPartialChange($event)\"\n (onChange)=\"onChange($event)\"\n (onValidChange)=\"onValidChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"contentTpl\"></ng-container>\n </smart-crud-item-standard-page>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div class=\"dynamic-content\"></div>\n </smart-page>\n `\n})\nexport class ItemComponent<T extends IEntity<string>>\n extends CreateDynamicComponent<CrudItemPageBaseComponent<any>>('crud-item-page')\n implements OnInit {\n private _mode: string;\n\n pageOptions: IPageOptions = {\n title: \"\",\n showBackButton: true,\n hideMenuButton: true,\n };\n detailsOptions: IDetailsOptions<T>;\n id: string;\n formValue: T;\n formValid = false;\n item: T;\n formPartialValue: Partial<T>;\n uniqueProvider: (values: Record<keyof T, any>) => Promise<boolean>;\n\n set mode(val: string) {\n this._mode = val;\n this.refreshDynamicInstance();\n }\n get mode(): string {\n return this._mode;\n }\n\n\n selected$: Observable<T>;\n\n @ViewChildren(ItemStandardComponent, { read: ItemStandardComponent }) standardComponents = new QueryList<ItemStandardComponent<any>>();\n @ViewChild(IonContent, { static: true }) content: IonContent;\n\n @ViewChild(\"contentTpl\", { read: TemplateRef, static: false })\n contentTpl: TemplateRef<any>;\n\n @ViewChildren(DynamicContentDirective, { read: DynamicContentDirective })\n dynamicContents = new QueryList<DynamicContentDirective>();\n\n constructor(\n private router: Router,\n private activeRoute: ActivatedRoute,\n private facade: CrudFacade<T>,\n private service: CrudService<T>,\n private route: ActivatedRoute,\n private dynamicComponentLoader: DynamicComponentLoader<T>,\n private translateService: TranslateService,\n public config: CrudFullConfig<T>,\n private location: Location,\n private cd: ChangeDetectorRef,\n authService: AuthService,\n private styleService: StyleService,\n private elementRef: ElementRef,\n private toastService: ToastService,\n private pageService: PageService<T>,\n private moduleRef: NgModuleRef<any>,\n private componentFactoryResolver: ComponentFactoryResolver,\n private detailsService: DetailsService\n ) {\n super(cd, moduleRef, componentFactoryResolver);\n\n this.selected$ = this.facade.selected$;\n }\n\n refreshProperties() {\n this.baseInstance.detailsOptions = this.detailsOptions;\n this.baseInstance.mode = this.mode;\n this.baseInstance.uniqueProvider = this.uniqueProvider;\n this.baseInstance.onPartialChange.pipe(this.takeUntilDestroy).subscribe(val => this.onPartialChange(val));\n this.baseInstance.onChange.pipe(this.takeUntilDestroy).subscribe(val => this.onChange(val));\n this.baseInstance.onValidChange.pipe(this.takeUntilDestroy).subscribe(val => this.onValidChange(val));\n }\n\n async ngOnInit() {\n this.detailsService.init();\n this.styleService.init(this.elementRef);\n\n this.pageService.checkPermissions();\n\n if (this.router.routerState.snapshot.url.endsWith(\"/add\")) {\n this.mode = \"create\";\n } else {\n this.mode = this.config.details ? \"details\" : \"update\";\n\n this.activeRoute.params\n .pipe(this.takeUntilDestroy)\n .subscribe(({ id }) => {\n this.facade.select(id);\n this.id = id;\n });\n\n this.activeRoute.queryParams\n .pipe(this.takeUntilDestroy)\n .subscribe(({ edit }) => {\n if (edit) {\n this.mode = \"update\";\n }\n });\n }\n\n this.uniqueProvider = async (values) => {\n const filter: ICrudFilter = {\n query: [],\n };\n\n Object.keys(values).forEach((key) => {\n filter.query.push({\n key: key,\n value: values[key],\n type: \"=\",\n });\n });\n\n if (this.id) {\n filter.query.push({\n key: \"id\",\n value: this.id,\n type: \"!=\",\n });\n }\n const { totalCount } = await this.service.getList(filter).toPromise();\n\n return !totalCount;\n };\n\n if (this.config.details) {\n const compiledComponents = await this.dynamicComponentLoader.getComponentsWithFactories(\n {\n components: [\n ...(this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].top\n ? [this.config.details[\"components\"].top]\n : []),\n ...(this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].bottom\n ? [this.config.details[\"components\"].bottom]\n : []),\n ],\n }\n );\n\n this.detailsOptions = {\n type: this.config.type,\n item$: this.facade.selected$,\n cellPipe: this.config.details ? (this.config.details as {cellPipe?: ICellPipe<T>}).cellPipe : null,\n componentFactories: {\n top:\n this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].top\n ? compiledComponents.find(\n (cc) => cc.component === this.config.details[\"components\"].top\n ).factory\n : null,\n bottom:\n this.config.details &&\n this.config.details[\"components\"] &&\n this.config.details[\"components\"].bottom\n ? compiledComponents.find(\n (cc) => cc.component === this.config.details[\"components\"].bottom\n ).factory\n : null,\n },\n };\n }\n\n this.initPageOptions();\n\n this.facade.selected$.pipe(this.takeUntilDestroy).subscribe(item => {\n this.item = item;\n this.initPageOptions();\n this.cd.detectChanges();\n });\n\n this.refreshDynamicInstance();\n }\n\n onPartialChange(val: Partial<T>) {\n this.formPartialValue = val;\n }\n\n onChange(val: T) {\n this.formValue = val;\n }\n\n onValidChange(val: boolean) {\n this.formValid = val;\n }\n\n private initPageOptions(): void {\n this.pageOptions = {\n ...this.pageOptions,\n title: this.getTitle(),\n endButtons: this.getButtons(),\n };\n }\n\n private getButtons(): Array<IIconButtonOptions> {\n switch (this.mode) {\n case \"create\":\n return [\n {\n icon: \"add\",\n text: \"add\",\n handler: () => {\n if (this.checkFirstInvalid()) {\n return;\n }\n\n this.facade.create(this.formValue);\n this.location.back();\n },\n },\n ];\n case \"update\":\n return [\n ...(this.config.details\n ? [\n {\n icon: \"close\",\n text: \"cancel\",\n handler: () => {\n this.mode = \"details\";\n this.initPageOptions();\n },\n disabled$: new BehaviorSubject(false),\n },\n ]\n : []),\n {\n icon: \"save\",\n text: \"save\",\n handler: () => {\n if (this.checkFirstInvalid()) {\n return;\n }\n\n this.formPartialValue.id = this.id;\n this.facade.updatePartial(this.formPartialValue as any);\n\n if (this.config.details) {\n this.mode = \"details\";\n this.initPageOptions();\n } else {\n this.location.back();\n }\n },\n },\n ];\n case \"details\":\n return this.config.edit\n ? [\n {\n icon: \"create\",\n text: \"edit\",\n handler: () => {\n this.mode = \"update\";\n this.initPageOptions();\n },\n disabled$: new BehaviorSubject(false),\n },\n ]\n : [];\n }\n }\n\n private getTitle(): string {\n const options = getModelOptions(this.config.type);\n\n const prefix = options.titleKey && this.item ? this.removeParagraph(this.item[options.titleKey]) + ' - ' : '';\n\n switch (this.mode) {\n case \"create\":\n return \"add\";\n case \"update\":\n return prefix + this.translateService.instant(\"change\");\n case \"details\":\n return prefix + this.translateService.instant(\"details\");\n }\n }\n\n private removeParagraph(val: string): string {\n if (!val || val.indexOf('<p>') !== 0) return val;\n\n const div=document.createElement(\"div\");\n div.innerHTML=val;\n\n const item = div.querySelectorAll(\"p\").item(0);\n\n return item.innerHTML;\n }\n\n private checkFirstInvalid(): boolean {\n this.cd.detectChanges();\n\n const form = this.template === 'default'\n ? this.standardComponents.first.formComponents.first.form\n : this.baseInstance.formComponents.first.form;\n\n this.cd.detectChanges();\n\n if (form.valid) return false;\n\n const invalidFields = [];\n\n this.getInvalidFields(form, invalidFields, '');\n\n this.toastService.info({\n title: this.translateService.instant('INPUT.ERRORS.requires'),\n message: invalidFields.slice(0, 3).join('<br/>')\n });\n\n return true;\n }\n\n private getInvalidFields(control: AbstractControl, invalidFields: any[], baseField: string, key = null) {\n if (control.valid) return;\n\n const field = key ? baseField + ' > ' + this.translateService.instant('MODEL.' + key) : baseField;\n\n if (control.errors?.customMessage) {\n invalidFields.push(field + ` (${control.errors.customMessage})`);\n return;\n }\n\n if (control instanceof FormControl) {\n invalidFields.push(field);\n }\n\n if (control instanceof FormGroup) {\n Object.keys(control.controls).forEach(groupKey => {\n this.getInvalidFields(control.controls[groupKey], invalidFields, field, groupKey);\n });\n }\n\n if (control instanceof FormArray) {\n control.controls.forEach((c, index) => {\n this.getInvalidFields(c, invalidFields, field + `(${index + 1})`);\n });\n }\n }\n}\n","import {\n Directive,\n Input,\n ViewChild,\n ViewContainerRef\n} from \"@angular/core\";\n\nimport {\n BaseComponent,\n DynamicComponentType,\n IListOptions,\n} from \"@smartsoft001/angular\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\nimport {CrudFullConfig} from \"../../../crud.config\";\n\n@Directive()\nexport abstract class CrudListPageBaseComponent<T extends IEntity<string>> extends BaseComponent {\n static smartType: DynamicComponentType = \"crud-list-page\";\n\n @ViewChild(\"contentTpl\", { read: ViewContainerRef, static: true })\n contentTpl: ViewContainerRef;\n\n @Input()\n listOptions: IListOptions<T>;\n\n constructor(\n public config: CrudFullConfig<T>,\n ) {\n super();\n }\n}","import {Component} from \"@angular/core\";\nimport {map} from \"rxjs/operators\";\n\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {CrudListPageBaseComponent} from \"../base/base.component\";\nimport {CrudListGroupService} from \"../../../services/list-group/list-group.service\";\nimport { CrudFacade } from \"../../../+state/crud.facade\";\nimport {CrudFullConfig} from \"../../../crud.config\";\n\n@Component({\n selector: \"smart-crud-list-standard-page\",\n templateUrl: \"./standard.component.html\",\n styleUrls: [\"./standard.component.scss\"],\n providers: [\n CrudListGroupService\n ]\n})\nexport class ListStandardComponent<T extends IEntity<string>> extends CrudListPageBaseComponent<T> {\n isSearch$ = this.facade.filter$.pipe(\n map(filter => {\n return !!filter?.searchText\n })\n );\n\n constructor(\n private readonly facade: CrudFacade<T>,\n public readonly config: CrudFullConfig<T>,\n ) {\n super(config);\n }\n}","import {NgModule} from \"@angular/core\";\nimport {RouterModule} from \"@angular/router\";\nimport {Store, StoreModule} from \"@ngrx/store\";\nimport {FormsModule} from \"@angular/forms\";\nimport {CommonModule} from \"@angular/common\";\n\nimport {NgrxStoreService, SharedModule} from \"@smartsoft001/angular\";\nimport {IEntity} from \"@smartsoft001/domain-core\";\n\nimport {CrudConfig} from \"./crud.config\";\nimport {CrudEffects} from \"./+state/crud.effects\";\nimport {getReducer} from \"./+state/crud.reducer\";\nimport {ListComponent} from \"./pages/list/list.component\";\nimport {ItemComponent} from \"./pages/item/item.component\";\nimport {CrudPipesModule} from \"./pipes/pipes.module\";\nimport { CrudService } from './services/crud/crud.service';\nimport { CrudFacade } from './+state/crud.facade';\nimport {CrudListPaginationFactory} from \"./factories/list-pagination/list-pagination.factory\";\nimport {CrudComponentsModule} from \"./components/components.module\";\nimport {PageService} from \"./services/page/page.service\";\nimport {ListStandardComponent} from \"./pages/list/standard/standard.component\";\nimport {ItemStandardComponent} from \"./pages/item/standard/standard.component\";\nimport {CrudListGroupService} from \"./services/list-group/list-group.service\";\n\nconst PAGES = [\n ItemComponent,\n ListComponent,\n ListStandardComponent,\n ItemStandardComponent\n];\n\n@NgModule({\n declarations: [\n ...PAGES\n ],\n imports: [\n StoreModule,\n SharedModule,\n CrudPipesModule,\n RouterModule.forChild([\n { path: '', component: ListComponent },\n { path: 'add', component: ItemComponent },\n { path: ':id', component: ItemComponent }\n ]),\n FormsModule,\n CommonModule,\n CrudComponentsModule\n ],\n exports: [\n ...PAGES,\n CrudComponentsModule\n ],\n entryComponents: [\n ...PAGES\n ],\n providers: [\n CrudService,\n CrudListGroupService,\n PageService,\n CrudEffects,\n CrudFacade,\n CrudListPaginationFactory,\n ]\n})\nexport class CrudFullModule<T extends IEntity<string>> {\n constructor(store: Store<any>, config: CrudConfig<T>, effects: CrudEffects<any>) {\n NgrxStoreService.addReducer(\n config.entity,\n config.reducerFactory\n ? config.reducerFactory()\n : getReducer(config.entity)\n );\n effects.init();\n }\n}\n","import { ModuleWithProviders, NgModule, NO_ERRORS_SCHEMA } from \"@angular/core\";\nimport { Store, StoreModule } from \"@ngrx/store\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { IEntity } from \"@smartsoft001/domain-core\";\nimport {\n FILE_SERVICE_CONFIG,\n IFileServiceConfig,\n NgrxSharedModule,\n NgrxStoreService,\n SharedModule,\n} from \"@smartsoft001/angular\";\n\nimport { CrudConfig, CrudFullConfig } from \"./crud.config\";\nimport { CrudEffects } from \"./+state/crud.effects\";\nimport { getReducer } from \"./+state/crud.reducer\";\nimport { CrudService } from \"./services/crud/crud.service\";\nimport { CrudFacade } from \"./+state/crud.facade\";\nimport { CrudPipesModule } from \"./pipes/pipes.module\";\nimport { CrudFullModule } from \"./crud-full.module\";\nimport {NotSocketService, SocketService} from \"./services/socket/socket.service\";\nimport { CrudListPaginationFactory } from \"./factories/list-pagination/list-pagination.factory\";\nimport { CrudComponentsModule } from \"./components/components.module\";\nimport {PageService} from \"./services/page/page.service\";\nimport {CrudListGroupService} from \"./services/list-group/list-group.service\";\n\n@NgModule({\n imports: [\n //AuthSharedModule,\n StoreModule,\n SharedModule,\n CrudPipesModule,\n FormsModule,\n CommonModule,\n CrudComponentsModule,\n NgrxSharedModule,\n ],\n exports: [CrudComponentsModule],\n providers: [\n CrudService,\n CrudListGroupService,\n PageService,\n CrudEffects,\n CrudFacade,\n SocketService,\n CrudListPaginationFactory,\n ],\n})\nexport class CrudCoreModule<T extends IEntity<string>> {\n constructor(config: CrudConfig<T>, effects: CrudEffects<any>) {\n NgrxStoreService.addReducer(\n config.entity,\n config.reducerFactory\n ? config.reducerFactory()\n : getReducer(config.entity)\n );\n effects.init();\n }\n}\n\n@NgModule({})\nexport class CrudModule<T extends IEntity<string>> {\n static forFeature<T extends IEntity<string>>(\n options:\n | ICrudModuleOptionsWithRoutng<T>\n | ICrudModuleOptionsWithoutRoutng<T>\n ): ModuleWithProviders<CrudModule<any>> {\n return {\n ngModule: options.routing ? CrudFullModule : CrudCoreModule,\n providers: [\n { provide: CrudConfig, useValue: options.config },\n { provide: CrudFullConfig, useValue: options.config },\n {\n provide: FILE_SERVICE_CONFIG,\n useValue: { apiUrl: options.config.apiUrl } as IFileServiceConfig,\n },\n ...(\n options.socket\n ? [SocketService]\n : [{ provide: SocketService, useClass: NotSocketService }]\n ),\n ],\n };\n }\n}\n\nexport interface ICrudModuleOptionsWithRoutng<T> {\n config: CrudFullConfig<T>;\n socket?: boolean;\n routing: true;\n}\n\nexport interface ICrudModuleOptionsWithoutRoutng<T> {\n config: CrudConfig<T>;\n socket?: boolean;\n routing: false;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {CrudComponentsModule as ɵc} from './lib/components/components.module';\nexport {ExportComponent as ɵd} from './lib/components/export/export.component';\nexport {FilterCheckComponent as ɵm,FilterComponent as ɵe,FilterDateComponent as ɵh,FilterDateWithEditComponent as ɵi,FilterFlagComponent as ɵl,FilterIntComponent as ɵn,FilterRadioComponent as ɵj,FilterTextComponent as ɵf} from './lib/components/filter';\nexport {FiltersConfigComponent as ɵg} from './lib/components/filters-config/filters-config.component';\nexport {FiltersComponent as ɵk} from './lib/components/filters/filters.component';\nexport {GroupComponent as ɵp} from './lib/components/group/group.component';\nexport {MultiselectComponent as ɵo} from './lib/components/multiselect/multiselect.component';\nexport {CrudItemPageBaseComponent as ɵv} from './lib/pages/item/base/base.component';\nexport {ItemComponent as ɵt} from './lib/pages/item/item.component';\nexport {ItemStandardComponent as ɵu} from './lib/pages/item/standard/standard.component';\nexport {CrudListPageBaseComponent as ɵy} from './lib/pages/list/base/base.component';\nexport {ListComponent as ɵw} from './lib/pages/list/list.component';\nexport {ListStandardComponent as ɵx} from './lib/pages/list/standard/standard.component';\nexport {FormOptionsPipe as ɵb} from './lib/pipes/form-options/form-options.pipe';\nexport {CrudPipesModule as ɵa} from './lib/pipes/pipes.module';\nexport {CrudListGroupService as ɵq} from './lib/services/list-group/list-group.service';\nexport {NotSocketService as ɵs,SocketService as ɵr} from './lib/services/socket/socket.service';"],"names":["createFeatureSelector","createSelector","Injectable","store","select","CrudSelectors.getCrudLoaded","map","CrudSelectors.getCrudSelected","tap","CrudSelectors.getCrudMultiSelected","CrudSelectors.getCrudList","CrudSelectors.getCrudFilter","CrudSelectors.getCrudTotalCount","CrudSelectors.getCrudLinks","CrudSelectors.getCrudError","NgrxStoreService","CrudActions.create","CrudActions.createMany","CrudActions.read","CrudActions.select","CrudActions.unselect","CrudActions.multiSelect","CrudActions.update","CrudActions.exportList","CrudActions.updatePartial","CrudActions.updatePartialMany","CrudActions.deleteItem","Store","BaseComponent","Component","PopoverService","StyleService","ElementRef","FieldType","Input","InjectionToken","Directive","Optional","Inject","Debounce","moment","Subscription","ViewChild","IonDatetime","combineLatest","getModelOptions","getModelFieldsWithOptions","MenuService","_","debounce","ChangeDetectorRef","Pipe","NgModule","forkJoin","HttpClient","CrudActions.createSuccess","catchError","CrudActions.createFailure","of","CrudActions.createManySuccess","CrudActions.createManyFailure","CrudActions.readSuccess","CrudActions.readFailure","CrudActions.exportListSuccess","CrudActions.exportListFailure","CrudActions.selectSuccess","CrudActions.selectFailure","CrudActions.updateSuccess","CrudActions.updateFailure","first","CrudActions.updatePartialSuccess","CrudActions.updatePartialFailure","CrudActions.updatePartialManySuccess","CrudActions.updatePartialManyFailure","CrudActions.deleteSuccess","CrudActions.deleteFailure","ActionsSubject","State","StoreModule","SharedModule","FormsModule","CommonModule","PaginationMode","AuthService","BehaviorSubject","QueryList","ListMode","CreateDynamicComponent","Router","DynamicComponentLoader","Injector","HardwareService","NgModuleRef","ComponentFactoryResolver","ViewContainerRef","TemplateRef","ViewChildren","DynamicContentDirective","EventEmitter","FormComponent","Output","FormControl","FormGroup","FormArray","ActivatedRoute","TranslateService","Location","ToastService","DetailsService","IonContent","RouterModule","NgrxSharedModule","FILE_SERVICE_CONFIG"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;QAEa,YAAY,GAAG,UAAC,MAAM,IAAK,OAAAA,2BAAqB,CAAO,MAAM,CAAC,IAAC;QAE/D,eAAe,GAAG,UAAC,MAAM,IAAK,OAAAC,oBAAc,CACrD,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,QAAQ,GAAA,CAC5B,IAAC;QAEW,oBAAoB,GAAG,UAAC,MAAM,IAAK,OAAAA,oBAAc,CAC1D,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,aAAa,GAAA,CACjC,IAAC;QAEW,WAAW,GAAG,UAAC,MAAM,IAAK,OAAAA,oBAAc,CACjD,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,GAAA,CACxB,IAAC;QAEW,iBAAiB,GAAG,UAAC,MAAM,IAAK,OAAAA,oBAAc,CACvD,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,GAAA,CAC9B,IAAC;QAEW,YAAY,GAAG,UAAC,MAAM,IAAK,OAAAA,oBAAc,CAClD,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,KAAK,GAAA,CACzB,IAAC;QAEW,aAAa,GAAG,UAAC,MAAM,IAAK,OAAAA,oBAAc,CACnD,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,GAAA,CAC1B,IAAC;QAEW,aAAa,GAAG,UAAC,MAAM,IAAK,OAAAA,oBAAc,CACnD,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,GAAA,CAC1B,IAAC;QAEW,YAAY,GAAG,UAAC,MAAM,IAAK,OAAAA,oBAAc,CAClD,YAAY,CAAC,MAAM,CAAC,EACpB,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,KAAK,GAAA,CACzB;;IC1CD;;;;;;;;;;;;;;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;;;QCrOA;;;;;;gBADCC,aAAU;;;QAU4B,kCAAa;QAApD;;;;KAAA,CAAuC,UAAa;;;gBADnDA,aAAU;;;ICXX;;;QAGa,MAAM,GAAG,UACpB,MAAc,EACd,IAAO;QAEP,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,aAAU;YAC1B,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,IAAO;QAEP,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,IAAO,EACP,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,IAAI,MAAA;YACJ,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,UAAU,GAAG,UACxB,MAAc,EACd,IAAqD;QAErD,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,kBAAe;YAC/B,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,iBAAiB,GAAG,UAC/B,MAAc,EACd,IAAqD;QAErD,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,0BAAuB;YACvC,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,iBAAiB,GAAG,UAC/B,MAAc,EACd,IAAqD,EACrD,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,0BAAuB;YACvC,IAAI,MAAA;YACJ,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,IAAI,GAAG,UAClB,MAAc,EACd,MAA0B;QAA1B,uBAAA,EAAA,aAA0B;QAE1B,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,WAAQ;YACxB,MAAM,QAAA;SACP,CAAC;IACJ,EAAE;QAEW,WAAW,GAAG,UACzB,MAAc,EACd,MAAS,EACT,MAAgD;QAEhD,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,mBAAgB;YAChC,MAAM,QAAA;YACN,MAAM,QAAA;SACP,CAAC;IACJ,EAAE;QAEW,WAAW,GAAG,UACzB,MAAc,EACd,MAAS,EACT,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,mBAAgB;YAChC,MAAM,QAAA;YACN,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,UAAU,GAAG,UACxB,MAAc,EACd,MAA0B,EAC1B,MAAM;QADN,uBAAA,EAAA,aAA0B;QAG1B,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,aAAU;YAC1B,MAAM,QAAA;YACN,MAAM,QAAA;SACP,CAAC;IACJ,EAAE;QAEW,iBAAiB,GAAG,UAC/B,MAAc,EACd,MAAS;QAET,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,MAAM,QAAA;SACP,CAAC;IACJ,EAAE;QAEW,iBAAiB,GAAG,UAC/B,MAAc,EACd,MAAS,EACT,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,MAAM,QAAA;YACN,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,MAAM,GAAG,UACpB,MAAc,EACd,EAAU;QAEV,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,aAAU;YAC1B,EAAE,IAAA;SACH,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,EAAU,EACV,IAAO;QAEP,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,EAAE,IAAA;YACF,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,EAAU,EACV,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,EAAE,IAAA;YACF,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;QAEW,QAAQ,GAAG,UAAS,MAAc;QAC7C,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,eAAY;SAC7B,CAAC;IACJ,EAAE;IAEF;;;QAGa,WAAW,GAAG,UACvB,MAAc,EACd,KAAe;QAEjB,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,kBAAe;YAC/B,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,MAAM,GAAG,UACpB,MAAc,EACd,IAAO;QAEP,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,aAAU;YAC1B,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,IAAO;QAEP,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,IAAO,EACP,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,IAAI,MAAA;YACJ,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,aAAa,GAAG,UAC3B,MAAc,EACd,IAAiC;QAEjC,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,oBAAoB,GAAG,UAClC,MAAc,EACd,IAAiC;QAEjC,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,6BAA0B;YAC1C,IAAI,MAAA;SACL,CAAC;IACJ,EAAE;QAEW,oBAAoB,GAAG,UAClC,MAAc,EACd,IAAiC,EACjC,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,6BAA0B;YAC1C,IAAI,MAAA;YACJ,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,iBAAiB,GAAG,UAC7B,MAAc,EACd,KAAoC;QAEtC,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,0BAAuB;YACvC,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;QAEW,wBAAwB,GAAG,UACpC,MAAc,EACd,KAAoC;QAEtC,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,kCAA+B;YAC/C,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;QAEW,wBAAwB,GAAG,UACpC,MAAc,EACd,KAAoC,EACpC,KAAK;QAEP,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,kCAA+B;YAC/C,KAAK,OAAA;YACL,KAAK,OAAA;SACN,CAAC;IACJ,EAAE;IAEF;;;QAGa,UAAU,GAAG,UACxB,MAAc,EACd,EAAU;QAEV,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,aAAU;YAC1B,EAAE,IAAA;SACH,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,EAAU;QAEV,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,EAAE,IAAA;SACH,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAC3B,MAAc,EACd,EAAU,EACV,KAAK;QAEL,OAAO;YACL,IAAI,EAAE,MAAI,MAAM,qBAAkB;YAClC,EAAE,IAAA;YACF,KAAK,OAAA;SACN,CAAC;IACJ;;;QCxRE,oBAAoBC,OAAiB,EAAU,MAAqB;YAApE,iBAIC;YAJmB,UAAK,GAALA,OAAK,CAAY;YAAU,WAAM,GAAN,MAAM,CAAe;YA1CpE,YAAO,GAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5CC,YAAM,CAACC,aAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACxD,CAAC;YACF,aAAQ,GAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,CAC7CD,YAAM,CAACC,aAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EACvDC,aAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAA,CAAC,CACb,CAAC;YACF,cAAS,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CACxCF,YAAM,CAACG,eAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EACzDC,aAAG,CAAC,UAAA,CAAC;gBACH,KAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;aACnB,CAAC,CACH,CAAC;YACF,mBAAc,GAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAC7CJ,YAAM,CAACK,oBAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC9DD,aAAG,CAAC,UAAA,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aACxB,CAAC,CACL,CAAC;YACF,UAAK,GAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CACtCJ,YAAM,CAACM,WAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EACrDF,aAAG,CAAC,UAAA,CAAC;gBACH,KAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aACf,CAAC,CACH,CAAC;YACF,YAAO,GAA4B,IAAI,CAAC,KAAK,CAAC,IAAI,CAChDJ,YAAM,CAACO,aAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EACvDH,aAAG,CAAC,UAAA,CAAC;gBACH,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB,CAAC,CACH,CAAC;YACF,gBAAW,GAAuB,IAAI,CAAC,KAAK,CAAC,IAAI,CAC/CJ,YAAM,CAACQ,iBAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC5D,CAAC;YACF,WAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CACvCR,YAAM,CAACS,YAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACvD,CAAC;YAEF,WAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CACrCT,YAAM,CAACU,YAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACzD,CAAC;YAGA,IAAIC,wBAAgB,CAAC,KAAK,EAAE;gBAC1B,IAAI,CAAC,KAAK,GAAGA,wBAAgB,CAAC,KAAK,CAAC;aACrC;SACF;QAED,2BAAM,GAAN,UAAO,IAAO;YACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,MAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;SACnE;QAED,+BAAU,GAAV,UAAW,KAAe,EAAE,OAA+B;YACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,UAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC,CAAC;SACrF;QAED,yBAAI,GAAJ,UAAK,MAA0B;YAA1B,uBAAA,EAAA,aAA0B;YAC7B,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBACzB,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;aACnC;YAED,IAAM,UAAU,oCACV,MAAM,GAAG,MAAM,GAAG,EAAE,MACxB,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,GACzD,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,IAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;SACvE;QAED,2BAAM,GAAN,UAAO,EAAU;YACf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,MAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;SACjE;QAED,6BAAQ,GAAR;YACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,QAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SAC/D;QAED,gCAAW,GAAX,UAAY,KAAe;YACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,WAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;SACzE;QAED,2BAAM,GAAN,UAAO,IAAO;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAACC,MAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;SACxE;QAED,2BAAM,GAAN,UAAO,MAA0B,EAAE,MAAa;YAAzC,uBAAA,EAAA,aAA0B;YAAE,uBAAA,EAAA,aAAa;YAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAACC,UAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;SACtF;QAED,kCAAa,GAAb,UAAc,IAAiC;YAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAACC,aAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;SAC/E;QAED,sCAAiB,GAAjB,UAAkB,KAAoC;YACpD,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAACC,iBAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;SACpF;QAED,2BAAM,GAAN,UAAO,EAAU;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAACC,UAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;SAC1E;QAEO,6BAAQ,GAAR;YACN,IAAIX,wBAAgB,CAAC,KAAK;gBAAE,OAAOA,wBAAgB,CAAC,KAAK,CAAC;YAE1D,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;;;;;gBAjHFb,aAAU;;;;;;;;;;gBAfMyB,WAAK;gBAQb,UAAU;;;;QCK6C,mCAAa;QAO3E,yBACY,MAAqB,EACrB,cAA8B,EAC9B,YAA0B,EAC1B,UAAsB;YAJlC,YAME,iBAAO,SACR;YANW,YAAM,GAAN,MAAM,CAAe;YACrB,oBAAc,GAAd,cAAc,CAAgB;YAC9B,kBAAY,GAAZ,YAAY,CAAc;YAC1B,gBAAU,GAAV,UAAU,CAAY;YATlC,4BAAsB,GAAmB,KAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC7E,6BAAuB,GAAmB,KAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAE/E,cAAQ,GAAwB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;;SASpD;QAED,kCAAQ,GAAR;YACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACzC;QAEO,iDAAuB,GAAvB,UAAwB,MAAc;YAAtC,iBAkBP;YAjBC,OAAO;gBACL,KAAK,EAAE;oBACL,KAAI,CAAC,MAAM,CAAC,MAAM,iCACb,KAAI,CAAC,MAAM,CAAC,MAAM,KACrB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,KACV,MAAM,CAAC,CAAC;oBAEX,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAA,GAAG;wBACpD,IAAI,CAAC,GAAG;4BAAE,OAAO;wBACjB,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;wBAC5B,YAAY,CAAC,WAAW,EAAE,CAAC;qBAC5B,CAAC,CAAC;iBACJ;gBACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,MAAM,EAAE,OAAO;aAChB,CAAA;SACF;;KAtCH,CAAgEC,qBAAa;;;gBAL5EC,YAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,uPAAsC;;iBAEvC;;;;;;;;;;gBANO,UAAU;gBAHqBC,sBAAc;gBAAEC,oBAAY;gBAHhDC,aAAU;;;;QCiB3B;YALA,cAAS,GAAGC,gBAAS,CAAC;SAKN;QAEhB,kCAAQ,GAAR,eAAmB;;;;;gBAbpBJ,YAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,qqCAAsC;;iBAEvC;;;;;;;;;;;;uBAIEK,QAAK;yBACLA,QAAK;;;ICZR;;;;QAGA;SAEC;8CAAA;KAAA,IAAA;IAED;;;QAGa,iCAAiC,GAAG,IAAIC,iBAAc,CAEjE,mCAAmC;;ICCrC;QA+DE,uBACY,MAAqB,EACvB,MAAqB,EAGrB,0BAA2D;YAJzD,WAAM,GAAN,MAAM,CAAe;YACvB,WAAM,GAAN,MAAM,CAAe;YAGrB,+BAA0B,GAA1B,0BAA0B,CAAiC;SACjE;QA/DJ,sBAAI,gCAAK;iBAAT;gBAAA,iBAaC;gBAZC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;yBACnB,MAAM,CACL,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,KAAI,CAAC,IAAI,CAAC,IAAI,GAAA,CAC5D;yBACA,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAA,CAAC,CAAC;iBACxB;gBAED,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAClC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,KAAI,CAAC,IAAI,CAAC,IAAI,GAAA,CAC5D,CAAC;gBACF,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;aACrB;iBAED,UAAU,GAAQ;gBAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aACnB;;;WAJA;QAMD,sBAAI,mCAAQ;iBAAZ;gBAAA,iBAaC;gBAZC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;yBACnB,MAAM,CACH,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAA,CACpD;yBACA,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAA,CAAC,CAAC;iBACxB;gBAED,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAChC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAA,CACpD,CAAC;gBACF,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;aACrB;iBAED,UAAa,GAAQ;gBACnB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACzB;;;WAJA;QAMD,sBAAI,mCAAQ;iBAAZ;gBAAA,iBAaC;gBAZC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;yBACnB,MAAM,CACH,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAA,CACpD;yBACA,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAA,CAAC,CAAC;iBACxB;gBAED,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAChC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAA,CACpD,CAAC;gBACF,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;aACrB;iBAED,UAAa,GAAQ;gBACnB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACzB;;;WAJA;QAeD,+BAAO,GAAP,UAAQ,GAAQ,EAAE,IAAW;YAA7B,iBAoCC;YApCiB,qBAAA,EAAA,WAAW;YAC3B,IAAI,CAAC,IAAI;gBAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAEjC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB,IAAI,CAAC,eAAe,CAAC,GAAS,EAAE,IAAI,CAAC,CAAC;gBACtC,OAAO;aACR;YAED,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9B,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAA,CACpD,CAAC;YAEF,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE;gBACnD,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACpC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,OAAO;aACR;YAED,IAAI,CAAC,KAAK,EAAE;gBACV,KAAK,GAAG;oBACN,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;oBAClB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;iBACZ,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;YAED,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;YAClB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAE9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/B;QAED,gCAAQ,GAAR;YACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QAEO,yCAAiB,GAAjB;YACN,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAE7C,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACnC,IAAM,yBAAyB,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxF,IAAI,yBAAyB,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACvE,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5D;YAED,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;SACrC;QAEO,mCAAW,GAAX;;YACN,QAAQ,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,MAAKF,gBAAS,CAAC,KAAK,EAAE;SACnD;QAEO,uCAAe,GAAf,UAAgB,IAAQ,EAAE,IAAI;YAA9B,iBA4BP;YA3BC,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CACpC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAA,CACpD,CAAC;YAEF,OAAO,CAAC,OAAO,CAAC,UAAA,KAAK;gBACnB,IAAM,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACd,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACpC;aACF,CAAC,CAAC;YAEH,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,OAAO;aACR;YAED,IAAI,CAAC,OAAO,CAAC,UAAA,GAAG;gBACd,IAAM,KAAK,GAAG;oBACZ,GAAG,EAAE,KAAI,CAAC,IAAI,CAAC,GAAG;oBAClB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,GAAG;iBACX,CAAC;gBAEF,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/B;;;;;gBA/JFG,YAAS;;;;;;;;;;gBAPF,UAAU;gBAKV,UAAU;gBAFhB,+BAA+B,uBAuE5BC,WAAQ,YACRC,SAAM,SAAC,iCAAiC;;;;uBAhE1CJ,QAAK;yBACLA,QAAK;;IAoEN;QADCK,yBAAQ,CAAC,GAAG,CAAC;;;;gDAqCb;;;QChHiE,uCAAgB;QAApF;;;QACE,sBAAI,8CAAa;iBAAjB;;gBACE,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,GAAG,CAAC;aAChC;;;WAAA;QAED,sBAAI,4CAAW;iBAKf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;iBAPD,UAAgB,GAAG;;gBACjB,IAAM,UAAU,GAAGC,iBAAM,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,CAAA,MAAC,GAAc,0CAAE,MAAM,KAAI,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;aAC5G;;;WAAA;QAMD,sBAAI,+CAAc;iBAKlB;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;iBAPD,UAAmB,GAAG;;gBACpB,IAAM,UAAU,GAAGA,iBAAM,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,GAAG,CAAA,MAAC,GAAc,0CAAE,MAAM,KAAI,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;aAC/G;;;WAAA;QAMD,sBAAI,+CAAc;iBAKlB;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;iBAPD,UAAmB,GAAG;;gBACpB,IAAM,UAAU,GAAGA,iBAAM,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,GAAG,CAAA,MAAC,GAAc,0CAAE,MAAM,KAAI,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;aAC/G;;;WAAA;;KA1BH,CAAoE,aAAgB;;;gBALnFX,YAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,+kBAAoC;;iBAErC;;;;QCE2E,+CAAsB;QALlG;YAAA,6EAkCC;YA3BS,oBAAc,GAAG,IAAIY,iBAAY,EAAE,CAAC;YAE5C,cAAQ,GAAG,KAAK,CAAC;;SAyBlB;QArBC,0CAAI,GAAJ;YACE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;SAC5B;QAED,8CAAQ,GAAR;YAAA,iBAUC;YATC,iBAAM,QAAQ,WAAE,CAAC;YAEjB,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,GAAgB;oBAC/E,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;iBACrC,CAAC,CAAC,CAAC;aACL;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC5C;SACF;QAED,iDAAW,GAAX;YACE,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;aACnC;SACF;;KA5BH,CAA4E,mBAAsB;;;gBALjGZ,YAAS,SAAC;oBACT,QAAQ,EAAE,kCAAkC;oBAC5C,8tGAA8C;;iBAE/C;;;;iCAOEa,YAAS,SAACC,qBAAW,EAAE,EAAE,IAAI,EAAEA,qBAAW,EAAE,MAAM,EAAE,KAAK,EAAE;;;;QCVO,wCAAgB;QAArF;;;;KAAA,CAAqE,aAAgB;;;gBALpFd,YAAS,SAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,gmCAAqC;;iBAEtC;;;;QCGmE,uCAAgB;QAApF;;;;KAAA,CAAoE,aAAgB;;;gBALnFA,YAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,4dAAoC;;iBAErC;;;;QCCmE,uCAAgB;QAApF;;;;KAAA,CAAoE,aAAgB;;;gBALnFA,YAAS,SAAC;oBACP,QAAQ,EAAE,wBAAwB;oBAClC,qjBAAoC;;iBAEvC;;;;QCIoE,wCAAgB;QAArF;;;QAGI,iDAAkB,GAAlB;YAAA,iBASC;YARG,IAAI,CAAC,KAAK,GAAGe,kBAAa,CAAC,CAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACxEtC,aAAG,CAAC,UAAC,EAAe;oBAAf,KAAA,aAAe,EAAd,aAAa,QAAA;gBACf,OAAO,aAAa,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,QAAC;oBAC7B,KAAK,EAAE,GAAG;oBACV,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,GAAG,CAAC,EAAE,GAAA,CAAC;iBAC9C,IAAC,CAAC,CAAA;aACN,CAAC,EACJ,CAAC;SACN;QAED,4CAAa,GAAb,UAAc,OAAgB,EAAE,KAAuC;YACnE,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,GAAA,CAAC,EAAE;gBACxD,IAAI,CAAC,KAAK,0CACH,IAAI,CAAC,KAAK;oBACb,KAAK,CAAC,KAAK,CAAC,EAAE;kBACjB,CAAA;aACJ;YAED,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,GAAA,CAAC,EAAE;gBACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,GAAA,CAAC,CAAC;aAC7D;SACJ;;KAzBL,CAAqE,aAAgB;;;gBALpFuB,YAAS,SAAC;oBACP,QAAQ,EAAE,yBAAyB;oBACnC,+jCAAqC;;iBAExC;;;;QCCkE,sCAAgB;QALnF;YAAA,6EAwBC;YAjBS,oBAAc,GAAG,IAAIY,iBAAY,EAAE,CAAC;YAE5C,cAAQ,GAAG,KAAK,CAAC;;SAelB;QAbC,sBAAI,6CAAa;iBAAjB;;gBACE,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,GAAG,CAAC;aAChC;;;WAAA;QAED,qCAAQ,GAAR;YACE,iBAAM,QAAQ,WAAE,CAAC;SAClB;QAED,wCAAW,GAAX;YACE,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;aACnC;SACF;;KAlBH,CAAmE,aAAgB;;;gBALlFZ,YAAS,SAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,o8DAAmC;;iBAEpC;;;ICID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsEE,0BACY,WAAwB,EACxB,MAAqB,EACrB,MAAqB,EACrB,YAA0B,EAC1B,UAAsB;YAJtB,gBAAW,GAAX,WAAW,CAAa;YACxB,WAAM,GAAN,MAAM,CAAe;YACrB,WAAM,GAAN,MAAM,CAAe;YACrB,iBAAY,GAAZ,YAAY,CAAc;YAC1B,eAAU,GAAV,UAAU,CAAY;SAC7B;QAEC,kCAAO,GAAP;;;;gCACJ,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAA;;4BAAjC,SAAiC,CAAC;;;;aACnC;SAAA;QAED,mCAAQ,GAAR;YACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE1C,IAAM,YAAY,GAAGgB,sBAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAE/D,IAAI,CAAC,IAAI,2CACD,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,UAAA,IAAI;gBACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;iBAClC;gBACD,OAAO,IAAI,CAAC;aACb,CAAC,GAAG,EAAE,YACJC,gCAAyB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;iBAC/C,MAAM,CAAC,UAAA,IAAI,gBAAI,OAAA,MAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,IAA2B,0CAAE,MAAM,CAAA,EAAA,CAAC;iBAClE,GAAG,CAAC,UAAA,IAAI,IAAI,QAAC;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,KAAKb,gBAAS,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAKA,gBAAS,CAAC,QAAQ;sBAChF,IAAY,GAAG,GAAU;gBAC/B,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG;gBAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aAC7B,IAAC,CAAC,EACV,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SACpC;;;;;gBAlDFJ,YAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,itBAAuC;;iBAExC;;;;;;;;;;gBAzEoBkB,mBAAW;gBAWxB,UAAU;gBACV,UAAU;gBAZgBhB,oBAAY;gBAH3BC,aAAU;;;;2BAqF1BE,QAAK;;;;QCnEN,gCACqB,MAAuB,EAChC,YAA0B,EAC1B,UAAsB;YAFb,WAAM,GAAN,MAAM,CAAiB;YAChC,iBAAY,GAAZ,YAAY,CAAc;YAC1B,eAAU,GAAV,UAAU,CAAY;SAC7B;QAEL,8CAAa,GAAb,UAAc,IAA0B;YACtC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACtC;QAED,yCAAQ,GAAR;YACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAClC5B,aAAG,CAAC,UAAA,MAAM;;gBACR,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,MAAM,GAAA,CAAC,CAAC;aAC9C,CAAC,CACL,CAAC;SACH;;;;;gBA9BFuB,YAAS,SAAC;oBACT,QAAQ,EAAE,2BAA2B;oBACrC,qiBAA8C;;iBAE/C;;;;;;;;;;gBANQ,UAAU;gBAHXE,oBAAY;gBALDC,aAAU;;;;QCyCzB,8BACY,MAAqB,EACtB,MAAqB,EACpB,WAAwB;YAHpC,iBAwBC;YAvBW,WAAM,GAAN,MAAM,CAAe;YACtB,WAAM,GAAN,MAAM,CAAe;YACpB,gBAAW,GAAX,WAAW,CAAa;YArBpC,kBAAa,GAAmB;gBAC5B,KAAK,EAAE;;qCAUN;;;;gCATS,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI;oCAC9B,uCACO,KAAI,CAAC,QAAQ,KAChB,EAAE,EAAE,IAAI,CAAC,EAAE,IACd;iCACJ,CAAC,CAAC;gCAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gCACtC,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAA;;gCAAjC,SAAiC,CAAC;;;;iBACrC,CAAA,GAAA;gBACD,OAAO,EAAE,IAAI;aAChB,CAAA;YAUG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CACxCxB,aAAG,CAAC,UAAA,IAAI;gBACJ,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAM,KAAK,GAAG,IAAI,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAErC,IAAM,iBAAiB,GAAGsC,gCAAyB,CAAC,KAAK,CAAC;qBACrD,MAAM,CAAC,UAAA,CAAC,YAAI,OAAA,MAAC,CAAC,CAAC,OAAO,CAAC,MAA6B,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;gBAElE,iBAAiB,CAAC,OAAO,CAAC,UAAC,EAAO;wBAAL,GAAG,SAAA;oBAC5B,IAAM,OAAO,GAAGE,YAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC,CAAC;oBAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;wBACtB,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC3B;iBACJ,CAAC,CAAC;gBAEH,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aACrB,CAAC,CACL,CAAC;SACL;QAEK,sCAAO,GAAP;;;;gCACF,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAA;;4BAAjC,SAAiC,CAAC;;;;aACrC;SAAA;QAED,8CAAe,GAAf,UAAgB,OAAmB,EAAE,IAAc;YAC/C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SAC3B;QAED,4CAAa,GAAb,UAAc,KAAc;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;QAED,uCAAQ,GAAR;SAEC;;;;;gBAvEJnB,YAAS,SAAC;oBACP,QAAQ,EAAE,wBAAwB;oBAClC,61BAA2C;;iBAE9C;;;;;;;;;;gBAPO,UAAU;gBACV,UAAU;gBAHMkB,mBAAW;;;;QCI/B,8BAAoB,MAAqB;YAArB,WAAM,GAAN,MAAM,CAAe;YAFjC,eAAU,GAA0B,EAAE,CAAC;SAG9C;QAED,qCAAM,GAAN,UAAO,GAAG,EAAE,IAAoB,EAAE,MAA6B,EAAE,KAAc;YAC3E,IAAI,GAAG,IAAI,KAAK,EAAE;gBACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,GAAA,CAAC,CAAC;gBAEvF,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO,GAAG;wBACN,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,IAAI;qBACd,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1C;gBAED,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,iCACT,IAAI,CAAC,MAAM,CAAC,MAAM,KACrB,MAAM,EAAE,CAAC,IACX,CAAC;aACN;SACJ;QAED,sCAAO,GAAP,UAAQ,MAA6B;YACjC,IAAI,CAAC,UAAU,2CACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE,YACvC,MAAM,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,GAAA,CAAC,EACnC,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;QAGO,sCAAO,GAAP;YACJ,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,GAAA,CAAC,GAAA,CAAC,CAAC;YAExF,IAAI,CAAC,MAAM,CAAC,IAAI,iCACT,IAAI,CAAC,MAAM,CAAC,MAAM,KACrB,KAAK,EAAE,QAAQ,IACjB,CAAA;SACL;;;;;gBApDJ7C,aAAU;;;;;;;;;;gBAFF,UAAU;;IA4Cf;QADC+C,yBAAQ,CAAC,GAAG,CAAC;;;;uDAWb;;;QC7C0D,kCAAa;QAIxE,wBACY,YAA0B,EAC1B,UAAsB,EACtB,MAAqB,EACrB,EAAqB,EACrB,YAAqC;YALjD,YAOI,iBAAO,SACV;YAPW,kBAAY,GAAZ,YAAY,CAAc;YAC1B,gBAAU,GAAV,UAAU,CAAY;YACtB,YAAM,GAAN,MAAM,CAAe;YACrB,QAAE,GAAF,EAAE,CAAmB;YACrB,kBAAY,GAAZ,YAAY,CAAyB;;SAGhD;QAED,+BAAM,GAAN,UAAO,GAAG,EAAE,IAAoB,EAAE,KAAa;YAA/C,iBAgBC;YAhBiC,sBAAA,EAAA,aAAa;YAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,GAAA,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;gBAC3E,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAExD,IAAI,GAAG,EAAE;gBACL,UAAU,CAAC;oBACP,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;oBAChB,KAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;iBAC3B,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;gBAChB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;aAC3B;SACJ;QAED,iCAAQ,GAAR;YACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC3C;QAED,oCAAW,GAAX;YACI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,iBAAM,WAAW,WAAE,CAAC;SACvB;;KAvCL,CAA+DrB,qBAAa;;;gBAL3EC,YAAS,SAAC;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,uoBAAqC;;iBAExC;;;;;;;;;;gBAXoCE,oBAAY;gBAFXC,aAAU;gBAMxC,UAAU;gBANVkB,oBAAiB;gBAOjB,oBAAoB;;;;yBAQvBhB,QAAK;8BACLA,QAAK;;;;QCXV;;;;;;gBADChC,aAAU;;;QAeX;;;;;;gBADCA,aAAU;;;;QCHT,yBAGU,0BAA2D;YAA3D,+BAA0B,GAA1B,0BAA0B,CAAiC;SACjE;QAEJ,mCAAS,GAAT,UACE,IAAO,EACP,IAAY,EACZ,IAAS,EACT,cAAmE,EACnE,eAAkE;YAElE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEhC,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,IAAI,IAAI,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBAC3C,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC3D;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,aAAa,eAAA;oBACb,eAAe,iBAAA;oBACf,cAAc,gBAAA;oBACd,KAAK,EAAE,IAAI,IAAI,EAAE;iBAClB,CAAC;aACH;iBAAM;gBACL,IAAM,OAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBAEzB,IAAI,IAAI,EAAE;oBACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;wBAC5B,OAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;qBACxB,CAAC,CAAC;iBACJ;gBAED,OAAO;oBACL,IAAI,EAAE,IAAI;oBACV,cAAc,gBAAA;oBACd,aAAa,EAAE,aAAa;oBAC5B,eAAe,iBAAA;oBACf,KAAK,EAAE,OAAK;iBACb,CAAC;aACH;SACF;;;;;gBAnDFiD,OAAI,SAAC;oBACJ,IAAI,EAAE,kBAAkB;iBACzB;;;;;;;;;;gBALC,+BAA+B,uBAS5Bd,WAAQ,YACRC,SAAM,SAAC,iCAAiC;;;;QCL7C;;;;;;gBARCc,WAAQ,SAAC;oBACN,YAAY,EAAE;wBACV,eAAe;qBAClB;oBACD,OAAO,EAAE;wBACL,eAAe;qBAClB;iBACJ;;;;QCOC,qBACY,MAAqB,EACrB,IAAgB,EACJ,MAAwB;YAFpC,WAAM,GAAN,MAAM,CAAe;YACrB,SAAI,GAAJ,IAAI,CAAY;YACJ,WAAM,GAAN,MAAM,CAAkB;YARtC,eAAU,GAAG;gBACrB,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,mEAAmE;aAC1E,CAAC;SAME;;;;;;QAQJ,4BAAM,GAAN,UAAO,IAAO;YACZ,OAAO,IAAI,CAAC,IAAI;iBACb,IAAI,CAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;iBAC7D,IAAI,CACH9C,aAAG,CAAC,UAAC,QAAQ;gBACX,IAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBAC3B,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAChC,CAAC,CACH,CAAC;SACL;QAED,gCAAU,GAAV,UACE,KAAe,EACf,OAA+B;YAE/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,EACjD,KAAK,CACN,CAAC;SACH;QAED,6BAAO,GAAP,UAAQ,EAAU;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;SACxD;QAED,6BAAO,GAAP,UACE,MAA0B;YAA1B,uBAAA,EAAA,aAA0B;YAE1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC3C,CAAC;SACH;QAED,gCAAU,GAAV,UAAW,MAA0B,EAAE,MAAM;YAAlC,uBAAA,EAAA,aAA0B;YACnC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,KAAK,CAAC;aAChB;YAED,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,OAAO,IAAI,CAAC,IAAI;qBACb,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC/C,OAAO,EAAE;wBACP,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;qBACxC;oBACD,OAAO,EAAE,UAAU;oBACnB,cAAc,EAAE,KAAK;oBACrB,YAAY,EAAE,MAAM;iBACrB,CAAC;qBACD,IAAI,CACHA,aAAG,CAAC,UAAC,GAAG;oBACN,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACjD,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;oBAEtB,IAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtC,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,YAAY,CAAC,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;oBAEzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACxC,YAAY,CAAC,KAAK,EAAE,CAAC;oBACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBACzC,CAAC,CACH,CAAC;aACL;YAED,OAAO,IAAI,CAAC,IAAI;iBACb,GAAG,CAAS,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACvD,OAAO,EAAE;oBACP,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;iBACxC;gBACD,YAAY,EAAE,MAAgB;aAC/B,CAAC;iBACD,IAAI,CACHA,aAAG,CAAC,UAAC,GAAG;gBACN,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;gBAEvC,IAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtC,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;gBACxB,YAAY,CAAC,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;gBAEzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACxC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;aACzC,CAAC,CACH,CAAC;SACL;QAED,4BAAM,GAAN,UAAO,IAAO;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACtE;QAED,mCAAa,GAAb,UAAc,IAAiC;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACxE;QAED,uCAAiB,GAAjB,UAAkB,KAAsC;YAAxD,iBAIC;YAHC,OAAO+C,aAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI;gBAC1B,OAAO,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aACnC,CAAC,CAAC,CAAC;SACL;QAED,4BAAM,GAAN,UAAO,EAAU;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;SAC9D;QAES,8BAAQ,GAAR,UAAS,MAAmB;YACpC,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC/B,KAAK,IAAI,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;aAC1C;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE;gBAC1B,KAAK,IAAI,YAAU,MAAM,CAAC,KAAK,iBAC7B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAClC,CAAE,CAAC;aACJ;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBAC3B,KAAK,IAAI,YAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,CAAE,CAAC;aAClE;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE;gBAC1B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;oBACnB,IACI,CAAC,CAAC,KAAK;4BACH,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;2BAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;2BACxB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;2BAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EACvB;wBACE,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAG,MAAI,CAAC,CAAC,KAAK,MAAG,CAAA,CAAC;qBAClD;yBAAM;wBACH,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;qBAC3C;iBACJ,CAAC,CAAC;aACJ;YAED,OAAO,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;SAClD;;;;;gBAhKFnD,aAAU;;;;;;;;;;gBAJF,UAAU;gBALVoD,eAAU;gBAOV,aAAa,uBAYjBjB,WAAQ;;;;QCNX,qBACU,QAAwB,EACxB,OAAuB,EACvB,MAAqB,EACrB,KAAiB,EACjB,KAAiB;YAJjB,aAAQ,GAAR,QAAQ,CAAgB;YACxB,YAAO,GAAP,OAAO,CAAgB;YACvB,WAAM,GAAN,MAAM,CAAe;YACrB,UAAK,GAAL,KAAK,CAAY;YACjB,UAAK,GAAL,KAAK,CAAY;SACvB;QAEJ,0BAAI,GAAJ;YAAA,iBAoUC;YAnUC,IAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAEtE,IAAI,QAAQ;gBAAE,OAAO;YAErB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAE9D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAC,MAAoB;gBAC3C,QAAQ,MAAM,CAAC,IAAI;oBACjB,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,aAAU;wBACnC,KAAI,CAAC,OAAO;6BACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;6BACnB,IAAI,CACH7B,aAAG,CAAC,cACF,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjB+C,aAAyB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAC3D,GAAA,CACF,EACDC,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBC,aAAyB,CACvB,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,IAAI,EACX,KAAK,CACN,CACF,CAAC;4BACF,OAAOC,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,qBAAkB;wBAC3C,IAAM,WAAW,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC9D,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBxC,IAAgB,CACd,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,WAAW,CAAC,MAAM,mCAAQ,WAAW,CAAC,MAAM,KAAE,MAAM,EAAE,CAAC,MAAK,IAAI,CACjE,CACF,CAAC;wBACF,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,kBAAe;wBACxC,KAAI,CAAC,OAAO;6BACT,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;6BAClD,IAAI,CACHV,aAAG,CAAC,cACF,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBmD,iBAA6B,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE;4BAChD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;4BACxB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;yBAC7B,CAAC,CACH,GAAA,CACF,EACDH,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBI,iBAA6B,CAC3B,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB;gCACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;gCACxB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;6BAC7B,EACD,KAAK,CACN,CACF,CAAC;4BACF,OAAOF,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,0BAAuB;wBAChD,IAAM,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAClE,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBxC,IAAgB,CACd,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,eAAe,CAAC,MAAM;8DACb,eAAe,CAAC,MAAM,KAAE,MAAM,EAAE,CAAC,MACtC,IAAI,CACT,CACF,CAAC;wBACF,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,WAAQ;wBACjC,KAAI,CAAC,OAAO;6BACT,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;6BACtB,IAAI,CACHV,aAAG,CAAC,UAAC,MAAM,IACT,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBqD,WAAuB,CACrB,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,MAAM,EACb,MAAM,CACP,CACF,GAAA,CACF,EACDL,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBM,WAAuB,CACrB,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,MAAM,EACb,KAAK,CACN,CACF,CAAC;4BACF,OAAOJ,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,aAAU;wBACnC,KAAI,CAAC,OAAO;6BACT,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;6BACxC,IAAI,CACHlD,aAAG,CAAC,UAAC,MAAM,IACT,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBuD,iBAA6B,CAC3B,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,MAAM,CACd,CACF,GAAA,CACF,EACDP,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBQ,iBAA6B,CAC3B,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,MAAM,EACb,KAAK,CACN,CACF,CAAC;4BACF,OAAON,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,aAAU;wBACnC,KAAI,CAAC,OAAO;6BACT,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;6BAClB,IAAI,CACHlD,aAAG,CAAC,UAAC,MAAM,IACT,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjByD,aAAyB,CACvB,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,EAAE,EACT,MAAM,CACP,CACF,GAAA,CACF,EACDT,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBU,aAAyB,CACvB,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,EAAE,EACT,KAAK,CACN,CACF,CAAC;4BACF,OAAOR,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,aAAU;wBACnC,KAAI,CAAC,OAAO;6BACT,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;6BAC1B,IAAI,CACHlD,aAAG,CAAC,cACF,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjB2D,aAAyB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAC3D,GAAA,CACF,EACDX,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBY,aAAyB,CACvB,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,IAAI,EACX,KAAK,CACN,CACF,CAAC;4BACF,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAClD,IAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;4BAC1D,OAAOwC,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,qBAAkB;wBAC3C,KAAI,CAAC,KAAK;6BACP,IAAI,CAACtD,YAAM,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAEiE,eAAK,EAAE,CAAC;6BACxD,SAAS,CAAC,UAAC,MAAM;4BAChB,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBnD,IAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,kCAC9B,MAAM,KACT,MAAM,EAAE,CAAC,IACT,CACH,CAAC;4BAEF,KAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,MAAkB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC7E,CAAC,CAAC;wBACL,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,qBAAkB;wBAC3C,KAAI,CAAC,OAAO;6BACT,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;6BAC1B,IAAI,CACHX,aAAG,CAAC,cACF,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjB8D,oBAAgC,CAC9B,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,IAAI,CACZ,CACF,GAAA,CACF,EACDd,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBe,oBAAgC,CAC9B,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,IAAI,EACX,KAAK,CACN,CACF,CAAC;4BACF,KAAI,CAAC,KAAK,CAAC,QAAQ,CAACrD,IAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;4BAC1D,OAAOwC,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,6BAA0B;wBACnD,KAAI,CAAC,KAAK;6BACP,IAAI,CAACtD,YAAM,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAEiE,eAAK,EAAE,CAAC;6BACxD,SAAS,CAAC,UAAC,MAAM;4BAChB,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBnD,IAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,kCAC9B,MAAM,KACT,MAAM,EAAE,CAAC,IACT,CACH,CAAC;4BAEF,KAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,MAAkB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC7E,CAAC,CAAC;wBACL,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,0BAAuB;wBAChD,KAAI,CAAC,OAAO;6BACT,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;6BAC/B,IAAI,CACHX,aAAG,CAAC,cACF,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBgE,wBAAoC,CAClC,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,KAAK,CACb,CACF,GAAA,CACF,EACDhB,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBiB,wBAAoC,CAClC,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,KAAK,EACZ,KAAK,CACN,CACF,CAAC;4BACF,KAAI,CAAC,KAAK,CAAC,QAAQ,CAACvD,IAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;4BAC1D,OAAOwC,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,kCAA+B;wBACxD,KAAI,CAAC,KAAK;6BACP,IAAI,CAACtD,YAAM,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAEiE,eAAK,EAAE,CAAC;6BACxD,SAAS,CAAC,UAAC,MAAM;4BAChB,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBnD,IAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,kCAC9B,MAAM,KACT,MAAM,EAAE,CAAC,IACT,CACH,CAAC;yBACH,CAAC,CAAC;wBACL,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,aAAU;wBACnC,KAAI,CAAC,OAAO;6BACT,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;6BACjB,IAAI,CACHV,aAAG,CAAC,cACF,OAAA,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBkE,aAAyB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CACzD,GAAA,CACF,EACDlB,oBAAU,CAAC,UAAC,KAAK;4BACf,KAAI,CAAC,KAAK,CAAC,QAAQ,CACjBmB,aAAyB,CACvB,KAAI,CAAC,MAAM,CAAC,MAAM,EAClB,MAAM,CAAC,EAAE,EACT,KAAK,CACN,CACF,CAAC;4BACF,OAAOjB,OAAE,EAAE,CAAC;yBACb,CAAC,CACH;6BACA,SAAS,EAAE,CAAC;wBACf,MAAM;oBAER,KAAK,MAAI,KAAI,CAAC,MAAM,CAAC,MAAM,qBAAkB;wBACzC,KAAI,CAAC,KAAK;6BACL,IAAI,CAACtD,YAAM,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAEiE,eAAK,EAAE,CAAC;6BACxD,SAAS,CAAC,UAAC,MAAM;4BACd,KAAI,CAAC,KAAK,CAAC,QAAQ,CACfnD,IAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,kCAC5B,MAAM,KACT,MAAM,EAAE,CAAC,IACX,CACL,CAAC;yBACL,CAAC,CAAC;wBACT,MAAM;oBAER;wBACE,MAAM;iBACT;aACF,CAAC,CAAC;SACJ;;;;;gBA9UFhB,aAAU;;;;;;;;;;gBARM0E,oBAAc;gBAEtB,WAAW;gBAGX,UAAU;gBAL6BjD,WAAK;gBAAZkD,WAAK;;;;QCQ5C,mCAA6B,MAAqB;YAArB,WAAM,GAAN,MAAM,CAAe;SAAI;QAEhD,0CAAM,GAAN,UAAO,OAOZ;;iCAoEA;;oBAnEC,sBAAO;4BACL,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,YAAY,EAAE;gCACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI;oCACnE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAEhC,OAAO,IAAI,OAAO,CAAC,UAAC,GAAG;oCACrB,IAAM,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAC,CAAC;wCAC1C,IAAI,CAAC,EAAE;;4CAEL,UAAU,CAAC;gDACT,GAAG,CACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;oDACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CACnC,CAAC;6CACH,CAAC,CAAC;yCACJ;qCACF,CAAC,CAAC;oCAEH,KAAI,CAAC,MAAM,CAAC,IAAI,iCACX,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,KAC/B,MAAM,EACJ,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM;4CACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,IACpC,CAAC;iCACJ,CAAC,CAAC;6BACJ;4BACD,YAAY,EAAE;gCACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI;oCACnE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAEhC,OAAO,IAAI,OAAO,CAAC,UAAC,GAAG;oCACrB,IAAM,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAC,CAAC;wCAC1C,IAAI,CAAC,EAAE;;4CAEL,UAAU,CAAC;gDACT,GAAG,CACD,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;oDACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CACnC,CAAC;6CACH,CAAC,CAAC;yCACJ;qCACF,CAAC,CAAC;oCAEH,KAAI,CAAC,MAAM,CAAC,IAAI,iCACX,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,KAC/B,MAAM,EACJ,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM;4CACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,IACpC,CAAC;iCACJ,CAAC,CAAC;6BACJ;4BACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAC7BvE,aAAG,CAAC,UAAC,CAAC;gCACJ,OAAO,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,IAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;6BAC9C,CAAC,CACH;4BACD,WAAW,EAAEsC,kBAAa,CACxB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,WAAW,CACxB,CAAC,IAAI,CACJtC,aAAG,CAAC,UAAC,EAAoB;oCAApB,KAAA,aAAoB,EAAnB,MAAM,QAAA,EAAE,UAAU,QAAA;gCACtB,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,IAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;6BACjE,CAAC,CACH;yBACF,EAAC;;aACH;SAAA;;;;;gBA/EFJ,aAAU;;;;;;;;;;gBAHH,UAAU;;;ICoBlB,IAAM,UAAU,GAAG;QACf,eAAe;QACf,eAAe;QACf,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,2BAA2B;QAC3B,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;QACnB,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,cAAc;KACjB,CAAC;;QA6BF;;;;;;gBA3BCkD,WAAQ,SAAC;oBACN,YAAY,2BACL,UAAU,EAChB;oBACD,OAAO,EAAE;;wBAEL0B,iBAAW;wBACXC,oBAAY;wBACZ,eAAe;wBACfC,iBAAW;wBACXC,mBAAY;qBACf;oBACD,OAAO;wBACH,eAAe;8BACZ,UAAU,EAChB;oBACD,eAAe,2BACR,UAAU,EAChB;oBACD,SAAS,EAAE;wBACP,WAAW;wBACX,WAAW;wBACX,UAAU;wBACV,aAAa;wBACb,yBAAyB;qBAC5B;iBACJ;;;QCrDY,YAAY,GAAe;QACpC,MAAM,EAAE,KAAK;MACf;IAEF,IAAM,WAAW,GAAG,UAAC,KAAoB,EAAE,MAAM,EAAE,MAAM;QAApC,sBAAA,EAAA,oBAAoB;QACrC,QAAQ,MAAM,CAAC,IAAI;YACf,KAAK,MAAI,MAAM,aAAU;gBACrB,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN,KAAK,MAAI,MAAM,kBAAe;gBAC1B,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,0BAAuB;gBAClC,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,0BAAuB;gBAClC,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN,KAAK,MAAI,MAAM,aAAU;gBACrB,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,IACf;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,IACd;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,IACd;YAEN,KAAK,MAAI,MAAM,WAAQ;gBACnB,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,IAAI,EACX,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,mBAAgB;gBAE3B,IAAI,MAAI,GAAG,EAAE,CAAC;gBAEd,IACI,MAAM,CAAC,MAAM;uBACV,MAAM,CAAC,MAAM,CAAC,MAAM;uBACpB,KAAK,CAAC,IAAI;uBACV,MAAM,CAAC,MAAM,CAAC,cAAc,KAAKC,sBAAc,CAAC,UAAU,EAC/D;oBACE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC;wBACjB,MAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACf,CAAC,CAAC;oBAEH,MAAI,0CACG,MAAI,WACJ,MAAM,CAAC,MAAM,CAAC,IAAI,EACxB,CAAC;iBACL;qBAAM;oBACH,MAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC7B;gBAED,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,IAAI,QAAA,EACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EACpC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAC1B,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,mBAAgB;gBAC3B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN,KAAK,MAAI,MAAM,aAAU;gBACrB,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,IAAI,EACd,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,MAAM,CAAC,IAAI,EACrB,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN,KAAK,MAAI,MAAM,kBAAe;gBAC1B,uCACO,KAAK,KACR,aAAa,2BAAM,MAAM,CAAC,KAAK,EAAC,IAClC;YAEN,KAAK,MAAI,MAAM,eAAY;gBACvB,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,IAAI,EACd,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,aAAU;gBACrB,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,6BAA0B;gBACrC,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,6BAA0B;gBACrC,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN,KAAK,MAAI,MAAM,0BAAuB;gBAClC,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,kCAA+B;gBAC1C,uCACO,KAAK,KACR,aAAa,EAAE,EAAE,EACjB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,kCAA+B;gBAC1C,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN,KAAK,MAAI,MAAM,aAAU;gBACrB,uCACO,KAAK,KACR,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,IACb;YAEN,KAAK,MAAI,MAAM,qBAAkB;gBAC7B,uCACO,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB;YAEN;gBACI,OAAO,KAAK,CAAC;SACpB;IACL,CAAC,CAAC;;aAEc,UAAU,CAAC,MAAM;QAC7B,OAAO,UAAC,KAAK,EAAE,MAAc;YACzB,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SAC7C,CAAA;IACL;;;QC9PI,qBACY,WAAwB,EACxB,MAAyB;YADzB,gBAAW,GAAX,WAAW,CAAa;YACxB,WAAM,GAAN,MAAM,CAAmB;SAChC;QAEL,sCAAgB,GAAhB;YACI,IAAM,GAAG,GAAsB,IAAI,CAAC,MAAM,CAAC;YAC3C,IAAM,YAAY,GAAGrC,sBAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE/C,IACI,GAAG,CAAC,GAAG;gBACP,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,MAAM,CAAC,WAAW;gBAC/B,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EACtE;gBACE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;aACnB;YAED,IACI,GAAG,CAAC,IAAI;gBACR,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,MAAM,CAAC,WAAW;gBAC/B,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EACtE;gBACE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;aACpB;YAED,IACI,GAAG,CAAC,MAAM;gBACV,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,MAAM,CAAC,WAAW;gBAC/B,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EACtE;gBACE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;aACtB;SACJ;;;;;gBArCJ3C,aAAU;;;;;;;;;;gBALHiF,mBAAW;gBAGV,cAAc;;;;QCEvB;YAIY,kBAAa,GAAG,IAAIC,oBAAe,CAAuB,IAAI,CAAC,CAAC;YAChE,mBAAc,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;YAW7D,aAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YAE9C,YAAO,GAAqCxC,kBAAa,CAAC;gBACtD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,QAAQ;aACnD,CAAC,CAAC,IAAI,CACHtC,aAAG,CAAC,UAAC,EAAmB;oBAAnB,KAAA,aAAmB,EAAjB,MAAM,QAAA,EAAE,OAAO,QAAA;gBAClB,IAAI,CAAC,OAAO;oBAAE,OAAO,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC;aACjB,CAAC,CACL,CAAC;SASL;QA3BG,sBAAI,qCAAM;iBAAV;gBACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;aACnC;;;WAAA;QAED,sBAAI,sCAAO;iBAAX;gBACI,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;aACpC;;;WAAA;QAaD,qCAAS,GAAT,UAAU,GAAyB;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChC;QAED,sCAAU,GAAV,UAAW,GAAY;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjC;;;;;;gBAjCJJ,aAAU,SAAC;oBACR,UAAU,EAAE,MAAM;iBACrB;;;;QCmDW,iCAAwE;QAuBlF,uBACU,MAAqB,EACrB,MAAc,EACd,sBAAiD,EACjD,QAAkB,EAClB,EAAqB,EACrB,WAAwB,EACxB,eAAgC,EAChC,gBAA8C,EAC9C,YAA0B,EAC1B,UAAsB,EACtB,WAA2B,EAC5B,MAAyB,EACxB,aAAgC,EAChC,SAA2B,EAC3B,wBAAkD;YAf5D,YAiBE,kBAAM,EAAE,EAAE,SAAS,EAAE,wBAAwB,CAAC,SAK/C;YArBS,YAAM,GAAN,MAAM,CAAe;YACrB,YAAM,GAAN,MAAM,CAAQ;YACd,4BAAsB,GAAtB,sBAAsB,CAA2B;YACjD,cAAQ,GAAR,QAAQ,CAAU;YAClB,QAAE,GAAF,EAAE,CAAmB;YACrB,iBAAW,GAAX,WAAW,CAAa;YACxB,qBAAe,GAAf,eAAe,CAAiB;YAChC,sBAAgB,GAAhB,gBAAgB,CAA8B;YAC9C,kBAAY,GAAZ,YAAY,CAAc;YAC1B,gBAAU,GAAV,UAAU,CAAY;YACtB,iBAAW,GAAX,WAAW,CAAgB;YAC5B,YAAM,GAAN,MAAM,CAAmB;YACxB,mBAAa,GAAb,aAAa,CAAmB;YAChC,eAAS,GAAT,SAAS,CAAkB;YAC3B,8BAAwB,GAAxB,wBAAwB,CAA0B;YA9B5D,aAAO,GAA4B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CACzDM,aAAG,CAAC,UAAC,MAAM;gBACT,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;aACtB,CAAC,CACH,CAAC;YASF,qBAAe,GAAG,IAAI6E,YAAS,EAA2B,CAAC;YAqBzD,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,UAAC,KAAK;gBAC7D,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB,CAAC,CAAC;;SACJ;QAED,yCAAiB,GAAjB;YACE,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SAClD;QAEK,gCAAQ,GAAR;;;;;;;gCACJ,qBAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAA;;4BAAzC,SAAyC,CAAC;4BAEtC,SAAS,GAAG,IAAI,CAAC;4BAErB,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,UAAU,MAAK,YAAY,EAAE;gCACjD,SAAS,mBACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,4BAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,EAChE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAC/C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,EACnE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,EACzC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAC7D,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,IAChE,IAAI,CAAC,aAAa,CAAC,MAAM,CAC7B,CAAC;6BACH;iCAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gCACtB,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;6BACzB;iCAAM;gCACL,SAAS,mBACP,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAC/C,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,CAAC,MAAM,0CAAE,KAAK,IAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;0CAC5F,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,EACzC,MAAM,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,CAAC,MAAM,0CAAE,MAAM,KAAI,CAAA,MAAA,IAAI,CAAC,aAAa,CAAC,MAAM,0CAAE,MAAM,MAAK,CAAC;0CAC9E,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,EAC1E,MAAM,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,CAAC,MAAM,0CAAE,MAAM,IAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;0CACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EACxC,QAAQ,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,CAAC,MAAM,0CAAE,QAAQ,IAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,GAAI,IAAI,CAAC,MAAM,CAAC,IAAI;0CAChG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,EAC5C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,4BAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,IAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,CAC7B,CAAC;6BACH;4BAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAEtB,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;4BAExC,IAAI,CAAC,WAAW,GAAG;gCACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gCACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;sCACtB;wCACE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC/E,aAAG,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI,IAAC,CAAC,CAAC;wCAC/D,GAAG,EAAE,UAAC,GAAG;4CACP,IAAI,GAAG,KAAK,KAAI,CAAC,MAAM,CAAC,UAAU;gDAChC,KAAI,CAAC,MAAM,CAAC,IAAI,iCACX,KAAI,CAAC,MAAM,KACd,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,CAAC,IACT,CAAC;yCACN;qCACF;sCACD,IAAI;gCACR,UAAU,EAAE,UAAU;6BACvB,CAAC;4BAGA,qBAAM,IAAI,CAAC,sBAAsB,CAAC,0BAA0B,CAAC;oCAC3D,UAAU,wDACJ,IAAI,CAAC,MAAM,CAAC,OAAO;wCACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;wCACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG;0CACjC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;0CACvC,EAAE,aACF,IAAI,CAAC,MAAM,CAAC,OAAO;wCACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;wCACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM;0CACpC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;0CAC1C,EAAE,aACF,IAAI,CAAC,MAAM,CAAC,IAAI;wCACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;wCAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG;0CAC9B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;0CACpC,EAAE,GACP;iCACF,CAAC,EAAA;;4BAnBE,kBAAkB,GACtB,SAkBE;4BAEJ,KAAA,IAAI,CAAA;;gCACF,QAAQ,EAAE;oCACR,OAAO,EAAE,UAAC,MAAM;wCACd,IAAM,MAAM,mCACP,KAAI,CAAC,MAAM,GACX,MAAM,CACV,CAAC;wCACF,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qCAC1B;oCACD,qBAAqB,EAAE,UAAO,IAAI;;;;0DAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAA,EAA1C,wBAA0C;oDAC5C,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;4DAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;4DACvB,SAAS,EAAE,oBAAoB;yDAChC,CAAC,EAAA;;oDAHF,SAGE,CAAC;;;0DACM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAA,EAA1C,wBAA0C;oDACnD,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAA;;oDAAjC,SAAiC,CAAC;;;oDAGpC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;;;qCAC/B,CAAA,GAAA;oCACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;oCACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAACA,aAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAA,CAAC,CAAC;iCACnD;gCACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI;gCAC7D,IAAI,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI;gCAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gCACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;sCACxB;wCACE,QAAQ,EAAE;4CACR,OAAO,EAAE,UAAC,EAAE;gDACV,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;6CACxB;4CACD,SAAS,EAAE;gDACT,KAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;6CACxB;4CACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;4CAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAACA,aAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAA,CAAC,CAAC;yCACnD;wCACD,kBAAkB,EAAE;4CAClB,GAAG,EACD,IAAI,CAAC,MAAM,CAAC,OAAO;gDACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;gDACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG;kDACjC,kBAAkB,CAAC,IAAI,CACrB,UAAC,EAAE,IACD,OAAA,EAAE,CAAC,SAAS,KAAK,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,GAAA,CACzD,CAAC,OAAO;kDACT,IAAI;4CACV,MAAM,EACJ,IAAI,CAAC,MAAM,CAAC,OAAO;gDACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;gDACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM;kDACpC,kBAAkB,CAAC,IAAI,CACrB,UAAC,EAAE,IACD,OAAA,EAAE,CAAC,SAAS;oDACZ,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,GAAA,CAC3C,CAAC,OAAO;kDACT,IAAI;yCACX;qCACF;sCACD,IAAI;gCACR,IAAI,EACF,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;sCACnC;wCACE,OAAO,EAAE;4CACP,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG;4CAC/D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;yCACvB;qCACF;sCACD,IAAI;gCACV,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;sCACtB;wCACE,QAAQ,EAAE;4CACR,MAAM,EAAE,UAAC,EAAE,IAAK,OAAA,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAA;yCACvC;qCACF;sCACD,IAAI;;4BACI,qBAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;oCAC7C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc;oCACrC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;oCACnC,QAAQ,EAAE;wCACR,SAAS,EAAE;4CACT,OAAO,KAAI,CAAC,MAAM,CAAC;yCACpB;wCACD,QAAQ,EAAE,cAAM,OAAA,KAAI,CAAC,KAAK,GAAA;qCAC3B;iCACF,CAAC,EAAA;;4BAvFJ,GAAK,WAAW,IA8Ed,aAAU,GAAE,SASV;gCACF,OAAI,GAAE,IAAI,CAAC,MAAM,CAAC,IAAI;mCACvB,CAAC;4BAEF,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;4BAExB,IAAI,CAAC,aAAa,EAAE,CAAC;4BACrB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;4BAE1C,IAAI,CAAC,sBAAsB,EAAE,CAAC;;;;;SAC/B;QAEO,qCAAa,GAAb;YAAA,iBAIP;YAHC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC;;;gCACvD,qBAAM,IAAI,CAAC,KAAK,EAAE,EAAA;;4BAAlB,SAAkB,CAAC;;;;aACpB,CAAA,GAAA,CAAC,CAAC;SACJ;QAEa,6BAAK,GAAL;;;;gCACZ,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAA;;4BAAjC,SAAiC,CAAC;4BAElC,IAAI,CAAC,WAAW,mCACX,IAAI,CAAC,WAAW,KACnB,MAAM,EAAE,IAAI,GACb,CAAC;4BAEF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;;;;aAC7B;SAAA;QAEO,qCAAa,GAAb;YAAA,iBA4EP;;YA3EC,IAAM,iBAAiB,GAAGwC,gCAAyB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,IAAM,YAAY,GAAGD,sBAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAM,WAAW,GACf,iBAAiB,CAAC,IAAI,CACpB,UAAC,CAAC,gBAAK,OAAA,MAAC,MAAA,CAAC,CAAC,OAAO,0CAAE,IAA2B,0CAAE,MAAM,CAAA,EAAA,CACvD,KAAI,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,0CAAE,MAAM,CAAA,CAAC;YAErC,IAAM,aAAa,GACjB,IAAI,CAAC,MAAM,CAAC,IAAI;gBAChB,iBAAiB,CAAC,IAAI,CACpB,UAAC,CAAC,gBAAK,OAAA,MAAC,MAAA,CAAC,CAAC,OAAO,0CAAE,MAA6B,0CAAE,KAAK,CAAA,EAAA,CACxD;gBACD,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ;iBAC7B,EAAC,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,0CAAE,IAAI,CAAA;oBACvB,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,0CAAE,IAAI,MAAKyC,gBAAQ,CAAC,OAAO,CAAC,CAAC;YAElD,yFACM,aAAa;kBACb;oBACE;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE;;;;wCACP,IAAI,CAAC,WAAW,mCACX,IAAI,CAAC,WAAW,KACnB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO,GAC7D,CAAC;wCACF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;6CACxB,IAAI,CAAC,WAAW,CAAC,SAAS,EAA1B,wBAA0B;wCAC5B,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAA;;wCAAjC,SAAiC,CAAC;;;wCACpC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;;;;yBACzB,CAAA,GAAA;qBACF;iBACF;kBACD,EAAE,aACF,WAAW;kBACX;oBACE;wBACE,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE;;;4CACP,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;4CAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;4CACvB,SAAS,EAAE,gBAAgB;yCAC5B,CAAC,EAAA;;wCAHF,SAGE,CAAC;;;;yBACJ,CAAA,GAAA;qBACF;iBACF;kBACD,EAAE,aACF,IAAI,CAAC,MAAM,CAAC,GAAG;kBACf;oBACE;wBACE,IAAI,EAAE,KAAK;wBACX,IAAI,EAAE,KAAK;wBACX,OAAO,EAAE;4BACP,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gCACnB,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM;6BACpD,CAAC,CAAC;yBACJ;qBACF;iBACF;kBACD,EAAE,aACF,IAAI,CAAC,MAAM,CAAC,MAAM;kBAClB;oBACE;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAsB;wBAC5B,SAAS,EAAE,eAAe;qBAC3B;iBACF;kBACD,EAAE,aACF,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,IAClD;SACH;QAEO,wCAAgB,GAAhB,UACN,kBAGG;YAJG,iBAoBP;YAdC,IAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,IAAI;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG;kBAC9B,kBAAkB,CAAC,IAAI,CACrB,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,SAAS,KAAK,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,GAAA,CAC5D,CAAC,OAAO;kBACT,IAAI,CAAC;YAEX,UAAU,CAAC;gBACT,IAAI,OAAO,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAClC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;iBACtC;aACF,CAAC,CAAC;SACJ;;MArVSC,8BAAsB,CAAiC,gBAAgB,CAAC;;;gBAhBnF1D,YAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,sdAWT;iBACF;;;;;;;;;;gBAzBQ,UAAU;gBAtBV2D,aAAM;gBAMbC,8BAAsB;gBAZtBC,WAAQ;gBAHRxC,oBAAiB;gBAqBjBH,mBAAW;gBALX4C,uBAAe;gBAqBR,yBAAyB;gBAhBnB5D,oBAAY;gBAnBmBC,aAAU;gBAoChD,WAAW;gBANV,cAAc;gBAQf,iBAAiB;gBArCb4D,cAAW;gBADHC,2BAAwB;;;;yBAsEzCnD,YAAS,SAAC,QAAQ,EAAE,EAAE,IAAI,EAAEoD,mBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE;6BAG7DpD,YAAS,SAAC,YAAY,EAAE,EAAE,IAAI,EAAEqD,cAAW,EAAE,MAAM,EAAE,KAAK,EAAE;kCAG5DC,eAAY,SAACC,+BAAuB,EAAE,EAAE,IAAI,EAAEA,+BAAuB,EAAE;;;;QC9DS,6CAAa;QA4B5F,mCACW,MAAyB,EACzB,MAAqB;YAFhC,YAII,iBAAO,SAIV;YAPU,YAAM,GAAN,MAAM,CAAmB;YACzB,YAAM,GAAN,MAAM,CAAe;YAtBsB,oBAAc,GAAG,IAAIZ,YAAS,EAAsB,CAAC;YAY3G,qBAAe,GAAG,IAAIa,eAAY,EAAc,CAAC;YAGjD,cAAQ,GAAG,IAAIA,eAAY,EAAK,CAAC;YAGjC,mBAAa,GAAG,IAAIA,eAAY,EAAW,CAAC;YAOxC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;;SAGrC;;KApCL,CAAmFtE,qBAAa;IACrF,mCAAS,GAAyB,gBAAgB,CAAC;;;gBAF7DQ,YAAS;;;;;;;;;;gBAHD,cAAc;gBACd,UAAU;;;;6BAQdM,YAAS,SAAC,YAAY,EAAE,EAAE,IAAI,EAAEoD,mBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;iCAGhEE,eAAY,SAACG,qBAAa,EAAE,EAAE,IAAI,EAAEA,qBAAa,EAAE;iCAEnDjE,QAAK;uBAGLA,QAAK;iCAGLA,QAAK;kCAGLkE,SAAM;2BAGNA,SAAM;gCAGNA,SAAM;;;;QC/B2D,yCAA4B;QAAlG;;;;KAAA,CAAsE,yBAA4B;;;gBALjGvE,YAAS,SAAC;oBACP,QAAQ,EAAE,+BAA+B;oBACzC,6lBAAwC;;iBAE3C;;;;QC+CW,iCAAwE;QAqClF,uBACU,MAAc,EACd,WAA2B,EAC3B,MAAqB,EACrB,OAAuB,EACvB,KAAqB,EACrB,sBAAiD,EACjD,gBAAkC,EACnC,MAAyB,EACxB,QAAkB,EAClB,EAAqB,EAC7B,WAAwB,EAChB,YAA0B,EAC1B,UAAsB,EACtB,YAA0B,EAC1B,WAA2B,EAC3B,SAA2B,EAC3B,wBAAkD,EAClD,cAA8B;YAlBxC,YAoBE,kBAAM,EAAE,EAAE,SAAS,EAAE,wBAAwB,CAAC,SAG/C;YAtBS,YAAM,GAAN,MAAM,CAAQ;YACd,iBAAW,GAAX,WAAW,CAAgB;YAC3B,YAAM,GAAN,MAAM,CAAe;YACrB,aAAO,GAAP,OAAO,CAAgB;YACvB,WAAK,GAAL,KAAK,CAAgB;YACrB,4BAAsB,GAAtB,sBAAsB,CAA2B;YACjD,sBAAgB,GAAhB,gBAAgB,CAAkB;YACnC,YAAM,GAAN,MAAM,CAAmB;YACxB,cAAQ,GAAR,QAAQ,CAAU;YAClB,QAAE,GAAF,EAAE,CAAmB;YAErB,kBAAY,GAAZ,YAAY,CAAc;YAC1B,gBAAU,GAAV,UAAU,CAAY;YACtB,kBAAY,GAAZ,YAAY,CAAc;YAC1B,iBAAW,GAAX,WAAW,CAAgB;YAC3B,eAAS,GAAT,SAAS,CAAkB;YAC3B,8BAAwB,GAAxB,wBAAwB,CAA0B;YAClD,oBAAc,GAAd,cAAc,CAAgB;YAnDxC,iBAAW,GAAiB;gBAC1B,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC;YAIF,eAAS,GAAG,KAAK,CAAC;YAgBoD,wBAAkB,GAAG,IAAIwD,YAAS,EAA8B,CAAC;YAOvI,qBAAe,GAAG,IAAIA,YAAS,EAA2B,CAAC;YAwBzD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,CAAC;;SACxC;QA3CD,sBAAI,+BAAI;iBAIR;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;iBAND,UAAS,GAAW;gBAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;;;WAAA;QA0CD,yCAAiB,GAAjB;YAAA,iBAOC;YANC,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;YAC1G,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;YAC5F,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;SACvG;QAEK,gCAAQ,GAAR;;;iCAwGL;;;;4BAvGC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;4BAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BAExC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;4BAEpC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gCACzD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;6BACtB;iCAAM;gCACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;gCAEvD,IAAI,CAAC,WAAW,CAAC,MAAM;qCACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;qCAC3B,SAAS,CAAC,UAAC,EAAM;wCAAJ,EAAE,QAAA;oCACd,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oCACvB,KAAI,CAAC,EAAE,GAAG,EAAE,CAAC;iCACd,CAAC,CAAC;gCAEL,IAAI,CAAC,WAAW,CAAC,WAAW;qCACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;qCAC3B,SAAS,CAAC,UAAC,EAAQ;wCAAN,IAAI,UAAA;oCAChB,IAAI,IAAI,EAAE;wCACR,KAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;qCACtB;iCACF,CAAC,CAAC;6BACR;4BAED,IAAI,CAAC,cAAc,GAAG,UAAO,MAAM;;;;;4CAC3B,MAAM,GAAgB;gDAC1B,KAAK,EAAE,EAAE;6CACV,CAAC;4CAEF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;gDAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oDAChB,GAAG,EAAE,GAAG;oDACR,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;oDAClB,IAAI,EAAE,GAAG;iDACV,CAAC,CAAC;6CACJ,CAAC,CAAC;4CAEH,IAAI,IAAI,CAAC,EAAE,EAAE;gDACX,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oDAChB,GAAG,EAAE,IAAI;oDACT,KAAK,EAAE,IAAI,CAAC,EAAE;oDACd,IAAI,EAAE,IAAI;iDACX,CAAC,CAAC;6CACJ;4CACsB,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAA;;4CAA7D,UAAU,GAAK,CAAA,SAA8C,YAAnD;4CAElB,sBAAO,CAAC,UAAU,EAAC;;;6BACpB,CAAA,GAAA,CAAC;iCAEE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAnB,wBAAmB;4BACM,qBAAM,IAAI,CAAC,sBAAsB,CAAC,0BAA0B,CACrF;oCACE,UAAU,0CACJ,IAAI,CAAC,MAAM,CAAC,OAAO;wCACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;wCACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG;0CACjC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;0CACvC,EAAE,aACF,IAAI,CAAC,MAAM,CAAC,OAAO;wCACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;wCACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM;0CAClC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;0CAC1C,EAAE,GACT;iCACF,CACF,EAAA;;4BAfK,kBAAkB,GAAG,SAe1B;4BAED,IAAI,CAAC,cAAc,GAAG;gCACpB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gCACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gCAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAI,IAAI,CAAC,MAAM,CAAC,OAAqC,CAAC,QAAQ,GAAG,IAAI;gCAClG,kBAAkB,EAAE;oCAClB,GAAG,EACD,IAAI,CAAC,MAAM,CAAC,OAAO;wCACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;wCACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG;0CACjC,kBAAkB,CAAC,IAAI,CACrB,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,SAAS,KAAK,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,GAAA,CAC/D,CAAC,OAAO;0CACT,IAAI;oCACV,MAAM,EACF,IAAI,CAAC,MAAM,CAAC,OAAO;wCACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;wCACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM;0CAClC,kBAAkB,CAAC,IAAI,CACzB,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,SAAS,KAAK,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,GAAA,CAChE,CAAC,OAAO;0CACP,IAAI;iCACf;6BACF,CAAC;;;4BAGJ,IAAI,CAAC,eAAe,EAAE,CAAC;4BAEvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,UAAA,IAAI;gCAC9D,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gCACjB,KAAI,CAAC,eAAe,EAAE,CAAC;gCACvB,KAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;6BACzB,CAAC,CAAC;4BAEH,IAAI,CAAC,sBAAsB,EAAE,CAAC;;;;aAC/B;SAAA;QAED,uCAAe,GAAf,UAAgB,GAAe;YAC7B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;SAC7B;QAED,gCAAQ,GAAR,UAAS,GAAM;YACb,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SACtB;QAED,qCAAa,GAAb,UAAc,GAAY;YACxB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SACtB;QAEO,uCAAe,GAAf;YACN,IAAI,CAAC,WAAW,mCACX,IAAI,CAAC,WAAW,KACnB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAC9B,CAAC;SACH;QAEO,kCAAU,GAAV;YAAA,iBAmEP;YAlEC,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,QAAQ;oBACX,OAAO;wBACL;4BACE,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,KAAK;4BACX,OAAO,EAAE;gCACP,IAAI,KAAI,CAAC,iBAAiB,EAAE,EAAE;oCAC5B,OAAO;iCACR;gCAED,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;gCACnC,KAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;6BACtB;yBACF;qBACF,CAAC;gBACJ,KAAK,QAAQ;oBACX,+CACM,IAAI,CAAC,MAAM,CAAC,OAAO;0BACnB;4BACE;gCACE,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE;oCACP,KAAI,CAAC,IAAI,GAAG,SAAS,CAAC;oCACtB,KAAI,CAAC,eAAe,EAAE,CAAC;iCACxB;gCACD,SAAS,EAAE,IAAID,oBAAe,CAAC,KAAK,CAAC;6BACtC;yBACF;0BACD,EAAE;wBACN;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP,IAAI,KAAI,CAAC,iBAAiB,EAAE,EAAE;oCAC5B,OAAO;iCACR;gCAED,KAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,KAAI,CAAC,EAAE,CAAC;gCACnC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAI,CAAC,gBAAuB,CAAC,CAAC;gCAExD,IAAI,KAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oCACvB,KAAI,CAAC,IAAI,GAAG,SAAS,CAAC;oCACtB,KAAI,CAAC,eAAe,EAAE,CAAC;iCACxB;qCAAM;oCACL,KAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;iCACtB;6BACF;yBACF;uBACD;gBACJ,KAAK,SAAS;oBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI;0BACnB;4BACE;gCACE,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE;oCACP,KAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;oCACrB,KAAI,CAAC,eAAe,EAAE,CAAC;iCACxB;gCACD,SAAS,EAAE,IAAIA,oBAAe,CAAC,KAAK,CAAC;6BACtC;yBACF;0BACD,EAAE,CAAC;aACV;SACF;QAEO,gCAAQ,GAAR;YACN,IAAM,OAAO,GAAGvC,sBAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAElD,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAE9G,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC;gBACf,KAAK,QAAQ;oBACX,OAAO,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC1D,KAAK,SAAS;oBACZ,OAAO,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAC5D;SACF;QAEO,uCAAe,GAAf,UAAgB,GAAW;YACjC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC;YAEjD,IAAM,GAAG,GAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,GAAG,CAAC,SAAS,GAAC,GAAG,CAAC;YAElB,IAAM,IAAI,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/C,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QAEO,yCAAiB,GAAjB;YACN,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;YAExB,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS;kBAClC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;kBACvD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;YAElD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;YAExB,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAE7B,IAAM,aAAa,GAAG,EAAE,CAAC;YAEzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YAE/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBAC7D,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;aACjD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;QAEO,wCAAgB,GAAhB,UAAiB,OAAwB,EAAE,aAAoB,EAAE,SAAiB,EAAE,GAAU;YAA9F,iBAyBP;YAzB2F,oBAAA,EAAA,UAAU;;YACpG,IAAI,OAAO,CAAC,KAAK;gBAAE,OAAO;YAE1B,IAAM,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC;YAElG,IAAI,MAAA,OAAO,CAAC,MAAM,0CAAE,aAAa,EAAE;gBACjC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAG,OAAK,OAAO,CAAC,MAAM,CAAC,aAAa,MAAG,CAAA,CAAC,CAAC;gBACjE,OAAO;aACR;YAED,IAAI,OAAO,YAAYwD,iBAAW,EAAE;gBAClC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;YAED,IAAI,OAAO,YAAYC,eAAS,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,QAAQ;oBAC5C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;iBACnF,CAAC,CAAC;aACJ;YAED,IAAI,OAAO,YAAYC,eAAS,EAAE;gBAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,KAAK;oBAChC,KAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,IAAG,OAAI,KAAK,GAAG,CAAC,OAAG,CAAA,CAAC,CAAC;iBACnE,CAAC,CAAC;aACJ;SACF;;MApVShB,8BAAsB,CAAiC,gBAAgB,CAAC;;;gBAvBnF1D,YAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,41BAkBT;iBACF;;;;;;;;;;gBA9CwB2D,aAAM;gBAAtBgB,qBAAc;gBAed,UAAU;gBAEV,WAAW;gBAjBXA,qBAAc;gBAOrBf,8BAAsB;gBAJhBgB,qBAAgB;gBAaf,cAAc;gBAddC,eAAQ;gBAVfxD,oBAAiB;gBAcjBiC,mBAAW;gBAIGpD,oBAAY;gBAhB1BC,aAAU;gBAgBkB2E,oBAAY;gBAajC,WAAW;gBA7BNf,cAAW;gBADZC,2BAAwB;gBAaEe,sBAAc;;;;qCAsElDZ,eAAY,SAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;0BACnEtD,YAAS,SAACmE,oBAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;6BAEtCnE,YAAS,SAAC,YAAY,EAAE,EAAE,IAAI,EAAEqD,cAAW,EAAE,MAAM,EAAE,KAAK,EAAE;kCAG5DC,eAAY,SAACC,+BAAuB,EAAE,EAAE,IAAI,EAAEA,+BAAuB,EAAE;;;;QC3ES,6CAAa;QAS5F,mCACW,MAAyB;YADpC,YAGI,iBAAO,SACV;YAHU,YAAM,GAAN,MAAM,CAAmB;;SAGnC;;KAbL,CAAmFrE,qBAAa;IACrF,mCAAS,GAAyB,gBAAgB,CAAC;;;gBAF7DQ,YAAS;;;;;;;;;;gBAFF,cAAc;;;;6BAMjBM,YAAS,SAAC,YAAY,EAAE,EAAE,IAAI,EAAEoD,mBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;8BAGhE5D,QAAK;;;;QCJ4D,yCAA4B;QAO9F,+BACqB,MAAqB,EACtB,MAAyB;YAF7C,YAII,kBAAM,MAAM,CAAC,SAChB;YAJoB,YAAM,GAAN,MAAM,CAAe;YACtB,YAAM,GAAN,MAAM,CAAmB;YAR7C,eAAS,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAClC5B,aAAG,CAAC,UAAA,MAAM;gBACN,OAAO,CAAC,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,CAAA;aAC9B,CAAC,CACH,CAAC;;SAOD;;KAZL,CAAsE,yBAA4B;;;gBARjGuB,YAAS,SAAC;oBACP,QAAQ,EAAE,+BAA+B;oBACzC,4aAAwC;oBAExC,SAAS,EAAE;wBACP,oBAAoB;qBACvB;;iBACJ;;;;;;;;;;gBAVQ,UAAU;gBACX,cAAc;;;ICgBtB,IAAM,KAAK,GAAG;QACV,aAAa;QACb,aAAa;QACb,qBAAqB;QACrB,qBAAqB;KACxB,CAAC;;QAoCE,wBAAY,KAAiB,EAAE,MAAqB,EAAE,OAAyB;YAC3Ed,wBAAgB,CAAC,UAAU,CACvB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,cAAc;kBACf,MAAM,CAAC,cAAc,EAAE;kBACvB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAClC,CAAC;YACF,OAAO,CAAC,IAAI,EAAE,CAAC;SAClB;;;;;gBA1CJqC,WAAQ,SAAC;oBACN,YAAY,2BACL,KAAK,EACX;oBACD,OAAO,EAAE;wBACL0B,iBAAW;wBACXC,oBAAY;wBACZ,eAAe;wBACf+B,mBAAY,CAAC,QAAQ,CAAC;4BAClB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE;4BACtC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE;4BACzC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE;yBAC5C,CAAC;wBACF9B,iBAAW;wBACXC,mBAAY;wBACZ,oBAAoB;qBACvB;oBACD,OAAO,yCACA,KAAK;wBACR,oBAAoB;sBACvB;oBACD,eAAe,2BACR,KAAK,EACX;oBACD,SAAS,EAAE;wBACP,WAAW;wBACX,oBAAoB;wBACpB,WAAW;wBACX,WAAW;wBACX,UAAU;wBACV,yBAAyB;qBAC5B;iBACJ;;;;;;;;;;gBA7DOtD,WAAK;gBAOL,UAAU;gBACV,WAAW;;;;QCwCjB,wBAAY,MAAqB,EAAE,OAAyB;YAC1DZ,wBAAgB,CAAC,UAAU,CACzB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,cAAc;kBACjB,MAAM,CAAC,cAAc,EAAE;kBACvB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAC9B,CAAC;YACF,OAAO,CAAC,IAAI,EAAE,CAAC;SAChB;;;;;gBA/BFqC,WAAQ,SAAC;oBACR,OAAO,EAAE;;wBAEP0B,iBAAW;wBACXC,oBAAY;wBACZ,eAAe;wBACfC,iBAAW;wBACXC,mBAAY;wBACZ,oBAAoB;wBACpB8B,wBAAgB;qBACjB;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,SAAS,EAAE;wBACT,WAAW;wBACX,oBAAoB;wBACpB,WAAW;wBACX,WAAW;wBACX,UAAU;wBACV,aAAa;wBACb,yBAAyB;qBAC1B;iBACF;;;;;;;;;;gBAlCQ,UAAU;gBACV,WAAW;;;QA+CpB;;QACS,qBAAU,GAAjB,UACE,OAEsC;YAEtC,OAAO;gBACL,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,cAAc,GAAG,cAAc;gBAC3D,SAAS;oBACP,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE;oBACjD,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE;oBACrD;wBACE,OAAO,EAAEC,2BAAmB;wBAC5B,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAwB;qBAClE;2BAEG,OAAO,CAAC,MAAM;sBACR,CAAC,aAAa,CAAC;sBACf,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,GAEnE;aACF,CAAC;SACH;;;;;gBAvBF5D,WAAQ,SAAC,EAAE;;;IC7DZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|