@datarailsshared/datarailsshared 1.3.36 → 1.3.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"datarailsshared-datarailsshared.umd.js","sources":["../../../projects/datarailsshared/src/lib/date-tags/date-tag.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/datarailsshared/src/lib/date-tags/forecast-tag/forecast-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/month-tag/month-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/quarter-tag/quarter-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/week-tag/week-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/year-tag/year-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.component.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/day-tag/day-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-button.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-group.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/checkbox/checkbox.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-input/dr-input.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-select/dr-select.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.pipe.ts","../../../projects/datarailsshared/src/lib/models/constants.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle/dr-toggle.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.component.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/button/button.component.ts","../../../projects/datarailsshared/src/lib/models/datePicker.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-date-picker/dr-date-picker.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover-ref.ts","../../../projects/datarailsshared/src/lib/models/popover.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.component.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.service.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.service.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.component.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-position.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-item-show.pipe.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tab.component.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-header.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-body.component.ts","../../../projects/datarailsshared/src/lib/date-tags/date-tag.module.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.module.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.module.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-inputs.module.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.module.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.module.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.module.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.module.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.module.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.module.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.module.ts","../../../projects/datarailsshared/src/public-api.ts","../../../projects/datarailsshared/src/datarailsshared-datarailsshared.ts"],"sourcesContent":["import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IDateTag} from \"../models/serverTags\";\r\n// import {*} from \"\"\r\n@Component({\r\n templateUrl: \"date-tag.component.html\",\r\n selector: \"date-tag\",\r\n styleUrls: [\"date-tag.component.css\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DateTagComponent {\r\n @Input() name: string | undefined = undefined;\r\n @Input() lockedDate: any[] = [];\r\n @Input() defaultValue: number | undefined = undefined;\r\n @Input() dateTypeChosen: any = {};\r\n @Input() fiscalYearStartsFrom?: number;\r\n @Input() fiscalYearBack?: boolean;\r\n @Output() selectedDate: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n changeSelectedDate(date) {\r\n setTimeout(() => {\r\n console.log(\"change date\", date);\r\n this.selectedDate.emit(date);\r\n }, 300);\r\n }\r\n}\r\n\r\n@Component({\r\n template: ``,\r\n selector: \"any-tag\"\r\n})\r\nexport class AnyTagComponent implements OnInit {\r\n @Output() dateChange: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\r\n @Input() name: string | undefined = undefined;\r\n @Input() defaultValue: number | undefined = undefined;\r\n dateObj = {date: undefined};\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.initDate();\r\n this.initName();\r\n this.chosenTagHandler(this.dateObj.date);\r\n }\r\n\r\n initDate() {}\r\n\r\n initName() {}\r\n\r\n changeInputHandler(event: Event) {\r\n const input: HTMLInputElement = <HTMLInputElement>event.target;\r\n this.chosenTagHandler(input.value);\r\n }\r\n\r\n chosenTagHandler(value) {\r\n // need implement in all tags\r\n }\r\n}\r\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 {Component, Input} from \"@angular/core\";\r\nimport {Moment} from \"moment\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatSelectChange} from \"@angular/material/select\";\r\nimport {MatButtonToggleChange} from \"@angular/material/button-toggle\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\n@Component({\r\n templateUrl: \"forecast-tag.component.html\",\r\n selector: \"forecast-tag\",\r\n})\r\n\r\nexport class ForecastTagComponent extends AnyTagComponent {\r\n @Input() fiscalYearStartsFrom?: number;\r\n @Input() fiscalYearBack?: boolean;\r\n @Input() lockedDate: any[] = [];\r\n forecastValue: number | undefined = undefined;\r\n\r\n forecastTags: any[] = [\r\n {\"value\": 0, \"label\": \"0+12\"},\r\n {\"value\": 1, \"label\": \"1+11\"},\r\n {\"value\": 2, \"label\": \"2+10\"},\r\n {\"value\": 3, \"label\": \"3+9\"},\r\n {\"value\": 4, \"label\": \"4+8\"},\r\n {\"value\": 5, \"label\": \"5+7\"},\r\n {\"value\": 6, \"label\": \"6+6\"},\r\n {\"value\": 7, \"label\": \"7+5\"},\r\n {\"value\": 8, \"label\": \"8+4\"},\r\n {\"value\": 9, \"label\": \"9+3\"},\r\n {\"value\": 10, \"label\": \"10+2\"},\r\n {\"value\": 11, \"label\": \"11+1\"}\r\n ];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n let dateVal = new Date();\r\n if (this.defaultValue) {\r\n dateVal = new Date(this.defaultValue * 1000);\r\n }\r\n let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\r\n let fiscal_year_back = this.fiscalYearBack || false;\r\n this.forecastValue = this.getFiscalMonthFromDate(dateVal, fiscal_year_starts_from) - 1;\r\n let fiscal_year = this.getFiscalYearFromDate(dateVal, fiscal_year_starts_from, fiscal_year_back);\r\n\r\n console.log(\"test\", dateVal, fiscal_year_starts_from, this.forecastValue, fiscal_year);\r\n\r\n this.dateObj.date = moment(new Date(fiscal_year, 0, 1)).format(\"YYYY\");\r\n\r\n this.updateLockedDate();\r\n }\r\n\r\n updateLockedDate() {\r\n for (let forecastTag of this.forecastTags) {\r\n forecastTag.disable = false;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const locked = moment.unix(timestamp);\r\n\r\n if (locked.month() - 1 === forecastTag.value && +locked.year() + 1 === +this.dateObj.date) {\r\n forecastTag.disable = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Forecast\";\r\n }\r\n }\r\n\r\n getFiscalMonthFromDate(dateObj, fiscal_year_starts_from) {\r\n let all_months = [];\r\n\r\n for (let i = fiscal_year_starts_from; i < 13; i++) {\r\n all_months.push(i);\r\n }\r\n\r\n for (let i = 1; i < fiscal_year_starts_from; i++) {\r\n all_months.push(i);\r\n }\r\n\r\n return all_months.indexOf(dateObj.getMonth() + 1) + 1;\r\n }\r\n\r\n getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back) {\r\n let fiscal_year = dateObj.getFullYear();\r\n\r\n if (!fiscal_year_back) {\r\n if (dateObj.getMonth() + 1 >= fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\r\n fiscal_year += 1;\r\n }\r\n } else {\r\n if (dateObj.getMonth() + 1 < fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\r\n fiscal_year -= 1;\r\n }\r\n }\r\n\r\n return fiscal_year;\r\n }\r\n\r\n getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {\r\n let label = \"\";\r\n if (value) {\r\n let dateObj = new Date(value * 1000);\r\n\r\n let fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);\r\n let fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);\r\n\r\n label = (fiscal_month - 1) + \"+\" + (13 - fiscal_month) + \" (\" + fiscal_year + \")\";\r\n }\r\n return label;\r\n }\r\n\r\n changeTagInputHandler(event: MatSelectChange | MatButtonToggleChange) {\r\n this.chosenTagHandler();\r\n }\r\n\r\n changeYearInputHandler(event: Event) {\r\n this.updateLockedDate();\r\n this.chosenTagHandler();\r\n }\r\n\r\n chosenTagHandler() {\r\n let month = this.forecastValue;\r\n let year = Number.parseInt(this.dateObj.date);\r\n\r\n let timeStampVal = 0;\r\n let label = \"\";\r\n\r\n if (!Number.isNaN(month) && !Number.isNaN(year)) {\r\n\r\n\r\n let date = new Date(year, month, 1, 12, 0, 0, 0);\r\n let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\r\n let fiscal_year_back = this.fiscalYearBack || false;\r\n if (fiscal_year_starts_from !== 1) {\r\n if (!fiscal_year_back)\r\n date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);\r\n else\r\n date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);\r\n }\r\n\r\n timeStampVal = date.getTime() / 1000;\r\n label = this.getForecastLabelFromValue(timeStampVal, fiscal_year_starts_from, fiscal_year_back);\r\n }\r\n\r\n const resultTag: IDateTag = {\r\n \"name\": this.name,\r\n \"value\": timeStampVal,\r\n \"label\": label,\r\n \"locked\": !this.dateFilter(timeStampVal)\r\n };\r\n\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n dateFilter = (date) => {\r\n const forecastDate = moment.unix(date);\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const locked = moment.unix(timestamp);\r\n\r\n return status = !(locked.month() === forecastDate.month() && locked.year() === forecastDate.year());\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {Moment} from \"moment\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatDatepicker} from \"@angular/material/datepicker\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst MONTH_FORMATS = {\r\n parse: {\r\n dateInput: \"DD-MM-YYYY\",\r\n },\r\n display: {\r\n dateInput: \"MMMM YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"month-tag.component.html\",\r\n selector: \"month-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: MONTH_FORMATS},\r\n ],\r\n})\r\n\r\nexport class MonthTagComponent extends AnyTagComponent {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n if (this.defaultValue) {\r\n this.dateObj.date = moment(this.defaultValue * 1000).utc().format(\"YYYY-MM\");\r\n this.date = new FormControl(moment(this.defaultValue * 1000));\r\n } else {\r\n this.dateObj.date = moment(new Date()).format(\"YYYY-MM\");\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Month and Year\";\r\n }\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const resultDate: Moment = moment.utc(value);\r\n resultDate.hour(12);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: resultDate.format(\"MMMM YYYY\"),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(resultTag, value);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker<Moment>) {\r\n this.date.setValue(normalizedMonth);\r\n this.dateObj.date = this.date.value;\r\n\r\n this.chosenTagHandler(this.date.value);\r\n\r\n datepicker.close();\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDate = moment(date);\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n\r\n return status = !(lockDate.year() === calendarDate.year() && lockDate.month() === calendarDate.month());\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatSelectChange} from \"@angular/material/select\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\n@Component({\r\n templateUrl: \"quarter-tag.component.html\",\r\n selector: \"quarter-tag\",\r\n})\r\nexport class QuarterTagComponent extends AnyTagComponent implements OnInit {\r\n @Input() lockedDate: any[] = [];\r\n selectedValue = 0;\r\n quarters: any[] = [];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.initName();\r\n this.quarters = this.getQuarterOptions();\r\n\r\n for (const quarter of this.quarters) {\r\n quarter.disable = false;\r\n\r\n if (quarter.isSelected) {\r\n this.selectedValue = quarter.value;\r\n this.chosenTagHandler(quarter.value);\r\n }\r\n\r\n this.dateFilter(quarter);\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Quarter\";\r\n }\r\n }\r\n\r\n changeSelectHandler(event: MatSelectChange) {\r\n this.chosenTagHandler(event.value);\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const date = new Date(value * 1000);\r\n const resultDate: Moment = moment.utc(date);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: this.getQuarterLabel(resultDate.toString()),\r\n locked: !this.dateFilter(value)\r\n };\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n getQuarterOptions() {\r\n const quartersBeforeToday = 8;\r\n const quartersAfterToday = 8;\r\n const dateNow = new Date();\r\n const dateNowUnix = this.getUTCTimestamp(dateNow);\r\n let defaultValue = dateNowUnix;\r\n let tempDate = new Date();\r\n if (this.defaultValue) {\r\n defaultValue = this.defaultValue * 1000;\r\n }\r\n\r\n let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;\r\n afterDefault = Math.min(afterDefault, 100);\r\n let i, tempValue;\r\n const to_return: any[] = [];\r\n for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {\r\n tempDate = new Date(defaultValue);\r\n tempDate.setDate(15);\r\n tempDate.setMonth(tempDate.getMonth() + 3 * i);\r\n tempValue = this.getUTCTimestamp(tempDate);\r\n to_return.push({\r\n value: tempValue / 1000,\r\n label: this.getQuarterLabel(tempValue),\r\n isSelected: (i === 0),\r\n });\r\n }\r\n return to_return;\r\n }\r\n\r\n private getQuarterLabel(timeValue) {\r\n const date = new Date(timeValue);\r\n return \"Q\" + Math.floor((date.getMonth() / 3) + 1) + \" \" + date.getFullYear();\r\n }\r\n\r\n private getUTCTimestamp(date) {\r\n const month = Math.floor(date.getMonth() / 3) * 3;\r\n return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);\r\n }\r\n\r\n dateFilter = (date) => {\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n const quarterDate = moment.unix(date.value);\r\n\r\n if (lockDate.year() === quarterDate.year() && lockDate.month() === quarterDate.month()) {\r\n date.disable = true;\r\n status = false;\r\n }\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst WEEK_FORMATS = {\r\n parse: {\r\n dateInput: \"WW-YYYY\",\r\n },\r\n display: {\r\n dateInput: \"[Week] WW, YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"week-tag.component.html\",\r\n selector: \"week-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: WEEK_FORMATS},\r\n ],\r\n})\r\nexport class WeekTagComponent extends AnyTagComponent implements OnInit {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n selectedValue = \"\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.initName();\r\n\r\n const now = new Date();\r\n now.setHours(0, 0, 0, 0);\r\n\r\n const dateUnix = this.getUTCTimestamp(this.getMonday(now));\r\n let default_value_time = dateUnix;\r\n const one_day_in_seconds = 86400;\r\n if (this.defaultValue) {\r\n default_value_time = (this.defaultValue + one_day_in_seconds) * 1000;\r\n }\r\n\r\n const default_date = new Date(default_value_time);\r\n const weekNumber = this.getWeekNumberByDate(default_date);\r\n const yearNumber = default_date.getFullYear();\r\n const dateStr = `${yearNumber}-W${weekNumber}`;\r\n this.dateObj.date = dateStr;\r\n this.selectedValue = dateStr;\r\n this.chosenTagHandler(default_date);\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Week\";\r\n }\r\n }\r\n\r\n chosenDateHandler(normalizedDay) {\r\n const date = moment(normalizedDay).unix();\r\n this.chosenTagHandler(date);\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDate = moment(date);\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n\r\n return status = !(lockDate.week() === calendarDate.week() && lockDate.year() === calendarDate.year());\r\n });\r\n\r\n return status;\r\n }\r\n\r\n chosenTagHandler(value) {\r\n let date;\r\n console.log(\"chosenTag\", value);\r\n if (value > 1000000000000) {\r\n date = new Date(value);\r\n } else {\r\n date = new Date(value * 1000);\r\n }\r\n\r\n const resultDate: Moment = moment(date);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: this.getWeekLabel(date),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(\"resultTag\", resultTag);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n private getWeekLabel(date) {\r\n return \"W\" + this.pad( moment(date).isoWeek(), 2) +\r\n \" \" + moment(date).year();\r\n }\r\n\r\n private getUTCTimestamp(date) {\r\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 12, 0, 0, 0);\r\n }\r\n\r\n private getMonday(date) {\r\n const day = date.getDay() || 7;\r\n if (day !== 1) {\r\n date.setHours(-24 * (day - 1));\r\n }\r\n return date;\r\n }\r\n\r\n private getWeekNumberByDate(date: Date) {\r\n return this.pad(moment(date).isoWeek(), 2);\r\n }\r\n\r\n private pad(n, width, z = \"0\") {\r\n z = z || \"0\";\r\n n = n + \"\";\r\n return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {MatDatepicker} from \"@angular/material/datepicker\";\r\nimport {Moment} from \"moment\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst YEAR_FORMATS = {\r\n parse: {\r\n dateInput: \"YYYY\",\r\n },\r\n display: {\r\n dateInput: \"YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"year-tag.component.html\",\r\n selector: \"year-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS},\r\n ],\r\n})\r\n\r\nexport class YearTagComponent extends AnyTagComponent {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n if (this.defaultValue) {\r\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format(\"YYYY\");\r\n this.date = new FormControl(moment(this.defaultValue * 1000));\r\n } else {\r\n this.dateObj.date = moment(new Date()).format(\"YYYY\");\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Year\";\r\n }\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const date = new Date();\r\n const year = moment(value).year();\r\n date.setTime(0);\r\n date.setFullYear(year, 0, 1);\r\n const resultDate: Moment = moment.utc(date);\r\n resultDate.hour(12);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: resultDate.format(\"YYYY\"),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(\"resultTag\", resultTag);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker<Moment>) {\r\n const ctrlValue = this.date.value;\r\n ctrlValue.year(normalizedYear.year());\r\n\r\n this.date.setValue(ctrlValue);\r\n this.dateObj.date = this.date.value;\r\n this.chosenTagHandler(this.date.value);\r\n\r\n datepicker.close();\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDateYear = moment(date).year();\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n\r\n return status = !(lockDate.year() === calendarDateYear)\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IDateTag, IListTag, ITag, ITagForServer} from \"../models/serverTags\";\r\n\r\n@Component({\r\n templateUrl: \"dr-tag.component.html\",\r\n selector: \"dr-tag\",\r\n styleUrls: [\"dr-tag.component.scss\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class DrTagComponent implements OnInit {\r\n @Input() tagConfig: ITag;\r\n @Input() selectedTag: ITagForServer;\r\n @Input() lockedDate: any[];\r\n @Input() fiscalYearStartsFrom?: number;\r\n @Input() fiscalYearBack?: boolean;\r\n @Output() tagChange: EventEmitter<ITagForServer> = new EventEmitter<ITagForServer>();\r\n\r\n defaultValue: string | undefined;\r\n\r\n constructor() {\r\n this.selectedTag = {\r\n id: 0,\r\n value: undefined,\r\n name: \"\"\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n if (this.tagConfig && this.tagConfig.options && this.tagConfig.options.default_value) {\r\n this.defaultValue = this.tagConfig.options.default_value;\r\n }\r\n }\r\n\r\n onDateHandler(event: IDateTag) {\r\n let resultEvent: ITagForServer = {\r\n id: this.tagConfig.id,\r\n name: this.tagConfig.name,\r\n value: event.value,\r\n label: event.label,\r\n locked: event.locked\r\n };\r\n console.log(resultEvent);\r\n this.tagChange.emit(resultEvent);\r\n }\r\n\r\n onListHandler(event: IListTag) {\r\n let resultEvent: ITagForServer = {\r\n id: this.tagConfig.id,\r\n name: this.tagConfig.name,\r\n value: event.value\r\n };\r\n console.log(resultEvent);\r\n this.tagChange.emit(resultEvent);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IDateTag, IListTag} from \"../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {MatSelectChange} from \"@angular/material/select\";\r\nimport {MatButtonToggleChange} from \"@angular/material/button-toggle\";\r\nimport * as momentImported from \"moment\"; const moment = momentImported;\r\n\r\n@Component({\r\n templateUrl: \"list-tag.component.html\",\r\n selector: \"list-tag\",\r\n styleUrls: [\"list-tag.component.scss\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class ListTagComponent implements OnInit {\r\n @Input() values: string[];\r\n @Input() defaultValue: string = \"\";\r\n @Input() name: string;\r\n @Output() tagChange: EventEmitter<IListTag> = new EventEmitter<IListTag>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.chosenTagHandler(this.defaultValue);\r\n }\r\n\r\n changeInputHandler(event: MatSelectChange | MatButtonToggleChange) {\r\n this.chosenTagHandler(event.value);\r\n }\r\n\r\n chosenTagHandler(value) {\r\n console.log(value);\r\n if (value && value !== \"\") {\r\n const resultTag: IListTag = {\r\n name: this.name,\r\n value: value\r\n };\r\n this.tagChange.emit(resultTag);\r\n }\r\n }\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatDatepicker} from \"@angular/material/datepicker\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from \"@angular/material-moment-adapter\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst DAY_FORMATS = {\r\n parse: {\r\n dateInput: \"DD-MM-YYYY\",\r\n },\r\n display: {\r\n dateInput: \"DD.MM.YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"day-tag.component.html\",\r\n selector: \"day-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: DAY_FORMATS},\r\n ],\r\n})\r\n\r\nexport class DayTagComponent extends AnyTagComponent {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n const utcOffsetInMilliseconds = moment().utcOffset() * 60 * 1000;\r\n this.dateObj.date = moment(moment().valueOf() + utcOffsetInMilliseconds);\r\n if (this.defaultValue) {\r\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc();\r\n this.date.setValue(this.dateObj.date);\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Day\";\r\n }\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const date = moment(value).unix();\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: date,\r\n label: moment.unix(date).format(\"MM/DD/YYYY\"),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(\"resultTag\", resultTag);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n chosenDateHandler(normalizedDay) {\r\n this.chosenTagHandler(normalizedDay);\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDate = moment(date).unix();\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n return status = !(timestamp === calendarDate);\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input, Output,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-radio-button',\r\n templateUrl: './radio-button.component.html',\r\n styleUrls: ['./radio-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: RadioButtonComponent,\r\n multi: true\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RadioButtonComponent implements ControlValueAccessor {\r\n @Input() disabled: boolean;\r\n @Input() name: string;\r\n @Input('value') _value: any;\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\r\n\r\n modelValue: any;\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n onChange: any = (onchanges => {});\r\n onTouched: any = () => {};\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n registerOnChange(fn) {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn) {\r\n this.onTouched = fn;\r\n }\r\n writeValue(value: any) {\r\n this.modelValue = value;\r\n this.cdr.markForCheck();\r\n }\r\n toggleChange(event) {\r\n if (event.target.checked) {\r\n this.modelValue = this.value;\r\n }\r\n }\r\n valueChanged(event) {\r\n this.onChange(this.modelValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n _setName(name: string) {\r\n this.name = name;\r\n this.cdr.markForCheck();\r\n }\r\n _markForCheck() {\r\n this.cdr.markForCheck();\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n QueryList,\r\n PLATFORM_ID,\r\n Inject,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { from, fromEvent, merge, Subject } from 'rxjs';\r\nimport { filter, startWith, switchMap, takeUntil } from 'rxjs/operators';\r\nimport { RadioButtonComponent } from './radio-button.component';\r\nimport { DOCUMENT } from '@angular/common';\r\n@Component({\r\n selector: 'dr-radio-group',\r\n template: `\r\n <ng-content select=\"dr-radio-button\"></ng-content>`,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioGroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RadioGroupComponent implements AfterContentInit, OnDestroy, ControlValueAccessor {\r\n\r\n @Input()\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(value: any) {\r\n this._value = value;\r\n this.updateValues();\r\n }\r\n\r\n @Input()\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(name: string) {\r\n this._name = name;\r\n this.updateNames();\r\n }\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(disabled: boolean) {\r\n this._disabled = !!disabled;\r\n this.updateDisabled();\r\n }\r\n\r\n constructor(\r\n protected hostElement: ElementRef<HTMLElement>,\r\n @Inject(PLATFORM_ID) protected platformId,\r\n @Inject(DOCUMENT) protected document,\r\n ) {}\r\n\r\n protected destroy$ = new Subject<void>();\r\n protected _value: any;\r\n protected _name: string;\r\n protected _disabled: boolean;\r\n\r\n @ContentChildren(RadioButtonComponent, { descendants: true }) radios: QueryList<RadioButtonComponent>;\r\n\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\r\n protected onChange = (value: any) => {};\r\n protected onTouched = () => {};\r\n\r\n ngAfterContentInit() {\r\n // In case option 'name' isn't set on dr-radio component,\r\n // we need to set it's name right away, so it won't overlap with options\r\n // without names from other radio groups. Otherwise they all would have\r\n // same name and will be considered as options from one group so only the\r\n // last option will stay selected.\r\n this.updateNames();\r\n\r\n this.radios.changes\r\n .pipe(\r\n startWith(this.radios),\r\n // 'changes' emit during change detection run and we can't update\r\n // option properties right of since they already was initialized.\r\n // Instead we schedule microtask to update radios after change detection\r\n // run is finished and trigger one more change detection run.\r\n switchMap((radios: QueryList<RadioButtonComponent>) => from(Promise.resolve(radios))),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(() => this.updateAndSubscribeToRadios());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n protected updateAndSubscribeToRadios() {\r\n this.updateValueFromCheckedOption();\r\n this.updateNames();\r\n this.updateValues();\r\n this.updateDisabled();\r\n this.subscribeOnRadiosValueChange();\r\n this.subscribeOnRadiosBlur();\r\n }\r\n\r\n protected updateNames() {\r\n if (this.radios) {\r\n this.radios.forEach((radio: RadioButtonComponent) => radio._setName(this.name));\r\n }\r\n }\r\n\r\n protected updateValues() {\r\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => {\r\n if (radio.value === this.value) {\r\n radio.modelValue = radio.value;\r\n }\r\n });\r\n }\r\n\r\n protected updateDisabled() {\r\n if (typeof this.disabled !== 'undefined') {\r\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => radio.disabled = this.disabled);\r\n }\r\n }\r\n\r\n protected subscribeOnRadiosValueChange() {\r\n if (!this.radios || !this.radios.length) {\r\n return;\r\n }\r\n\r\n merge(...this.radios.map((radio: RadioButtonComponent) => radio.valueChange))\r\n .pipe(\r\n takeUntil(\r\n merge(\r\n this.radios.changes,\r\n this.destroy$,\r\n ),\r\n ),\r\n )\r\n .subscribe((value: any) => {\r\n this.writeValue(value);\r\n this.propagateValue(value);\r\n });\r\n }\r\n\r\n protected propagateValue(value: any) {\r\n this.valueChange.emit(value);\r\n this.onChange(value);\r\n }\r\n\r\n protected subscribeOnRadiosBlur() {\r\n const hasNoRadios = !this.radios || !this.radios.length;\r\n if (!isPlatformBrowser(this.platformId) || hasNoRadios) {\r\n return;\r\n }\r\n\r\n const hostElement = this.hostElement.nativeElement;\r\n fromEvent<Event>(hostElement, 'focusin')\r\n .pipe(\r\n filter(event => hostElement.contains(event.target as Node)),\r\n switchMap(() => merge(\r\n fromEvent<Event>(this.document, 'focusin'),\r\n fromEvent<Event>(this.document, 'click'),\r\n )),\r\n filter(event => !hostElement.contains(event.target as Node)),\r\n takeUntil(\r\n merge(\r\n this.radios.changes,\r\n this.destroy$,\r\n ),\r\n ),\r\n )\r\n .subscribe(() => this.onTouched());\r\n }\r\n\r\n protected updateAndMarkForCheckRadios(updateFn: (RadioButtonComponent) => void) {\r\n if (this.radios) {\r\n this.radios.forEach((radio) => {\r\n updateFn(radio);\r\n radio._markForCheck();\r\n });\r\n }\r\n }\r\n\r\n protected updateValueFromCheckedOption() {\r\n const checkedRadio = this.radios.find((radio) => radio.modelValue);\r\n const isValueMissing = this.value === undefined || this.value === null;\r\n if (checkedRadio && isValueMissing && checkedRadio.value !== this.value) {\r\n this.value = checkedRadio.value;\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true}\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor {\r\n @Input() checkedStatus: boolean;\r\n @Input() disabled = false;\r\n @Input() icon: 'cross' | '' = '';\r\n @Input()\r\n get indeterminate(): boolean {\r\n return this._indeterminate;\r\n }\r\n set indeterminate(value: boolean) {\r\n this._indeterminate = !!value;\r\n this.cdr.markForCheck();\r\n }\r\n private _indeterminate: boolean = false;\r\n @Output() checkedChange = new EventEmitter();\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n writeValue(value: boolean) {\r\n this.checkedStatus = value;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n setValue(event) {\r\n const input = (event.target as HTMLInputElement);\r\n this.checkedStatus = input.checked;\r\n this.checkedChange.emit(this.checkedStatus);\r\n this.onChange(this.checkedStatus);\r\n this.indeterminate = input.indeterminate;\r\n this.onTouched();\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ContentChild,\r\n ElementRef,\r\n forwardRef, HostBinding, AfterViewInit, Renderer2, OnDestroy, ChangeDetectionStrategy, ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { noop } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'dr-input',\r\n templateUrl: './dr-input.component.html',\r\n styleUrls: ['./dr-input.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DrInputComponent),\r\n multi: true\r\n }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrInputComponent implements AfterViewInit, ControlValueAccessor, OnDestroy {\r\n _clearable = false;\r\n @Input() set disabled(value) {\r\n this.setDisabledState(value);\r\n }\r\n @Input() set buttonOptions(value) {\r\n if (value) {\r\n this._buttonOptions = {...this._buttonOptions, ... value};\r\n if (this._buttonOptions?.show || this._buttonOptions?.showOnFocus) {\r\n this._elementClass.push('with-button');\r\n }\r\n }\r\n if (this._buttonOptions.showOnFocus) {\r\n this.listenFunc = this.renderer.listen(this.elementRef.nativeElement, 'click', (event) => {\r\n this._buttonOptions.focusSet = true;\r\n this.cdr.markForCheck();\r\n });\r\n this.globalListenFunc = this.renderer.listen('document', 'click', event => {\r\n if (event.target.parentNode !== this.elementRef.nativeElement) {\r\n if (this._buttonOptions.checkFocusOut(event.target, this.elementRef.nativeElement)) {\r\n this.onButtonClicked(event);\r\n }\r\n }\r\n });\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n @Input() type: string = 'string';\r\n @Input() name: string;\r\n @Input() placeholder: string = '';\r\n @Input() readonly = false;\r\n @Input() set clearable(val) {\r\n this._clearable = !!val;\r\n if (this._clearable) {\r\n this._elementClass.push('clearable');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'clearable');\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n @Input() min;\r\n @Input() max;\r\n @Input() step;\r\n @Output() blur = new EventEmitter();\r\n\r\n @HostBinding('class')\r\n get elementClass(): string {\r\n return this._elementClass.join(' ');\r\n }\r\n\r\n innerValue = null;\r\n _disabled = null;\r\n _elementClass: string[] = [];\r\n _buttonOptions = {\r\n show: false,\r\n showOnFocus: false,\r\n focusSet: false,\r\n checkFocusOut: (target: any, element: any) => true,\r\n text: 'Save'\r\n };\r\n listenFunc: Function;\r\n globalListenFunc: Function;\r\n\r\n\r\n @Output() searchHandler = new EventEmitter<any>();\r\n @Output() buttonHandler = new EventEmitter<any>();\r\n\r\n @ContentChild('prefix', {static: false}) prefixIcon: ElementRef;\r\n @ContentChild('suffix', {static: false}) suffixIcon: ElementRef;\r\n\r\n @HostBinding('tabindex') tabindex = -1;\r\n onChangeCallback: (_: any) => void = noop;\r\n onTouchedCallback: () => void = noop;\r\n onChange: (value: any) => void = () => {};\r\n onTouched: () => void = () => {};\r\n set(val: string) {\r\n this._elementClass = val.split(' ');\r\n }\r\n\r\n public get value(): string | number {\r\n return this.innerValue;\r\n }\r\n public set value(v: string | number) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n\r\n constructor(private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private cdr: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.clearable) {\r\n this._elementClass.push('clearable');\r\n }\r\n if (this.prefixIcon) {\r\n this._elementClass.push('with-prefix');\r\n }\r\n if (this.suffixIcon) {\r\n this._elementClass.push('with-suffix');\r\n }\r\n if (this.type === 'search') {\r\n this._elementClass.push('search-type');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n writeValue(value: number | string) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.updateChanges();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n updateChanges() {\r\n this.onChange(this.value);\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n if (isDisabled) {\r\n this._elementClass.push('disabled');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\r\n }\r\n this._disabled = isDisabled;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onSearchClicked($event: any) {\r\n this.searchHandler.emit($event);\r\n }\r\n\r\n onButtonClicked($event: any) {\r\n this.buttonHandler.emit($event);\r\n this._buttonOptions.focusSet = false;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.listenFunc) {\r\n this.listenFunc();\r\n this.globalListenFunc();\r\n }\r\n }\r\n\r\n onClear($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.value = null;\r\n }\r\n}\r\n","import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ElementRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst SELECT_HOST_ATTRIBUTES = [\r\n 'no-left-border',\r\n 'no-left-border-radius',\r\n 'no-right-border',\r\n 'no-right-border-radius',\r\n];\r\n\r\n@Component({\r\n selector: 'dr-select',\r\n templateUrl: './dr-select.component.html',\r\n styleUrls: ['./dr-select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DrSelectComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class DrSelectComponent implements ControlValueAccessor {\r\n\r\n @Input() className: string;\r\n @Input() items: Array<any> = [];\r\n @Input() addTag: boolean | ((term: string) => any | Promise<any>);\r\n @Input() appendTo = 'body';\r\n @Input() bindLabel: string;\r\n @Input() bindValue: string;\r\n @Input() clearable: boolean;\r\n @Input() searchable: boolean;\r\n @Input() searchFn: (term: string, item: any) => boolean;\r\n @Input() multiple: boolean;\r\n @Input() hideSelected: boolean;\r\n @Input() placeholder: string;\r\n @Input() loading: boolean;\r\n @Input() readonly: boolean;\r\n @Input() disabled = false;\r\n @Input() id: string;\r\n @Input() keyDownFn: ($event: KeyboardEvent) => boolean = () => true;\r\n @Input() selectedItem: any;\r\n @Output() change: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ContentChild('labelTemplate') labelTemplate: TemplateRef<any>;\r\n @ContentChild('optionTemplate') optionTemplate: TemplateRef<any>;\r\n @ContentChild('optionHeaderTemplate') optionHeaderTemplate: TemplateRef<any>;\r\n @ContentChild('optionFooterTemplate') optionFooterTemplate: TemplateRef<any>;\r\n\r\n constructor(private elementRef: ElementRef<HTMLElement>) {\r\n for (const attr of SELECT_HOST_ATTRIBUTES) {\r\n if (this.hasHostAttributes(attr)) {\r\n (this.getHostElement()).classList.add(attr);\r\n }\r\n }\r\n }\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.selectedItem = value;\r\n this.onChange(this.selectedItem);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n\r\n if (fn && this.selectedItem) {\r\n this.onChange(this.selectedItem);\r\n }\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n private getHostElement(): HTMLElement {\r\n return this.elementRef.nativeElement;\r\n }\r\n\r\n private hasHostAttributes(...attributes: string[]): boolean {\r\n return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dr-avatar',\r\n templateUrl: 'dr-avatar.component.html',\r\n styleUrls: ['dr-avatar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrAvatarComponent {\r\n @Input() set users(users: any[] | object) {\r\n if (users) {\r\n this.parsedUsers = Array.isArray(users) ? users : [users];\r\n this.parsedUsers.forEach((user, index) => {\r\n if (!user.colorNumber) {\r\n user.colorNumber = index % 5;\r\n }\r\n });\r\n }\r\n }\r\n @Input() warning: boolean = false;\r\n @Output() userClicked: EventEmitter<any> = new EventEmitter<any>();\r\n parsedUsers: any[] = [];\r\n constructor() {\r\n }\r\n\r\n getFirstUsers(): any[] {\r\n return this.parsedUsers.slice(0, 2);\r\n }\r\n\r\n getLastUsers(): any[] {\r\n if (this.parsedUsers.length > 2) {\r\n return this.parsedUsers.slice(2, this.parsedUsers.length - 1);\r\n }\r\n return [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'drAvatar'\r\n})\r\nexport class DrAvatarPipe implements PipeTransform {\r\n\r\n transform(item: any, type: string = 'full'): string {\r\n if (type === 'initials') {\r\n return (item.first_name && item.last_name ? (item.first_name[0] + item.last_name[0]) : item.email[0]).toUpperCase();\r\n }\r\n\r\n return item.first_name && item.last_name ? (item.first_name + ' ' + item.last_name) : item.email;\r\n }\r\n}\r\n","import { animate, style, transition } from '@angular/animations';\r\n\r\nexport const POPUP_POSITIONS = {\r\n top: {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -8\r\n },\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -8\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: -8\r\n },\r\n bottom: {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 7\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: 7\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: 7\r\n },\r\n left: {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: -8\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetX: -8\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetX: -8\r\n },\r\n right: {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: 8\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetX: 8\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetX: 8\r\n }\r\n};\r\n\r\nexport const POPUP_ANIMATION = [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate(150, style({ opacity: 1 })),\r\n ]),\r\n transition(':leave', [\r\n animate(150, style({ opacity: 0 })),\r\n ]),\r\n];\r\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { trigger } from '@angular/animations';\r\nimport { POPUP_ANIMATION } from '../models/constants';\r\n\r\ntype TooltipOptions = {\r\n withoutContainerStyles?: boolean;\r\n withoutArrow?: boolean;\r\n};\r\n\r\n@Component({\r\n selector: 'dr-tooltip',\r\n templateUrl: './dr-tooltip.component.html',\r\n styleUrls: ['./dr-tooltip.component.scss'],\r\n animations: [\r\n trigger('tooltip', POPUP_ANIMATION),\r\n ],\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() content;\r\n @Input() contentContext;\r\n @Input() position;\r\n @Input() options: TooltipOptions;\r\n @Input() class: string;\r\n isContentTemplate = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.isContentTemplate = this.content instanceof TemplateRef;\r\n }\r\n\r\n}\r\n","import { ComponentRef, Directive, ElementRef, HostListener, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { TooltipComponent } from './dr-tooltip.component';\r\nimport { POPUP_POSITIONS } from '../models/constants';\r\n\r\n@Directive({\r\n selector: '[drTooltip]'\r\n})\r\nexport class DrTooltipDirective implements OnDestroy {\r\n\r\n @Input('drTooltip')\r\n content: any;\r\n @Input('drTooltipContext')\r\n contentContext = {};\r\n @Input('drTooltipPosition')\r\n position = 'top';\r\n @Input('drTooltipClass')\r\n class = '';\r\n @Input()\r\n set drTooltipOptions(options: any) {\r\n if (options?.indent) {\r\n const position = POPUP_POSITIONS[this.position];\r\n if (position.offsetY) {\r\n position.offsetY = position.offsetY < 0 ? -options.indent : options.indent;\r\n }\r\n if (position.offsetX) {\r\n position.offsetX = position.offsetX < 0 ? -options.indent : options.indent;\r\n }\r\n }\r\n this.options = options;\r\n }\r\n\r\n @Input('drTooltipShow')\r\n set showTooltip(value: boolean) {\r\n this.manualHandling = true;\r\n if (value) {\r\n this.renderTooltip();\r\n } else {\r\n this.destroyTooltip();\r\n }\r\n }\r\n\r\n private overlayRef: OverlayRef;\r\n\r\n private options;\r\n private manualHandling: boolean;\r\n\r\n constructor(private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n private elementRef: ElementRef) { }\r\n\r\n ngOnDestroy(): void {\r\n if (!this.overlayRef) return null;\r\n\r\n if (this.overlayRef.hasAttached()) {\r\n this.hide();\r\n }\r\n // TODO: Temporary solution. line 162 doesn't stop function execution\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n }\r\n }\r\n\r\n @HostListener('mouseenter')\r\n show() {\r\n if (this.manualHandling) return;\r\n\r\n this.renderTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n hide() {\r\n if (this.manualHandling) return;\r\n\r\n this.destroyTooltip();\r\n }\r\n\r\n private createOverlay(): void {\r\n const positionStrategy = this.overlayPositionBuilder\r\n .flexibleConnectedTo(this.elementRef)\r\n .withPositions([POPUP_POSITIONS[this.position]]);\r\n\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n\r\n private renderTooltip(): void {\r\n this.createOverlay();\r\n if (!this.overlayRef?.hasAttached() && this.content) {\r\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(new ComponentPortal(TooltipComponent));\r\n tooltipRef.instance.content = this.content;\r\n tooltipRef.instance.contentContext = this.contentContext;\r\n tooltipRef.instance.position = this.position;\r\n tooltipRef.instance.options = this.options;\r\n tooltipRef.instance.class = this.class + ' ' + this.position;\r\n }\r\n }\r\n\r\n private destroyTooltip(): void {\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n }\r\n this.overlayRef = null;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n HostBinding,\r\n AfterViewInit\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-toggle',\r\n templateUrl: './dr-toggle.component.html',\r\n styleUrls: ['./dr-toggle.component.scss'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: DrToggleComponent, multi: true}\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrToggleComponent implements ControlValueAccessor, AfterViewInit {\r\n _disabled = false;\r\n _elementClass: string[] = [];\r\n\r\n @Input()\r\n toggleTitle: any;\r\n @Input()\r\n toggleTitleRight: boolean;\r\n @Input()\r\n successType: boolean;\r\n @Input()\r\n checkedStatus: boolean;\r\n @Input() set disabled(value: boolean) {\r\n this.setDisabledState(value);\r\n }\r\n @Output() checkedChange = new EventEmitter();\r\n\r\n @HostBinding('class') get elementClass(): string {return this._elementClass.join(' ');}\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.toggleTitleRight) {\r\n this._elementClass.push('toggle-label-alignment');\r\n }\r\n }\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(value: boolean) {\r\n this.checkedStatus = value;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n setValue() {\r\n this.checkedStatus = !this.checkedStatus;\r\n this.onChange(this.checkedStatus);\r\n this.checkedChange.emit(this.checkedStatus);\r\n this.onTouched();\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component, forwardRef,\r\n Input,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-toggle-button',\r\n templateUrl: './dr-toggle-button.component.html',\r\n styleUrls: ['./dr-toggle-button.component.scss'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DrToggleButtonComponent), multi: true}\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\n\r\nexport class DrToggleButtonComponent implements ControlValueAccessor {\r\n _disabled = false;\r\n\r\n @Input() items: string[] | any[];\r\n @Input() selectedValue: boolean;\r\n @Input() set disabled(value: boolean) {\r\n this.setDisabledState(value);\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(value: any) {\r\n this.selectedValue = value;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n setValue(item) {\r\n this.selectedValue = item;\r\n this.onChange(this.selectedValue);\r\n this.onTouched();\r\n this.cdr.markForCheck();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nexport class ISpinnerOptions extends DOMRect {\r\n size: 'small' | 'medium' | 'big' | 'giant';\r\n}\r\n\r\n@Component({\r\n selector: 'dr-spinner',\r\n templateUrl: './dr-spinner.component.html',\r\n styleUrls: ['./dr-spinner.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrSpinnerComponent implements OnInit {\r\n\r\n height = '10rem';\r\n private _options: ISpinnerOptions;\r\n set options(data: ISpinnerOptions) {\r\n if (data) {\r\n this._options = data;\r\n\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.height = this._options.size === 'small'\r\n ? '5rem' : this._options.size === 'medium'\r\n ? '10rem' : this._options.size === 'big'\r\n ? '15rem' : this._options.size === 'giant'\r\n ? '20rem' : this.height;\r\n }\r\n}\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { DrSpinnerComponent } from './dr-spinner.component';\r\n\r\n@Directive({\r\n selector: '[drSpinner]'\r\n})\r\nexport class DrSpinnerDirective implements OnChanges, OnDestroy {\r\n\r\n @ViewChild(DrSpinnerComponent, {static: true, read: ViewContainerRef}) contentCmpRef;\r\n @Input() drSpinner;\r\n @Input() drSpinnerSize: 'small' | 'medium' | 'big' | 'giant';\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private el: ElementRef,\r\n private rdr: Renderer2,\r\n @Inject(DOCUMENT) private _document: any) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const show = changes.drSpinner.currentValue;\r\n const options = this.el.nativeElement.getBoundingClientRect();\r\n if (this.contentCmpRef && !show) {\r\n this.contentCmpRef.destroy();\r\n this.contentCmpRef = null;\r\n } else if (this.drSpinner) {\r\n this.showSpinner({...options, size: this.drSpinnerSize});\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.contentCmpRef) {\r\n this.contentCmpRef.destroy();\r\n }\r\n }\r\n\r\n private showSpinner(options) {\r\n let componentFactory: ComponentFactory<DrSpinnerComponent>;\r\n componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrSpinnerComponent);\r\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\r\n this.rdr.appendChild(this.el.nativeElement, this.contentCmpRef.location.nativeElement);\r\n this.contentCmpRef.instance.options = options;\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\ntype ButtonType = 'primary' | 'secondary' | 'danger' | 'primary-icon' |\r\n 'secondary-icon' | 'icon' | 'ghost' | 'link-btn' | 'text-link' | 'simple-text' |\r\n 'split-primary-first' | 'split-primary-last' | 'split-secondary-first' | 'split-secondary-last' | 'dropdown';\r\n\r\n@Component({\r\n selector: 'dr-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss']\r\n})\r\nexport class DrButtonComponent {\r\n\r\n _disabled = null;\r\n _isLoading = false;\r\n _elementClass: string[] = [];\r\n\r\n @Input() title: string;\r\n @Input() theme: ButtonType = 'primary';\r\n @Input() icon: string;\r\n @Input() iconAfterLabel: string;\r\n @Input() isBold: boolean = false;\r\n @Input() iconColor: string;\r\n @Input() set disabled(value) {\r\n if (value) {\r\n this._elementClass.push('disabled');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\r\n }\r\n this._disabled = value;\r\n }\r\n @Input() set isLoading(value) {\r\n if (value) {\r\n this._elementClass.push('loading');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'loading');\r\n }\r\n this._isLoading = !!value;\r\n }\r\n @Output() click = new EventEmitter();\r\n\r\n @HostBinding('class')\r\n get elementClass(): string {\r\n return this._elementClass.join(' ');\r\n }\r\n set(val: string) {\r\n this._elementClass = val.split(' ');\r\n }\r\n\r\n constructor() { }\r\n\r\n public onClick($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.click.emit($event);\r\n }\r\n}\r\n// Examples:\r\n/*\r\n<dr-button [icon]=\"'dr-icon-arrow-down'\">hello</dr-button>\r\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'primary-icon'\"></dr-button>\r\n<dr-button [icon]=\"'dr-icon-refresh'\" [isDisabled]=\"true\" [theme]=\"'primary-icon'\"></dr-button>\r\n<dr-button [theme]=\"'secondary'\" [icon]=\"'dr-icon-excel'\" [iconColor]=\"'#03A678'\"></dr-button>\r\n\r\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary-icon'\"></dr-button>\r\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'secondary-icon'\"></dr-button>\r\n\r\n<dr-button [icon]=\"'dr-icon-share'\" [theme]=\"'icon'\"></dr-button>\r\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'icon'\"></dr-button>\r\n\r\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\">Primary</dr-button>\r\n<dr-button [isDisabled]=\"false\" >Primary</dr-button>\r\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary'\">Secondary</dr-button>\r\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'ghost'\">Ghost</dr-button>\r\n<dr-button [isDisabled]=\"false\" [theme]=\"'text-link'\">Text Link</dr-button>\r\n*/\r\n","export const MAT_DEFAULT_DATE_FORMAT = 'MM/DD/yyyy';\r\nexport const DATE_INPUT_FORMAT = 'YYYY/MM/DD';\r\nexport const YEAR_FORMAT = 'yyyy';\r\nexport const MONTH_YEAR_FORMAT = 'MM/yyyy';\r\n\r\nexport interface DateParse { dateInput: string; }\r\n\r\nexport type DateDisplay = DateParse & {\r\n monthYearLabel?: string,\r\n dateA11yLabel?: string,\r\n monthYearA11yLabel?: string,\r\n};\r\nexport class CustomDateFormat {\r\n private _parse: DateParse = {\r\n dateInput: DATE_INPUT_FORMAT\r\n };\r\n private _display: DateDisplay = {\r\n dateInput: DATE_INPUT_FORMAT,\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMM YYYY'\r\n };\r\n\r\n set parse(parse: DateParse) {\r\n this._parse = Object.assign({}, this._parse, parse);\r\n }\r\n\r\n get parse(): DateParse {\r\n return this._parse;\r\n }\r\n\r\n set display(display: DateDisplay) {\r\n this._display = Object.assign({}, this._display, display);\r\n }\r\n\r\n get display(): DateDisplay {\r\n return this._display;\r\n }\r\n\r\n updateDateFormat(parse: DateParse, display?: DateDisplay) {\r\n this.parse = parse;\r\n if (!display) {\r\n display = parse;\r\n }\r\n this.display = display;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n ChangeDetectorRef, ViewChild, AfterViewInit\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MAT_DEFAULT_DATE_FORMAT, MONTH_YEAR_FORMAT, YEAR_FORMAT } from '../../models/datePicker';\r\nimport { Moment } from 'moment';\r\nimport * as moment from 'moment';\r\n\r\nconst noop = () => {};\r\n\r\n@Component({\r\n selector: 'dr-date-picker',\r\n templateUrl: './dr-date-picker.component.html',\r\n styleUrls: ['./dr-date-picker.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerComponent, multi: true }\r\n ],\r\n\r\n})\r\nexport class DrDatePickerComponent implements ControlValueAccessor, AfterViewInit {\r\n readonly = true;\r\n _lastView = 'month';\r\n _format = MAT_DEFAULT_DATE_FORMAT;\r\n\r\n @Input() set lastView(view: 'year' | 'month' | 'multi-year') {\r\n switch (view) {\r\n case 'year':\r\n this._lastView = 'multi-year';\r\n this._format = YEAR_FORMAT;\r\n break;\r\n case 'month':\r\n this._lastView = 'year';\r\n this._format = MONTH_YEAR_FORMAT;\r\n break;\r\n default:\r\n this._lastView = 'month';\r\n this._format = MAT_DEFAULT_DATE_FORMAT;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n @Input() set format(value) {\r\n if (value) {\r\n if (value.includes('d')) {\r\n value = value.replace(/d/g, 'D');\r\n } else if (value.includes('D')) {\r\n value = value.replace(/D/g, 'd');\r\n }\r\n this._format = value;\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n @Input() placeholder: string = 'Select';\r\n @Input() min: Date = null;\r\n @Input() max: Date = null;\r\n @ViewChild('datePicker') public dp;\r\n\r\n ngAfterViewInit(): void {\r\n if (this._lastView === 'month') {\r\n return;\r\n }\r\n const lastView = this._lastView;\r\n setTimeout(() => {\r\n const popupInstance = this.dp._popupComponentRef.instance;\r\n const calenderInstance = popupInstance._calendar._calendarHeaderPortal._attachedHost._attachedRef.instance;\r\n calenderInstance.currentPeriodClicked = function () {\r\n if (lastView === 'multi-year') {\r\n this.calendar.currentView = 'multi-year';\r\n } else if (lastView === 'year') {\r\n this.calendar.currentView = this.calendar.currentView == 'year' ? 'multi-year' : 'year';\r\n }\r\n };\r\n }, 1000);\r\n }\r\n private innerValue: any = null;\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n ) { }\r\n\r\n public get value(): number {\r\n return this.innerValue;\r\n }\r\n public set value(v: number) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public writeValue(value: any): void {\r\n if (value !== this.innerValue) {\r\n if (value && typeof value === 'number') {\r\n this.innerValue = moment.unix(value);\r\n } else {\r\n this.innerValue = value;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker<any>) {\r\n if (this._lastView === 'year') {\r\n this.writeValue(normalizedMonth);\r\n this.onChangeCallback(normalizedMonth);\r\n datepicker.close();\r\n }\r\n }\r\n\r\n chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker<any>) {\r\n if (this._lastView === 'multi-year') {\r\n this.writeValue(normalizedYear);\r\n this.onChangeCallback(normalizedYear);\r\n datepicker.close();\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Inject,\r\n Input,\r\n Optional\r\n} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { CustomDateFormat, DateDisplay, DateParse } from '../../models/datePicker';\r\n\r\n@Directive({\r\n selector: '[drDatePickerFormat]',\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter\r\n },\r\n {\r\n provide: MAT_DATE_FORMATS,\r\n useClass: CustomDateFormat\r\n }\r\n ]\r\n})\r\nexport class DrDatePickerFormatDirective {\r\n @Input() public configDateParse: DateParse;\r\n @Input() public configDateDisplay: DateDisplay;\r\n\r\n @Input('drDatePickerFormat')\r\n set datePickerFormat(format: string) {\r\n if (this.configDateParse) {\r\n this.matDateFormat.updateDateFormat(\r\n this.configDateParse,\r\n this.configDateDisplay\r\n );\r\n } else {\r\n this.matDateFormat.updateDateFormat({dateInput: format});\r\n }\r\n const value = this.ngControl.value;\r\n this.ngControl.valueAccessor?.writeValue(value);\r\n }\r\n\r\n constructor(\r\n @Inject(MAT_DATE_FORMATS) public matDateFormat: CustomDateFormat,\r\n @Optional() private ngControl: NgControl\r\n ) {\r\n }\r\n}\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentRef } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { DrPopoverComponent } from './dr-popover.component';\r\n\r\nexport class DrPopoverRef<T = any> {\r\n\r\n componentRef: ComponentRef<DrPopoverComponent<T>>;\r\n\r\n protected onClose$: Subject<any> = new Subject();\r\n // FIXME: this decision was made because of the incompatible rxjs version\r\n /**\r\n * Correct type is @type {Observable<any>}\r\n */\r\n readonly onClose: any = this.onClose$.asObservable();\r\n\r\n readonly onBackdropClick: Observable<MouseEvent>;\r\n\r\n constructor(private overlayRef: OverlayRef) {\r\n this.onBackdropClick = this.overlayRef.backdropClick();\r\n }\r\n\r\n close(res?: any): void {\r\n this.overlayRef.detach();\r\n this.overlayRef.dispose();\r\n this.onClose$.next(res);\r\n this.onClose$.complete();\r\n }\r\n}\r\n","import { POPUP_POSITIONS } from './constants';\r\nimport { ElPosition } from './dropdown';\r\nimport { ElementRef } from '@angular/core';\r\nimport { OverlayConfig } from '@angular/cdk/overlay';\r\n\r\nexport { DrPopoverRef } from '../dr-popover/dr-popover-ref';\r\n\r\nexport interface Point {\r\n readonly x: number;\r\n readonly y: number;\r\n}\r\n\r\nexport interface IPopoverManualClosing {\r\n enabled: boolean;\r\n}\r\n\r\nexport interface IDrPopoverComponentModel {\r\n hostRef: ElementRef | HTMLElement | Point;\r\n position?: ElPosition;\r\n contentContext?: any;\r\n class?: string;\r\n overlayConfig?: DrPopoverConfig;\r\n manualClosing?: IPopoverManualClosing;\r\n targetElement?: HTMLElement;\r\n alignment?: DrPopoverAlignment;\r\n}\r\n\r\nexport interface DrPopoverConfig extends OverlayConfig {\r\n closeOnBackdropClick?: boolean;\r\n}\r\n\r\nexport type DrPopoverAlignment = 'host';\r\n\r\nexport enum DrPopoverAlignmentDimension {\r\n Width = 'width',\r\n Height = 'height',\r\n}\r\n\r\nexport const DEFAULT_CONFIG: DrPopoverConfig = {\r\n hasBackdrop: false,\r\n closeOnBackdropClick: false,\r\n backdropClass: 'dr-popover-transparent-backdrop',\r\n};\r\n\r\nexport const DEFAULT_MODEL: Partial<IDrPopoverComponentModel> = {\r\n position: 'bottom',\r\n class: '',\r\n overlayConfig: {},\r\n manualClosing: { enabled: false },\r\n};\r\n\r\nexport function getAlignmentDimension(position: string): DrPopoverAlignmentDimension {\r\n if (!POPUP_POSITIONS[position]) return DrPopoverAlignmentDimension.Width;\r\n if (position?.includes('left') || position?.includes('right')) {\r\n return DrPopoverAlignmentDimension.Height;\r\n }\r\n return DrPopoverAlignmentDimension.Width;\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n TemplateRef,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n HostBinding,\r\n} from '@angular/core';\r\nimport { trigger } from '@angular/animations';\r\nimport { POPUP_ANIMATION } from '../models/constants';\r\nimport { DrPopoverRef } from './dr-popover-ref';\r\nimport { IPopoverManualClosing, Point, DrPopoverAlignment, getAlignmentDimension } from '../models/popover';\r\n\r\n@Component({\r\n selector: 'dr-popover',\r\n templateUrl: './dr-popover.component.html',\r\n styleUrls: ['./dr-popover.component.scss'],\r\n animations: [\r\n trigger('popover', POPUP_ANIMATION),\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrPopoverComponent<T> implements OnInit {\r\n\r\n @Input() content: TemplateRef<any> | Type<T>;\r\n @Input() contentContext: any;\r\n @Input() class = '';\r\n @Input() hostRef: ElementRef<unknown> | HTMLElement | Point;\r\n @Input() manualClosing: IPopoverManualClosing;\r\n @Input() alignment: DrPopoverAlignment;\r\n @Input() position: string;\r\n\r\n @ViewChild('popoverContainer', { read: ElementRef, static: true }) popoverContainer: ElementRef<HTMLElement>;\r\n isContentTemplate = false;\r\n componentRef: ComponentRef<T>;\r\n\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n\r\n @HostBinding('@popover') public popover = true;\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n clickOutside(e): void {\r\n const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || (this.hostRef.nativeElement as HTMLElement).contains(e.target));\r\n const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);\r\n const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');\r\n const isTargetInSelect = e.target.closest('ng-dropdown-panel');\r\n const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');\r\n\r\n if (!isTargetHost\r\n && !isTargetInPopover\r\n && !isTargetInDatepicker\r\n && !isTargetInSelect\r\n && !isTargetInDatepickerContent\r\n && !this.manualClosing.enabled\r\n ) {\r\n this.popoverRef.close();\r\n }\r\n }\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private elementRef: ElementRef,\r\n private popoverRef: DrPopoverRef<T>,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isContentTemplate = this.content instanceof TemplateRef;\r\n\r\n if (!this.isContentTemplate) {\r\n this.componentRef = this.viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(this.content as Type<T>));\r\n Object.assign(this.componentRef.instance, this.contentContext);\r\n this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);\r\n }\r\n if (this.alignment === 'host') {\r\n this[getAlignmentDimension(this.position)] = '100%';\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n}\r\n","import { first } from 'rxjs/operators';\r\nimport { DrPopoverRef } from './dr-popover-ref';\r\nimport { DrPopoverComponent } from './dr-popover.component';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { Injectable, Injector, StaticProvider, TemplateRef, Type, ElementRef } from '@angular/core';\r\nimport { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\r\nimport { POPUP_POSITIONS } from '../models/constants';\r\nimport { DEFAULT_CONFIG, DEFAULT_MODEL, getAlignmentDimension, IDrPopoverComponentModel, Point } from '../models/popover';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DrPopoverService {\r\n\r\n constructor(\r\n private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n private injector: Injector,\r\n ) { }\r\n\r\n open<T>(content: Type<T> | TemplateRef<HTMLElement>, popoverModel: IDrPopoverComponentModel): DrPopoverRef<T> {\r\n if (!content) return;\r\n\r\n const model = { ...DEFAULT_MODEL, ...popoverModel };\r\n\r\n const overlayRef = this.createOverlay(model);\r\n\r\n const popoverRef = new DrPopoverRef<T>(overlayRef);\r\n\r\n this.attachOverlayContainer(content, model, overlayRef, popoverRef);\r\n\r\n this.registerListeners(model, overlayRef, popoverRef);\r\n\r\n return popoverRef;\r\n }\r\n\r\n private attachOverlayContainer<T>(\r\n content: Type<T> | TemplateRef<HTMLElement>,\r\n { contentContext, position, class: elementClass, manualClosing, hostRef, alignment }: IDrPopoverComponentModel,\r\n overlayRef: OverlayRef,\r\n popoverRef: DrPopoverRef<T>\r\n ): void {\r\n const componentPortal = new ComponentPortal<DrPopoverComponent<T>>(DrPopoverComponent, null, this.createInjector(popoverRef));\r\n const contentRef = overlayRef.attach<DrPopoverComponent<T>>(componentPortal);\r\n\r\n popoverRef.componentRef = contentRef;\r\n\r\n contentRef.instance.content = content;\r\n contentRef.instance.contentContext = { ...contentContext, closePopover: popoverRef.close.bind(popoverRef) };\r\n contentRef.instance.class = elementClass + ' ' + position;\r\n contentRef.instance.manualClosing = manualClosing;\r\n contentRef.instance.hostRef = hostRef;\r\n contentRef.instance.alignment = alignment;\r\n contentRef.instance.position = position;\r\n }\r\n\r\n private createOverlay(popoverModel: IDrPopoverComponentModel): OverlayRef {\r\n const overlayConfig = this.getOverlayConfig(popoverModel);\r\n return this.overlay.create(overlayConfig);\r\n }\r\n\r\n private getOverlayConfig(popoverModel: IDrPopoverComponentModel): OverlayConfig {\r\n if (!POPUP_POSITIONS[popoverModel.position]) throw new Error(`DrPopover does not support the '${popoverModel?.position}' position!`);\r\n\r\n const config = { ...DEFAULT_CONFIG, ...popoverModel.overlayConfig || {}};\r\n const hostElement = this.getHostElement(popoverModel.hostRef);\r\n\r\n const positionStrategy = this.overlayPositionBuilder\r\n .flexibleConnectedTo(popoverModel.hostRef)\r\n .withPositions([POPUP_POSITIONS[popoverModel.position]]);\r\n\r\n const overlayConfig = new OverlayConfig({\r\n scrollStrategy: this.overlay.scrollStrategies.noop(),\r\n positionStrategy,\r\n ...config,\r\n });\r\n\r\n if (popoverModel.alignment === 'host' && hostElement) {\r\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\r\n overlayConfig[alignmentDimension] = hostElement.getBoundingClientRect()[alignmentDimension];\r\n }\r\n\r\n return overlayConfig;\r\n }\r\n\r\n private createInjector<T>(popoverRef: DrPopoverRef<T>): Injector {\r\n const injectionTokens: StaticProvider[] = [\r\n { provide: DrPopoverRef, useValue: popoverRef },\r\n ];\r\n\r\n return Injector.create({ providers: injectionTokens, parent: this.injector });\r\n }\r\n\r\n private registerListeners<T>(popoverModel: IDrPopoverComponentModel, overlayRef: OverlayRef, popoverRef: DrPopoverRef<T>): void {\r\n const config = popoverModel.overlayConfig || {};\r\n const targetElement = popoverModel.targetElement;\r\n const hostElement = this.getHostElement(popoverModel.hostRef);\r\n\r\n if (config?.closeOnBackdropClick && config?.hasBackdrop) {\r\n overlayRef.backdropClick().subscribe(() => popoverRef.close());\r\n }\r\n\r\n if (targetElement) {\r\n targetElement.addEventListener('mouseup', () => popoverRef.close(), { once: true });\r\n }\r\n\r\n if (popoverModel.alignment === 'host' && hostElement) {\r\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\r\n const resizeObserver = new ResizeObserver(entries => {\r\n entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));\r\n });\r\n resizeObserver.observe(hostElement);\r\n popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));\r\n }\r\n }\r\n\r\n private getHostElement<T>(hostRef: Point | HTMLElement | ElementRef<T>): HTMLElement {\r\n if (!hostRef || (<Point>hostRef).x) return null;\r\n if ((<ElementRef>hostRef).nativeElement) return (<ElementRef>hostRef).nativeElement;\r\n return <HTMLElement>hostRef;\r\n }\r\n\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n TemplateRef,\r\n Type,\r\n} from '@angular/core';\r\nimport { OverlayConfig } from '@angular/cdk/overlay';\r\nimport { first } from 'rxjs/operators';\r\nimport { ElPosition } from './../models/dropdown';\r\nimport { DrPopoverRef } from './dr-popover-ref';\r\nimport { DrPopoverService } from './dr-popover.service';\r\nimport { IPopoverManualClosing, DrPopoverAlignment } from '../models/popover';\r\n\r\n@Directive({\r\n selector: '[drPopover]'\r\n})\r\nexport class DrPopoverDirective<T> implements OnDestroy {\r\n\r\n @Input('drPopover') content: TemplateRef<any> | Type<T>;\r\n\r\n @Input('drPopoverContext') contentContext: Object = {};\r\n\r\n @Input('drPopoverPosition') position: ElPosition = 'bottom';\r\n\r\n @Input('drPopoverClass') class: string = '';\r\n\r\n @Input('drPopoverOverlayConfig') overlayConfig: OverlayConfig = {};\r\n\r\n @Input('drPopoverManualClosing') manualClosing: IPopoverManualClosing = { enabled: false };\r\n\r\n @Input('drPopoverAlignment') alignment: DrPopoverAlignment;\r\n\r\n @Output('drPopoverClose') popoverClose = new EventEmitter<any>();\r\n\r\n @Output('drPopoverShowStateChange') showStateChange = new EventEmitter<{ isShown: boolean }>();\r\n\r\n private popoverRef: DrPopoverRef<T>;\r\n\r\n constructor(private elementRef: ElementRef,\r\n private drPopoverService: DrPopoverService,\r\n ) { }\r\n\r\n @HostListener('click')\r\n togglePopover(): void {\r\n if (this.popoverRef) {\r\n this.closePopover();\r\n } else {\r\n this.renderPopover();\r\n this.showStateChange.emit({ isShown: !!this.popoverRef });\r\n }\r\n }\r\n\r\n closePopover(res?: any): void {\r\n if (this.popoverRef) {\r\n this.popoverRef.close(res);\r\n this.popoverRef = null;\r\n }\r\n }\r\n\r\n private renderPopover(): void {\r\n const popoverRef = this.popoverRef = this.drPopoverService.open(this.content, {\r\n hostRef: this.elementRef,\r\n overlayConfig: this.overlayConfig,\r\n class: this.class,\r\n manualClosing: this.manualClosing,\r\n position: this.position,\r\n contentContext: this.contentContext,\r\n alignment: this.alignment,\r\n });\r\n\r\n popoverRef.onClose.pipe(first()).subscribe((res) => {\r\n this.closePopover();\r\n this.popoverClose.emit(res);\r\n this.showStateChange.emit({ isShown: !!this.popoverRef });\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closePopover();\r\n }\r\n}\r\n","import { ComponentRef, Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DrDropdownComponent } from './dr-dropdown.component';\r\nimport { IDropdownAction } from '../models/dropdown';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DrDropdownService {\r\n\r\n actionItem = new Subject<IDropdownAction<unknown>>();\r\n protected menuInView: ComponentRef<DrDropdownComponent>;\r\n\r\n constructor() {\r\n }\r\n\r\n set addMenu(item: ComponentRef<DrDropdownComponent>) {\r\n this.menuInView = item;\r\n }\r\n\r\n destroy() {\r\n if (this.menuInView) {\r\n this.menuInView.destroy();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';\r\nimport { IDropdownItem, ElPosition, IDropdownActionIcon, IDropdown, IDropdownCoordinate } from '../models/dropdown';\r\nimport { DrDropdownService } from './dr-dropdown.service';\r\n\r\n@Component({\r\n selector: 'dr-dropdown',\r\n templateUrl: './dr-dropdown.component.html',\r\n styleUrls: ['./dr-dropdown.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrDropdownComponent {\r\n\r\n @ViewChild('listMenu') viewMenu: HTMLElement;\r\n @ViewChild('menuContainer') menuContainer: HTMLElement;\r\n option: any;\r\n position: ElPosition | IDropdownCoordinate = 'left';\r\n list: IDropdownItem<unknown>[];\r\n containerClass: string;\r\n private firstInit: boolean;\r\n\r\n constructor(protected menuService: DrDropdownService, private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n @Input() set options(data: IDropdown<IDropdownItem<any>>) {\r\n if (data) {\r\n this.option = data.option;\r\n this.position = data.position;\r\n this.containerClass = data.class;\r\n this.list = data.list || [];\r\n this.list.forEach(item => {\r\n if (item.children?.length) {\r\n item.childOptions = {\r\n list: item.children,\r\n class: item?.childOptions?.class || '',\r\n position: 'child'\r\n };\r\n }\r\n });\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n onClickedOutside(): void {\r\n if (this.firstInit) {\r\n this.menuService.destroy();\r\n } else {\r\n this.firstInit = true;\r\n }\r\n }\r\n\r\n hide(): void {\r\n this.menuService.destroy();\r\n }\r\n\r\n disabled(act: IDropdownItem<unknown> | IDropdownActionIcon<any>): boolean {\r\n if (!act.disabled) {\r\n return false;\r\n }\r\n if (typeof act.disabled === 'boolean') {\r\n return act.disabled;\r\n } else {\r\n return act.disabled(act.data);\r\n }\r\n }\r\n\r\n selected(act: IDropdownItem<unknown>): boolean {\r\n if (!act.selected) {\r\n return false;\r\n }\r\n if (typeof act.selected === 'boolean') {\r\n return act.selected;\r\n } else {\r\n return act.selected(act.data);\r\n }\r\n }\r\n\r\n tooltipToShow(act: IDropdownItem<unknown>): string {\r\n if (act.toolTipIfDisabled && !this.disabled(act)) return '';\r\n return act.toolTip;\r\n }\r\n\r\n tooltipPosition(widthMoreRight: boolean) {\r\n return widthMoreRight ? 'right' : 'left';\r\n }\r\n\r\n action(act: IDropdownItem<any>) {\r\n if (!this.disabled(act)) {\r\n if (act.action) {\r\n act.action(act.data);\r\n } else {\r\n this.menuService.actionItem.next({event: act.event || act.title || 'default', data: act.data});\r\n }\r\n this.hide();\r\n }\r\n }\r\n\r\n onActionIconClick($event, actionIcon: IDropdownActionIcon<any>, data: any) {\r\n $event.stopPropagation();\r\n if (!this.disabled(actionIcon)) {\r\n actionIcon.action(data);\r\n this.hide();\r\n }\r\n }\r\n}\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { IDropdownItem, ElPosition, IDropdown } from '../models/dropdown';\r\nimport { DrDropdownComponent } from './dr-dropdown.component';\r\nimport { DrDropdownService } from './dr-dropdown.service';\r\n\r\n@Directive({\r\n selector: '[drDropdown]'\r\n})\r\nexport class DrDropdownDirective<T> implements OnDestroy {\r\n\r\n @Input() position: ElPosition = 'left';\r\n @Input() drDropdown: IDropdownItem<T>[];\r\n @Input() drDropdownClass: string;\r\n @ViewChild(DrDropdownComponent, {static: true, read: ViewContainerRef}) contentCmpRef;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private service: DrDropdownService,\r\n private el: ElementRef,\r\n @Inject(DOCUMENT) private _document: any) {\r\n }\r\n\r\n @HostListener('click') elementClick() {\r\n const option = this.el.nativeElement.getBoundingClientRect();\r\n this._document.querySelectorAll('dr-dropdown').forEach(item => item.remove());\r\n if (this.contentCmpRef && this.contentCmpRef.destroyCbs) {\r\n this.contentCmpRef.destroy();\r\n this.contentCmpRef = null;\r\n } else {\r\n this.service.destroy();\r\n this.showMenu({\r\n option,\r\n position: this.position,\r\n list: this.drDropdown,\r\n class: this.drDropdownClass\r\n });\r\n }\r\n\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event']) documentClick(e) {\r\n const menuItem = e.target.classList;\r\n if (menuItem.contains('dr-dropdown__container__item') || menuItem.contains('dr-dropdown__container__item__text')) {\r\n return;\r\n }\r\n const elems = this._document.querySelectorAll('dr-dropdown');\r\n if (!e.target.contains(this.el.nativeElement) && this.contentCmpRef || elems.length && !e.target.contains(this.el.nativeElement)) {\r\n setTimeout(() => elems.forEach(item => item.remove()), 100);\r\n }\r\n }\r\n\r\n private showMenu(options: IDropdown<T>) {\r\n let componentFactory: ComponentFactory<DrDropdownComponent>;\r\n componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrDropdownComponent);\r\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\r\n this.service.addMenu = this.contentCmpRef;\r\n this._document.querySelector('nb-layout').appendChild(this.contentCmpRef.location.nativeElement);\r\n this.contentCmpRef.instance.options = options;\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.contentCmpRef) {\r\n this.contentCmpRef.destroy();\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { IDropdownCoordinate, ElPosition } from '../models/dropdown';\r\n\r\n@Directive({\r\n selector: '[drDropdownPosition]',\r\n exportAs: 'dropdownPosition'\r\n})\r\nexport class DrDropdownPositionDirective implements OnInit {\r\n\r\n @Input() drDropdownPosition;\r\n @Input() position: ElPosition | IDropdownCoordinate = 'left';\r\n\r\n widthMoreRight: boolean;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n ngOnInit(): void {\r\n setTimeout(this.calculatePosition.bind(this), 1);\r\n }\r\n\r\n calculatePosition() {\r\n let xDifference = 0;\r\n let defaultDelta = 10;\r\n let defaultPadding = 0;\r\n\r\n if (this.position === 'child') {\r\n defaultDelta = 0;\r\n defaultPadding = 10;\r\n xDifference = this.el.nativeElement.parentElement.parentElement.offsetWidth - this.el.nativeElement.offsetWidth;\r\n const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();\r\n\r\n this.position = {\r\n x: this.el.nativeElement.offsetWidth,\r\n y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,\r\n clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,\r\n clientY: parentRect.y\r\n };\r\n }\r\n\r\n if (typeof this.position === 'string') {\r\n this.renderer.setStyle(this.el.nativeElement, 'top',\r\n this.position === 'bottom' ?\r\n this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :\r\n this.drDropdownPosition.y + 'px');\r\n this.renderer.setStyle(this.el.nativeElement, 'left',\r\n this.position === 'right' ?\r\n this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :\r\n this.drDropdownPosition.x + 'px');\r\n const menuHeight = this.el.nativeElement.offsetHeight;\r\n const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;\r\n const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;\r\n const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;\r\n\r\n const spaceBetweenElAndRightBorder = window.innerWidth - (this.drDropdownPosition.x + this.el.nativeElement.offsetWidth);\r\n this.widthMoreRight = this.drDropdownPosition.x < spaceBetweenElAndRightBorder;\r\n\r\n if (heightMoreWindowBottom) {\r\n this.position = 'top';\r\n }\r\n if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {\r\n this.position = 'top-left';\r\n this.renderer.setStyle(this.el.nativeElement, 'transform',\r\n 'translate(-100%, calc(-100% + ' + this.drDropdownPosition.height + 'px))');\r\n }\r\n if (heightMoreWindowTop && heightMoreWindowBottom) {\r\n this.position = 'left-center';\r\n }\r\n if (this.position === 'bottom-left') {\r\n this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(calc(-100% + ${ this.drDropdownPosition.width }px), ${ this.drDropdownPosition.height + 8 }px)`);\r\n }\r\n const className = this.position === 'top' ? 'content-top'\r\n : this.position === 'top-left' ? 'content-top-left'\r\n : this.position === 'bottom' ? 'content-bottom'\r\n : this.position === 'bottom-left' ? 'content-bottom-left'\r\n : this.position === 'left' ? 'content-left'\r\n : this.position === 'left-center' ? 'content-left-center'\r\n : this.position === 'right' ? 'content-right'\r\n : this.position === 'bottom-right' ? 'content-bottom-right' : '';\r\n this.renderer.addClass(this.el.nativeElement, className);\r\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\r\n } else {\r\n const defaultChildPadding = 3;\r\n const widthMoreWindowRight = window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;\r\n const widthMoreWindowBottom = window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;\r\n this.widthMoreRight = !(widthMoreWindowRight < 0);\r\n\r\n const calculatedHorizantallyPos = widthMoreWindowRight < 0\r\n ? -this.position.x + -defaultChildPadding\r\n : this.position.x + defaultChildPadding + xDifference;\r\n\r\n const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;\r\n\r\n this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');\r\n this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');\r\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { IDropdownItem } from '../models/dropdown';\r\n\r\n@Pipe({\r\n name: 'drDropdownItemShowPipe'\r\n})\r\nexport class DrDropdownItemShowPipe<T> implements PipeTransform {\r\n transform(arr: IDropdownItem<T>[]): IDropdownItem<T>[] {\r\n return arr.filter(item => item.show ? item.show(item.data) : true);\r\n }\r\n}\r\n","import { Component, OnInit, Input, ViewChild, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dr-tab',\r\n template: `\r\n <ng-template>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n `\r\n})\r\nexport class DrTabComponent implements OnInit {\r\n @Input() label: String;\r\n @Input() disabled: boolean;\r\n @ViewChild(TemplateRef) public contentTemplate: TemplateRef<any>;\r\n\r\n constructor() { }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n ContentChildren,\r\n QueryList,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { DrTabComponent } from './dr-tab.component';\r\n\r\n@Component({\r\n selector: 'dr-tabs',\r\n templateUrl: './dr-tabs.component.html',\r\n styleUrls: ['./dr-tabs.component.scss'],\r\n})\r\nexport class DrTabsComponent {\r\n\r\n @Input() selectedTab: number = 0;\r\n @Input() withRadio: boolean;\r\n @Input() vertical: boolean;\r\n @Output() selectedTabChange: EventEmitter<any> = new EventEmitter<any>();\r\n @ContentChildren(DrTabComponent) public tabsContentList: QueryList<DrTabComponent>;\r\n\r\n constructor() { }\r\n\r\n selectedIndexChange($event) {\r\n this.selectedTab = $event;\r\n this.selectedTabChange.emit($event);\r\n }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'dr-accordion',\r\n template: '<ng-content select=\"dr-accordion-item\"></ng-content>',\r\n styleUrls: ['./accordion.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionComponent {\r\n static ngAcceptInputType_multi: any;\r\n openCloseItems = new Subject<boolean>();\r\n\r\n /**\r\n * Allow multiple items to be expanded at the same time.\r\n */\r\n @Input('multi')\r\n get multi(): boolean {\r\n return this.multiValue;\r\n }\r\n set multi(val: boolean) {\r\n this.multiValue = !!val;\r\n }\r\n\r\n private multiValue = false;\r\n\r\n /**\r\n * Opens all enabled accordion items.\r\n */\r\n openAll() {\r\n if (this.multi) {\r\n this.openCloseItems.next(false);\r\n }\r\n }\r\n\r\n /**\r\n * Closes all enabled accordion items.\r\n */\r\n closeAll() {\r\n this.openCloseItems.next(true);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n SimpleChanges,\r\n HostBinding,\r\n Host,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { DrAccordionComponent } from './accordion.component';\r\n\r\n@Component({\r\n selector: 'dr-accordion-item',\r\n styleUrls: ['./accordion-item.component.scss'],\r\n template: `\r\n <ng-content select=\"dr-accordion-item-header\"></ng-content>\r\n <ng-content select=\"dr-accordion-item-body\"></ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionItemComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Item is collapse (`true` by default)\r\n * @type {boolean}\r\n */\r\n @Input('collapsed')\r\n @HostBinding('class.collapsed')\r\n get collapsed(): boolean {\r\n return this.collapsedValue;\r\n }\r\n set collapsed(val: boolean) {\r\n this.collapsedValue = !!val;\r\n this.collapsedChange.emit(this.collapsedValue);\r\n this.invalidate();\r\n }\r\n static ngAcceptInputType_collapsed: any;\r\n\r\n /**\r\n * Item is expanded (`false` by default)\r\n */\r\n @Input('expanded')\r\n @HostBinding('class.expanded')\r\n get expanded(): boolean {\r\n return !this.collapsed;\r\n }\r\n set expanded(val: boolean) {\r\n this.collapsedValue = !val;\r\n }\r\n static ngAcceptInputType_expanded: any;\r\n\r\n /**\r\n * Item is disabled and cannot be opened.\r\n * @type {boolean}\r\n */\r\n @Input('disabled')\r\n @HostBinding('class.disabled')\r\n get disabled(): boolean {\r\n return this.disabledValue;\r\n }\r\n set disabled(val: boolean) {\r\n this.disabledValue = !!val;\r\n this.invalidate();\r\n }\r\n static ngAcceptInputType_disabled: any;\r\n\r\n /**\r\n * Emits whenever the expanded state of the accordion changes.\r\n * Primarily used to facilitate two-way binding.\r\n */\r\n @Output() collapsedChange = new EventEmitter<boolean>();\r\n\r\n accordionItemInvalidate = new Subject<boolean>();\r\n\r\n private collapsedValue = true;\r\n private disabledValue = false;\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(@Host() private accordion: DrAccordionComponent, private cd: ChangeDetectorRef) {\r\n }\r\n\r\n /**\r\n * Open/close the item\r\n */\r\n toggle() {\r\n if (!this.disabled) {\r\n // we need this temporary variable as `openCloseItems.next` will change current value we need to save\r\n const willSet = !this.collapsed;\r\n\r\n if (!this.accordion.multi) {\r\n this.accordion.openCloseItems.next(true);\r\n }\r\n this.collapsed = willSet;\r\n }\r\n }\r\n\r\n /**\r\n * Open the item.\r\n */\r\n open() {\r\n if (!this.disabled) {\r\n this.collapsed = false;\r\n }\r\n }\r\n\r\n /**\r\n * Collapse the item.\r\n */\r\n close() {\r\n if (!this.disabled) {\r\n this.collapsed = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.accordion.openCloseItems\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(collapsed => {\r\n if (!this.disabled) {\r\n this.collapsed = collapsed;\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.accordionItemInvalidate.next(true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n this.accordionItemInvalidate.complete();\r\n }\r\n\r\n private invalidate() {\r\n this.accordionItemInvalidate.next(true);\r\n this.cd.markForCheck();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Host,\r\n HostBinding,\r\n HostListener,\r\n OnInit,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { DrAccordionItemComponent } from './accordion-item.component';\r\n\r\n@Component({\r\n selector: 'dr-accordion-item-header',\r\n styleUrls: ['./accordion-item-header.component.scss'],\r\n template: `\r\n <ng-content select=\"dr-accordion-item-title\"></ng-content>\r\n <ng-content select=\"dr-accordion-item-description\"></ng-content>\r\n <ng-content></ng-content>\r\n <i class=\"dr-icon-arrow-down expansion-indicator\"\r\n [@expansionIndicator]=\"state\"\r\n *ngIf=\"!disabled\">\r\n </i>\r\n `,\r\n animations: [\r\n trigger('expansionIndicator', [\r\n state(\r\n 'expanded',\r\n style({\r\n transform: 'rotate(180deg)',\r\n }),\r\n ),\r\n transition('collapsed => expanded', animate('100ms ease-in')),\r\n transition('expanded => collapsed', animate('100ms ease-out')),\r\n ]),\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionItemHeaderComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n @HostBinding('class.accordion-item-header-collapsed')\r\n get isCollapsed(): boolean {\r\n return this.accordionItem.collapsed;\r\n }\r\n\r\n @HostBinding('class.accordion-item-header-expanded')\r\n @HostBinding('attr.aria-expanded')\r\n get expanded(): boolean {\r\n return !this.accordionItem.collapsed;\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabbable(): string {\r\n return this.accordionItem.disabled ? '-1' : '0';\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get disabled(): boolean {\r\n return this.accordionItem.disabled;\r\n }\r\n\r\n @HostListener('click')\r\n @HostListener('keydown.space')\r\n @HostListener('keydown.enter')\r\n toggle() {\r\n this.accordionItem.toggle();\r\n }\r\n\r\n get state(): string {\r\n if (this.isCollapsed) {\r\n return 'collapsed';\r\n }\r\n return 'expanded';\r\n }\r\n\r\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.accordionItem.accordionItemInvalidate\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => this.cd.markForCheck());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Host,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { DrAccordionItemComponent } from './accordion-item.component';\r\n\r\nconst accordionItemBodyTrigger = trigger('accordionItemBody', [\r\n state(\r\n 'collapsed',\r\n style({\r\n overflow: 'hidden',\r\n visibility: 'hidden',\r\n height: 0,\r\n }),\r\n ),\r\n state(\r\n 'expanded',\r\n style({\r\n overflow: 'hidden',\r\n visibility: 'visible',\r\n }),\r\n ),\r\n transition('collapsed => expanded', animate('100ms ease-in')),\r\n transition('expanded => collapsed', animate('100ms ease-out')),\r\n]);\r\n\r\n@Component({\r\n selector: 'dr-accordion-item-body',\r\n template: `\r\n <div [@accordionItemBody]=\"{ value: state }\">\r\n <div class=\"item-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./accordion-item-body.component.scss'],\r\n animations: [accordionItemBodyTrigger],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionItemBodyComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {}\r\n\r\n get state(): string {\r\n return this.accordionItem.collapsed ? 'collapsed' : 'expanded';\r\n }\r\n\r\n ngOnInit() {\r\n this.accordionItem.accordionItemInvalidate\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => this.cd.markForCheck());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { AnyTagComponent, DateTagComponent } from \"./date-tag.component\";\r\nimport { DayTagComponent } from \"./day-tag/day-tag.component\";\r\nimport { WeekTagComponent } from \"./week-tag/week-tag.component\";\r\nimport { MonthTagComponent } from \"./month-tag/month-tag.component\";\r\nimport { QuarterTagComponent } from \"./quarter-tag/quarter-tag.component\";\r\nimport { YearTagComponent } from \"./year-tag/year-tag.component\";\r\nimport { ForecastTagComponent } from \"./forecast-tag/forecast-tag.component\";\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule } from \"@angular/material-moment-adapter\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\n\r\nexport const components = [DateTagComponent,\r\n DayTagComponent,\r\n WeekTagComponent,\r\n MonthTagComponent,\r\n QuarterTagComponent,\r\n AnyTagComponent,\r\n YearTagComponent,\r\n ForecastTagComponent];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatNativeDateModule,\r\n MatDatepickerModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatMomentDateModule,\r\n MatSelectModule\r\n ],\r\n exports: components,\r\n providers: [\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\r\n ],\r\n declarations: components,\r\n})\r\n\r\nexport class DateTagModule { };\r\n","import {NgModule} from \"@angular/core\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule} from \"@angular/material-moment-adapter\";\r\nimport {ListTagComponent} from \"./list-tag.component\";\r\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\r\nimport {MatSelectModule} from \"@angular/material/select\";\r\nimport {MatButtonToggleModule} from \"@angular/material/button-toggle\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatMomentDateModule,\r\n MatSelectModule,\r\n MatButtonToggleModule,\r\n ],\r\n exports: [ListTagComponent],\r\n providers: [],\r\n declarations: [\r\n ListTagComponent\r\n ],\r\n})\r\n\r\nexport class ListTagModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DrTagComponent} from \"./dr-tag.component\";\r\nimport {ListTagModule} from \"../list-tags/list-tag.module\";\r\nimport { DateTagModule } from \"../date-tags/date-tag.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DateTagModule,\r\n ListTagModule\r\n ],\r\n exports: [DrTagComponent],\r\n providers: [\r\n ],\r\n declarations: [\r\n DrTagComponent\r\n ],\r\n})\r\n\r\nexport class DrTagModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { DrInputComponent } from './dr-input/dr-input.component';\r\nimport { DrSelectComponent } from './dr-select/dr-select.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\r\nimport { RadioGroupComponent } from './radio-button/radio-group.component';\r\nimport { DrToggleComponent } from './dr-toggle/dr-toggle.component';\r\nimport { DrButtonComponent } from './button/button.component';\r\n\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { DrDatePickerComponent } from './dr-date-picker/dr-date-picker.component';\r\nimport { DrDatePickerFormatDirective } from './dr-date-picker/dr-date-picker-format.directive';\r\nimport { DrToggleButtonComponent } from './dr-toggle-button/dr-toggle-button.component';\r\n\r\nconst components = [\r\n DrButtonComponent,\r\n RadioButtonComponent,\r\n RadioGroupComponent,\r\n CheckboxComponent,\r\n DrInputComponent,\r\n DrSelectComponent,\r\n DrToggleComponent,\r\n DrToggleButtonComponent,\r\n DrDatePickerComponent,\r\n DrDatePickerFormatDirective\r\n];\r\n\r\n@NgModule({\r\n declarations: components,\r\n exports: components,\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n NgSelectModule,\r\n MatDatepickerModule,\r\n ]\r\n})\r\n\r\nexport class DrInputsModule {\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrTooltipDirective } from \"./dr-tooltip.directive\";\r\nimport { TooltipComponent } from \"./dr-tooltip.component\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TooltipComponent,\r\n DrTooltipDirective,\r\n ],\r\n providers: [],\r\n declarations: [\r\n TooltipComponent,\r\n DrTooltipDirective,\r\n ],\r\n})\r\n\r\nexport class DrTooltipModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrAvatarComponent } from './dr-avatar.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrAvatarPipe } from './dr-avatar.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n DrAvatarComponent,\r\n DrAvatarPipe\r\n ],\r\n exports: [\r\n DrAvatarComponent,\r\n DrAvatarPipe\r\n ],\r\n imports: [\r\n MatTooltipModule,\r\n DrTooltipModule,\r\n CommonModule\r\n ]\r\n})\r\n\r\nexport class DrAvatarModule {\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DrSpinnerComponent } from './dr-spinner.component';\r\nimport { DrSpinnerDirective } from './dr-spinner.directive';\r\n\r\nconst components = [DrSpinnerComponent];\r\nconst directives = [DrSpinnerDirective];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [...components, ...directives],\r\n declarations: [...components, ...directives]\r\n})\r\n\r\nexport class DrSpinnerModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrPopoverDirective } from './dr-popover.directive';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrPopoverComponent } from './dr-popover.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n DrPopoverDirective,\r\n DrPopoverComponent,\r\n ],\r\n providers: [],\r\n declarations: [\r\n DrPopoverDirective,\r\n DrPopoverComponent,\r\n ],\r\n})\r\n\r\nexport class DrPopoverModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrDropdownPositionDirective } from './dr-dropdown-position.directive';\r\nimport { DrDropdownDirective } from './dr-dropdown.directive';\r\nimport { DrDropdownComponent } from './dr-dropdown.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\r\nimport { DrDropdownItemShowPipe } from './dr-dropdown-item-show.pipe';\r\nimport { DrDropdownService } from './dr-dropdown.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DrTooltipModule,\r\n ],\r\n declarations: [\r\n DrDropdownDirective,\r\n DrDropdownPositionDirective,\r\n DrDropdownComponent,\r\n DrDropdownItemShowPipe,\r\n ],\r\n exports: [\r\n DrDropdownDirective,\r\n DrDropdownPositionDirective,\r\n DrDropdownComponent,\r\n DrDropdownItemShowPipe,\r\n ],\r\n providers: [\r\n DrDropdownService,\r\n ],\r\n})\r\n\r\nexport class DrDropdownModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrTabsComponent } from './dr-tabs.component';\r\nimport { DrTabComponent } from './dr-tab.component';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { DrInputsModule } from '../dr-inputs/dr-inputs.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatTabsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DrInputsModule\r\n ],\r\n exports: [\r\n DrTabsComponent,\r\n DrTabComponent\r\n ],\r\n providers: [],\r\n declarations: [\r\n DrTabsComponent,\r\n DrTabComponent\r\n ],\r\n})\r\n\r\nexport class DrTabsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrAccordionComponent } from './accordion.component';\r\nimport { DrAccordionItemComponent } from './accordion-item.component';\r\nimport { DrAccordionItemHeaderComponent } from './accordion-item-header.component';\r\nimport { DrAccordionItemBodyComponent } from './accordion-item-body.component';\r\n\r\nconst DR_ACCORDION_COMPONENTS = [\r\n DrAccordionComponent,\r\n DrAccordionItemComponent,\r\n DrAccordionItemHeaderComponent,\r\n DrAccordionItemBodyComponent,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [...DR_ACCORDION_COMPONENTS],\r\n declarations: [...DR_ACCORDION_COMPONENTS],\r\n providers: [],\r\n})\r\nexport class DrAccordionModule {}\r\n","/* components */\r\nexport * from './lib/date-tags/date-tag.component';\r\nexport * from './lib/date-tags/forecast-tag/forecast-tag.component';\r\nexport * from './lib/date-tags/month-tag/month-tag.component';\r\nexport * from './lib/date-tags/quarter-tag/quarter-tag.component';\r\nexport * from './lib/date-tags/week-tag/week-tag.component';\r\nexport * from './lib/date-tags/year-tag/year-tag.component';\r\nexport * from './lib/dr-tags/dr-tag.component';\r\nexport * from './lib/list-tags/list-tag.component';\r\nexport * from './lib/date-tags/day-tag/day-tag.component';\r\nexport * from './lib/date-tags/date-tag.component';\r\nexport * from './lib/dr-inputs/radio-button/radio-button.component';\r\nexport * from './lib/dr-inputs/radio-button/radio-group.component';\r\nexport * from './lib/dr-inputs/checkbox/checkbox.component';\r\nexport * from './lib/dr-inputs/dr-input/dr-input.component';\r\nexport * from './lib/dr-inputs/dr-select/dr-select.component';\r\nexport * from './lib/dr-avatar/dr-avatar.component';\r\nexport * from './lib/dr-avatar/dr-avatar.pipe';\r\nexport * from './lib/dr-tooltip/dr-tooltip.component';\r\nexport * from './lib/dr-tooltip/dr-tooltip.directive';\r\nexport * from './lib/dr-inputs/dr-toggle/dr-toggle.component';\r\nexport * from './lib/dr-inputs/dr-toggle-button/dr-toggle-button.component';\r\nexport * from './lib/dr-spinner/dr-spinner.component';\r\nexport * from './lib/dr-spinner/dr-spinner.directive';\r\nexport * from './lib/dr-inputs/button/button.component';\r\n\r\nexport * from './lib/dr-inputs/dr-date-picker/dr-date-picker.component';\r\nexport * from './lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive';\r\nexport * from './lib/dr-popover/dr-popover.directive';\r\nexport * from './lib/dr-popover/dr-popover.component';\r\nexport * from './lib/dr-popover/dr-popover.service';\r\n\r\nexport * from './lib/dr-dropdown/dr-dropdown.directive';\r\nexport * from './lib/dr-dropdown/dr-dropdown-position.directive';\r\nexport * from './lib/dr-dropdown/dr-dropdown.component';\r\nexport * from './lib/dr-dropdown/dr-dropdown.service';\r\nexport * from './lib/dr-dropdown/dr-dropdown-item-show.pipe';\r\nexport * from './lib/dr-tabs/dr-tabs.component';\r\nexport * from './lib/dr-tabs/dr-tab.component';\r\n\r\nexport * from './lib/dr-accordion/accordion.component';\r\nexport * from './lib/dr-accordion/accordion-item.component';\r\nexport * from './lib/dr-accordion/accordion-item-header.component';\r\nexport * from './lib/dr-accordion/accordion-item-body.component';\r\n\r\n/* models */\r\nexport { TAG_TYPES, ITag, IDateTag, IListTag, ITagForServer } from './lib/models/serverTags';\r\nexport {\r\n ElPosition,\r\n IDropdown,\r\n IDropdownItem,\r\n IDropdownActionIcon,\r\n IDropdownCoordinate,\r\n IDropdownCallEvent,\r\n IDropdownAction\r\n} from './lib/models/dropdown';\r\nexport {\r\n DrPopoverRef,\r\n IDrPopoverComponentModel,\r\n Point,\r\n DrPopoverConfig,\r\n IPopoverManualClosing,\r\n DrPopoverAlignment,\r\n DrPopoverAlignmentDimension,\r\n} from './lib/models/popover';\r\n\r\n/* modules */\r\nexport { DateTagModule } from './lib/date-tags/date-tag.module';\r\nexport { ListTagModule } from './lib/list-tags/list-tag.module';\r\nexport { DrTagModule } from './lib/dr-tags/dr-tag.module';\r\nexport { DrInputsModule } from './lib/dr-inputs/dr-inputs.module';\r\nexport { DrTooltipModule } from './lib/dr-tooltip/dr-tooltip.module';\r\nexport { DrAvatarModule } from './lib/dr-avatar/dr-avatar.module';\r\nexport { DrSpinnerModule } from './lib/dr-spinner/dr-spinner.module';\r\nexport { DrPopoverModule } from './lib/dr-popover/dr-popover.module';\r\nexport { DrDropdownModule } from './lib/dr-dropdown/dr-dropdown.module';\r\nexport { DrTabsModule } from './lib/dr-tabs/dr-tabs.module';\r\nexport { DrAccordionModule } from './lib/dr-accordion/accordion.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {components as ɵa} from './lib/date-tags/date-tag.module';\nexport {POPUP_ANIMATION as ɵb} from './lib/models/constants';\nexport {CustomDateFormat as ɵc} from './lib/models/datePicker';"],"names":["EventEmitter","Component","ViewEncapsulation","Input","Output","moment","FormControl","DateAdapter","MomentDateAdapter","MAT_DATE_LOCALE","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MAT_DATE_FORMATS","momentImported","NG_VALUE_ACCESSOR","ChangeDetectionStrategy","ChangeDetectorRef","Subject","startWith","switchMap","from","takeUntil","merge","isPlatformBrowser","fromEvent","filter","forwardRef","ElementRef","Inject","PLATFORM_ID","DOCUMENT","ContentChildren","noop","Renderer2","HostBinding","ContentChild","Pipe","transition","style","animate","TemplateRef","trigger","ComponentPortal","Directive","Overlay","OverlayPositionBuilder","HostListener","ComponentFactoryResolver","ViewContainerRef","ViewChild","NgControl","Optional","DrPopoverAlignmentDimension","OverlayConfig","Injector","first","Injectable","Host","state","components","NgModule","CommonModule","MatNativeDateModule","MatDatepickerModule","FormsModule","MatFormFieldModule","ReactiveFormsModule","MatInputModule","MatMomentDateModule","MatSelectModule","MatButtonToggleModule","NgSelectModule","MatTooltipModule","MatTabsModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEA;;QAiBI;YATS,SAAI,GAAuB,SAAS,CAAC;YACrC,eAAU,GAAU,EAAE,CAAC;YACvB,iBAAY,GAAuB,SAAS,CAAC;YAC7C,mBAAc,GAAQ,EAAE,CAAC;YAGxB,iBAAY,GAA2B,IAAIA,eAAY,EAAY,CAAC;SAI7E;QAED,6CAAkB,GAAlB,UAAmB,IAAI;YAAvB,iBAKC;YAJG,UAAU,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACjC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChC,EAAE,GAAG,CAAC,CAAC;SACX;;;;gBAxBJC,YAAS,SAAC;oBACP,0jDAAsC;oBACtC,QAAQ,EAAE,UAAU;oBAEpB,aAAa,EAAEC,oBAAiB,CAAC,IAAI;;iBACxC;;;;uBAEIC,QAAK;6BACLA,QAAK;+BACLA,QAAK;iCACLA,QAAK;uCACLA,QAAK;iCACLA,QAAK;+BACLC,SAAM;;;QAwBT;YALU,eAAU,GAA2B,IAAIJ,eAAY,EAAY,CAAC;YACnE,SAAI,GAAuB,SAAS,CAAC;YACrC,iBAAY,GAAuB,SAAS,CAAC;YACtD,YAAO,GAAG,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC;SAG3B;QAED,kCAAQ,GAAR;YACE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1C;QAED,kCAAQ,GAAR,eAAa;QAEb,kCAAQ,GAAR,eAAa;QAEb,4CAAkB,GAAlB,UAAmB,KAAY;YAC7B,IAAM,KAAK,GAAuC,KAAK,CAAC,MAAM,CAAC;YAC/D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,0CAAgB,GAAhB,UAAiB,KAAK;;SAErB;;;;gBA9BFC,YAAS,SAAC;oBACT,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,SAAS;iBACpB;;;;6BAEEG,SAAM;uBACND,QAAK;+BACLA,QAAK;;;ICrCR;;;;;;;;;;;;;;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;;ICxOA;IACA,IAAME,QAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;;QAOS,wCAAe;QAqBvD;YAAA,YACE,iBAAO,SACR;YApBQ,gBAAU,GAAU,EAAE,CAAC;YAChC,mBAAa,GAAuB,SAAS,CAAC;YAE9C,kBAAY,GAAU;gBACpB,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAC;gBAC7B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAC;gBAC7B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAC;gBAC7B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;gBAC5B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;gBAC5B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;gBAC5B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;gBAC5B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;gBAC5B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;gBAC5B,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC;gBAC5B,EAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAC;gBAC9B,EAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAC;aAC/B,CAAC;YAiIF,gBAAU,GAAG,UAAC,IAAI;gBAChB,IAAM,YAAY,GAAGA,QAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;oBAC/B,IAAM,MAAM,GAAGA,QAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEtC,OAAO,MAAM,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,YAAY,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;iBACrG,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;aACf,CAAA;;SAxIA;QAED,uCAAQ,GAAR;YACE,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;aAC9C;YACD,IAAI,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;YAC7D,IAAI,gBAAgB,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC;YACvF,IAAI,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;YAEjG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAEvF,IAAI,CAAC,OAAO,CAAC,IAAI,GAAGA,QAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,+CAAgB,GAAhB;;YAAA,iBAYC;oCAXU,WAAW;gBAClB,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;gBAE5B,OAAK,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;oBAC/B,IAAM,MAAM,GAAGA,QAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEtC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,WAAW,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE;wBACzF,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;qBAC5B;iBACF,CAAC,CAAC;;;;gBATL,KAAwB,IAAA,KAAA,SAAA,IAAI,CAAC,YAAY,CAAA,gBAAA;oBAApC,IAAI,WAAW,WAAA;4BAAX,WAAW;iBAUnB;;;;;;;;;SACF;QAED,uCAAQ,GAAR;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;aACxB;SACF;QAED,qDAAsB,GAAtB,UAAuB,OAAO,EAAE,uBAAuB;YACrD,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,KAAK,IAAI,CAAC,GAAG,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBACjD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpB;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,EAAE,CAAC,EAAE,EAAE;gBAChD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpB;YAED,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SACvD;QAED,oDAAqB,GAArB,UAAsB,OAAO,EAAE,uBAAuB,EAAE,gBAAgB;YACtE,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAExC,IAAI,CAAC,gBAAgB,EAAE;gBACrB,IAAI,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,uBAAuB,IAAI,uBAAuB,KAAK,CAAC,EAAE;oBACtF,WAAW,IAAI,CAAC,CAAC;iBAClB;aACF;iBAAM;gBACL,IAAI,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,uBAAuB,IAAI,uBAAuB,KAAK,CAAC,EAAE;oBACrF,WAAW,IAAI,CAAC,CAAC;iBAClB;aACF;YAED,OAAO,WAAW,CAAC;SACpB;QAED,wDAAyB,GAAzB,UAA0B,KAAK,EAAE,uBAAuB,EAAE,gBAAgB;YACxE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,KAAK,EAAE;gBACT,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAErC,IAAI,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;gBACjF,IAAI,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;gBAEjG,KAAK,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,IAAI,GAAG,WAAW,GAAG,GAAG,CAAC;aACnF;YACD,OAAO,KAAK,CAAC;SACd;QAED,oDAAqB,GAArB,UAAsB,KAA8C;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,qDAAsB,GAAtB,UAAuB,KAAY;YACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,+CAAgB,GAAhB;YACE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAG/C,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,IAAI,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;gBAC7D,IAAI,gBAAgB,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;gBACpD,IAAI,uBAAuB,KAAK,CAAC,EAAE;oBACjC,IAAI,CAAC,gBAAgB;wBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,CAAC;;wBAE9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC;iBAChE;gBAED,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBACrC,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;aACjG;YAED,IAAM,SAAS,GAAa;gBACtB,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;aAC3C,CAAC;YAEJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;;KAlJH,CAA0C,eAAe;;gBALxDJ,YAAS,SAAC;oBACP,ksBAA0C;oBAC1C,QAAQ,EAAE,cAAc;iBAC3B;;;;uCAGEE,QAAK;iCACLA,QAAK;6BACLA,QAAK;;;ICTR;IACA,IAAME,QAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,IAAM,aAAa,GAAG;QACpB,KAAK,EAAE;YACL,SAAS,EAAE,YAAY;SACxB;QACD,OAAO,EAAE;YACP,SAAS,EAAE,WAAW;YACtB,cAAc,EAAE,WAAW;YAC3B,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,WAAW;SAChC;KACF,CAAC;eAW0C,aAAa;;QAIlB,qCAAe;QAKlD;YAAA,YACI,iBAAO,SACV;YANQ,gBAAU,GAAU,EAAE,CAAC;YAEhC,UAAI,GAAG,IAAIC,iBAAW,CAACD,QAAM,EAAE,CAAC,CAAC;YA2CjC,gBAAU,GAAG,UAAC,IAAI;gBAChB,IAAM,YAAY,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;oBAC/B,IAAM,QAAQ,GAAGA,QAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAExC,OAAO,MAAM,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;iBACzG,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;aACf,CAAA;;SAlDA;QAED,oCAAQ,GAAR;YACE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAGA,QAAM,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7E,IAAI,CAAC,IAAI,GAAG,IAAIC,iBAAW,CAACD,QAAM,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;aAC/D;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,IAAI,GAAGA,QAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC1D;SACF;QAED,oCAAQ,GAAR;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;aAC9B;SACF;QAED,4CAAgB,GAAhB,UAAiB,KAAK;YAClB,IAAM,UAAU,GAAWA,QAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAM,SAAS,GAAa;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC3C,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;gBACrC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAClC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;QAED,8CAAkB,GAAlB,UAAmB,eAAuB,EAAE,UAAiC;YACzE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAEpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEvC,UAAU,CAAC,KAAK,EAAE,CAAC;SACtB;;KA5CL,CAAuC,eAAe;;gBAbrDJ,YAAS,SAAC;oBACP,6nBAAuC;oBACvC,QAAQ,EAAE,WAAW;oBACrB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEM,gBAAW;4BACpB,QAAQ,EAAEC,uCAAiB;4BAC3B,IAAI,EAAE,CAACC,oBAAe,EAAEC,qDAA+B,CAAC;yBACzD;wBACD,EAAC,OAAO,EAAEC,qBAAgB,EAAE,QAAQ,MAAe,EAAC;qBACrD;iBACJ;;;;6BAGIR,QAAK;;;IChCV;IACA,IAAME,QAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;;QAMQ,uCAAe;QAKpD;YAAA,YACI,iBAAO,SACV;YANQ,gBAAU,GAAU,EAAE,CAAC;YAChC,mBAAa,GAAG,CAAC,CAAC;YAClB,cAAQ,GAAU,EAAE,CAAC;YAmFvB,gBAAU,GAAG,UAAC,IAAI;gBAChB,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;oBAC/B,IAAM,QAAQ,GAAGA,QAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxC,IAAM,WAAW,GAAGA,QAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE5C,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,WAAW,CAAC,KAAK,EAAE,EAAE;wBACtF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,MAAM,GAAG,KAAK,CAAC;qBAChB;iBACF,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;aACf,CAAA;;SA7FE;QAED,sCAAQ,GAAR;;YACE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;;gBAEzC,KAAsB,IAAA,KAAA,SAAA,IAAI,CAAC,QAAQ,CAAA,gBAAA,4BAAE;oBAAhC,IAAM,OAAO,WAAA;oBACd,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;oBAExB,IAAI,OAAO,CAAC,UAAU,EAAE;wBACpB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;wBACnC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBACxC;oBAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBAC5B;;;;;;;;;SACF;QAED,sCAAQ,GAAR;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;aACvB;SACF;QAED,iDAAmB,GAAnB,UAAoB,KAAsB;YACxC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,8CAAgB,GAAhB,UAAiB,KAAK;YAClB,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACpC,IAAM,UAAU,GAAWA,QAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAM,SAAS,GAAa;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAClD,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAClC,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;QAED,+CAAiB,GAAjB;YACI,IAAM,mBAAmB,GAAG,CAAC,CAAC;YAC9B,IAAM,kBAAkB,GAAG,CAAC,CAAC;YAC7B,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,YAAY,GAAG,WAAW,CAAC;YAC/B,IAAI,QAAQ,GAAI,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aACzC;YAED,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,UAAU,CAAC,GAAG,kBAAkB,CAAC;YACtG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;YACjB,IAAM,SAAS,GAAU,EAAE,CAAC;YAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,mBAAmB,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE;gBACtD,QAAQ,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC3C,SAAS,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,SAAS,GAAG,IAAI;oBACvB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;oBACtC,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC;iBACxB,CAAC,CAAC;aACN;YACD,OAAO,SAAS,CAAC;SACpB;QAEO,6CAAe,GAAf,UAAgB,SAAS;YAC7B,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;SACjF;QAEO,6CAAe,GAAf,UAAgB,IAAI;YACxB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9D;;KApFL,CAAyC,eAAe;;gBAJvDJ,YAAS,SAAC;oBACP,8XAAyC;oBACzC,QAAQ,EAAE,aAAa;iBAC1B;;;;6BAEIE,QAAK;;;ICNV;IACA,IAAME,QAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,IAAM,YAAY,GAAG;QACnB,KAAK,EAAE;YACL,SAAS,EAAE,SAAS;SACrB;QACD,OAAO,EAAE;YACP,SAAS,EAAE,iBAAiB;YAC5B,cAAc,EAAE,WAAW;YAC3B,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,WAAW;SAChC;KACF,CAAC;eAW0C,YAAY;;QAGlB,oCAAe;QAMjD;YAAA,YACI,iBAAO,SACV;YAPQ,gBAAU,GAAU,EAAE,CAAC;YAEhC,UAAI,GAAG,IAAIC,iBAAW,CAACD,QAAM,EAAE,CAAC,CAAC;YACjC,mBAAa,GAAG,EAAE,CAAC;YAuCnB,gBAAU,GAAG,UAAC,IAAI;gBAChB,IAAM,YAAY,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;oBAC/B,IAAM,QAAQ,GAAGA,QAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAExC,OAAO,MAAM,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;iBACvG,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;aACf,CAAA;;SA9CA;QAED,mCAAQ,GAAR;YACE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,IAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzB,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,kBAAkB,GAAG,QAAQ,CAAC;YAClC,IAAM,kBAAkB,GAAG,KAAK,CAAC;YACjC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,kBAAkB,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,kBAAkB,IAAI,IAAI,CAAC;aACtE;YAED,IAAM,YAAY,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAM,UAAU,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAM,OAAO,GAAM,UAAU,UAAK,UAAY,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACrC;QAED,mCAAQ,GAAR;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;aACpB;SACF;QAED,4CAAiB,GAAjB,UAAkB,aAAa;YAC7B,IAAM,IAAI,GAAGA,QAAM,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC7B;QAeD,2CAAgB,GAAhB,UAAiB,KAAK;YAClB,IAAI,IAAI,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,GAAG,aAAa,EAAE;gBACzB,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;aAC/B;YAED,IAAM,UAAU,GAAWA,QAAM,CAAC,IAAI,CAAC,CAAC;YACxC,IAAM,SAAS,GAAa;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAClC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;QAEK,uCAAY,GAAZ,UAAa,IAAI;YACvB,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAEA,QAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC/C,GAAG,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7B;QAEO,0CAAe,GAAf,UAAgB,IAAI;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACrF;QAEO,oCAAS,GAAT,UAAU,IAAI;YAClB,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,GAAG,KAAK,CAAC,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;aAClC;YACD,OAAO,IAAI,CAAC;SACf;QAEO,8CAAmB,GAAnB,UAAoB,IAAU;YACpC,OAAO,IAAI,CAAC,GAAG,CAACA,QAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;SAC5C;QAEO,8BAAG,GAAH,UAAI,CAAC,EAAE,KAAK,EAAE,CAAO;YAAP,kBAAA,EAAA,OAAO;YAC3B,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YACb,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC5E;;KArGL,CAAsC,eAAe;;gBAZpDJ,YAAS,SAAC;oBACP,gnBAAsC;oBACtC,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEM,gBAAW;4BACpB,QAAQ,EAAEC,uCAAiB;4BAC3B,IAAI,EAAE,CAACC,oBAAe,EAAEC,qDAA+B,CAAC;yBACzD;wBACD,EAAC,OAAO,EAAEC,qBAAgB,EAAE,QAAQ,MAAc,EAAC;qBACpD;iBACJ;;;;6BAEIR,QAAK;;;IC3BV;IACA,IAAME,QAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,IAAM,YAAY,GAAG;QACnB,KAAK,EAAE;YACL,SAAS,EAAE,MAAM;SAClB;QACD,OAAO,EAAE;YACP,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,WAAW;SAChC;KACF,CAAC;eAW0C,YAAY;;QAIlB,oCAAe;QAKnD;YAAA,YACE,iBAAO,SACR;YANQ,gBAAU,GAAU,EAAE,CAAC;YAEhC,UAAI,GAAG,IAAIC,iBAAW,CAACD,QAAM,EAAE,CAAC,CAAC;YAiDjC,gBAAU,GAAG,UAAC,IAAI;gBAChB,IAAM,gBAAgB,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;oBAC/B,IAAM,QAAQ,GAAGA,QAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAExC,OAAO,MAAM,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,gBAAgB,CAAC,CAAA;iBACxD,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;aACf,CAAA;;SAxDA;QAED,mCAAQ,GAAR;YACE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAGA,QAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpF,IAAI,CAAC,IAAI,GAAG,IAAIC,iBAAW,CAACD,QAAM,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;aAC/D;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,IAAI,GAAGA,QAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvD;SACF;QAED,mCAAQ,GAAR;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;aACpB;SACF;QAED,2CAAgB,GAAhB,UAAiB,KAAK;YAClB,IAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAM,IAAI,GAAGA,QAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAM,UAAU,GAAWA,QAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAM,SAAS,GAAa;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC3C,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAClC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;QAED,4CAAiB,GAAjB,UAAkB,cAAsB,EAAE,UAAiC;YACzE,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YAEtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEvC,UAAU,CAAC,KAAK,EAAE,CAAC;SACpB;;KAlDH,CAAsC,eAAe;;gBAbpDJ,YAAS,SAAC;oBACP,grBAAsC;oBACtC,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEM,gBAAW;4BACpB,QAAQ,EAAEC,uCAAiB;4BAC3B,IAAI,EAAE,CAACC,oBAAe,EAAEC,qDAA+B,CAAC;yBACzD;wBACD,EAAC,OAAO,EAAEC,qBAAgB,EAAE,QAAQ,MAAc,EAAC;qBACpD;iBACJ;;;;6BAGER,QAAK;;;;QCjBN;YAJU,cAAS,GAAgC,IAAIH,eAAY,EAAiB,CAAC;YAKnF,IAAI,CAAC,WAAW,GAAG;gBACjB,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,EAAE;aACT,CAAC;SACH;QAED,iCAAQ,GAAR;YACE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE;gBACpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;aAC1D;SACF;QAED,sCAAa,GAAb,UAAc,KAAe;YAC3B,IAAI,WAAW,GAAkB;gBAC/B,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAClC;QAED,sCAAa,GAAb,UAAc,KAAe;YAC3B,IAAI,WAAW,GAAkB;gBAC/B,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAClC;;;;gBAnDFC,YAAS,SAAC;oBACP,0rBAAoC;oBACpC,QAAQ,EAAE,QAAQ;oBAElB,aAAa,EAAEC,oBAAiB,CAAC,IAAI;;iBACxC;;;;4BAGEC,QAAK;8BACLA,QAAK;6BACLA,QAAK;uCACLA,QAAK;iCACLA,QAAK;4BACLC,SAAM;;;ICXiC,IAAMC,QAAM,GAAGO,yBAAc,CAAC;;QAetE;YAJS,iBAAY,GAAW,EAAE,CAAC;YAEzB,cAAS,GAA2B,IAAIZ,eAAY,EAAY,CAAC;SAG1E;QAED,mCAAQ,GAAR;YACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1C;QAED,6CAAkB,GAAlB,UAAmB,KAA8C;YAC/D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,2CAAgB,GAAhB,UAAiB,KAAK;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE;gBACzB,IAAM,SAAS,GAAa;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAChC;SACF;;;;gBAjCFC,YAAS,SAAC;oBACP,krBAAsC;oBACtC,QAAQ,EAAE,UAAU;oBAEpB,aAAa,EAAEC,oBAAiB,CAAC,IAAI;;iBACxC;;;;yBAGEC,QAAK;+BACLA,QAAK;uBACLA,QAAK;4BACLC,SAAM;;;ICVT;IACA,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjC,IAAM,WAAW,GAAG;QAClB,KAAK,EAAE;YACL,SAAS,EAAE,YAAY;SACxB;QACD,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,cAAc,EAAE,WAAW;YAC3B,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,WAAW;SAChC;KACF,CAAC;eAW0C,WAAW;;QAIlB,mCAAe;QAKhD;YAAA,YACE,iBAAO,SACR;YANM,gBAAU,GAAU,EAAE,CAAC;YAEhC,UAAI,GAAG,IAAIE,iBAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAqC/B,gBAAU,GAAG,UAAC,IAAI;gBAChB,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;oBAC/B,OAAO,MAAM,GAAG,EAAE,SAAS,KAAK,YAAY,CAAC,CAAC;iBAC/C,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;aACf,CAAA;;SA1CA;QAED,kCAAQ,GAAR;YACE,IAAM,uBAAuB,GAAG,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,uBAAuB,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACvC;SACF;QAED,kCAAQ,GAAR;YACE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aACnB;SACF;QAED,0CAAgB,GAAhB,UAAiB,KAAK;YAClB,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,IAAM,SAAS,GAAa;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC7C,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAClC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;QAED,2CAAiB,GAAjB,UAAkB,aAAa;YAC7B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;SACtC;;KAtCL,CAAqC,eAAe;;gBAbnDL,YAAS,SAAC;oBACP,+mBAAqC;oBACrC,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEM,gBAAW;4BACpB,QAAQ,EAAEC,uCAAiB;4BAC3B,IAAI,EAAE,CAACC,oBAAe,EAAEC,qDAA+B,CAAC;yBACzD;wBACD,EAAC,OAAO,EAAEC,qBAAgB,EAAE,QAAQ,MAAa,EAAC;qBACnD;iBACJ;;;;6BAGER,QAAK;;;;QCAN,8BAAoB,GAAsB;YAAtB,QAAG,GAAH,GAAG,CAAmB;YAXhC,gBAAW,GAAsB,IAAIH,eAAY,EAAE,CAAC;YAQ9D,aAAQ,IAAS,UAAA,SAAS,KAAM,CAAC,CAAC;YAClC,cAAS,GAAQ,eAAQ,CAAC;SAEoB;QAP9C,sBAAI,uCAAK;iBAAT;gBACE,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;;;WAAA;QAOD,+CAAgB,GAAhB,UAAiB,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QACD,gDAAiB,GAAjB,UAAkB,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QACD,yCAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;QACD,2CAAY,GAAZ,UAAa,KAAK;YAChB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;gBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;aAC9B;SACF;QACD,2CAAY,GAAZ,UAAa,KAAK;YAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,uCAAQ,GAAR,UAAS,IAAY;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;QACD,4CAAa,GAAb;YACE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;;;;gBAxDFC,YAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,oSAA4C;oBAE5C,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEY,uBAAiB;4BAC1B,WAAW,EAAE,oBAAoB;4BACjC,KAAK,EAAE,IAAI;yBACZ;qBACF;oBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAChD;;;gBAnBCC,oBAAiB;;;2BAqBhBZ,QAAK;uBACLA,QAAK;yBACLA,QAAK,SAAC,OAAO;8BACbC,SAAM;;;;QCqCP,6BACY,WAAoC,EACf,UAAU,EACb,QAAQ;YAF1B,gBAAW,GAAX,WAAW,CAAyB;YACf,eAAU,GAAV,UAAU,CAAA;YACb,aAAQ,GAAR,QAAQ,CAAA;YAG5B,aAAQ,GAAG,IAAIY,YAAO,EAAQ,CAAC;YAO/B,gBAAW,GAAsB,IAAIhB,eAAY,EAAE,CAAC;YACpD,aAAQ,GAAG,UAAC,KAAU,KAAO,CAAC;YAC9B,cAAS,GAAG,eAAQ,CAAC;SAX3B;QA/BJ,sBACI,sCAAK;iBADT;gBAEE,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;iBACD,UAAU,KAAU;gBAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;;;WAJA;QAMD,sBACI,qCAAI;iBADR;gBAEE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;iBACD,UAAS,IAAY;gBACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;;;WAJA;QAMD,sBACI,yCAAQ;iBADZ;gBAEE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;iBACD,UAAa,QAAiB;gBAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;;;WAJA;QAuBD,gDAAkB,GAAlB;YAAA,iBAmBC;;;;;;YAbC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,IAAI,CAAC,MAAM,CAAC,OAAO;iBAChB,IAAI,CACHiB,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;YAKtBC,mBAAS,CAAC,UAAC,MAAuC,IAAK,OAAAC,SAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAA,CAAC,EACrFC,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;iBACA,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,0BAA0B,EAAE,GAAA,CAAC,CAAC;SACvD;QAED,yCAAW,GAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;QAED,8CAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,+CAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QAED,wCAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,8CAAgB,GAAhB,UAAiB,UAAmB;YAClC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC5B;QAES,wDAA0B,GAA1B;YACR,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;QAES,yCAAW,GAAX;YAAA,iBAIT;YAHC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAA2B,IAAK,OAAA,KAAK,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;aACjF;SACF;QAES,0CAAY,GAAZ;YAAA,iBAMT;YALC,IAAI,CAAC,2BAA2B,CAAC,UAAC,KAA2B;gBAC3D,IAAI,KAAK,CAAC,KAAK,KAAK,KAAI,CAAC,KAAK,EAAE;oBAC9B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;iBAChC;aACF,CAAC,CAAC;SACJ;QAES,4CAAc,GAAd;YAAA,iBAIT;YAHC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACxC,IAAI,CAAC,2BAA2B,CAAC,UAAC,KAA2B,IAAK,OAAA,KAAK,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,GAAA,CAAC,CAAC;aACnG;SACF;QAES,0DAA4B,GAA5B;YAAA,iBAkBT;YAjBC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvC,OAAO;aACR;YAEDC,UAAK,wCAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAA2B,IAAK,OAAA,KAAK,CAAC,WAAW,GAAA,CAAC,IACzE,IAAI,CACHD,mBAAS,CACPC,UAAK,CACH,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,QAAQ,CACd,CACF,CACF;iBACA,SAAS,CAAC,UAAC,KAAU;gBACpB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B,CAAC,CAAC;SACN;QAES,4CAAc,GAAd,UAAe,KAAU;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtB;QAES,mDAAqB,GAArB;YAAA,iBAuBT;YAtBC,IAAM,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACxD,IAAI,CAACC,wBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE;gBACtD,OAAO;aACR;YAED,IAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACnDC,cAAS,CAAQ,WAAW,EAAE,SAAS,CAAC;iBACrC,IAAI,CACHC,gBAAM,CAAC,UAAA,KAAK,IAAI,OAAA,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,GAAA,CAAC,EAC3DN,mBAAS,CAAC,cAAM,OAAAG,UAAK,CACnBE,cAAS,CAAQ,KAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAC1CA,cAAS,CAAQ,KAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CACzC,GAAA,CAAC,EACFC,gBAAM,CAAC,UAAA,KAAK,IAAI,OAAA,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,GAAA,CAAC,EAC5DJ,mBAAS,CACPC,UAAK,CACH,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,QAAQ,CACd,CACF,CACF;iBACA,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,SAAS,EAAE,GAAA,CAAC,CAAC;SACtC;QAES,yDAA2B,GAA3B,UAA4B,QAAwC;YAC5E,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;oBACxB,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAChB,KAAK,CAAC,aAAa,EAAE,CAAC;iBACvB,CAAC,CAAC;aACJ;SACF;QAES,0DAA4B,GAA5B;YACR,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,GAAA,CAAC,CAAC;YACnE,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;YACvE,IAAI,YAAY,IAAI,cAAc,IAAI,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;gBACvE,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;aACjC;SACF;;;;gBAnMFpB,YAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,4DAC2C;oBACrD,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEY,uBAAiB;4BAC1B,WAAW,EAAEY,aAAU,CAAC,cAAM,OAAA,mBAAmB,GAAA,CAAC;4BAClD,KAAK,EAAE,IAAI;yBACZ;qBACF;oBACD,eAAe,EAAEX,0BAAuB,CAAC,MAAM;iBAChD;;;gBApBCY,aAAU;gDAoDPC,SAAM,SAACC,cAAW;gDAClBD,SAAM,SAACE,eAAQ;;;wBA9BjB1B,QAAK;uBASLA,QAAK;2BASLA,QAAK;yBAoBL2B,kBAAe,SAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;8BAE3D1B,SAAM;;;;QCvCP,2BAAoB,GAAsB;YAAtB,QAAG,GAAH,GAAG,CAAmB;YAhBjC,aAAQ,GAAG,KAAK,CAAC;YACjB,SAAI,GAAiB,EAAE,CAAC;YASzB,mBAAc,GAAY,KAAK,CAAC;YAC9B,kBAAa,GAAG,IAAIJ,eAAY,EAAE,CAAC;YAE7C,aAAQ,GAA6B,eAAQ,CAAC;YAC9C,cAAS,GAAe,eAAQ,CAAC;SAEa;QAd9C,sBACI,4CAAa;iBADjB;gBAEE,OAAO,IAAI,CAAC,cAAc,CAAC;aAC5B;iBACD,UAAkB,KAAc;gBAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;;;WAJA;QAaD,sCAAU,GAAV,UAAW,KAAc;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;QAED,4CAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,6CAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QACD,4CAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC5B;QAED,oCAAQ,GAAR,UAAS,KAAK;YACZ,IAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC;YACjD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YACzC,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;;;;gBApDFC,YAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,8VAAwC;oBAExC,SAAS,EAAE;wBACT,EAAC,OAAO,EAAEY,uBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAC;qBAC1E;oBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAChD;;;gBAhBCC,oBAAiB;;;gCAkBhBZ,QAAK;2BACLA,QAAK;uBACLA,QAAK;gCACLA,QAAK;gCASLC,SAAM;;;;QCkFP,0BAAoB,UAAsB,EACtB,QAAmB,EACnB,GAAsB;YAFtB,eAAU,GAAV,UAAU,CAAY;YACtB,aAAQ,GAAR,QAAQ,CAAW;YACnB,QAAG,GAAH,GAAG,CAAmB;YA5F1C,eAAU,GAAG,KAAK,CAAC;YA0BV,SAAI,GAAW,QAAQ,CAAC;YAExB,gBAAW,GAAW,EAAE,CAAC;YACzB,aAAQ,GAAG,KAAK,CAAC;YAahB,SAAI,GAAG,IAAIJ,eAAY,EAAE,CAAC;YAOpC,eAAU,GAAG,IAAI,CAAC;YAClB,cAAS,GAAG,IAAI,CAAC;YACjB,kBAAa,GAAa,EAAE,CAAC;YAC7B,mBAAc,GAAG;gBACf,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,UAAC,MAAW,EAAE,OAAY,IAAK,OAAA,IAAI,GAAA;gBAClD,IAAI,EAAE,MAAM;aACb,CAAC;YAKQ,kBAAa,GAAG,IAAIA,eAAY,EAAO,CAAC;YACxC,kBAAa,GAAG,IAAIA,eAAY,EAAO,CAAC;YAKzB,aAAQ,GAAG,CAAC,CAAC,CAAC;YACvC,qBAAgB,GAAqB+B,SAAI,CAAC;YAC1C,sBAAiB,GAAeA,SAAI,CAAC;YACrC,aAAQ,GAAyB,eAAQ,CAAC;YAC1C,cAAS,GAAe,eAAQ,CAAC;SAmBa;QA3F9C,sBAAa,sCAAQ;iBAArB,UAAsB,KAAK;gBACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC9B;;;WAAA;QACD,sBAAa,2CAAa;iBAA1B,UAA2B,KAAK;gBAAhC,iBAqBC;;gBApBC,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,cAAc,mCAAO,IAAI,CAAC,cAAc,GAAM,KAAK,CAAC,CAAC;oBAC1D,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,IAAI,MAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,WAAW,CAAA,EAAE;wBACjE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qBACxC;iBACF;gBACD,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;oBACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,UAAC,KAAK;wBACnF,KAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACpC,KAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;qBACzB,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,UAAA,KAAK;wBACrE,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,KAAI,CAAC,UAAU,CAAC,aAAa,EAAE;4BAC7D,IAAI,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gCAClF,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;6BAC7B;yBACF;qBACF,CAAC,CAAC;iBACJ;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;;;WAAA;QAKD,sBAAa,uCAAS;iBAAtB,UAAuB,GAAG;gBACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;gBACxB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBACtC;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,WAAW,GAAA,CAAC,CAAC;iBAC9E;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;;;WAAA;QAMD,sBACI,0CAAY;iBADhB;gBAEE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrC;;;WAAA;QA2BD,8BAAG,GAAH,UAAI,GAAW;YACb,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACrC;QAED,sBAAW,mCAAK;iBAAhB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;iBACD,UAAiB,CAAkB;gBACjC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;oBACzB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1B;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;;;WAPA;QAcD,0CAAe,GAAf;YACE,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACtC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACxC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACxC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACxC;SACF;QAED,2CAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;QAED,4CAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;QAED,qCAAU,GAAV,UAAW,KAAsB;YAC/B,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;gBAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;SACF;QAED,wCAAa,GAAb;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QAED,2CAAgB,GAAhB,UAAiB,UAAmB;YAClC,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,UAAU,GAAA,CAAC,CAAC;aAC7E;YACD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;QAED,0CAAe,GAAf,UAAgB,MAAW;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,0CAAe,GAAf,UAAgB,MAAW;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;QAED,sCAAW,GAAX;YACE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;SACF;QAED,kCAAO,GAAP,UAAQ,MAAM;YACZ,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;;;;gBA5KF9B,YAAS,SAAC;oBACP,QAAQ,EAAE,UAAU;oBACpB,wzBAAwC;oBAExC,SAAS,EAAE,CAAC;4BACR,OAAO,EAAEY,uBAAiB;4BAC1B,WAAW,EAAEY,aAAU,CAAC,cAAM,OAAA,gBAAgB,GAAA,CAAC;4BAC/C,KAAK,EAAE,IAAI;yBACd,CAAC;oBACF,eAAe,EAAEX,0BAAuB,CAAC,MAAM;;iBAClD;;;gBAhBCY,aAAU;gBAC8BM,YAAS;gBAAsCjB,oBAAiB;;;2BAkBvGZ,QAAK;gCAGLA,QAAK;uBAsBLA,QAAK;uBACLA,QAAK;8BACLA,QAAK;2BACLA,QAAK;4BACLA,QAAK;sBASLA,QAAK;sBACLA,QAAK;uBACLA,QAAK;uBACLC,SAAM;+BAEN6B,cAAW,SAAC,OAAO;gCAmBnB7B,SAAM;gCACNA,SAAM;6BAEN8B,eAAY,SAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;6BACtCA,eAAY,SAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;2BAEtCD,cAAW,SAAC,UAAU;;;IC1FzB,IAAM,sBAAsB,GAAG;QAC3B,gBAAgB;QAChB,uBAAuB;QACvB,iBAAiB;QACjB,wBAAwB;KAC3B,CAAC;;QAuCE,2BAAoB,UAAmC;;YAAnC,eAAU,GAAV,UAAU,CAAyB;YAxB9C,UAAK,GAAe,EAAE,CAAC;YAEvB,aAAQ,GAAG,MAAM,CAAC;YAWlB,aAAQ,GAAG,KAAK,CAAC;YAEjB,cAAS,GAAuC,cAAM,OAAA,IAAI,GAAA,CAAC;YAE1D,WAAM,GAAsB,IAAIjC,eAAY,EAAO,CAAC;YAe9D,aAAQ,GAA6B,eAAQ,CAAC;YAC9C,cAAS,GAAe,eAAQ,CAAC;;gBAR7B,KAAmB,IAAA,2BAAA,SAAA,sBAAsB,CAAA,8DAAA,kGAAE;oBAAtC,IAAM,IAAI,mCAAA;oBACX,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;wBAC9B,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBAC/C;iBACJ;;;;;;;;;SACJ;QAKD,sCAAU,GAAV,UAAW,KAAU;YACjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;QAED,4CAAgB,GAAhB,UAAiB,EAAO;YACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACpC;SACJ;QAED,6CAAiB,GAAjB,UAAkB,EAAO;YACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QAED,4CAAgB,GAAhB,UAAiB,UAAmB;YAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC9B;QAEO,0CAAc,GAAd;YACJ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;SACxC;QAEO,6CAAiB,GAAjB;YAAA,iBAEP;YAFyB,oBAAuB;iBAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;gBAAvB,+BAAuB;;YAC7C,OAAO,UAAU,CAAC,IAAI,CAAC,UAAA,SAAS,IAAI,OAAA,KAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,GAAA,CAAC,CAAC;SACtF;;;;gBA3EJC,YAAS,SAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,msDAAyC;oBAEzC,SAAS,EAAE,CAAC;4BACR,OAAO,EAAEY,uBAAiB;4BAC1B,WAAW,EAAE,iBAAiB;4BAC9B,KAAK,EAAE,IAAI;yBACd,CAAC;;iBACL;;;gBAnB2Ea,aAAU;;;4BAsBjFvB,QAAK;wBACLA,QAAK;yBACLA,QAAK;2BACLA,QAAK;4BACLA,QAAK;4BACLA,QAAK;4BACLA,QAAK;6BACLA,QAAK;2BACLA,QAAK;2BACLA,QAAK;+BACLA,QAAK;8BACLA,QAAK;0BACLA,QAAK;2BACLA,QAAK;2BACLA,QAAK;qBACLA,QAAK;4BACLA,QAAK;+BACLA,QAAK;yBACLC,SAAM;gCAEN8B,eAAY,SAAC,eAAe;iCAC5BA,eAAY,SAAC,gBAAgB;uCAC7BA,eAAY,SAAC,sBAAsB;uCACnCA,eAAY,SAAC,sBAAsB;;;;QCvBtC;YAHS,YAAO,GAAY,KAAK,CAAC;YACxB,gBAAW,GAAsB,IAAIlC,eAAY,EAAO,CAAC;YACnE,gBAAW,GAAU,EAAE,CAAC;SAEvB;QAdD,sBAAa,oCAAK;iBAAlB,UAAmB,KAAqB;gBACtC,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;wBACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACrB,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;yBAC9B;qBACF,CAAC,CAAC;iBACJ;aACF;;;WAAA;QAOD,yCAAa,GAAb;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACrC;QAED,wCAAY,GAAZ;YACE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC/D;YACD,OAAO,EAAE,CAAC;SACX;;;;gBAhCFC,YAAS,SAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,yqCAAuC;oBAEvC,eAAe,EAAEa,0BAAuB,CAAC,MAAM;;iBAClD;;;;wBAEEX,QAAK;0BAULA,QAAK;8BACLC,SAAM;;;;QCfT;;QAEE,gCAAS,GAAT,UAAU,IAAS,EAAE,IAAqB;YAArB,qBAAA,EAAA,aAAqB;YACxC,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;aACrH;YAED,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC;SAClG;;;;gBAXF+B,OAAI,SAAC;oBACJ,IAAI,EAAE,UAAU;iBACjB;;;ICFM,IAAM,eAAe,GAAG;QAC7B,GAAG,EAAE;YACH,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC,CAAC;SACZ;QACD,UAAU,EAAE;YACV,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC,CAAC;SACZ;QACD,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC,CAAC;SACZ;QACD,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACX;QACD,aAAa,EAAE;YACb,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACX;QACD,cAAc,EAAE;YACd,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACX;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC,CAAC;SACZ;QACD,UAAU,EAAE;YACV,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC,CAAC;SACZ;QACD,aAAa,EAAE;YACb,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC,CAAC;SACZ;QACD,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC;SACX;QACD,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;SACX;QACD,cAAc,EAAE;YACd,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,CAAC;SACX;KACF,CAAC;QAEW,eAAe,GAAG;QAC3BC,qBAAU,CAAC,QAAQ,EAAE;YACnBC,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACrBC,kBAAO,CAAC,GAAG,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;SACpC,CAAC;QACFD,qBAAU,CAAC,QAAQ,EAAE;YACnBE,kBAAO,CAAC,GAAG,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;SACpC,CAAC;;;;QCtEJ;YAFA,sBAAiB,GAAG,KAAK,CAAC;SAET;QAEjB,mCAAQ,GAAR;YACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,YAAYE,cAAW,CAAC;SAC9D;;;;gBArBFtC,YAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,ygBAA0C;oBAE1C,UAAU,EAAE;wBACVuC,kBAAO,CAAC,SAAS,EAAE,eAAe,CAAC;qBACpC;;iBACF;;;;0BAGErC,QAAK;iCACLA,QAAK;2BACLA,QAAK;0BACLA,QAAK;wBACLA,QAAK;;;;QCyBN,4BAAoB,OAAgB,EAChB,sBAA8C,EAC9C,UAAsB;YAFtB,YAAO,GAAP,OAAO,CAAS;YAChB,2BAAsB,GAAtB,sBAAsB,CAAwB;YAC9C,eAAU,GAAV,UAAU,CAAY;YApC1C,mBAAc,GAAG,EAAE,CAAC;YAEpB,aAAQ,GAAG,KAAK,CAAC;YAEjB,UAAK,GAAG,EAAE,CAAC;SAgCoC;QA/B/C,sBACI,gDAAgB;iBADpB,UACqB,OAAY;gBAC/B,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;oBACnB,IAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChD,IAAI,QAAQ,CAAC,OAAO,EAAE;wBACpB,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;qBAC5E;oBACD,IAAI,QAAQ,CAAC,OAAO,EAAE;wBACpB,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;qBAC5E;iBACF;gBACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;aACxB;;;WAAA;QAED,sBACI,2CAAW;iBADf,UACgB,KAAc;gBAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;aACF;;;WAAA;QAWD,wCAAW,GAAX;YACE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAElC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;gBACjC,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aAC3B;SACF;QAGD,iCAAI,GAAJ;YACE,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO;YAEhC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAGD,iCAAI,GAAJ;YACE,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO;YAEhC,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAEO,0CAAa,GAAb;YACN,IAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;iBACjD,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;iBACpC,aAAa,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,kBAAA,EAAE,CAAC,CAAC;SAC7D;QAEO,0CAAa,GAAb;;YACN,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,EAAC,MAAA,IAAI,CAAC,UAAU,0CAAE,WAAW,EAAE,CAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBACnD,IAAM,UAAU,GAAmC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAIsC,sBAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACjH,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3C,UAAU,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;gBACzD,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC7C,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3C,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC9D;SACF;QAEO,2CAAc,GAAd;YACN,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aAC3B;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;;;;gBAjGFC,YAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;iBACxB;;;gBAPQC,UAAO;gBAAEC,yBAAsB;gBADNlB,aAAU;;;0BAWzCvB,QAAK,SAAC,WAAW;iCAEjBA,QAAK,SAAC,kBAAkB;2BAExBA,QAAK,SAAC,mBAAmB;wBAEzBA,QAAK,SAAC,gBAAgB;mCAEtBA,QAAK;8BAcLA,QAAK,SAAC,eAAe;uBA+BrB0C,eAAY,SAAC,YAAY;uBAOzBA,eAAY,SAAC,YAAY;;;;QC/BxB,2BAAoB,GAAsB;YAAtB,QAAG,GAAH,GAAG,CAAmB;YAlB1C,cAAS,GAAG,KAAK,CAAC;YAClB,kBAAa,GAAa,EAAE,CAAC;YAanB,kBAAa,GAAG,IAAI7C,eAAY,EAAE,CAAC;YAY7C,aAAQ,GAA6B,eAAQ,CAAC;YAC9C,cAAS,GAAe,eAAQ,CAAC;SATa;QAP9C,sBAAa,uCAAQ;iBAArB,UAAsB,KAAc;gBAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAChC;;;WAAA;QAGD,sBAA0B,2CAAY;iBAAtC,cAAkD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC;;;WAAA;QAIvF,2CAAe,GAAf;YACI,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;aACnD;SACF;QAKH,sCAAU,GAAV,UAAW,KAAc;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SAC3B;QAED,4CAAgB,GAAhB,UAAiB,EAAO;YACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACtB;QAED,6CAAiB,GAAjB,UAAkB,EAAO;YACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QACD,4CAAgB,GAAhB,UAAkB,UAAmB;YACjC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC/B;QAED,oCAAQ,GAAR;YACI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;;;;gBA5DJC,YAAS,SAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,8iBAAyC;oBAEzC,SAAS,EAAE;wBACP,EAAC,OAAO,EAAEY,uBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAC;qBAC5E;oBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAClD;;;gBAlBGC,oBAAiB;;;8BAuBhBZ,QAAK;mCAELA,QAAK;8BAELA,QAAK;gCAELA,QAAK;2BAELA,QAAK;gCAGLC,SAAM;+BAEN6B,cAAW,SAAC,OAAO;;;;QCVpB,iCAAoB,GAAsB;YAAtB,QAAG,GAAH,GAAG,CAAmB;YAR1C,cAAS,GAAG,KAAK,CAAC;YAUlB,aAAQ,GAA6B,eAAQ,CAAC;YAC9C,cAAS,GAAe,eAAQ,CAAC;SAHa;QAJ9C,sBAAa,6CAAQ;iBAArB,UAAsB,KAAc;gBAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAChC;;;WAAA;QAOD,4CAAU,GAAV,UAAW,KAAU;YACjB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SAC3B;QAED,kDAAgB,GAAhB,UAAiB,EAAO;YACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACtB;QAED,mDAAiB,GAAjB,UAAkB,EAAO;YACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QACD,kDAAgB,GAAhB,UAAkB,UAAmB;YACjC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC/B;QAED,0CAAQ,GAAR,UAAS,IAAI;YACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SAC3B;;;;gBA9CJhC,YAAS,SAAC;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,wTAAgD;oBAEhD,SAAS,EAAE;wBACP,EAAC,OAAO,EAAEY,uBAAiB,EAAE,WAAW,EAAEY,aAAU,CAAC,cAAM,OAAA,uBAAuB,GAAA,CAAC,EAAE,KAAK,EAAE,IAAI,EAAC;qBACpG;oBACD,eAAe,EAAEX,0BAAuB,CAAC,MAAM;;iBAClD;;;gBAdGC,oBAAiB;;;wBAoBhBZ,QAAK;gCACLA,QAAK;2BACLA,QAAK;;;;QCtB2B,mCAAO;QAA5C;;SAEC;8BAAA;KAFD,CAAqC,OAAO,GAE3C;;QAED;YAQI,WAAM,GAAG,OAAO,CAAC;SAgBpB;QAdG,sBAAI,uCAAO;iBAAX,UAAY,IAAqB;gBAC7B,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAExB;aACJ;;;WAAA;QAED,qCAAQ,GAAR;YACI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;kBACtC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;kBACpC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK;kBAClC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;kBACpC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;SAC3C;;;;gBAvBJF,YAAS,SAAC;oBACP,QAAQ,EAAE,YAAY;oBACtB,qLAA0C;oBAE1C,eAAe,EAAEa,0BAAuB,CAAC,MAAM;;iBAClD;;;;QCeG,4BAAoB,wBAAkD,EAClD,gBAAkC,EAClC,EAAc,EACd,GAAc,EACI,SAAc;YAJhC,6BAAwB,GAAxB,wBAAwB,CAA0B;YAClD,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,OAAE,GAAF,EAAE,CAAY;YACd,QAAG,GAAH,GAAG,CAAW;YACI,cAAS,GAAT,SAAS,CAAK;SACnD;QAED,wCAAW,GAAX,UAAY,OAAsB;YAC9B,IAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;YAC5C,IAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE;gBAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC7B;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE;gBACvB,IAAI,CAAC,WAAW,iCAAK,OAAO,KAAE,IAAI,EAAE,IAAI,CAAC,aAAa,IAAE,CAAC;aAC5D;SACJ;QAEM,wCAAW,GAAX;YACH,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAChC;SACJ;QAEO,wCAAW,GAAX,UAAY,OAAO;YACvB,IAAI,gBAAsD,CAAC;YAC3D,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;YAC7F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACvF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;SACjD;;;;gBAvCJ4B,YAAS,SAAC;oBACP,QAAQ,EAAE,aAAa;iBAC1B;;;gBAjBGI,2BAAwB;gBAUxBC,mBAAgB;gBARhBrB,aAAU;gBAKVM,YAAS;gDAqBIL,SAAM,SAACE,eAAQ;;;gCAR3BmB,YAAS,SAAC,kBAAkB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAED,mBAAgB,EAAC;4BACpE5C,QAAK;gCACLA,QAAK;;;;QCwBR;YApCA,cAAS,GAAG,IAAI,CAAC;YACjB,eAAU,GAAG,KAAK,CAAC;YACnB,kBAAa,GAAa,EAAE,CAAC;YAGpB,UAAK,GAAe,SAAS,CAAC;YAG9B,WAAM,GAAY,KAAK,CAAC;YAkBvB,UAAK,GAAG,IAAIH,eAAY,EAAE,CAAC;SAUpB;QA1BjB,sBAAa,uCAAQ;iBAArB,UAAsB,KAAK;gBACzB,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACrC;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,UAAU,GAAA,CAAC,CAAC;iBAC7E;gBACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;;;WAAA;QACD,sBAAa,wCAAS;iBAAtB,UAAuB,KAAK;gBAC1B,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACpC;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,SAAS,GAAA,CAAC,CAAC;iBAC5E;gBACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;aAC3B;;;WAAA;QAGD,sBACI,2CAAY;iBADhB;gBAEE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrC;;;WAAA;QACD,+BAAG,GAAH,UAAI,GAAW;YACb,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACrC;QAIM,mCAAO,GAAP,UAAQ,MAAM;YACnB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACzB;;;;gBAjDFC,YAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,ouBAAsC;;iBAEvC;;;;wBAOEE,QAAK;wBACLA,QAAK;uBACLA,QAAK;iCACLA,QAAK;yBACLA,QAAK;4BACLA,QAAK;2BACLA,QAAK;4BAQLA,QAAK;wBAQLC,SAAM;+BAEN6B,cAAW,SAAC,OAAO;;IAgBtB;IACA;;;;;;;;;;;;;;;;;;;ICzDO,IAAM,uBAAuB,GAAG,YAAY,CAAC;IAC7C,IAAM,iBAAiB,GAAG,YAAY,CAAC;IACvC,IAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,IAAM,iBAAiB,GAAG,SAAS,CAAC;;QAS3C;YACU,WAAM,GAAc;gBAC1B,SAAS,EAAE,iBAAiB;aAC7B,CAAC;YACM,aAAQ,GAAgB;gBAC9B,SAAS,EAAE,iBAAiB;gBAC5B,cAAc,EAAE,UAAU;gBAC1B,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,UAAU;aAC/B,CAAC;SAyBH;QAvBC,sBAAI,mCAAK;iBAIT;gBACE,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;iBAND,UAAU,KAAgB;gBACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aACrD;;;WAAA;QAMD,sBAAI,qCAAO;iBAIX;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;iBAND,UAAY,OAAoB;gBAC9B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC3D;;;WAAA;QAMD,2CAAgB,GAAhB,UAAiB,KAAgB,EAAE,OAAqB;YACtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,KAAK,CAAC;aACjB;YACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;+BACF;KAAA;;IClCD,IAAM,IAAI,GAAG,eAAQ,CAAC;;;QAsEpB,+BACU,GAAsB;YAAtB,QAAG,GAAH,GAAG,CAAmB;YA1DhC,aAAQ,GAAG,IAAI,CAAC;YAChB,cAAS,GAAG,OAAO,CAAC;YACpB,YAAO,GAAG,uBAAuB,CAAC;YA6BzB,gBAAW,GAAW,QAAQ,CAAC;YAC/B,QAAG,GAAS,IAAI,CAAC;YACjB,QAAG,GAAS,IAAI,CAAC;YAoBlB,eAAU,GAAQ,IAAI,CAAC;YACvB,sBAAiB,GAAe,IAAI,CAAC;YACrC,qBAAgB,GAAqB,IAAI,CAAC;SAI7C;QAvDL,sBAAa,2CAAQ;iBAArB,UAAsB,IAAqC;gBACzD,QAAQ,IAAI;oBACV,KAAK,MAAM;wBACT,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;wBAC9B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;wBAC3B,MAAM;oBACR,KAAK,OAAO;wBACV,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;wBACxB,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;wBACjC,MAAM;oBACR;wBACE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;wBACzB,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;iBAC1C;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;;;WAAA;QACD,sBAAa,yCAAM;iBAAnB,UAAoB,KAAK;gBACvB,IAAI,KAAK,EAAE;oBACT,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACvB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;qBAClC;yBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC9B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;qBAClC;oBACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;iBACzB;aACF;;;WAAA;QAMD,+CAAe,GAAf;YAAA,iBAgBC;YAfC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;gBAC9B,OAAO;aACR;YACC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,UAAU,CAAC;gBACV,IAAM,aAAa,GAAG,KAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBAC1D,IAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC3G,gBAAgB,CAAC,oBAAoB,GAAG;oBACrC,IAAI,QAAQ,KAAK,YAAY,EAAE;wBAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC;qBAC1C;yBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;wBAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;qBACzF;iBACF,CAAC;aACH,EAAE,IAAI,CAAC,CAAC;SACZ;QASD,sBAAW,wCAAK;iBAAhB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;iBACD,UAAiB,CAAS;gBACxB,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;oBACzB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1B;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;;;WAPA;QASM,gDAAgB,GAAhB,UAAiB,EAAO;YAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;QAEM,iDAAiB,GAAjB,UAAkB,EAAO;YAC9B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;QAEM,0CAAU,GAAV,UAAW,KAAU;YAC1B,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;gBAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBACtC,IAAI,CAAC,UAAU,GAAG5B,yBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACtC;qBAAM;oBACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;aACzB;SACF;QAED,kDAAkB,GAAlB,UAAmB,eAAuB,EAAE,UAA8B;YACxE,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBACjC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;gBACvC,UAAU,CAAC,KAAK,EAAE,CAAC;aACpB;SACF;QAED,iDAAiB,GAAjB,UAAkB,cAAsB,EAAE,UAA8B;YACtE,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;gBACnC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACtC,UAAU,CAAC,KAAK,EAAE,CAAC;aACpB;SACF;;;;gBApHFJ,YAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,qlBAA8C;oBAE9C,eAAe,EAAEa,0BAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE;wBACT,EAAE,OAAO,EAAED,uBAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE;qBAChF;;iBAEF;;;gBAnBCE,oBAAiB;;;2BAyBhBZ,QAAK;yBAgBLA,QAAK;8BAWLA,QAAK;sBACLA,QAAK;sBACLA,QAAK;qBACL6C,YAAS,SAAC,YAAY;;;;QCjBvB,qCACmC,aAA+B,EAC5C,SAAoB;YADP,kBAAa,GAAb,aAAa,CAAkB;YAC5C,cAAS,GAAT,SAAS,CAAW;SAEzC;QAlBD,sBACI,yDAAgB;iBADpB,UACqB,MAAc;;gBACjC,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACjC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,iBAAiB,CACvB,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAC,SAAS,EAAE,MAAM,EAAC,CAAC,CAAC;iBAC1D;gBACD,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnC,MAAA,IAAI,CAAC,SAAS,CAAC,aAAa,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;aACjD;;;WAAA;;;;gBA7BFN,YAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEnC,gBAAW;4BACpB,QAAQ,EAAEC,uCAAiB;yBAC5B;wBACD;4BACE,OAAO,EAAEG,qBAAgB;4BACzB,QAAQ,EAAE,gBAAgB;yBAC3B;qBACF;iBACF;;;gBAdQ,gBAAgB,uBAkCpBgB,SAAM,SAAChB,qBAAgB;gBArCnBsC,eAAS,uBAsCbC,WAAQ;;;kCAnBV/C,QAAK;oCACLA,QAAK;mCAELA,QAAK,SAAC,oBAAoB;;;;QCVzB,sBAAoB,UAAsB;YAAtB,eAAU,GAAV,UAAU,CAAY;YAThC,aAAQ,GAAiB,IAAIa,YAAO,EAAE,CAAC;;;;;YAKxC,YAAO,GAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAKjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SAC1D;QAED,4BAAK,GAAL,UAAM,GAAS;YACX,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC5B;2BACJ;KAAA;;ACKWmC;IAAZ,WAAY,2BAA2B;QACnC,8CAAe,CAAA;QACf,gDAAiB,CAAA;IACrB,CAAC,EAHWA,mCAA2B,KAA3BA,mCAA2B,QAGtC;IAEM,IAAM,cAAc,GAAoB;QAC3C,WAAW,EAAE,KAAK;QAClB,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,iCAAiC;KACnD,CAAC;IAEK,IAAM,aAAa,GAAsC;QAC5D,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KACpC,CAAC;aAEc,qBAAqB,CAAC,QAAgB;QAClD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAE,OAAOA,mCAA2B,CAAC,KAAK,CAAC;QACzE,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,MAAM,CAAC,MAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA,EAAE;YAC3D,OAAOA,mCAA2B,CAAC,MAAM,CAAC;SAC7C;QACD,OAAOA,mCAA2B,CAAC,KAAK,CAAC;IAC7C;;;QCWE,4BACU,GAAsB,EACtB,wBAAkD,EAClD,gBAAkC,EAClC,UAAsB,EACtB,UAA2B;YAJ3B,QAAG,GAAH,GAAG,CAAmB;YACtB,6BAAwB,GAAxB,wBAAwB,CAA0B;YAClD,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,eAAU,GAAV,UAAU,CAAY;YACtB,eAAU,GAAV,UAAU,CAAiB;YAvC5B,UAAK,GAAG,EAAE,CAAC;YAOpB,sBAAiB,GAAG,KAAK,CAAC;YAMM,YAAO,GAAG,IAAI,CAAC;SA2B1C;QAxBL,yCAAY,GAAZ,UAAa,CAAC;YACZ,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,YAAYzB,aAAU,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,CAAC,CAAC,MAAM,IAAK,IAAI,CAAC,OAAO,CAAC,aAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACvK,IAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3E,IAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACtE,IAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC/D,IAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAE/E,IAAI,CAAC,YAAY;mBACV,CAAC,iBAAiB;mBAClB,CAAC,oBAAoB;mBACrB,CAAC,gBAAgB;mBACjB,CAAC,2BAA2B;mBAC5B,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAC9B;gBACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;aACzB;SACF;QAUD,qCAAQ,GAAR;YACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,YAAYa,cAAW,CAAC;YAE7D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAkB,CAAC,CAAC,CAAC;gBAC1I,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;aAC3F;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;aACrD;YAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;;;;gBApEFtC,YAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,iQAA0C;oBAE1C,UAAU,EAAE;wBACVuC,kBAAO,CAAC,SAAS,EAAE,eAAe,CAAC;qBACpC;oBACD,eAAe,EAAE1B,0BAAuB,CAAC,MAAM;;iBAChD;;;gBA5BCC,oBAAiB;gBAEjB+B,2BAAwB;gBAQxBC,mBAAgB;gBANhBrB,aAAU;gBAaH,YAAY;;;0BAclBvB,QAAK;iCACLA,QAAK;wBACLA,QAAK;0BACLA,QAAK;gCACLA,QAAK;4BACLA,QAAK;2BACLA,QAAK;mCAEL6C,YAAS,SAAC,kBAAkB,EAAE,EAAE,IAAI,EAAEtB,aAAU,EAAE,MAAM,EAAE,IAAI,EAAE;wBAIhEO,cAAW,SAAC,aAAa;yBACzBA,cAAW,SAAC,cAAc;0BAE1BA,cAAW,SAAC,UAAU;+BAEtBY,eAAY,SAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;;;;QCnC1C,0BACY,OAAgB,EAChB,sBAA8C,EAC9C,QAAkB;YAFlB,YAAO,GAAP,OAAO,CAAS;YAChB,2BAAsB,GAAtB,sBAAsB,CAAwB;YAC9C,aAAQ,GAAR,QAAQ,CAAU;SACzB;QAEL,+BAAI,GAAJ,UAAQ,OAA2C,EAAE,YAAsC;YACvF,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAM,KAAK,mCAAQ,aAAa,GAAK,YAAY,CAAE,CAAC;YAEpD,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE7C,IAAM,UAAU,GAAG,IAAI,YAAY,CAAI,UAAU,CAAC,CAAC;YAEnD,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAEpE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAEtD,OAAO,UAAU,CAAC;SACrB;QAEO,iDAAsB,GAAtB,UACJ,OAA2C,EAC3C,EAA8G,EAC9G,UAAsB,EACtB,UAA2B;gBAFzB,cAAc,oBAAA,EAAE,QAAQ,cAAA,EAAS,YAAY,WAAA,EAAE,aAAa,mBAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAA;YAIlF,IAAM,eAAe,GAAG,IAAIJ,sBAAe,CAAwB,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9H,IAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAwB,eAAe,CAAC,CAAC;YAE7E,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC;YAErC,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YACtC,UAAU,CAAC,QAAQ,CAAC,cAAc,mCAAQ,cAAc,KAAE,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAE,CAAC;YAC5G,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC;YAC1D,UAAU,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;YAClD,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YACtC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1C,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC3C;QAEO,wCAAa,GAAb,UAAc,YAAsC;YACxD,IAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC7C;QAEO,2CAAgB,GAAhB,UAAiB,YAAsC;YAC3D,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAmC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,iBAAa,CAAC,CAAC;YAErI,IAAM,MAAM,mCAAQ,cAAc,GAAK,YAAY,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;YACzE,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAE9D,IAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;iBAC/C,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC;iBACzC,aAAa,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE7D,IAAM,aAAa,GAAG,IAAIW,gBAAa,iBACnC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,EACpD,gBAAgB,kBAAA,IACb,MAAM,EACX,CAAC;YAEH,IAAI,YAAY,CAAC,SAAS,KAAK,MAAM,IAAI,WAAW,EAAE;gBAClD,IAAM,kBAAkB,GAAG,qBAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACxE,aAAa,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,kBAAkB,CAAC,CAAC;aAC/F;YAED,OAAO,aAAa,CAAC;SACxB;QAEO,yCAAc,GAAd,UAAkB,UAA2B;YACjD,IAAM,eAAe,GAAqB;gBACtC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE;aAClD,CAAC;YAEF,OAAOC,WAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjF;QAEO,4CAAiB,GAAjB,UAAqB,YAAsC,EAAE,UAAsB,EAAE,UAA2B;YACpH,IAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE,CAAC;YAChD,IAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;YACjD,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAE9D,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAA,EAAE;gBACrD,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,EAAE,GAAA,CAAC,CAAC;aAClE;YAED,IAAI,aAAa,EAAE;gBACf,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAM,OAAA,UAAU,CAAC,KAAK,EAAE,GAAA,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACvF;YAED,IAAI,YAAY,CAAC,SAAS,KAAK,MAAM,IAAI,WAAW,EAAE;gBAClD,IAAM,oBAAkB,GAAG,qBAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACxE,IAAM,gBAAc,GAAG,IAAI,cAAc,CAAC,UAAA,OAAO;oBAC7C,OAAO,CAAC,OAAO,CAAC,UAAA,IAAI;;wBAAI,OAAA,UAAU,CAAC,UAAU,WAAG,GAAC,oBAAkB,IAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,oBAAkB,CAAC,MAAG;qBAAA,CAAC,CAAC;iBACrI,CAAC,CAAC;gBACH,gBAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,UAAU,CAAC,OAAO,CAAC,IAAI,CAACC,eAAK,EAAE,CAAC,CAAC,SAAS,CAAC,cAAM,OAAA,gBAAc,CAAC,SAAS,CAAC,WAAW,CAAC,GAAA,CAAC,CAAC;aAC3F;SACJ;QAEO,yCAAc,GAAd,UAAkB,OAA4C;YAClE,IAAI,CAAC,OAAO,IAAY,OAAQ,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAChD,IAAiB,OAAQ,CAAC,aAAa;gBAAE,OAAoB,OAAQ,CAAC,aAAa,CAAC;YACpF,OAAoB,OAAO,CAAC;SAC/B;;;;;gBA/GJC,aAAU,SAAC;oBACR,UAAU,EAAE,MAAM;iBACrB;;;gBANQZ,UAAO;gBAAiBC,yBAAsB;gBADlCS,WAAQ;;;;QCuC3B,4BAAoB,UAAsB,EACtB,gBAAkC;YADlC,eAAU,GAAV,UAAU,CAAY;YACtB,qBAAgB,GAAhB,gBAAgB,CAAkB;YAnB3B,mBAAc,GAAW,EAAE,CAAC;YAE3B,aAAQ,GAAe,QAAQ,CAAC;YAEnC,UAAK,GAAW,EAAE,CAAC;YAEX,kBAAa,GAAkB,EAAE,CAAC;YAElC,kBAAa,GAA0B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAIjE,iBAAY,GAAG,IAAIrD,eAAY,EAAO,CAAC;YAE7B,oBAAe,GAAG,IAAIA,eAAY,EAAwB,CAAC;SAM1F;QAGL,0CAAa,GAAb;YACE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aAC3D;SACF;QAED,yCAAY,GAAZ,UAAa,GAAS;YACpB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;SACF;QAEO,0CAAa,GAAb;YAAA,iBAgBP;YAfC,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC5E,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YAEH,UAAU,CAAC,OAAO,CAAC,IAAI,CAACsD,eAAK,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;gBAC7C,KAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aAC3D,CAAC,CAAC;SACJ;QAED,wCAAW,GAAX;YACE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;;;;gBAlEFZ,YAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;iBACxB;;;gBAlBChB,aAAU;gBAaH,gBAAgB;;;0BAQtBvB,QAAK,SAAC,WAAW;iCAEjBA,QAAK,SAAC,kBAAkB;2BAExBA,QAAK,SAAC,mBAAmB;wBAEzBA,QAAK,SAAC,gBAAgB;gCAEtBA,QAAK,SAAC,wBAAwB;gCAE9BA,QAAK,SAAC,wBAAwB;4BAE9BA,QAAK,SAAC,oBAAoB;+BAE1BC,SAAM,SAAC,gBAAgB;kCAEvBA,SAAM,SAAC,0BAA0B;gCAQjCyC,eAAY,SAAC,OAAO;;;;QClCrB;YAHA,eAAU,GAAG,IAAI7B,YAAO,EAA4B,CAAC;SAIpD;QAED,sBAAI,sCAAO;iBAAX,UAAY,IAAuC;gBACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;;;WAAA;QAED,mCAAO,GAAP;YACE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aAC3B;SACF;;;;;gBAnBFuC,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;QCaC,6BAAsB,WAA8B,EAAU,GAAsB;YAA9D,gBAAW,GAAX,WAAW,CAAmB;YAAU,QAAG,GAAH,GAAG,CAAmB;YALpF,aAAQ,GAAqC,MAAM,CAAC;SAMnD;QAED,sBAAa,wCAAO;iBAApB,UAAqB,IAAmC;gBACtD,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;oBACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAA,IAAI;;wBACpB,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,EAAE;4BACzB,IAAI,CAAC,YAAY,GAAG;gCAClB,IAAI,EAAE,IAAI,CAAC,QAAQ;gCACnB,KAAK,EAAE,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,KAAK,KAAI,EAAE;gCACtC,QAAQ,EAAE,OAAO;6BAClB,CAAC;yBACH;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;iBACzB;aACF;;;WAAA;QAED,8CAAgB,GAAhB;YACE,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAC5B;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;SACF;QAED,kCAAI,GAAJ;YACE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;SAC5B;QAED,sCAAQ,GAAR,UAAS,GAAsD;YAC7D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACjB,OAAO,KAAK,CAAC;aACd;YACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACrC,OAAO,GAAG,CAAC,QAAQ,CAAC;aACrB;iBAAM;gBACL,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/B;SACF;QAED,sCAAQ,GAAR,UAAS,GAA2B;YAClC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACjB,OAAO,KAAK,CAAC;aACd;YACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACrC,OAAO,GAAG,CAAC,QAAQ,CAAC;aACrB;iBAAM;gBACL,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/B;SACF;QAED,2CAAa,GAAb,UAAc,GAA2B;YACvC,IAAI,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC;SACpB;QAED,6CAAe,GAAf,UAAgB,cAAuB;YACrC,OAAO,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;SAC1C;QAED,oCAAM,GAAN,UAAO,GAAuB;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAC,CAAC,CAAC;iBAChG;gBACD,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;QAED,+CAAiB,GAAjB,UAAkB,MAAM,EAAE,UAAoC,EAAE,IAAS;YACvE,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAC9B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;;;;gBAlGFtD,YAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,g9CAA2C;oBAE3C,eAAe,EAAEa,0BAAuB,CAAC,MAAM;;iBAChD;;;gBAPQ,iBAAiB;gBAFQC,oBAAiB;;;2BAYhDiC,YAAS,SAAC,UAAU;gCACpBA,YAAS,SAAC,eAAe;0BAUzB7C,QAAK;;;;QCIN,6BAAoB,wBAAkD,EAClD,gBAAkC,EAClC,OAA0B,EAC1B,EAAc,EACI,SAAc;YAJhC,6BAAwB,GAAxB,wBAAwB,CAA0B;YAClD,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,YAAO,GAAP,OAAO,CAAmB;YAC1B,OAAE,GAAF,EAAE,CAAY;YACI,cAAS,GAAT,SAAS,CAAK;YAT3C,aAAQ,GAAe,MAAM,CAAC;SAUtC;QAEsB,0CAAY,GAAZ;YACrB,IAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,EAAE,GAAA,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;gBACvD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,QAAA;oBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,UAAU;oBACrB,KAAK,EAAE,IAAI,CAAC,eAAe;iBAC5B,CAAC,CAAC;aACJ;SAEF;QAE6C,2CAAa,GAAb,UAAc,CAAC;YAC3D,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,8BAA8B,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAAE;gBAChH,OAAO;aACR;YACD,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE;gBAChI,UAAU,CAAC,cAAM,OAAA,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,EAAE,GAAA,CAAC,GAAA,EAAE,GAAG,CAAC,CAAC;aAC7D;SACF;QAEO,sCAAQ,GAAR,UAAS,OAAqB;YACpC,IAAI,gBAAuD,CAAC;YAC5D,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;YAC9F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACjG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;SAC/C;QAEM,yCAAW,GAAX;YACL,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAC9B;SACF;;;;gBA3DFuC,YAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;;;gBAjBCI,2BAAwB;gBAQxBC,mBAAgB;gBAKT,iBAAiB;gBAXxBrB,aAAU;gDA2BGC,SAAM,SAACE,eAAQ;;;2BAT3B1B,QAAK;6BACLA,QAAK;kCACLA,QAAK;gCACL6C,YAAS,SAAC,mBAAmB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAED,mBAAgB,EAAC;+BASrEF,eAAY,SAAC,OAAO;gCAkBpBA,eAAY,SAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;;;;QCtC1C,qCAAoB,EAAc,EAAU,QAAmB;YAA3C,OAAE,GAAF,EAAE,CAAY;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAJtD,aAAQ,GAAqC,MAAM,CAAC;SAK5D;QAED,8CAAQ,GAAR;YACI,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SACpD;QAED,uDAAiB,GAAjB;YACI,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,cAAc,GAAG,CAAC,CAAC;YAEvB,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAC3B,YAAY,GAAG,CAAC,CAAC;gBACjB,cAAc,GAAG,EAAE,CAAC;gBACpB,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC;gBAChH,IAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;gBAE7F,IAAI,CAAC,QAAQ,GAAG;oBACZ,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW;oBACpC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC;oBAClE,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW;oBACrF,OAAO,EAAE,UAAU,CAAC,CAAC;iBACxB,CAAC;aACL;YAED,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EACjD,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,IAAI;oBACjE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAClD,IAAI,CAAC,QAAQ,KAAK,OAAO;oBACvB,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,IAAI;oBAChE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtC,IAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC;gBACtD,IAAM,sBAAsB,GAAG,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC3F,IAAM,mBAAmB,GAAG,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC7G,IAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;gBAEjF,IAAM,4BAA4B,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACzH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,4BAA4B,CAAC;gBAE/E,IAAI,sBAAsB,EAAE;oBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACzB;gBACD,IAAI,sBAAsB,IAAI,oBAAoB,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE;oBACxG,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;oBAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,EACvD,gCAAgC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;iBACjF;gBACD,IAAI,mBAAmB,IAAI,sBAAsB,EAAE;oBAC/C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;iBACjC;gBACD,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,EAAE;oBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,4BAA2B,IAAI,CAAC,kBAAkB,CAAC,KAAM,cAAS,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAE,SAAK,CAAC,CAAC;iBAC1K;gBACD,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,aAAa;sBACrD,IAAI,CAAC,QAAQ,KAAK,UAAU,GAAG,kBAAkB;0BAC/C,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,gBAAgB;8BAC3C,IAAI,CAAC,QAAQ,KAAK,aAAa,GAAG,qBAAqB;kCACrD,IAAI,CAAC,QAAQ,KAAK,MAAM,GAAG,cAAc;sCACvC,IAAI,CAAC,QAAQ,KAAK,aAAa,GAAG,qBAAqB;0CACrD,IAAI,CAAC,QAAQ,KAAK,OAAO,GAAG,eAAe;8CACzC,IAAI,CAAC,QAAQ,KAAK,cAAc,GAAG,sBAAsB,GAAG,EAAE,CAAC;gBAC/E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACrE;iBAAM;gBACH,IAAM,mBAAmB,GAAG,CAAC,CAAC;gBAC9B,IAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,cAAc,CAAC;gBAC5H,IAAM,qBAAqB,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,GAAG,cAAc,CAAC;gBAC/H,IAAI,CAAC,cAAc,GAAG,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;gBAElD,IAAM,yBAAyB,GAAG,oBAAoB,GAAG,CAAC;sBACtD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,mBAAmB;sBACvC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,mBAAmB,GAAG,WAAW,CAAC;gBAExD,IAAM,WAAW,GAAG,qBAAqB,GAAG,CAAC,GAAG,qBAAqB,GAAG,YAAY,CAAC;gBAErF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC;gBAC7F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,yBAAyB,IAAI,IAAI,CAAC,CAAC;gBAC1F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACrE;SACJ;;;;gBA9FJH,YAAS,SAAC;oBACP,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,kBAAkB;iBAC/B;;;gBANmBhB,aAAU;gBAAiBM,YAAS;;;qCASnD7B,QAAK;2BACLA,QAAK;;;;QCJV;;QACE,0CAAS,GAAT,UAAU,GAAuB;YAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAA,CAAC,CAAC;SACpE;;;;gBANFgC,OAAI,SAAC;oBACJ,IAAI,EAAE,wBAAwB;iBAC/B;;;;QCUC;SAAiB;QACjB,iCAAQ,GAAR;SACC;;;;gBAfFlC,YAAS,SAAC;oBACT,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,2FAIJ;iBACP;;;;wBAEEE,QAAK;2BACLA,QAAK;kCACL6C,YAAS,SAACT,cAAW;;;;QCUtB;YANS,gBAAW,GAAW,CAAC,CAAC;YAGvB,sBAAiB,GAAsB,IAAIvC,eAAY,EAAO,CAAC;SAGxD;QAEjB,6CAAmB,GAAnB,UAAoB,MAAM;YACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;;;;gBAlBFC,YAAS,SAAC;oBACT,QAAQ,EAAE,SAAS;oBACnB,+0BAAuC;;iBAExC;;;;8BAGEE,QAAK;4BACLA,QAAK;2BACLA,QAAK;oCACLC,SAAM;kCACN0B,kBAAe,SAAC,cAAc;;;;QClBjC;YAQE,mBAAc,GAAG,IAAId,YAAO,EAAW,CAAC;YAahC,eAAU,GAAG,KAAK,CAAC;SAiB5B;QAzBC,sBACI,uCAAK;;;;iBADT;gBAEE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;iBACD,UAAU,GAAY;gBACpB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;aACzB;;;WAHA;;;;QAUD,sCAAO,GAAP;YACE,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACF;;;;QAKD,uCAAQ,GAAR;YACE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;;;;gBArCFf,YAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,sDAAsD;oBAEhE,eAAe,EAAEa,0BAAuB,CAAC,MAAM;;iBAChD;;;wBAQEX,QAAK,SAAC,OAAO;;;;QCqEd,kCAA4B,SAA+B,EAAU,EAAqB;YAA9D,cAAS,GAAT,SAAS,CAAsB;YAAU,OAAE,GAAF,EAAE,CAAmB;;;;;YARhF,oBAAe,GAAG,IAAIH,eAAY,EAAW,CAAC;YAExD,4BAAuB,GAAG,IAAIgB,YAAO,EAAW,CAAC;YAEzC,mBAAc,GAAG,IAAI,CAAC;YACtB,kBAAa,GAAG,KAAK,CAAC;YACtB,aAAQ,GAAG,IAAIA,YAAO,EAAQ,CAAC;SAGtC;QArDD,sBAEI,+CAAS;;;;;iBAFb;gBAGE,OAAO,IAAI,CAAC,cAAc,CAAC;aAC5B;iBACD,UAAc,GAAY;gBACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;;;WALA;QAWD,sBAEI,8CAAQ;;;;iBAFZ;gBAGE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;aACxB;iBACD,UAAa,GAAY;gBACvB,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC;aAC5B;;;WAHA;QAUD,sBAEI,8CAAQ;;;;;iBAFZ;gBAGE,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;iBACD,UAAa,GAAY;gBACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC;gBAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;;;WAJA;;;;QAyBD,yCAAM,GAAN;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;;gBAElB,IAAM,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBAEhC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;oBACzB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC1C;gBACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;aAC1B;SACF;;;;QAKD,uCAAI,GAAJ;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;SACF;;;;QAKD,wCAAK,GAAL;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;SACF;QAED,2CAAQ,GAAR;YAAA,iBAQC;YAPC,IAAI,CAAC,SAAS,CAAC,cAAc;iBAC1B,IAAI,CAACI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,UAAA,SAAS;gBAClB,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE;oBAClB,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;iBAC5B;aACF,CAAC,CAAC;SACN;QAED,8CAAW,GAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,8CAAW,GAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;SACzC;QAEO,6CAAU,GAAV;YACN,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;SACxB;;;;gBA9HFnB,YAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAE7B,QAAQ,EAAE,0IAGT;oBACD,eAAe,EAAEa,0BAAuB,CAAC,MAAM;;iBAChD;;;gBAVQ,oBAAoB,uBAqEd0C,OAAI;gBAlFjBzC,oBAAiB;;;4BA8BhBZ,QAAK,SAAC,WAAW,cACjB8B,cAAW,SAAC,iBAAiB;2BAc7B9B,QAAK,SAAC,UAAU,cAChB8B,cAAW,SAAC,gBAAgB;2BAa5B9B,QAAK,SAAC,UAAU,cAChB8B,cAAW,SAAC,gBAAgB;kCAc5B7B,SAAM;;;;QCEP,wCAA4B,aAAuC,EAAU,EAAqB;YAAtE,kBAAa,GAAb,aAAa,CAA0B;YAAU,OAAE,GAAF,EAAE,CAAmB;YArC1F,aAAQ,GAAG,IAAIY,YAAO,EAAQ,CAAC;SAsCtC;QApCD,sBACI,uDAAW;iBADf;gBAEE,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;aACrC;;;WAAA;QAED,sBAEI,oDAAQ;iBAFZ;gBAGE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;aACtC;;;WAAA;QAED,sBACI,oDAAQ;iBADZ;gBAEE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC;aACjD;;;WAAA;QAED,sBACI,oDAAQ;iBADZ;gBAEE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;aACpC;;;WAAA;QAKD,+CAAM,GAAN;YACE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;SAC7B;QAED,sBAAI,iDAAK;iBAAT;gBACE,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,OAAO,WAAW,CAAC;iBACpB;gBACD,OAAO,UAAU,CAAC;aACnB;;;WAAA;QAKD,iDAAQ,GAAR;YAAA,iBAIC;YAHC,IAAI,CAAC,aAAa,CAAC,uBAAuB;iBACvC,IAAI,CAACI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,GAAA,CAAC,CAAC;SAC5C;QAED,oDAAW,GAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;;;;gBA5EFnB,YAAS,SAAC;oBACT,QAAQ,EAAE,0BAA0B;oBAEpC,QAAQ,EAAE,uTAQT;oBACD,UAAU,EAAE;wBACVuC,kBAAO,CAAC,oBAAoB,EAAE;4BAC5BiB,gBAAK,CACH,UAAU,EACVpB,gBAAK,CAAC;gCACJ,SAAS,EAAE,gBAAgB;6BAC5B,CAAC,CACH;4BACDD,qBAAU,CAAC,uBAAuB,EAAEE,kBAAO,CAAC,eAAe,CAAC,CAAC;4BAC7DF,qBAAU,CAAC,uBAAuB,EAAEE,kBAAO,CAAC,gBAAgB,CAAC,CAAC;yBAC/D,CAAC;qBACH;oBACD,eAAe,EAAExB,0BAAuB,CAAC,MAAM;;iBAChD;;;gBA3BQ,wBAAwB,uBAkElB0C,OAAI;gBAvEjBzC,oBAAiB;;;8BAoChBkB,cAAW,SAAC,uCAAuC;2BAKnDA,cAAW,SAAC,sCAAsC,cAClDA,cAAW,SAAC,oBAAoB;2BAKhCA,cAAW,SAAC,eAAe;2BAK3BA,cAAW,SAAC,oBAAoB;yBAKhCY,eAAY,SAAC,OAAO,cACpBA,eAAY,SAAC,eAAe,cAC5BA,eAAY,SAAC,eAAe;;;ICtD/B,IAAM,wBAAwB,GAAGL,kBAAO,CAAC,mBAAmB,EAAE;QAC5DiB,gBAAK,CACH,WAAW,EACXpB,gBAAK,CAAC;YACJ,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,CAAC;SACV,CAAC,CACH;QACDoB,gBAAK,CACH,UAAU,EACVpB,gBAAK,CAAC;YACJ,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,SAAS;SACtB,CAAC,CACH;QACDD,qBAAU,CAAC,uBAAuB,EAAEE,kBAAO,CAAC,eAAe,CAAC,CAAC;QAC7DF,qBAAU,CAAC,uBAAuB,EAAEE,kBAAO,CAAC,gBAAgB,CAAC,CAAC;KAC/D,CAAC,CAAC;;QAkBD,sCAA4B,aAAuC,EAAU,EAAqB;YAAtE,kBAAa,GAAb,aAAa,CAA0B;YAAU,OAAE,GAAF,EAAE,CAAmB;YAF1F,aAAQ,GAAG,IAAItB,YAAO,EAAQ,CAAC;SAE+D;QAEtG,sBAAI,+CAAK;iBAAT;gBACE,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;aAChE;;;WAAA;QAED,+CAAQ,GAAR;YAAA,iBAIC;YAHC,IAAI,CAAC,aAAa,CAAC,uBAAuB;iBACvC,IAAI,CAACI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,GAAA,CAAC,CAAC;SAC5C;QAED,kDAAW,GAAX;YACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;;;;gBA/BFnB,YAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,QAAQ,EAAE,yJAMT;oBAED,UAAU,EAAE,CAAC,wBAAwB,CAAC;oBACtC,eAAe,EAAEa,0BAAuB,CAAC,MAAM;;iBAChD;;;gBAlCQ,wBAAwB,uBAsClB0C,OAAI;gBA7CjBzC,oBAAiB;;;QCaN2C,YAAU,GAAG,CAAC,gBAAgB;QACvC,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,oBAAoB,EAAE;aAgBoC,EAAE,MAAM,EAAE,IAAI,EAAE;;QAK9E;;;;;gBAnBCC,WAAQ,SAAC;oBACN,OAAO,EAAE;wBACLC,mBAAY;wBACZC,wBAAmB;wBACnBC,8BAAmB;wBACnBC,iBAAW;wBACXC,4BAAkB;wBAClBC,yBAAmB;wBACnBC,oBAAc;wBACdC,yCAAmB;wBACnBC,sBAAe;qBAClB;oBACD,OAAO,EAAEV,YAAU;oBACnB,SAAS,EAAE;wBACP,EAAE,OAAO,EAAEhD,qDAA+B,EAAE,QAAQ,IAAkB,EAAE;qBAC3E;oBACD,YAAY,EAAEgD,YAAU;iBAC3B;;IAE6B;;;QClB9B;;;;;gBAjBCC,WAAQ,SAAC;oBACN,OAAO,EAAE;wBACLC,mBAAY;wBACZG,iBAAW;wBACXC,4BAAkB;wBAClBC,yBAAmB;wBACnBE,yCAAmB;wBACnBC,sBAAe;wBACfC,kCAAqB;qBACxB;oBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,SAAS,EAAE,EAAE;oBACb,YAAY,EAAE;wBACZ,gBAAgB;qBACjB;iBACJ;;;;QCJD;;;;;gBAdCV,WAAQ,SAAC;oBACN,OAAO,EAAE;wBACLC,mBAAY;wBACZ,aAAa;wBACb,aAAa;qBAChB;oBACD,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,SAAS,EAAE,EACV;oBACD,YAAY,EAAE;wBACZ,cAAc;qBACf;iBACJ;;;ICAD,IAAMF,YAAU,GAAG;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,uBAAuB;QACvB,qBAAqB;QACrB,2BAA2B;KAC5B,CAAC;;QAcF;;;;;gBAZCC,WAAQ,SAAC;oBACR,YAAY,EAAED,YAAU;oBACxB,OAAO,EAAEA,YAAU;oBACnB,OAAO,EAAE;wBACPK,iBAAW;wBACXE,yBAAmB;wBACnBL,mBAAY;wBACZU,uBAAc;wBACdR,8BAAmB;qBACpB;iBACF;;;;QCtBD;;;;;gBAfCH,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;qBACb;oBACD,OAAO,EAAE;wBACP,gBAAgB;wBAChB,kBAAkB;qBACnB;oBACD,SAAS,EAAE,EAAE;oBACb,YAAY,EAAE;wBACZ,gBAAgB;wBAChB,kBAAkB;qBACnB;iBACF;;;;QCKD;;;;;gBAhBCD,WAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,YAAY;qBACb;oBACD,OAAO,EAAE;wBACP,iBAAiB;wBACjB,YAAY;qBACb;oBACD,OAAO,EAAE;wBACPY,wBAAgB;wBAChB,eAAe;wBACfX,mBAAY;qBACb;iBACF;;;IChBD,IAAM,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxC,IAAM,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC;;QAUxC;;;;;gBARCD,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;qBACb;oBACD,OAAO,yCAAM,UAAU,WAAK,UAAU,EAAC;oBACvC,YAAY,yCAAM,UAAU,WAAK,UAAU,EAAC;iBAC7C;;;;QCMD;;;;;gBAfCD,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;qBACb;oBACD,OAAO,EAAE;wBACP,kBAAkB;wBAClB,kBAAkB;qBACnB;oBACD,SAAS,EAAE,EAAE;oBACb,YAAY,EAAE;wBACZ,kBAAkB;wBAClB,kBAAkB;qBACnB;iBACF;;;;QCaD;;;;;gBAtBCD,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;wBACZ,eAAe;qBAChB;oBACD,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,2BAA2B;wBAC3B,mBAAmB;wBACnB,sBAAsB;qBACvB;oBACD,OAAO,EAAE;wBACP,mBAAmB;wBACnB,2BAA2B;wBAC3B,mBAAmB;wBACnB,sBAAsB;qBACvB;oBACD,SAAS,EAAE;wBACT,iBAAiB;qBAClB;iBACF;;;;QCFD;;;;;gBAnBCD,WAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;wBACZY,kBAAa;wBACbT,iBAAW;wBACXE,yBAAmB;wBACnB,cAAc;qBACf;oBACD,OAAO,EAAE;wBACP,eAAe;wBACf,cAAc;qBACf;oBACD,SAAS,EAAE,EAAE;oBACb,YAAY,EAAE;wBACZ,eAAe;wBACf,cAAc;qBACf;iBACF;;;IClBD,IAAM,uBAAuB,GAAG;QAC9B,oBAAoB;QACpB,wBAAwB;QACxB,8BAA8B;QAC9B,4BAA4B;KAC7B,CAAC;;QAQF;;;;;gBANCN,WAAQ,SAAC;oBACR,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,2BAAM,uBAAuB,EAAC;oBACrC,YAAY,2BAAM,uBAAuB,EAAC;oBAC1C,SAAS,EAAE,EAAE;iBACd;;;ICnBD;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"datarailsshared-datarailsshared.umd.js","sources":["../../../projects/datarailsshared/src/lib/date-tags/date-tag.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/datarailsshared/src/lib/date-tags/forecast-tag/forecast-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/month-tag/month-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/quarter-tag/quarter-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/week-tag/week-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/year-tag/year-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.component.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/day-tag/day-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-button.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-group.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/checkbox/checkbox.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-input/dr-input.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-select/dr-select.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.pipe.ts","../../../projects/datarailsshared/src/lib/models/constants.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle/dr-toggle.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.component.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/button/button.component.ts","../../../projects/datarailsshared/src/lib/models/datePicker.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-date-picker/dr-date-picker.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover-ref.ts","../../../projects/datarailsshared/src/lib/models/popover.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.component.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.service.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.service.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.component.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-position.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-item-show.pipe.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tab.component.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-header.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-body.component.ts","../../../projects/datarailsshared/src/lib/date-tags/date-tag.module.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.module.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.module.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-inputs.module.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.module.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.module.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.module.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.module.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.module.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.module.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.module.ts","../../../projects/datarailsshared/src/public-api.ts","../../../projects/datarailsshared/src/datarailsshared-datarailsshared.ts"],"sourcesContent":["import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IDateTag} from \"../models/serverTags\";\r\n// import {*} from \"\"\r\n@Component({\r\n templateUrl: \"date-tag.component.html\",\r\n selector: \"date-tag\",\r\n styleUrls: [\"date-tag.component.css\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DateTagComponent {\r\n @Input() name: string | undefined = undefined;\r\n @Input() lockedDate: any[] = [];\r\n @Input() defaultValue: number | undefined = undefined;\r\n @Input() dateTypeChosen: any = {};\r\n @Input() fiscalYearStartsFrom?: number;\r\n @Input() fiscalYearBack?: boolean;\r\n @Output() selectedDate: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n changeSelectedDate(date) {\r\n setTimeout(() => {\r\n console.log(\"change date\", date);\r\n this.selectedDate.emit(date);\r\n }, 300);\r\n }\r\n}\r\n\r\n@Component({\r\n template: ``,\r\n selector: \"any-tag\"\r\n})\r\nexport class AnyTagComponent implements OnInit {\r\n @Output() dateChange: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\r\n @Input() name: string | undefined = undefined;\r\n @Input() defaultValue: number | undefined = undefined;\r\n dateObj = {date: undefined};\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.initDate();\r\n this.initName();\r\n this.chosenTagHandler(this.dateObj.date);\r\n }\r\n\r\n initDate() {}\r\n\r\n initName() {}\r\n\r\n changeInputHandler(event: Event) {\r\n const input: HTMLInputElement = <HTMLInputElement>event.target;\r\n this.chosenTagHandler(input.value);\r\n }\r\n\r\n chosenTagHandler(value) {\r\n // need implement in all tags\r\n }\r\n}\r\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 {Component, Input} from \"@angular/core\";\r\nimport {Moment} from \"moment\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatSelectChange} from \"@angular/material/select\";\r\nimport {MatButtonToggleChange} from \"@angular/material/button-toggle\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\n@Component({\r\n templateUrl: \"forecast-tag.component.html\",\r\n selector: \"forecast-tag\",\r\n})\r\n\r\nexport class ForecastTagComponent extends AnyTagComponent {\r\n @Input() fiscalYearStartsFrom?: number;\r\n @Input() fiscalYearBack?: boolean;\r\n @Input() lockedDate: any[] = [];\r\n forecastValue: number | undefined = undefined;\r\n\r\n forecastTags: any[] = [\r\n {\"value\": 0, \"label\": \"0+12\"},\r\n {\"value\": 1, \"label\": \"1+11\"},\r\n {\"value\": 2, \"label\": \"2+10\"},\r\n {\"value\": 3, \"label\": \"3+9\"},\r\n {\"value\": 4, \"label\": \"4+8\"},\r\n {\"value\": 5, \"label\": \"5+7\"},\r\n {\"value\": 6, \"label\": \"6+6\"},\r\n {\"value\": 7, \"label\": \"7+5\"},\r\n {\"value\": 8, \"label\": \"8+4\"},\r\n {\"value\": 9, \"label\": \"9+3\"},\r\n {\"value\": 10, \"label\": \"10+2\"},\r\n {\"value\": 11, \"label\": \"11+1\"}\r\n ];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n let dateVal = new Date();\r\n if (this.defaultValue) {\r\n dateVal = new Date(this.defaultValue * 1000);\r\n }\r\n let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\r\n let fiscal_year_back = this.fiscalYearBack || false;\r\n this.forecastValue = this.getFiscalMonthFromDate(dateVal, fiscal_year_starts_from) - 1;\r\n let fiscal_year = this.getFiscalYearFromDate(dateVal, fiscal_year_starts_from, fiscal_year_back);\r\n\r\n console.log(\"test\", dateVal, fiscal_year_starts_from, this.forecastValue, fiscal_year);\r\n\r\n this.dateObj.date = moment(new Date(fiscal_year, 0, 1)).format(\"YYYY\");\r\n\r\n this.updateLockedDate();\r\n }\r\n\r\n updateLockedDate() {\r\n for (let forecastTag of this.forecastTags) {\r\n forecastTag.disable = false;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const locked = moment.unix(timestamp);\r\n\r\n if (locked.month() - 1 === forecastTag.value && +locked.year() + 1 === +this.dateObj.date) {\r\n forecastTag.disable = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Forecast\";\r\n }\r\n }\r\n\r\n getFiscalMonthFromDate(dateObj, fiscal_year_starts_from) {\r\n let all_months = [];\r\n\r\n for (let i = fiscal_year_starts_from; i < 13; i++) {\r\n all_months.push(i);\r\n }\r\n\r\n for (let i = 1; i < fiscal_year_starts_from; i++) {\r\n all_months.push(i);\r\n }\r\n\r\n return all_months.indexOf(dateObj.getMonth() + 1) + 1;\r\n }\r\n\r\n getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back) {\r\n let fiscal_year = dateObj.getFullYear();\r\n\r\n if (!fiscal_year_back) {\r\n if (dateObj.getMonth() + 1 >= fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\r\n fiscal_year += 1;\r\n }\r\n } else {\r\n if (dateObj.getMonth() + 1 < fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\r\n fiscal_year -= 1;\r\n }\r\n }\r\n\r\n return fiscal_year;\r\n }\r\n\r\n getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {\r\n let label = \"\";\r\n if (value) {\r\n let dateObj = new Date(value * 1000);\r\n\r\n let fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);\r\n let fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);\r\n\r\n label = (fiscal_month - 1) + \"+\" + (13 - fiscal_month) + \" (\" + fiscal_year + \")\";\r\n }\r\n return label;\r\n }\r\n\r\n changeTagInputHandler(event: MatSelectChange | MatButtonToggleChange) {\r\n this.chosenTagHandler();\r\n }\r\n\r\n changeYearInputHandler(event: Event) {\r\n this.updateLockedDate();\r\n this.chosenTagHandler();\r\n }\r\n\r\n chosenTagHandler() {\r\n let month = this.forecastValue;\r\n let year = Number.parseInt(this.dateObj.date);\r\n\r\n let timeStampVal = 0;\r\n let label = \"\";\r\n\r\n if (!Number.isNaN(month) && !Number.isNaN(year)) {\r\n\r\n\r\n let date = new Date(year, month, 1, 12, 0, 0, 0);\r\n let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\r\n let fiscal_year_back = this.fiscalYearBack || false;\r\n if (fiscal_year_starts_from !== 1) {\r\n if (!fiscal_year_back)\r\n date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);\r\n else\r\n date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);\r\n }\r\n\r\n timeStampVal = date.getTime() / 1000;\r\n label = this.getForecastLabelFromValue(timeStampVal, fiscal_year_starts_from, fiscal_year_back);\r\n }\r\n\r\n const resultTag: IDateTag = {\r\n \"name\": this.name,\r\n \"value\": timeStampVal,\r\n \"label\": label,\r\n \"locked\": !this.dateFilter(timeStampVal)\r\n };\r\n\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n dateFilter = (date) => {\r\n const forecastDate = moment.unix(date);\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const locked = moment.unix(timestamp);\r\n\r\n return status = !(locked.month() === forecastDate.month() && locked.year() === forecastDate.year());\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {Moment} from \"moment\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatDatepicker} from \"@angular/material/datepicker\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst MONTH_FORMATS = {\r\n parse: {\r\n dateInput: \"DD-MM-YYYY\",\r\n },\r\n display: {\r\n dateInput: \"MMMM YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"month-tag.component.html\",\r\n selector: \"month-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: MONTH_FORMATS},\r\n ],\r\n})\r\n\r\nexport class MonthTagComponent extends AnyTagComponent {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n if (this.defaultValue) {\r\n this.dateObj.date = moment(this.defaultValue * 1000).utc().format(\"YYYY-MM\");\r\n this.date = new FormControl(moment(this.defaultValue * 1000));\r\n } else {\r\n this.dateObj.date = moment(new Date()).format(\"YYYY-MM\");\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Month and Year\";\r\n }\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const resultDate: Moment = moment.utc(value);\r\n resultDate.hour(12);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: resultDate.format(\"MMMM YYYY\"),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(resultTag, value);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker<Moment>) {\r\n this.date.setValue(normalizedMonth);\r\n this.dateObj.date = this.date.value;\r\n\r\n this.chosenTagHandler(this.date.value);\r\n\r\n datepicker.close();\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDate = moment(date);\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n\r\n return status = !(lockDate.year() === calendarDate.year() && lockDate.month() === calendarDate.month());\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatSelectChange} from \"@angular/material/select\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\n@Component({\r\n templateUrl: \"quarter-tag.component.html\",\r\n selector: \"quarter-tag\",\r\n})\r\nexport class QuarterTagComponent extends AnyTagComponent implements OnInit {\r\n @Input() lockedDate: any[] = [];\r\n selectedValue = 0;\r\n quarters: any[] = [];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.initName();\r\n this.quarters = this.getQuarterOptions();\r\n\r\n for (const quarter of this.quarters) {\r\n quarter.disable = false;\r\n\r\n if (quarter.isSelected) {\r\n this.selectedValue = quarter.value;\r\n this.chosenTagHandler(quarter.value);\r\n }\r\n\r\n this.dateFilter(quarter);\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Quarter\";\r\n }\r\n }\r\n\r\n changeSelectHandler(event: MatSelectChange) {\r\n this.chosenTagHandler(event.value);\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const date = new Date(value * 1000);\r\n const resultDate: Moment = moment.utc(date);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: this.getQuarterLabel(resultDate.toString()),\r\n locked: !this.dateFilter(value)\r\n };\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n getQuarterOptions() {\r\n const quartersBeforeToday = 8;\r\n const quartersAfterToday = 8;\r\n const dateNow = new Date();\r\n const dateNowUnix = this.getUTCTimestamp(dateNow);\r\n let defaultValue = dateNowUnix;\r\n let tempDate = new Date();\r\n if (this.defaultValue) {\r\n defaultValue = this.defaultValue * 1000;\r\n }\r\n\r\n let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;\r\n afterDefault = Math.min(afterDefault, 100);\r\n let i, tempValue;\r\n const to_return: any[] = [];\r\n for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {\r\n tempDate = new Date(defaultValue);\r\n tempDate.setDate(15);\r\n tempDate.setMonth(tempDate.getMonth() + 3 * i);\r\n tempValue = this.getUTCTimestamp(tempDate);\r\n to_return.push({\r\n value: tempValue / 1000,\r\n label: this.getQuarterLabel(tempValue),\r\n isSelected: (i === 0),\r\n });\r\n }\r\n return to_return;\r\n }\r\n\r\n private getQuarterLabel(timeValue) {\r\n const date = new Date(timeValue);\r\n return \"Q\" + Math.floor((date.getMonth() / 3) + 1) + \" \" + date.getFullYear();\r\n }\r\n\r\n private getUTCTimestamp(date) {\r\n const month = Math.floor(date.getMonth() / 3) * 3;\r\n return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);\r\n }\r\n\r\n dateFilter = (date) => {\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n const quarterDate = moment.unix(date.value);\r\n\r\n if (lockDate.year() === quarterDate.year() && lockDate.month() === quarterDate.month()) {\r\n date.disable = true;\r\n status = false;\r\n }\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst WEEK_FORMATS = {\r\n parse: {\r\n dateInput: \"WW-YYYY\",\r\n },\r\n display: {\r\n dateInput: \"[Week] WW, YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"week-tag.component.html\",\r\n selector: \"week-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: WEEK_FORMATS},\r\n ],\r\n})\r\nexport class WeekTagComponent extends AnyTagComponent implements OnInit {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n selectedValue = \"\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.initName();\r\n\r\n const now = new Date();\r\n now.setHours(0, 0, 0, 0);\r\n\r\n const dateUnix = this.getUTCTimestamp(this.getMonday(now));\r\n let default_value_time = dateUnix;\r\n const one_day_in_seconds = 86400;\r\n if (this.defaultValue) {\r\n default_value_time = (this.defaultValue + one_day_in_seconds) * 1000;\r\n }\r\n\r\n const default_date = new Date(default_value_time);\r\n const weekNumber = this.getWeekNumberByDate(default_date);\r\n const yearNumber = default_date.getFullYear();\r\n const dateStr = `${yearNumber}-W${weekNumber}`;\r\n this.dateObj.date = dateStr;\r\n this.selectedValue = dateStr;\r\n this.chosenTagHandler(default_date);\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Week\";\r\n }\r\n }\r\n\r\n chosenDateHandler(normalizedDay) {\r\n const date = moment(normalizedDay).unix();\r\n this.chosenTagHandler(date);\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDate = moment(date);\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n\r\n return status = !(lockDate.week() === calendarDate.week() && lockDate.year() === calendarDate.year());\r\n });\r\n\r\n return status;\r\n }\r\n\r\n chosenTagHandler(value) {\r\n let date;\r\n console.log(\"chosenTag\", value);\r\n if (value > 1000000000000) {\r\n date = new Date(value);\r\n } else {\r\n date = new Date(value * 1000);\r\n }\r\n\r\n const resultDate: Moment = moment(date);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: this.getWeekLabel(date),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(\"resultTag\", resultTag);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n private getWeekLabel(date) {\r\n return \"W\" + this.pad( moment(date).isoWeek(), 2) +\r\n \" \" + moment(date).year();\r\n }\r\n\r\n private getUTCTimestamp(date) {\r\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 12, 0, 0, 0);\r\n }\r\n\r\n private getMonday(date) {\r\n const day = date.getDay() || 7;\r\n if (day !== 1) {\r\n date.setHours(-24 * (day - 1));\r\n }\r\n return date;\r\n }\r\n\r\n private getWeekNumberByDate(date: Date) {\r\n return this.pad(moment(date).isoWeek(), 2);\r\n }\r\n\r\n private pad(n, width, z = \"0\") {\r\n z = z || \"0\";\r\n n = n + \"\";\r\n return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;\r\n }\r\n}\r\n","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {MatDatepicker} from \"@angular/material/datepicker\";\r\nimport {Moment} from \"moment\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst YEAR_FORMATS = {\r\n parse: {\r\n dateInput: \"YYYY\",\r\n },\r\n display: {\r\n dateInput: \"YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"year-tag.component.html\",\r\n selector: \"year-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS},\r\n ],\r\n})\r\n\r\nexport class YearTagComponent extends AnyTagComponent {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n if (this.defaultValue) {\r\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format(\"YYYY\");\r\n this.date = new FormControl(moment(this.defaultValue * 1000));\r\n } else {\r\n this.dateObj.date = moment(new Date()).format(\"YYYY\");\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Year\";\r\n }\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const date = new Date();\r\n const year = moment(value).year();\r\n date.setTime(0);\r\n date.setFullYear(year, 0, 1);\r\n const resultDate: Moment = moment.utc(date);\r\n resultDate.hour(12);\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: parseInt(resultDate.format(\"X\"), 10),\r\n label: resultDate.format(\"YYYY\"),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(\"resultTag\", resultTag);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker<Moment>) {\r\n const ctrlValue = this.date.value;\r\n ctrlValue.year(normalizedYear.year());\r\n\r\n this.date.setValue(ctrlValue);\r\n this.dateObj.date = this.date.value;\r\n this.chosenTagHandler(this.date.value);\r\n\r\n datepicker.close();\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDateYear = moment(date).year();\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n const lockDate = moment.unix(timestamp);\r\n\r\n return status = !(lockDate.year() === calendarDateYear)\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IDateTag, IListTag, ITag, ITagForServer} from \"../models/serverTags\";\r\n\r\n@Component({\r\n templateUrl: \"dr-tag.component.html\",\r\n selector: \"dr-tag\",\r\n styleUrls: [\"dr-tag.component.scss\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class DrTagComponent implements OnInit {\r\n @Input() tagConfig: ITag;\r\n @Input() selectedTag: ITagForServer;\r\n @Input() lockedDate: any[];\r\n @Input() fiscalYearStartsFrom?: number;\r\n @Input() fiscalYearBack?: boolean;\r\n @Output() tagChange: EventEmitter<ITagForServer> = new EventEmitter<ITagForServer>();\r\n\r\n defaultValue: string | undefined;\r\n\r\n constructor() {\r\n this.selectedTag = {\r\n id: 0,\r\n value: undefined,\r\n name: \"\"\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n if (this.tagConfig && this.tagConfig.options && this.tagConfig.options.default_value) {\r\n this.defaultValue = this.tagConfig.options.default_value;\r\n }\r\n }\r\n\r\n onDateHandler(event: IDateTag) {\r\n let resultEvent: ITagForServer = {\r\n id: this.tagConfig.id,\r\n name: this.tagConfig.name,\r\n value: event.value,\r\n label: event.label,\r\n locked: event.locked\r\n };\r\n console.log(resultEvent);\r\n this.tagChange.emit(resultEvent);\r\n }\r\n\r\n onListHandler(event: IListTag) {\r\n let resultEvent: ITagForServer = {\r\n id: this.tagConfig.id,\r\n name: this.tagConfig.name,\r\n value: event.value\r\n };\r\n console.log(resultEvent);\r\n this.tagChange.emit(resultEvent);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IDateTag, IListTag} from \"../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {MatSelectChange} from \"@angular/material/select\";\r\nimport {MatButtonToggleChange} from \"@angular/material/button-toggle\";\r\nimport * as momentImported from \"moment\"; const moment = momentImported;\r\n\r\n@Component({\r\n templateUrl: \"list-tag.component.html\",\r\n selector: \"list-tag\",\r\n styleUrls: [\"list-tag.component.scss\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class ListTagComponent implements OnInit {\r\n @Input() values: string[];\r\n @Input() defaultValue: string = \"\";\r\n @Input() name: string;\r\n @Output() tagChange: EventEmitter<IListTag> = new EventEmitter<IListTag>();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.chosenTagHandler(this.defaultValue);\r\n }\r\n\r\n changeInputHandler(event: MatSelectChange | MatButtonToggleChange) {\r\n this.chosenTagHandler(event.value);\r\n }\r\n\r\n chosenTagHandler(value) {\r\n console.log(value);\r\n if (value && value !== \"\") {\r\n const resultTag: IListTag = {\r\n name: this.name,\r\n value: value\r\n };\r\n this.tagChange.emit(resultTag);\r\n }\r\n }\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport {IDateTag} from \"../../models/serverTags\";\r\nimport {Moment} from \"moment\";\r\nimport {AnyTagComponent} from \"../date-tag.component\";\r\nimport {MatDatepicker} from \"@angular/material/datepicker\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from \"@angular/material-moment-adapter\";\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\r\n// @ts-ignore\r\nconst moment = require(\"moment\");\r\n\r\nconst DAY_FORMATS = {\r\n parse: {\r\n dateInput: \"DD-MM-YYYY\",\r\n },\r\n display: {\r\n dateInput: \"DD.MM.YYYY\",\r\n monthYearLabel: \"MMMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n },\r\n};\r\n\r\n@Component({\r\n templateUrl: \"day-tag.component.html\",\r\n selector: \"day-tag\",\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n {provide: MAT_DATE_FORMATS, useValue: DAY_FORMATS},\r\n ],\r\n})\r\n\r\nexport class DayTagComponent extends AnyTagComponent {\r\n @Input() lockedDate: any[] = [];\r\n\r\n date = new FormControl(moment());\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDate() {\r\n const utcOffsetInMilliseconds = moment().utcOffset() * 60 * 1000;\r\n this.dateObj.date = moment(moment().valueOf() + utcOffsetInMilliseconds);\r\n if (this.defaultValue) {\r\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc();\r\n this.date.setValue(this.dateObj.date);\r\n }\r\n }\r\n\r\n initName() {\r\n if (!this.name) {\r\n this.name = \"Day\";\r\n }\r\n }\r\n\r\n chosenTagHandler(value) {\r\n const date = moment(value).unix();\r\n const resultTag: IDateTag = {\r\n name: this.name,\r\n value: date,\r\n label: moment.unix(date).format(\"MM/DD/YYYY\"),\r\n locked: !this.dateFilter(value)\r\n };\r\n console.log(\"resultTag\", resultTag);\r\n this.dateChange.emit(resultTag);\r\n }\r\n\r\n chosenDateHandler(normalizedDay) {\r\n this.chosenTagHandler(normalizedDay);\r\n }\r\n\r\n dateFilter = (date) => {\r\n const calendarDate = moment(date).unix();\r\n let status = true;\r\n\r\n this.lockedDate.forEach(timestamp => {\r\n return status = !(timestamp === calendarDate);\r\n });\r\n\r\n return status;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input, Output,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-radio-button',\r\n templateUrl: './radio-button.component.html',\r\n styleUrls: ['./radio-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: RadioButtonComponent,\r\n multi: true\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RadioButtonComponent implements ControlValueAccessor {\r\n @Input() disabled: boolean;\r\n @Input() name: string;\r\n @Input('value') _value: any;\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\r\n\r\n modelValue: any;\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n onChange: any = (onchanges => {});\r\n onTouched: any = () => {};\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n registerOnChange(fn) {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn) {\r\n this.onTouched = fn;\r\n }\r\n writeValue(value: any) {\r\n this.modelValue = value;\r\n this.cdr.markForCheck();\r\n }\r\n toggleChange(event) {\r\n if (event.target.checked) {\r\n this.modelValue = this.value;\r\n }\r\n }\r\n valueChanged(event) {\r\n this.onChange(this.modelValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n _setName(name: string) {\r\n this.name = name;\r\n this.cdr.markForCheck();\r\n }\r\n _markForCheck() {\r\n this.cdr.markForCheck();\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n QueryList,\r\n PLATFORM_ID,\r\n Inject,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { from, fromEvent, merge, Subject } from 'rxjs';\r\nimport { filter, startWith, switchMap, takeUntil } from 'rxjs/operators';\r\nimport { RadioButtonComponent } from './radio-button.component';\r\nimport { DOCUMENT } from '@angular/common';\r\n@Component({\r\n selector: 'dr-radio-group',\r\n template: `\r\n <ng-content select=\"dr-radio-button\"></ng-content>`,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RadioGroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RadioGroupComponent implements AfterContentInit, OnDestroy, ControlValueAccessor {\r\n\r\n @Input()\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(value: any) {\r\n this._value = value;\r\n this.updateValues();\r\n }\r\n\r\n @Input()\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(name: string) {\r\n this._name = name;\r\n this.updateNames();\r\n }\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(disabled: boolean) {\r\n this._disabled = !!disabled;\r\n this.updateDisabled();\r\n }\r\n\r\n constructor(\r\n protected hostElement: ElementRef<HTMLElement>,\r\n @Inject(PLATFORM_ID) protected platformId,\r\n @Inject(DOCUMENT) protected document,\r\n ) {}\r\n\r\n protected destroy$ = new Subject<void>();\r\n protected _value: any;\r\n protected _name: string;\r\n protected _disabled: boolean;\r\n\r\n @ContentChildren(RadioButtonComponent, { descendants: true }) radios: QueryList<RadioButtonComponent>;\r\n\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\r\n protected onChange = (value: any) => {};\r\n protected onTouched = () => {};\r\n\r\n ngAfterContentInit() {\r\n // In case option 'name' isn't set on dr-radio component,\r\n // we need to set it's name right away, so it won't overlap with options\r\n // without names from other radio groups. Otherwise they all would have\r\n // same name and will be considered as options from one group so only the\r\n // last option will stay selected.\r\n this.updateNames();\r\n\r\n this.radios.changes\r\n .pipe(\r\n startWith(this.radios),\r\n // 'changes' emit during change detection run and we can't update\r\n // option properties right of since they already was initialized.\r\n // Instead we schedule microtask to update radios after change detection\r\n // run is finished and trigger one more change detection run.\r\n switchMap((radios: QueryList<RadioButtonComponent>) => from(Promise.resolve(radios))),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(() => this.updateAndSubscribeToRadios());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n protected updateAndSubscribeToRadios() {\r\n this.updateValueFromCheckedOption();\r\n this.updateNames();\r\n this.updateValues();\r\n this.updateDisabled();\r\n this.subscribeOnRadiosValueChange();\r\n this.subscribeOnRadiosBlur();\r\n }\r\n\r\n protected updateNames() {\r\n if (this.radios) {\r\n this.radios.forEach((radio: RadioButtonComponent) => radio._setName(this.name));\r\n }\r\n }\r\n\r\n protected updateValues() {\r\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => {\r\n if (radio.value === this.value) {\r\n radio.modelValue = radio.value;\r\n }\r\n });\r\n }\r\n\r\n protected updateDisabled() {\r\n if (typeof this.disabled !== 'undefined') {\r\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => radio.disabled = this.disabled);\r\n }\r\n }\r\n\r\n protected subscribeOnRadiosValueChange() {\r\n if (!this.radios || !this.radios.length) {\r\n return;\r\n }\r\n\r\n merge(...this.radios.map((radio: RadioButtonComponent) => radio.valueChange))\r\n .pipe(\r\n takeUntil(\r\n merge(\r\n this.radios.changes,\r\n this.destroy$,\r\n ),\r\n ),\r\n )\r\n .subscribe((value: any) => {\r\n this.writeValue(value);\r\n this.propagateValue(value);\r\n });\r\n }\r\n\r\n protected propagateValue(value: any) {\r\n this.valueChange.emit(value);\r\n this.onChange(value);\r\n }\r\n\r\n protected subscribeOnRadiosBlur() {\r\n const hasNoRadios = !this.radios || !this.radios.length;\r\n if (!isPlatformBrowser(this.platformId) || hasNoRadios) {\r\n return;\r\n }\r\n\r\n const hostElement = this.hostElement.nativeElement;\r\n fromEvent<Event>(hostElement, 'focusin')\r\n .pipe(\r\n filter(event => hostElement.contains(event.target as Node)),\r\n switchMap(() => merge(\r\n fromEvent<Event>(this.document, 'focusin'),\r\n fromEvent<Event>(this.document, 'click'),\r\n )),\r\n filter(event => !hostElement.contains(event.target as Node)),\r\n takeUntil(\r\n merge(\r\n this.radios.changes,\r\n this.destroy$,\r\n ),\r\n ),\r\n )\r\n .subscribe(() => this.onTouched());\r\n }\r\n\r\n protected updateAndMarkForCheckRadios(updateFn: (RadioButtonComponent) => void) {\r\n if (this.radios) {\r\n this.radios.forEach((radio) => {\r\n updateFn(radio);\r\n radio._markForCheck();\r\n });\r\n }\r\n }\r\n\r\n protected updateValueFromCheckedOption() {\r\n const checkedRadio = this.radios.find((radio) => radio.modelValue);\r\n const isValueMissing = this.value === undefined || this.value === null;\r\n if (checkedRadio && isValueMissing && checkedRadio.value !== this.value) {\r\n this.value = checkedRadio.value;\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.scss'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true}\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor {\r\n @Input() checkedStatus: boolean;\r\n @Input() disabled = false;\r\n @Input() icon: 'cross' | '' = '';\r\n @Input()\r\n get indeterminate(): boolean {\r\n return this._indeterminate;\r\n }\r\n set indeterminate(value: boolean) {\r\n this._indeterminate = !!value;\r\n this.cdr.markForCheck();\r\n }\r\n private _indeterminate: boolean = false;\r\n @Output() checkedChange = new EventEmitter();\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n writeValue(value: boolean) {\r\n this.checkedStatus = value;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n setValue(event) {\r\n const input = (event.target as HTMLInputElement);\r\n this.checkedStatus = input.checked;\r\n this.checkedChange.emit(this.checkedStatus);\r\n this.onChange(this.checkedStatus);\r\n this.indeterminate = input.indeterminate;\r\n this.onTouched();\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ContentChild,\r\n ElementRef,\r\n forwardRef, HostBinding, AfterViewInit, Renderer2, OnDestroy, ChangeDetectionStrategy, ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { noop } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'dr-input',\r\n templateUrl: './dr-input.component.html',\r\n styleUrls: ['./dr-input.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DrInputComponent),\r\n multi: true\r\n }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrInputComponent implements AfterViewInit, ControlValueAccessor, OnDestroy {\r\n _clearable = false;\r\n @Input() set disabled(value) {\r\n this.setDisabledState(value);\r\n }\r\n @Input() set buttonOptions(value) {\r\n if (value) {\r\n this._buttonOptions = {...this._buttonOptions, ... value};\r\n if (this._buttonOptions?.show || this._buttonOptions?.showOnFocus) {\r\n this._elementClass.push('with-button');\r\n }\r\n }\r\n if (this._buttonOptions.showOnFocus) {\r\n this.listenFunc = this.renderer.listen(this.elementRef.nativeElement, 'click', (event) => {\r\n this._buttonOptions.focusSet = true;\r\n this.cdr.markForCheck();\r\n });\r\n this.globalListenFunc = this.renderer.listen('document', 'click', event => {\r\n if (event.target.parentNode !== this.elementRef.nativeElement) {\r\n if (this._buttonOptions.checkFocusOut(event.target, this.elementRef.nativeElement)) {\r\n this.onButtonClicked(event);\r\n }\r\n }\r\n });\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n @Input() type: string = 'string';\r\n @Input() name: string;\r\n @Input() placeholder: string = '';\r\n @Input() readonly = false;\r\n @Input() set clearable(val) {\r\n this._clearable = !!val;\r\n if (this._clearable) {\r\n this._elementClass.push('clearable');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'clearable');\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n @Input() min;\r\n @Input() max;\r\n @Input() step;\r\n @Output() blur = new EventEmitter();\r\n\r\n @HostBinding('class')\r\n get elementClass(): string {\r\n return this._elementClass.join(' ');\r\n }\r\n\r\n innerValue = null;\r\n _disabled = null;\r\n _elementClass: string[] = [];\r\n _buttonOptions = {\r\n show: false,\r\n showOnFocus: false,\r\n focusSet: false,\r\n checkFocusOut: (target: any, element: any) => true,\r\n text: 'Save'\r\n };\r\n listenFunc: Function;\r\n globalListenFunc: Function;\r\n\r\n\r\n @Output() searchHandler = new EventEmitter<any>();\r\n @Output() buttonHandler = new EventEmitter<any>();\r\n\r\n @ContentChild('prefix', {static: false}) prefixIcon: ElementRef;\r\n @ContentChild('suffix', {static: false}) suffixIcon: ElementRef;\r\n\r\n @HostBinding('tabindex') tabindex = -1;\r\n onChangeCallback: (_: any) => void = noop;\r\n onTouchedCallback: () => void = noop;\r\n onChange: (value: any) => void = () => {};\r\n onTouched: () => void = () => {};\r\n set(val: string) {\r\n this._elementClass = val.split(' ');\r\n }\r\n\r\n public get value(): string | number {\r\n return this.innerValue;\r\n }\r\n public set value(v: string | number) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n\r\n constructor(private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private cdr: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.clearable) {\r\n this._elementClass.push('clearable');\r\n }\r\n if (this.prefixIcon) {\r\n this._elementClass.push('with-prefix');\r\n }\r\n if (this.suffixIcon) {\r\n this._elementClass.push('with-suffix');\r\n }\r\n if (this.type === 'search') {\r\n this._elementClass.push('search-type');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n writeValue(value: number | string) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.updateChanges();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n updateChanges() {\r\n this.onChange(this.value);\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n if (isDisabled) {\r\n this._elementClass.push('disabled');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\r\n }\r\n this._disabled = isDisabled;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onSearchClicked($event: any) {\r\n this.searchHandler.emit($event);\r\n }\r\n\r\n onButtonClicked($event: any) {\r\n this.buttonHandler.emit($event);\r\n this._buttonOptions.focusSet = false;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.listenFunc) {\r\n this.listenFunc();\r\n this.globalListenFunc();\r\n }\r\n }\r\n\r\n onClear($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.value = null;\r\n }\r\n}\r\n","import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ElementRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst SELECT_HOST_ATTRIBUTES = [\r\n 'no-left-border',\r\n 'no-left-border-radius',\r\n 'no-right-border',\r\n 'no-right-border-radius',\r\n];\r\n\r\n@Component({\r\n selector: 'dr-select',\r\n templateUrl: './dr-select.component.html',\r\n styleUrls: ['./dr-select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DrSelectComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class DrSelectComponent implements ControlValueAccessor {\r\n\r\n @Input() className: string;\r\n @Input() items: Array<any> = [];\r\n @Input() addTag: boolean | ((term: string) => any | Promise<any>);\r\n @Input() appendTo = 'body';\r\n @Input() bindLabel: string;\r\n @Input() bindValue: string;\r\n @Input() clearable: boolean;\r\n @Input() searchable: boolean;\r\n @Input() searchFn: (term: string, item: any) => boolean;\r\n @Input() multiple: boolean;\r\n @Input() hideSelected: boolean;\r\n @Input() placeholder: string;\r\n @Input() loading: boolean;\r\n @Input() readonly: boolean;\r\n @Input() disabled = false;\r\n @Input() id: string;\r\n @Input() keyDownFn: ($event: KeyboardEvent) => boolean = () => true;\r\n @Input() selectedItem: any;\r\n @Output() change: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ContentChild('labelTemplate') labelTemplate: TemplateRef<any>;\r\n @ContentChild('optionTemplate') optionTemplate: TemplateRef<any>;\r\n @ContentChild('optionHeaderTemplate') optionHeaderTemplate: TemplateRef<any>;\r\n @ContentChild('optionFooterTemplate') optionFooterTemplate: TemplateRef<any>;\r\n\r\n constructor(private elementRef: ElementRef<HTMLElement>) {\r\n for (const attr of SELECT_HOST_ATTRIBUTES) {\r\n if (this.hasHostAttributes(attr)) {\r\n (this.getHostElement()).classList.add(attr);\r\n }\r\n }\r\n }\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.selectedItem = value;\r\n this.onChange(this.selectedItem);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n\r\n if (fn && this.selectedItem) {\r\n this.onChange(this.selectedItem);\r\n }\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n private getHostElement(): HTMLElement {\r\n return this.elementRef.nativeElement;\r\n }\r\n\r\n private hasHostAttributes(...attributes: string[]): boolean {\r\n return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dr-avatar',\r\n templateUrl: 'dr-avatar.component.html',\r\n styleUrls: ['dr-avatar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrAvatarComponent {\r\n @Input() set users(users: any[] | object) {\r\n if (users) {\r\n this.parsedUsers = Array.isArray(users) ? users : [users];\r\n this.parsedUsers.forEach((user, index) => {\r\n if (!user.colorNumber) {\r\n user.colorNumber = index % 5;\r\n }\r\n });\r\n }\r\n }\r\n @Input() warning: boolean = false;\r\n @Output() userClicked: EventEmitter<any> = new EventEmitter<any>();\r\n parsedUsers: any[] = [];\r\n constructor() {\r\n }\r\n\r\n getFirstUsers(): any[] {\r\n return this.parsedUsers.slice(0, 2);\r\n }\r\n\r\n getLastUsers(): any[] {\r\n if (this.parsedUsers.length > 2) {\r\n return this.parsedUsers.slice(2, this.parsedUsers.length - 1);\r\n }\r\n return [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'drAvatar'\r\n})\r\nexport class DrAvatarPipe implements PipeTransform {\r\n\r\n transform(item: any, type: string = 'full'): string {\r\n if (type === 'initials') {\r\n return (item.first_name && item.last_name ? (item.first_name[0] + item.last_name[0]) : item.email[0]).toUpperCase();\r\n }\r\n\r\n return item.first_name && item.last_name ? (item.first_name + ' ' + item.last_name) : item.email;\r\n }\r\n}\r\n","import { animate, style, transition } from '@angular/animations';\r\n\r\nexport const POPUP_POSITIONS = {\r\n top: {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -8\r\n },\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -8\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: -8\r\n },\r\n bottom: {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 7\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: 7\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: 7\r\n },\r\n left: {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: -8\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetX: -8\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetX: -8\r\n },\r\n right: {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: 8\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetX: 8\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetX: 8\r\n }\r\n};\r\n\r\nexport const POPUP_ANIMATION = [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate(150, style({ opacity: 1 })),\r\n ]),\r\n transition(':leave', [\r\n animate(150, style({ opacity: 0 })),\r\n ]),\r\n];\r\n","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\nimport { trigger } from '@angular/animations';\r\nimport { POPUP_ANIMATION } from '../models/constants';\r\n\r\ntype TooltipOptions = {\r\n withoutContainerStyles?: boolean;\r\n withoutArrow?: boolean;\r\n};\r\n\r\n@Component({\r\n selector: 'dr-tooltip',\r\n templateUrl: './dr-tooltip.component.html',\r\n styleUrls: ['./dr-tooltip.component.scss'],\r\n animations: [\r\n trigger('tooltip', POPUP_ANIMATION),\r\n ],\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @Input() content;\r\n @Input() contentContext;\r\n @Input() position;\r\n @Input() options: TooltipOptions;\r\n @Input() class: string;\r\n isContentTemplate = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.isContentTemplate = this.content instanceof TemplateRef;\r\n }\r\n\r\n}\r\n","import { ComponentRef, Directive, ElementRef, HostListener, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { TooltipComponent } from './dr-tooltip.component';\r\nimport { POPUP_POSITIONS } from '../models/constants';\r\n\r\n@Directive({\r\n selector: '[drTooltip]'\r\n})\r\nexport class DrTooltipDirective implements OnDestroy {\r\n\r\n @Input('drTooltip')\r\n content: any;\r\n @Input('drTooltipContext')\r\n contentContext = {};\r\n @Input('drTooltipPosition')\r\n position = 'top';\r\n @Input('drTooltipClass')\r\n class = '';\r\n @Input()\r\n set drTooltipOptions(options: any) {\r\n if (options?.indent) {\r\n const position = POPUP_POSITIONS[this.position];\r\n if (position.offsetY) {\r\n position.offsetY = position.offsetY < 0 ? -options.indent : options.indent;\r\n }\r\n if (position.offsetX) {\r\n position.offsetX = position.offsetX < 0 ? -options.indent : options.indent;\r\n }\r\n }\r\n this.options = options;\r\n }\r\n\r\n @Input('drTooltipShow')\r\n set showTooltip(value: boolean) {\r\n this.manualHandling = true;\r\n if (value) {\r\n this.renderTooltip();\r\n } else {\r\n this.destroyTooltip();\r\n }\r\n }\r\n\r\n private overlayRef: OverlayRef;\r\n\r\n private options;\r\n private manualHandling: boolean;\r\n\r\n constructor(private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n private elementRef: ElementRef) { }\r\n\r\n ngOnDestroy(): void {\r\n if (!this.overlayRef) return null;\r\n\r\n if (this.overlayRef.hasAttached()) {\r\n this.hide();\r\n }\r\n // TODO: Temporary solution. line 162 doesn't stop function execution\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n }\r\n }\r\n\r\n @HostListener('mouseenter')\r\n show() {\r\n if (this.manualHandling) return;\r\n\r\n this.renderTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n hide() {\r\n if (this.manualHandling) return;\r\n\r\n this.destroyTooltip();\r\n }\r\n\r\n private createOverlay(): void {\r\n const positionStrategy = this.overlayPositionBuilder\r\n .flexibleConnectedTo(this.elementRef)\r\n .withPositions([POPUP_POSITIONS[this.position]]);\r\n\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n\r\n private renderTooltip(): void {\r\n this.createOverlay();\r\n if (!this.overlayRef?.hasAttached() && this.content) {\r\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(new ComponentPortal(TooltipComponent));\r\n tooltipRef.instance.content = this.content;\r\n tooltipRef.instance.contentContext = this.contentContext;\r\n tooltipRef.instance.position = this.position;\r\n tooltipRef.instance.options = this.options;\r\n tooltipRef.instance.class = this.class + ' ' + this.position;\r\n }\r\n }\r\n\r\n private destroyTooltip(): void {\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n }\r\n this.overlayRef = null;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n HostBinding,\r\n AfterViewInit\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-toggle',\r\n templateUrl: './dr-toggle.component.html',\r\n styleUrls: ['./dr-toggle.component.scss'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: DrToggleComponent, multi: true}\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrToggleComponent implements ControlValueAccessor, AfterViewInit {\r\n _disabled = false;\r\n _elementClass: string[] = [];\r\n\r\n @Input()\r\n toggleTitle: any;\r\n @Input()\r\n toggleTitleRight: boolean;\r\n @Input()\r\n successType: boolean;\r\n @Input()\r\n checkedStatus: boolean;\r\n @Input() set disabled(value: boolean) {\r\n this.setDisabledState(value);\r\n }\r\n @Output() checkedChange = new EventEmitter();\r\n\r\n @HostBinding('class') get elementClass(): string {return this._elementClass.join(' ');}\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.toggleTitleRight) {\r\n this._elementClass.push('toggle-label-alignment');\r\n }\r\n }\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(value: boolean) {\r\n this.checkedStatus = value;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n setValue() {\r\n this.checkedStatus = !this.checkedStatus;\r\n this.onChange(this.checkedStatus);\r\n this.checkedChange.emit(this.checkedStatus);\r\n this.onTouched();\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component, forwardRef,\r\n Input,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dr-toggle-button',\r\n templateUrl: './dr-toggle-button.component.html',\r\n styleUrls: ['./dr-toggle-button.component.scss'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DrToggleButtonComponent), multi: true}\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\n\r\nexport class DrToggleButtonComponent implements ControlValueAccessor {\r\n _disabled = false;\r\n\r\n @Input() items: string[] | any[];\r\n @Input() selectedValue: boolean;\r\n @Input() set disabled(value: boolean) {\r\n this.setDisabledState(value);\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n onChange: (value: boolean) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(value: any) {\r\n this.selectedValue = value;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n setValue(item) {\r\n this.selectedValue = item;\r\n this.onChange(this.selectedValue);\r\n this.onTouched();\r\n this.cdr.markForCheck();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nexport class ISpinnerOptions extends DOMRect {\r\n size: 'small' | 'medium' | 'big' | 'giant';\r\n}\r\n\r\n@Component({\r\n selector: 'dr-spinner',\r\n templateUrl: './dr-spinner.component.html',\r\n styleUrls: ['./dr-spinner.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrSpinnerComponent implements OnInit {\r\n\r\n height = '10rem';\r\n private _options: ISpinnerOptions;\r\n set options(data: ISpinnerOptions) {\r\n if (data) {\r\n this._options = data;\r\n\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.height = this._options.size === 'small'\r\n ? '5rem' : this._options.size === 'medium'\r\n ? '10rem' : this._options.size === 'big'\r\n ? '15rem' : this._options.size === 'giant'\r\n ? '20rem' : this.height;\r\n }\r\n}\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n Inject,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { DrSpinnerComponent } from './dr-spinner.component';\r\n\r\n@Directive({\r\n selector: '[drSpinner]'\r\n})\r\nexport class DrSpinnerDirective implements OnChanges, OnDestroy {\r\n\r\n @ViewChild(DrSpinnerComponent, {static: true, read: ViewContainerRef}) contentCmpRef;\r\n @Input() drSpinner;\r\n @Input() drSpinnerSize: 'small' | 'medium' | 'big' | 'giant';\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private el: ElementRef,\r\n private rdr: Renderer2,\r\n @Inject(DOCUMENT) private _document: any) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const show = changes.drSpinner.currentValue;\r\n const options = this.el.nativeElement.getBoundingClientRect();\r\n if (this.contentCmpRef && !show) {\r\n this.contentCmpRef.destroy();\r\n this.contentCmpRef = null;\r\n } else if (this.drSpinner) {\r\n this.showSpinner({...options, size: this.drSpinnerSize});\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.contentCmpRef) {\r\n this.contentCmpRef.destroy();\r\n }\r\n }\r\n\r\n private showSpinner(options) {\r\n let componentFactory: ComponentFactory<DrSpinnerComponent>;\r\n componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrSpinnerComponent);\r\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\r\n this.rdr.appendChild(this.el.nativeElement, this.contentCmpRef.location.nativeElement);\r\n this.contentCmpRef.instance.options = options;\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\ntype ButtonType = 'primary' | 'secondary' | 'danger' | 'primary-icon' |\r\n 'secondary-icon' | 'icon' | 'ghost' | 'link-btn' | 'text-link' | 'simple-text' |\r\n 'split-primary-first' | 'split-primary-last' | 'split-secondary-first' | 'split-secondary-last' | 'dropdown';\r\n\r\n@Component({\r\n selector: 'dr-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss']\r\n})\r\nexport class DrButtonComponent {\r\n\r\n _disabled = null;\r\n _isLoading = false;\r\n _elementClass: string[] = [];\r\n\r\n @Input() title: string;\r\n @Input() theme: ButtonType = 'primary';\r\n @Input() icon: string;\r\n @Input() iconAfterLabel: string;\r\n @Input() isBold: boolean = false;\r\n @Input() iconColor: string;\r\n @Input() set disabled(value) {\r\n if (value) {\r\n this._elementClass.push('disabled');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\r\n }\r\n this._disabled = value;\r\n }\r\n @Input() set isLoading(value) {\r\n if (value) {\r\n this._elementClass.push('loading');\r\n } else {\r\n this._elementClass = this._elementClass.filter(item => item !== 'loading');\r\n }\r\n this._isLoading = !!value;\r\n }\r\n @Output() click = new EventEmitter();\r\n\r\n @HostBinding('class')\r\n get elementClass(): string {\r\n return this._elementClass.join(' ');\r\n }\r\n set(val: string) {\r\n this._elementClass = val.split(' ');\r\n }\r\n\r\n constructor() { }\r\n\r\n public onClick($event) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.click.emit($event);\r\n }\r\n}\r\n// Examples:\r\n/*\r\n<dr-button [icon]=\"'dr-icon-arrow-down'\">hello</dr-button>\r\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'primary-icon'\"></dr-button>\r\n<dr-button [icon]=\"'dr-icon-refresh'\" [isDisabled]=\"true\" [theme]=\"'primary-icon'\"></dr-button>\r\n<dr-button [theme]=\"'secondary'\" [icon]=\"'dr-icon-excel'\" [iconColor]=\"'#03A678'\"></dr-button>\r\n\r\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary-icon'\"></dr-button>\r\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'secondary-icon'\"></dr-button>\r\n\r\n<dr-button [icon]=\"'dr-icon-share'\" [theme]=\"'icon'\"></dr-button>\r\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'icon'\"></dr-button>\r\n\r\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\">Primary</dr-button>\r\n<dr-button [isDisabled]=\"false\" >Primary</dr-button>\r\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary'\">Secondary</dr-button>\r\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'ghost'\">Ghost</dr-button>\r\n<dr-button [isDisabled]=\"false\" [theme]=\"'text-link'\">Text Link</dr-button>\r\n*/\r\n","export const MAT_DEFAULT_DATE_FORMAT = 'MM/DD/yyyy';\r\nexport const DATE_INPUT_FORMAT = 'YYYY/MM/DD';\r\nexport const YEAR_FORMAT = 'yyyy';\r\nexport const MONTH_YEAR_FORMAT = 'MM/yyyy';\r\n\r\nexport interface DateParse { dateInput: string; }\r\n\r\nexport type DateDisplay = DateParse & {\r\n monthYearLabel?: string,\r\n dateA11yLabel?: string,\r\n monthYearA11yLabel?: string,\r\n};\r\nexport class CustomDateFormat {\r\n private _parse: DateParse = {\r\n dateInput: DATE_INPUT_FORMAT\r\n };\r\n private _display: DateDisplay = {\r\n dateInput: DATE_INPUT_FORMAT,\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMM YYYY'\r\n };\r\n\r\n set parse(parse: DateParse) {\r\n this._parse = Object.assign({}, this._parse, parse);\r\n }\r\n\r\n get parse(): DateParse {\r\n return this._parse;\r\n }\r\n\r\n set display(display: DateDisplay) {\r\n this._display = Object.assign({}, this._display, display);\r\n }\r\n\r\n get display(): DateDisplay {\r\n return this._display;\r\n }\r\n\r\n updateDateFormat(parse: DateParse, display?: DateDisplay) {\r\n this.parse = parse;\r\n if (!display) {\r\n display = parse;\r\n }\r\n this.display = display;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Input,\r\n ChangeDetectorRef, ViewChild, AfterViewInit\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MAT_DEFAULT_DATE_FORMAT, MONTH_YEAR_FORMAT, YEAR_FORMAT } from '../../models/datePicker';\r\nimport { Moment } from 'moment';\r\nimport * as moment from 'moment';\r\n\r\nconst noop = () => {};\r\n\r\n@Component({\r\n selector: 'dr-date-picker',\r\n templateUrl: './dr-date-picker.component.html',\r\n styleUrls: ['./dr-date-picker.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerComponent, multi: true }\r\n ],\r\n\r\n})\r\nexport class DrDatePickerComponent implements ControlValueAccessor, AfterViewInit {\r\n readonly = true;\r\n _lastView = 'month';\r\n _format = MAT_DEFAULT_DATE_FORMAT;\r\n\r\n @Input() set lastView(view: 'year' | 'month' | 'multi-year') {\r\n switch (view) {\r\n case 'year':\r\n this._lastView = 'multi-year';\r\n this._format = YEAR_FORMAT;\r\n break;\r\n case 'month':\r\n this._lastView = 'year';\r\n this._format = MONTH_YEAR_FORMAT;\r\n break;\r\n default:\r\n this._lastView = 'month';\r\n this._format = MAT_DEFAULT_DATE_FORMAT;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n @Input() set format(value) {\r\n if (value) {\r\n if (value.includes('d')) {\r\n value = value.replace(/d/g, 'D');\r\n } else if (value.includes('D')) {\r\n value = value.replace(/D/g, 'd');\r\n }\r\n this._format = value;\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n @Input() placeholder: string = 'Select';\r\n @Input() min: Date = null;\r\n @Input() max: Date = null;\r\n @ViewChild('datePicker') public dp;\r\n\r\n ngAfterViewInit(): void {\r\n if (this._lastView === 'month') {\r\n return;\r\n }\r\n const lastView = this._lastView;\r\n setTimeout(() => {\r\n const popupInstance = this.dp._popupComponentRef.instance;\r\n const calenderInstance = popupInstance._calendar._calendarHeaderPortal._attachedHost._attachedRef.instance;\r\n calenderInstance.currentPeriodClicked = function () {\r\n if (lastView === 'multi-year') {\r\n this.calendar.currentView = 'multi-year';\r\n } else if (lastView === 'year') {\r\n this.calendar.currentView = this.calendar.currentView == 'year' ? 'multi-year' : 'year';\r\n }\r\n };\r\n }, 1000);\r\n }\r\n private innerValue: any = null;\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n ) { }\r\n\r\n public get value(): number {\r\n return this.innerValue;\r\n }\r\n public set value(v: number) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public writeValue(value: any): void {\r\n if (value !== this.innerValue) {\r\n if (value && typeof value === 'number') {\r\n this.innerValue = moment.unix(value);\r\n } else {\r\n this.innerValue = value;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker<any>) {\r\n if (this._lastView === 'year') {\r\n this.writeValue(normalizedMonth);\r\n this.onChangeCallback(normalizedMonth);\r\n datepicker.close();\r\n }\r\n }\r\n\r\n chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker<any>) {\r\n if (this._lastView === 'multi-year') {\r\n this.writeValue(normalizedYear);\r\n this.onChangeCallback(normalizedYear);\r\n datepicker.close();\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Inject,\r\n Input,\r\n Optional\r\n} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { CustomDateFormat, DateDisplay, DateParse } from '../../models/datePicker';\r\n\r\n@Directive({\r\n selector: '[drDatePickerFormat]',\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter\r\n },\r\n {\r\n provide: MAT_DATE_FORMATS,\r\n useClass: CustomDateFormat\r\n }\r\n ]\r\n})\r\nexport class DrDatePickerFormatDirective {\r\n @Input() public configDateParse: DateParse;\r\n @Input() public configDateDisplay: DateDisplay;\r\n\r\n @Input('drDatePickerFormat')\r\n set datePickerFormat(format: string) {\r\n if (this.configDateParse) {\r\n this.matDateFormat.updateDateFormat(\r\n this.configDateParse,\r\n this.configDateDisplay\r\n );\r\n } else {\r\n this.matDateFormat.updateDateFormat({dateInput: format});\r\n }\r\n const value = this.ngControl.value;\r\n this.ngControl.valueAccessor?.writeValue(value);\r\n }\r\n\r\n constructor(\r\n @Inject(MAT_DATE_FORMATS) public matDateFormat: CustomDateFormat,\r\n @Optional() private ngControl: NgControl\r\n ) {\r\n }\r\n}\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentRef } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { DrPopoverComponent } from './dr-popover.component';\r\n\r\nexport class DrPopoverRef<T = any> {\r\n\r\n componentRef: ComponentRef<DrPopoverComponent<T>>;\r\n\r\n protected onClose$: Subject<any> = new Subject();\r\n // FIXME: this decision was made because of the incompatible rxjs version\r\n /**\r\n * Correct type is @type {Observable<any>}\r\n */\r\n readonly onClose: any = this.onClose$.asObservable();\r\n\r\n readonly onBackdropClick: Observable<MouseEvent>;\r\n\r\n constructor(private overlayRef: OverlayRef) {\r\n this.onBackdropClick = this.overlayRef.backdropClick();\r\n }\r\n\r\n close(res?: any): void {\r\n this.overlayRef.detach();\r\n this.overlayRef.dispose();\r\n this.onClose$.next(res);\r\n this.onClose$.complete();\r\n }\r\n}\r\n","import { POPUP_POSITIONS } from './constants';\r\nimport { ElPosition } from './dropdown';\r\nimport { ElementRef } from '@angular/core';\r\nimport { OverlayConfig } from '@angular/cdk/overlay';\r\n\r\nexport { DrPopoverRef } from '../dr-popover/dr-popover-ref';\r\n\r\nexport interface Point {\r\n readonly x: number;\r\n readonly y: number;\r\n}\r\n\r\nexport interface IPopoverManualClosing {\r\n enabled: boolean;\r\n}\r\n\r\nexport interface IDrPopoverComponentModel {\r\n hostRef: ElementRef | HTMLElement | Point;\r\n position?: ElPosition;\r\n contentContext?: any;\r\n class?: string;\r\n overlayConfig?: DrPopoverConfig;\r\n manualClosing?: IPopoverManualClosing;\r\n targetElement?: HTMLElement;\r\n alignment?: DrPopoverAlignment;\r\n}\r\n\r\nexport interface DrPopoverConfig extends OverlayConfig {\r\n closeOnBackdropClick?: boolean;\r\n}\r\n\r\nexport type DrPopoverAlignment = 'host';\r\n\r\nexport enum DrPopoverAlignmentDimension {\r\n Width = 'width',\r\n Height = 'height',\r\n}\r\n\r\nexport const DEFAULT_CONFIG: DrPopoverConfig = {\r\n hasBackdrop: false,\r\n closeOnBackdropClick: false,\r\n backdropClass: 'dr-popover-transparent-backdrop',\r\n};\r\n\r\nexport const DEFAULT_MODEL: Partial<IDrPopoverComponentModel> = {\r\n position: 'bottom',\r\n class: '',\r\n overlayConfig: {},\r\n manualClosing: { enabled: false },\r\n};\r\n\r\nexport function getAlignmentDimension(position: string): DrPopoverAlignmentDimension {\r\n if (!POPUP_POSITIONS[position]) return DrPopoverAlignmentDimension.Width;\r\n if (position?.includes('left') || position?.includes('right')) {\r\n return DrPopoverAlignmentDimension.Height;\r\n }\r\n return DrPopoverAlignmentDimension.Width;\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n TemplateRef,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n HostBinding,\r\n} from '@angular/core';\r\nimport { trigger } from '@angular/animations';\r\nimport { POPUP_ANIMATION } from '../models/constants';\r\nimport { DrPopoverRef } from './dr-popover-ref';\r\nimport { IPopoverManualClosing, Point, DrPopoverAlignment, getAlignmentDimension } from '../models/popover';\r\n\r\n@Component({\r\n selector: 'dr-popover',\r\n templateUrl: './dr-popover.component.html',\r\n styleUrls: ['./dr-popover.component.scss'],\r\n animations: [\r\n trigger('popover', POPUP_ANIMATION),\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrPopoverComponent<T> implements OnInit {\r\n\r\n @Input() content: TemplateRef<any> | Type<T>;\r\n @Input() contentContext: any;\r\n @Input() class = '';\r\n @Input() hostRef: ElementRef<unknown> | HTMLElement | Point;\r\n @Input() manualClosing: IPopoverManualClosing;\r\n @Input() alignment: DrPopoverAlignment;\r\n @Input() position: string;\r\n\r\n @ViewChild('popoverContainer', { read: ElementRef, static: true }) popoverContainer: ElementRef<HTMLElement>;\r\n isContentTemplate = false;\r\n componentRef: ComponentRef<T>;\r\n\r\n @HostBinding('style.width') width: string;\r\n @HostBinding('style.height') height: string;\r\n\r\n @HostBinding('@popover') public popover = true;\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n clickOutside(e): void {\r\n const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || (this.hostRef.nativeElement as HTMLElement).contains(e.target));\r\n const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);\r\n const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');\r\n const isTargetInSelect = e.target.closest('ng-dropdown-panel');\r\n const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');\r\n\r\n if (!isTargetHost\r\n && !isTargetInPopover\r\n && !isTargetInDatepicker\r\n && !isTargetInSelect\r\n && !isTargetInDatepickerContent\r\n && !this.manualClosing.enabled\r\n ) {\r\n this.popoverRef.close();\r\n }\r\n }\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private elementRef: ElementRef,\r\n private popoverRef: DrPopoverRef<T>,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isContentTemplate = this.content instanceof TemplateRef;\r\n\r\n if (!this.isContentTemplate) {\r\n this.componentRef = this.viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(this.content as Type<T>));\r\n Object.assign(this.componentRef.instance, this.contentContext);\r\n this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);\r\n }\r\n if (this.alignment === 'host') {\r\n this[getAlignmentDimension(this.position)] = '100%';\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n}\r\n","import { first } from 'rxjs/operators';\r\nimport { DrPopoverRef } from './dr-popover-ref';\r\nimport { DrPopoverComponent } from './dr-popover.component';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { Injectable, Injector, StaticProvider, TemplateRef, Type, ElementRef } from '@angular/core';\r\nimport { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\r\nimport { POPUP_POSITIONS } from '../models/constants';\r\nimport { DEFAULT_CONFIG, DEFAULT_MODEL, getAlignmentDimension, IDrPopoverComponentModel, Point } from '../models/popover';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DrPopoverService {\r\n\r\n constructor(\r\n private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n private injector: Injector,\r\n ) { }\r\n\r\n open<T>(content: Type<T> | TemplateRef<HTMLElement>, popoverModel: IDrPopoverComponentModel): DrPopoverRef<T> {\r\n if (!content) return;\r\n\r\n const model = { ...DEFAULT_MODEL, ...popoverModel };\r\n\r\n const overlayRef = this.createOverlay(model);\r\n\r\n const popoverRef = new DrPopoverRef<T>(overlayRef);\r\n\r\n this.attachOverlayContainer(content, model, overlayRef, popoverRef);\r\n\r\n this.registerListeners(model, overlayRef, popoverRef);\r\n\r\n return popoverRef;\r\n }\r\n\r\n private attachOverlayContainer<T>(\r\n content: Type<T> | TemplateRef<HTMLElement>,\r\n { contentContext, position, class: elementClass, manualClosing, hostRef, alignment }: IDrPopoverComponentModel,\r\n overlayRef: OverlayRef,\r\n popoverRef: DrPopoverRef<T>\r\n ): void {\r\n const componentPortal = new ComponentPortal<DrPopoverComponent<T>>(DrPopoverComponent, null, this.createInjector(popoverRef));\r\n const contentRef = overlayRef.attach<DrPopoverComponent<T>>(componentPortal);\r\n\r\n popoverRef.componentRef = contentRef;\r\n\r\n contentRef.instance.content = content;\r\n contentRef.instance.contentContext = { ...contentContext, closePopover: popoverRef.close.bind(popoverRef) };\r\n contentRef.instance.class = elementClass + ' ' + position;\r\n contentRef.instance.manualClosing = manualClosing;\r\n contentRef.instance.hostRef = hostRef;\r\n contentRef.instance.alignment = alignment;\r\n contentRef.instance.position = position;\r\n }\r\n\r\n private createOverlay(popoverModel: IDrPopoverComponentModel): OverlayRef {\r\n const overlayConfig = this.getOverlayConfig(popoverModel);\r\n return this.overlay.create(overlayConfig);\r\n }\r\n\r\n private getOverlayConfig(popoverModel: IDrPopoverComponentModel): OverlayConfig {\r\n if (!POPUP_POSITIONS[popoverModel.position]) throw new Error(`DrPopover does not support the '${popoverModel?.position}' position!`);\r\n\r\n const config = { ...DEFAULT_CONFIG, ...popoverModel.overlayConfig || {}};\r\n const hostElement = this.getHostElement(popoverModel.hostRef);\r\n\r\n const positionStrategy = this.overlayPositionBuilder\r\n .flexibleConnectedTo(popoverModel.hostRef)\r\n .withPositions([POPUP_POSITIONS[popoverModel.position]]);\r\n\r\n const overlayConfig = new OverlayConfig({\r\n scrollStrategy: this.overlay.scrollStrategies.noop(),\r\n positionStrategy,\r\n ...config,\r\n });\r\n\r\n if (popoverModel.alignment === 'host' && hostElement) {\r\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\r\n overlayConfig[alignmentDimension] = hostElement.getBoundingClientRect()[alignmentDimension];\r\n }\r\n\r\n return overlayConfig;\r\n }\r\n\r\n private createInjector<T>(popoverRef: DrPopoverRef<T>): Injector {\r\n const injectionTokens: StaticProvider[] = [\r\n { provide: DrPopoverRef, useValue: popoverRef },\r\n ];\r\n\r\n return Injector.create({ providers: injectionTokens, parent: this.injector });\r\n }\r\n\r\n private registerListeners<T>(popoverModel: IDrPopoverComponentModel, overlayRef: OverlayRef, popoverRef: DrPopoverRef<T>): void {\r\n const config = popoverModel.overlayConfig || {};\r\n const targetElement = popoverModel.targetElement;\r\n const hostElement = this.getHostElement(popoverModel.hostRef);\r\n\r\n if (config?.closeOnBackdropClick && config?.hasBackdrop) {\r\n overlayRef.backdropClick().subscribe(() => popoverRef.close());\r\n }\r\n\r\n if (targetElement) {\r\n targetElement.addEventListener('mouseup', () => popoverRef.close(), { once: true });\r\n }\r\n\r\n if (popoverModel.alignment === 'host' && hostElement) {\r\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\r\n const resizeObserver = new ResizeObserver(entries => {\r\n entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));\r\n });\r\n resizeObserver.observe(hostElement);\r\n popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));\r\n }\r\n }\r\n\r\n private getHostElement<T>(hostRef: Point | HTMLElement | ElementRef<T>): HTMLElement {\r\n if (!hostRef || (<Point>hostRef).x) return null;\r\n if ((<ElementRef>hostRef).nativeElement) return (<ElementRef>hostRef).nativeElement;\r\n return <HTMLElement>hostRef;\r\n }\r\n\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n TemplateRef,\r\n Type,\r\n} from '@angular/core';\r\nimport { OverlayConfig } from '@angular/cdk/overlay';\r\nimport { first } from 'rxjs/operators';\r\nimport { ElPosition } from './../models/dropdown';\r\nimport { DrPopoverRef } from './dr-popover-ref';\r\nimport { DrPopoverService } from './dr-popover.service';\r\nimport { IPopoverManualClosing, DrPopoverAlignment } from '../models/popover';\r\n\r\n@Directive({\r\n selector: '[drPopover]'\r\n})\r\nexport class DrPopoverDirective<T> implements OnDestroy {\r\n\r\n @Input('drPopover') content: TemplateRef<any> | Type<T>;\r\n\r\n @Input('drPopoverContext') contentContext: Object = {};\r\n\r\n @Input('drPopoverPosition') position: ElPosition = 'bottom';\r\n\r\n @Input('drPopoverClass') class: string = '';\r\n\r\n @Input('drPopoverOverlayConfig') overlayConfig: OverlayConfig = {};\r\n\r\n @Input('drPopoverManualClosing') manualClosing: IPopoverManualClosing = { enabled: false };\r\n\r\n @Input('drPopoverAlignment') alignment: DrPopoverAlignment;\r\n\r\n @Output('drPopoverClose') popoverClose = new EventEmitter<any>();\r\n\r\n @Output('drPopoverShowStateChange') showStateChange = new EventEmitter<{ isShown: boolean }>();\r\n\r\n private popoverRef: DrPopoverRef<T>;\r\n\r\n constructor(private elementRef: ElementRef,\r\n private drPopoverService: DrPopoverService,\r\n ) { }\r\n\r\n @HostListener('click')\r\n togglePopover(): void {\r\n if (this.popoverRef) {\r\n this.closePopover();\r\n } else {\r\n this.renderPopover();\r\n this.showStateChange.emit({ isShown: !!this.popoverRef });\r\n }\r\n }\r\n\r\n closePopover(res?: any): void {\r\n if (this.popoverRef) {\r\n this.popoverRef.close(res);\r\n this.popoverRef = null;\r\n }\r\n }\r\n\r\n private renderPopover(): void {\r\n const popoverRef = this.popoverRef = this.drPopoverService.open(this.content, {\r\n hostRef: this.elementRef,\r\n overlayConfig: this.overlayConfig,\r\n class: this.class,\r\n manualClosing: this.manualClosing,\r\n position: this.position,\r\n contentContext: this.contentContext,\r\n alignment: this.alignment,\r\n });\r\n\r\n popoverRef.onClose.pipe(first()).subscribe((res) => {\r\n this.closePopover();\r\n this.popoverClose.emit(res);\r\n this.showStateChange.emit({ isShown: !!this.popoverRef });\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.closePopover();\r\n }\r\n}\r\n","import { ComponentRef, Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DrDropdownComponent } from './dr-dropdown.component';\r\nimport { IDropdownAction } from '../models/dropdown';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DrDropdownService {\r\n\r\n actionItem = new Subject<IDropdownAction<unknown>>();\r\n protected menuInView: ComponentRef<DrDropdownComponent>;\r\n\r\n constructor() {\r\n }\r\n\r\n set addMenu(item: ComponentRef<DrDropdownComponent>) {\r\n this.menuInView = item;\r\n }\r\n\r\n destroy() {\r\n if (this.menuInView) {\r\n this.menuInView.destroy();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';\r\nimport { IDropdownItem, ElPosition, IDropdownActionIcon, IDropdown, IDropdownCoordinate } from '../models/dropdown';\r\nimport { DrDropdownService } from './dr-dropdown.service';\r\n\r\n@Component({\r\n selector: 'dr-dropdown',\r\n templateUrl: './dr-dropdown.component.html',\r\n styleUrls: ['./dr-dropdown.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DrDropdownComponent {\r\n\r\n @ViewChild('listMenu') viewMenu: HTMLElement;\r\n @ViewChild('menuContainer') menuContainer: HTMLElement;\r\n option: any;\r\n position: ElPosition | IDropdownCoordinate = 'left';\r\n drDropdownInHover: boolean;\r\n list: IDropdownItem<unknown>[];\r\n containerClass: string;\r\n private firstInit: boolean;\r\n\r\n constructor(protected menuService: DrDropdownService, private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n @Input() set options(data: IDropdown<IDropdownItem<any>>) {\r\n if (data) {\r\n this.option = data.option;\r\n this.position = data.position;\r\n this.drDropdownInHover = data.drDropdownInHover;\r\n this.containerClass = data.class;\r\n this.list = data.list || [];\r\n this.list.forEach(item => {\r\n if (item.children?.length) {\r\n item.childOptions = {\r\n list: item.children,\r\n class: item?.childOptions?.class || '',\r\n position: 'child'\r\n };\r\n }\r\n });\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n onMouseLeave(): void {\r\n if (this.drDropdownInHover) this.menuService.destroy();\r\n }\r\n\r\n onClickedOutside(): void {\r\n if (this.firstInit) {\r\n this.menuService.destroy();\r\n } else {\r\n this.firstInit = true;\r\n }\r\n }\r\n\r\n hide(): void {\r\n this.menuService.destroy();\r\n }\r\n\r\n disabled(act: IDropdownItem<unknown> | IDropdownActionIcon<any>): boolean {\r\n if (!act.disabled) {\r\n return false;\r\n }\r\n if (typeof act.disabled === 'boolean') {\r\n return act.disabled;\r\n } else {\r\n return act.disabled(act.data);\r\n }\r\n }\r\n\r\n selected(act: IDropdownItem<unknown>): boolean {\r\n if (!act.selected) {\r\n return false;\r\n }\r\n if (typeof act.selected === 'boolean') {\r\n return act.selected;\r\n } else {\r\n return act.selected(act.data);\r\n }\r\n }\r\n\r\n tooltipToShow(act: IDropdownItem<unknown>): string {\r\n if (act.toolTipIfDisabled && !this.disabled(act)) return '';\r\n return act.toolTip;\r\n }\r\n\r\n tooltipPosition(widthMoreRight: boolean) {\r\n return widthMoreRight ? 'right' : 'left';\r\n }\r\n\r\n action(act: IDropdownItem<any>) {\r\n if (!this.disabled(act)) {\r\n if (act.action) {\r\n act.action(act.data);\r\n } else {\r\n this.menuService.actionItem.next({event: act.event || act.title || 'default', data: act.data});\r\n }\r\n this.hide();\r\n }\r\n }\r\n\r\n onActionIconClick($event, actionIcon: IDropdownActionIcon<any>, data: any) {\r\n $event.stopPropagation();\r\n if (!this.disabled(actionIcon)) {\r\n actionIcon.action(data);\r\n this.hide();\r\n }\r\n }\r\n}\r\n\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { IDropdownItem, ElPosition, IDropdown } from '../models/dropdown';\r\nimport { DrDropdownComponent } from './dr-dropdown.component';\r\nimport { DrDropdownService } from './dr-dropdown.service';\r\n\r\n@Directive({\r\n selector: '[drDropdown]'\r\n})\r\nexport class DrDropdownDirective<T> implements OnDestroy {\r\n\r\n @Input() position: ElPosition = 'left';\r\n @Input() drDropdown: IDropdownItem<T>[];\r\n @Input() drDropdownClass: string;\r\n @Input() drDropdownInHover: boolean;\r\n @ViewChild(DrDropdownComponent, {static: true, read: ViewContainerRef}) contentCmpRef;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\r\n private viewContainerRef: ViewContainerRef,\r\n private service: DrDropdownService,\r\n private el: ElementRef,\r\n @Inject(DOCUMENT) private _document: any) {\r\n }\r\n\r\n @HostListener('mouseenter') elementHover() {\r\n if (!this.drDropdownInHover) return;\r\n this.openDropdown();\r\n }\r\n\r\n @HostListener('click') elementClick() {\r\n this.openDropdown();\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event']) documentClick(e) {\r\n this.closeDropdown(e);\r\n }\r\n\r\n private openDropdown(): void {\r\n const option = this.el.nativeElement.getBoundingClientRect();\r\n this._document.querySelectorAll('dr-dropdown').forEach(item => item.remove());\r\n if (this.contentCmpRef && this.contentCmpRef.destroyCbs) {\r\n this.contentCmpRef.destroy();\r\n this.contentCmpRef = null;\r\n } else {\r\n this.service.destroy();\r\n this.showMenu({\r\n option,\r\n drDropdownInHover: this.drDropdownInHover,\r\n position: this.position,\r\n list: this.drDropdown,\r\n class: this.drDropdownClass\r\n });\r\n }\r\n }\r\n\r\n private closeDropdown(e): void {\r\n const menuItem = e.target.classList;\r\n if (menuItem.contains('dr-dropdown__container__item') || menuItem.contains('dr-dropdown__container__item__text')) {\r\n return;\r\n }\r\n const elems = this._document.querySelectorAll('dr-dropdown');\r\n if (!e.target.contains(this.el.nativeElement) && this.contentCmpRef || elems.length && !e.target.contains(this.el.nativeElement)) {\r\n setTimeout(() => elems.forEach(item => item.remove()), 100);\r\n }\r\n }\r\n\r\n private showMenu(options: IDropdown<T>) {\r\n let componentFactory: ComponentFactory<DrDropdownComponent>;\r\n componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrDropdownComponent);\r\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\r\n this.service.addMenu = this.contentCmpRef;\r\n this._document.querySelector('nb-layout').appendChild(this.contentCmpRef.location.nativeElement);\r\n this.contentCmpRef.instance.options = options;\r\n }\r\n\r\n public ngOnDestroy() {\r\n if (this.contentCmpRef) {\r\n this.contentCmpRef.destroy();\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { IDropdownCoordinate, ElPosition } from '../models/dropdown';\r\n\r\n@Directive({\r\n selector: '[drDropdownPosition]',\r\n exportAs: 'dropdownPosition'\r\n})\r\nexport class DrDropdownPositionDirective implements OnInit {\r\n\r\n @Input() drDropdownPosition;\r\n @Input() position: ElPosition | IDropdownCoordinate = 'left';\r\n\r\n widthMoreRight: boolean;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n }\r\n\r\n ngOnInit(): void {\r\n setTimeout(this.calculatePosition.bind(this), 1);\r\n }\r\n\r\n calculatePosition() {\r\n let xDifference = 0;\r\n let defaultDelta = 10;\r\n let defaultPadding = 0;\r\n\r\n if (this.position === 'child') {\r\n defaultDelta = 0;\r\n defaultPadding = 10;\r\n xDifference = this.el.nativeElement.parentElement.parentElement.offsetWidth - this.el.nativeElement.offsetWidth;\r\n const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();\r\n\r\n this.position = {\r\n x: this.el.nativeElement.offsetWidth,\r\n y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,\r\n clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,\r\n clientY: parentRect.y\r\n };\r\n }\r\n\r\n if (typeof this.position === 'string') {\r\n this.renderer.setStyle(this.el.nativeElement, 'top',\r\n this.position === 'bottom' ?\r\n this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :\r\n this.drDropdownPosition.y + 'px');\r\n this.renderer.setStyle(this.el.nativeElement, 'left',\r\n this.position === 'right' ?\r\n this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :\r\n this.drDropdownPosition.x + 'px');\r\n const menuHeight = this.el.nativeElement.offsetHeight;\r\n const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;\r\n const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;\r\n const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;\r\n\r\n const spaceBetweenElAndRightBorder = window.innerWidth - (this.drDropdownPosition.x + this.el.nativeElement.offsetWidth);\r\n this.widthMoreRight = this.drDropdownPosition.x < spaceBetweenElAndRightBorder;\r\n\r\n if (heightMoreWindowBottom) {\r\n this.position = 'top';\r\n }\r\n if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {\r\n this.position = 'top-left';\r\n this.renderer.setStyle(this.el.nativeElement, 'transform',\r\n 'translate(-100%, calc(-100% + ' + this.drDropdownPosition.height + 'px))');\r\n }\r\n if (heightMoreWindowTop && heightMoreWindowBottom) {\r\n this.position = 'left-center';\r\n }\r\n if (this.position === 'bottom-left') {\r\n this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(calc(-100% + ${ this.drDropdownPosition.width }px), ${ this.drDropdownPosition.height + 8 }px)`);\r\n }\r\n const className = this.position === 'top' ? 'content-top'\r\n : this.position === 'top-left' ? 'content-top-left'\r\n : this.position === 'bottom' ? 'content-bottom'\r\n : this.position === 'bottom-left' ? 'content-bottom-left'\r\n : this.position === 'left' ? 'content-left'\r\n : this.position === 'left-center' ? 'content-left-center'\r\n : this.position === 'right' ? 'content-right'\r\n : this.position === 'bottom-right' ? 'content-bottom-right' : '';\r\n this.renderer.addClass(this.el.nativeElement, className);\r\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\r\n } else {\r\n const defaultChildPadding = 3;\r\n const widthMoreWindowRight = window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;\r\n const widthMoreWindowBottom = window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;\r\n this.widthMoreRight = !(widthMoreWindowRight < 0);\r\n\r\n const calculatedHorizantallyPos = widthMoreWindowRight < 0\r\n ? -this.position.x + -defaultChildPadding\r\n : this.position.x + defaultChildPadding + xDifference;\r\n\r\n const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;\r\n\r\n this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');\r\n this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');\r\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { IDropdownItem } from '../models/dropdown';\r\n\r\n@Pipe({\r\n name: 'drDropdownItemShowPipe'\r\n})\r\nexport class DrDropdownItemShowPipe<T> implements PipeTransform {\r\n transform(arr: IDropdownItem<T>[]): IDropdownItem<T>[] {\r\n return arr.filter(item => item.show ? item.show(item.data) : true);\r\n }\r\n}\r\n","import { Component, OnInit, Input, ViewChild, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dr-tab',\r\n template: `\r\n <ng-template>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n `\r\n})\r\nexport class DrTabComponent implements OnInit {\r\n @Input() label: String;\r\n @Input() disabled: boolean;\r\n @ViewChild(TemplateRef) public contentTemplate: TemplateRef<any>;\r\n\r\n constructor() { }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n ContentChildren,\r\n QueryList,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { DrTabComponent } from './dr-tab.component';\r\n\r\n@Component({\r\n selector: 'dr-tabs',\r\n templateUrl: './dr-tabs.component.html',\r\n styleUrls: ['./dr-tabs.component.scss'],\r\n})\r\nexport class DrTabsComponent {\r\n\r\n @Input() selectedTab: number = 0;\r\n @Input() withRadio: boolean;\r\n @Input() vertical: boolean;\r\n @Output() selectedTabChange: EventEmitter<any> = new EventEmitter<any>();\r\n @ContentChildren(DrTabComponent) public tabsContentList: QueryList<DrTabComponent>;\r\n\r\n constructor() { }\r\n\r\n selectedIndexChange($event) {\r\n this.selectedTab = $event;\r\n this.selectedTabChange.emit($event);\r\n }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'dr-accordion',\r\n template: '<ng-content select=\"dr-accordion-item\"></ng-content>',\r\n styleUrls: ['./accordion.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionComponent {\r\n static ngAcceptInputType_multi: any;\r\n openCloseItems = new Subject<boolean>();\r\n\r\n /**\r\n * Allow multiple items to be expanded at the same time.\r\n */\r\n @Input('multi')\r\n get multi(): boolean {\r\n return this.multiValue;\r\n }\r\n set multi(val: boolean) {\r\n this.multiValue = !!val;\r\n }\r\n\r\n private multiValue = false;\r\n\r\n /**\r\n * Opens all enabled accordion items.\r\n */\r\n openAll() {\r\n if (this.multi) {\r\n this.openCloseItems.next(false);\r\n }\r\n }\r\n\r\n /**\r\n * Closes all enabled accordion items.\r\n */\r\n closeAll() {\r\n this.openCloseItems.next(true);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n SimpleChanges,\r\n HostBinding,\r\n Host,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { DrAccordionComponent } from './accordion.component';\r\n\r\n@Component({\r\n selector: 'dr-accordion-item',\r\n styleUrls: ['./accordion-item.component.scss'],\r\n template: `\r\n <ng-content select=\"dr-accordion-item-header\"></ng-content>\r\n <ng-content select=\"dr-accordion-item-body\"></ng-content>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionItemComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Item is collapse (`true` by default)\r\n * @type {boolean}\r\n */\r\n @Input('collapsed')\r\n @HostBinding('class.collapsed')\r\n get collapsed(): boolean {\r\n return this.collapsedValue;\r\n }\r\n set collapsed(val: boolean) {\r\n this.collapsedValue = !!val;\r\n this.collapsedChange.emit(this.collapsedValue);\r\n this.invalidate();\r\n }\r\n static ngAcceptInputType_collapsed: any;\r\n\r\n /**\r\n * Item is expanded (`false` by default)\r\n */\r\n @Input('expanded')\r\n @HostBinding('class.expanded')\r\n get expanded(): boolean {\r\n return !this.collapsed;\r\n }\r\n set expanded(val: boolean) {\r\n this.collapsedValue = !val;\r\n }\r\n static ngAcceptInputType_expanded: any;\r\n\r\n /**\r\n * Item is disabled and cannot be opened.\r\n * @type {boolean}\r\n */\r\n @Input('disabled')\r\n @HostBinding('class.disabled')\r\n get disabled(): boolean {\r\n return this.disabledValue;\r\n }\r\n set disabled(val: boolean) {\r\n this.disabledValue = !!val;\r\n this.invalidate();\r\n }\r\n static ngAcceptInputType_disabled: any;\r\n\r\n /**\r\n * Emits whenever the expanded state of the accordion changes.\r\n * Primarily used to facilitate two-way binding.\r\n */\r\n @Output() collapsedChange = new EventEmitter<boolean>();\r\n\r\n accordionItemInvalidate = new Subject<boolean>();\r\n\r\n private collapsedValue = true;\r\n private disabledValue = false;\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(@Host() private accordion: DrAccordionComponent, private cd: ChangeDetectorRef) {\r\n }\r\n\r\n /**\r\n * Open/close the item\r\n */\r\n toggle() {\r\n if (!this.disabled) {\r\n // we need this temporary variable as `openCloseItems.next` will change current value we need to save\r\n const willSet = !this.collapsed;\r\n\r\n if (!this.accordion.multi) {\r\n this.accordion.openCloseItems.next(true);\r\n }\r\n this.collapsed = willSet;\r\n }\r\n }\r\n\r\n /**\r\n * Open the item.\r\n */\r\n open() {\r\n if (!this.disabled) {\r\n this.collapsed = false;\r\n }\r\n }\r\n\r\n /**\r\n * Collapse the item.\r\n */\r\n close() {\r\n if (!this.disabled) {\r\n this.collapsed = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.accordion.openCloseItems\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(collapsed => {\r\n if (!this.disabled) {\r\n this.collapsed = collapsed;\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.accordionItemInvalidate.next(true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n this.accordionItemInvalidate.complete();\r\n }\r\n\r\n private invalidate() {\r\n this.accordionItemInvalidate.next(true);\r\n this.cd.markForCheck();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Host,\r\n HostBinding,\r\n HostListener,\r\n OnInit,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { DrAccordionItemComponent } from './accordion-item.component';\r\n\r\n@Component({\r\n selector: 'dr-accordion-item-header',\r\n styleUrls: ['./accordion-item-header.component.scss'],\r\n template: `\r\n <ng-content select=\"dr-accordion-item-title\"></ng-content>\r\n <ng-content select=\"dr-accordion-item-description\"></ng-content>\r\n <ng-content></ng-content>\r\n <i class=\"dr-icon-arrow-down expansion-indicator\"\r\n [@expansionIndicator]=\"state\"\r\n *ngIf=\"!disabled\">\r\n </i>\r\n `,\r\n animations: [\r\n trigger('expansionIndicator', [\r\n state(\r\n 'expanded',\r\n style({\r\n transform: 'rotate(180deg)',\r\n }),\r\n ),\r\n transition('collapsed => expanded', animate('100ms ease-in')),\r\n transition('expanded => collapsed', animate('100ms ease-out')),\r\n ]),\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionItemHeaderComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n @HostBinding('class.accordion-item-header-collapsed')\r\n get isCollapsed(): boolean {\r\n return this.accordionItem.collapsed;\r\n }\r\n\r\n @HostBinding('class.accordion-item-header-expanded')\r\n @HostBinding('attr.aria-expanded')\r\n get expanded(): boolean {\r\n return !this.accordionItem.collapsed;\r\n }\r\n\r\n @HostBinding('attr.tabindex')\r\n get tabbable(): string {\r\n return this.accordionItem.disabled ? '-1' : '0';\r\n }\r\n\r\n @HostBinding('attr.aria-disabled')\r\n get disabled(): boolean {\r\n return this.accordionItem.disabled;\r\n }\r\n\r\n @HostListener('click')\r\n @HostListener('keydown.space')\r\n @HostListener('keydown.enter')\r\n toggle() {\r\n this.accordionItem.toggle();\r\n }\r\n\r\n get state(): string {\r\n if (this.isCollapsed) {\r\n return 'collapsed';\r\n }\r\n return 'expanded';\r\n }\r\n\r\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.accordionItem.accordionItemInvalidate\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => this.cd.markForCheck());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Host,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { DrAccordionItemComponent } from './accordion-item.component';\r\n\r\nconst accordionItemBodyTrigger = trigger('accordionItemBody', [\r\n state(\r\n 'collapsed',\r\n style({\r\n overflow: 'hidden',\r\n visibility: 'hidden',\r\n height: 0,\r\n }),\r\n ),\r\n state(\r\n 'expanded',\r\n style({\r\n overflow: 'hidden',\r\n visibility: 'visible',\r\n }),\r\n ),\r\n transition('collapsed => expanded', animate('100ms ease-in')),\r\n transition('expanded => collapsed', animate('100ms ease-out')),\r\n]);\r\n\r\n@Component({\r\n selector: 'dr-accordion-item-body',\r\n template: `\r\n <div [@accordionItemBody]=\"{ value: state }\">\r\n <div class=\"item-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./accordion-item-body.component.scss'],\r\n animations: [accordionItemBodyTrigger],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DrAccordionItemBodyComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {}\r\n\r\n get state(): string {\r\n return this.accordionItem.collapsed ? 'collapsed' : 'expanded';\r\n }\r\n\r\n ngOnInit() {\r\n this.accordionItem.accordionItemInvalidate\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => this.cd.markForCheck());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { AnyTagComponent, DateTagComponent } from \"./date-tag.component\";\r\nimport { DayTagComponent } from \"./day-tag/day-tag.component\";\r\nimport { WeekTagComponent } from \"./week-tag/week-tag.component\";\r\nimport { MonthTagComponent } from \"./month-tag/month-tag.component\";\r\nimport { QuarterTagComponent } from \"./quarter-tag/quarter-tag.component\";\r\nimport { YearTagComponent } from \"./year-tag/year-tag.component\";\r\nimport { ForecastTagComponent } from \"./forecast-tag/forecast-tag.component\";\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule } from \"@angular/material-moment-adapter\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\n\r\nexport const components = [DateTagComponent,\r\n DayTagComponent,\r\n WeekTagComponent,\r\n MonthTagComponent,\r\n QuarterTagComponent,\r\n AnyTagComponent,\r\n YearTagComponent,\r\n ForecastTagComponent];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatNativeDateModule,\r\n MatDatepickerModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatMomentDateModule,\r\n MatSelectModule\r\n ],\r\n exports: components,\r\n providers: [\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\r\n ],\r\n declarations: components,\r\n})\r\n\r\nexport class DateTagModule { };\r\n","import {NgModule} from \"@angular/core\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule} from \"@angular/material-moment-adapter\";\r\nimport {ListTagComponent} from \"./list-tag.component\";\r\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\r\nimport {MatSelectModule} from \"@angular/material/select\";\r\nimport {MatButtonToggleModule} from \"@angular/material/button-toggle\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatMomentDateModule,\r\n MatSelectModule,\r\n MatButtonToggleModule,\r\n ],\r\n exports: [ListTagComponent],\r\n providers: [],\r\n declarations: [\r\n ListTagComponent\r\n ],\r\n})\r\n\r\nexport class ListTagModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DrTagComponent} from \"./dr-tag.component\";\r\nimport {ListTagModule} from \"../list-tags/list-tag.module\";\r\nimport { DateTagModule } from \"../date-tags/date-tag.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DateTagModule,\r\n ListTagModule\r\n ],\r\n exports: [DrTagComponent],\r\n providers: [\r\n ],\r\n declarations: [\r\n DrTagComponent\r\n ],\r\n})\r\n\r\nexport class DrTagModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { DrInputComponent } from './dr-input/dr-input.component';\r\nimport { DrSelectComponent } from './dr-select/dr-select.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\r\nimport { RadioGroupComponent } from './radio-button/radio-group.component';\r\nimport { DrToggleComponent } from './dr-toggle/dr-toggle.component';\r\nimport { DrButtonComponent } from './button/button.component';\r\n\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { DrDatePickerComponent } from './dr-date-picker/dr-date-picker.component';\r\nimport { DrDatePickerFormatDirective } from './dr-date-picker/dr-date-picker-format.directive';\r\nimport { DrToggleButtonComponent } from './dr-toggle-button/dr-toggle-button.component';\r\n\r\nconst components = [\r\n DrButtonComponent,\r\n RadioButtonComponent,\r\n RadioGroupComponent,\r\n CheckboxComponent,\r\n DrInputComponent,\r\n DrSelectComponent,\r\n DrToggleComponent,\r\n DrToggleButtonComponent,\r\n DrDatePickerComponent,\r\n DrDatePickerFormatDirective\r\n];\r\n\r\n@NgModule({\r\n declarations: components,\r\n exports: components,\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n NgSelectModule,\r\n MatDatepickerModule,\r\n ]\r\n})\r\n\r\nexport class DrInputsModule {\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrTooltipDirective } from \"./dr-tooltip.directive\";\r\nimport { TooltipComponent } from \"./dr-tooltip.component\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TooltipComponent,\r\n DrTooltipDirective,\r\n ],\r\n providers: [],\r\n declarations: [\r\n TooltipComponent,\r\n DrTooltipDirective,\r\n ],\r\n})\r\n\r\nexport class DrTooltipModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrAvatarComponent } from './dr-avatar.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrAvatarPipe } from './dr-avatar.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n DrAvatarComponent,\r\n DrAvatarPipe\r\n ],\r\n exports: [\r\n DrAvatarComponent,\r\n DrAvatarPipe\r\n ],\r\n imports: [\r\n MatTooltipModule,\r\n DrTooltipModule,\r\n CommonModule\r\n ]\r\n})\r\n\r\nexport class DrAvatarModule {\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DrSpinnerComponent } from './dr-spinner.component';\r\nimport { DrSpinnerDirective } from './dr-spinner.directive';\r\n\r\nconst components = [DrSpinnerComponent];\r\nconst directives = [DrSpinnerDirective];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [...components, ...directives],\r\n declarations: [...components, ...directives]\r\n})\r\n\r\nexport class DrSpinnerModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrPopoverDirective } from './dr-popover.directive';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrPopoverComponent } from './dr-popover.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n DrPopoverDirective,\r\n DrPopoverComponent,\r\n ],\r\n providers: [],\r\n declarations: [\r\n DrPopoverDirective,\r\n DrPopoverComponent,\r\n ],\r\n})\r\n\r\nexport class DrPopoverModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { DrDropdownPositionDirective } from './dr-dropdown-position.directive';\r\nimport { DrDropdownDirective } from './dr-dropdown.directive';\r\nimport { DrDropdownComponent } from './dr-dropdown.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\r\nimport { DrDropdownItemShowPipe } from './dr-dropdown-item-show.pipe';\r\nimport { DrDropdownService } from './dr-dropdown.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DrTooltipModule,\r\n ],\r\n declarations: [\r\n DrDropdownDirective,\r\n DrDropdownPositionDirective,\r\n DrDropdownComponent,\r\n DrDropdownItemShowPipe,\r\n ],\r\n exports: [\r\n DrDropdownDirective,\r\n DrDropdownPositionDirective,\r\n DrDropdownComponent,\r\n DrDropdownItemShowPipe,\r\n ],\r\n providers: [\r\n DrDropdownService,\r\n ],\r\n})\r\n\r\nexport class DrDropdownModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrTabsComponent } from './dr-tabs.component';\r\nimport { DrTabComponent } from './dr-tab.component';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { DrInputsModule } from '../dr-inputs/dr-inputs.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatTabsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DrInputsModule\r\n ],\r\n exports: [\r\n DrTabsComponent,\r\n DrTabComponent\r\n ],\r\n providers: [],\r\n declarations: [\r\n DrTabsComponent,\r\n DrTabComponent\r\n ],\r\n})\r\n\r\nexport class DrTabsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DrAccordionComponent } from './accordion.component';\r\nimport { DrAccordionItemComponent } from './accordion-item.component';\r\nimport { DrAccordionItemHeaderComponent } from './accordion-item-header.component';\r\nimport { DrAccordionItemBodyComponent } from './accordion-item-body.component';\r\n\r\nconst DR_ACCORDION_COMPONENTS = [\r\n DrAccordionComponent,\r\n DrAccordionItemComponent,\r\n DrAccordionItemHeaderComponent,\r\n DrAccordionItemBodyComponent,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [...DR_ACCORDION_COMPONENTS],\r\n declarations: [...DR_ACCORDION_COMPONENTS],\r\n providers: [],\r\n})\r\nexport class DrAccordionModule {}\r\n","/* components */\r\nexport * from './lib/date-tags/date-tag.component';\r\nexport * from './lib/date-tags/forecast-tag/forecast-tag.component';\r\nexport * from './lib/date-tags/month-tag/month-tag.component';\r\nexport * from './lib/date-tags/quarter-tag/quarter-tag.component';\r\nexport * from './lib/date-tags/week-tag/week-tag.component';\r\nexport * from './lib/date-tags/year-tag/year-tag.component';\r\nexport * from './lib/dr-tags/dr-tag.component';\r\nexport * from './lib/list-tags/list-tag.component';\r\nexport * from './lib/date-tags/day-tag/day-tag.component';\r\nexport * from './lib/date-tags/date-tag.component';\r\nexport * from './lib/dr-inputs/radio-button/radio-button.component';\r\nexport * from './lib/dr-inputs/radio-button/radio-group.component';\r\nexport * from './lib/dr-inputs/checkbox/checkbox.component';\r\nexport * from './lib/dr-inputs/dr-input/dr-input.component';\r\nexport * from './lib/dr-inputs/dr-select/dr-select.component';\r\nexport * from './lib/dr-avatar/dr-avatar.component';\r\nexport * from './lib/dr-avatar/dr-avatar.pipe';\r\nexport * from './lib/dr-tooltip/dr-tooltip.component';\r\nexport * from './lib/dr-tooltip/dr-tooltip.directive';\r\nexport * from './lib/dr-inputs/dr-toggle/dr-toggle.component';\r\nexport * from './lib/dr-inputs/dr-toggle-button/dr-toggle-button.component';\r\nexport * from './lib/dr-spinner/dr-spinner.component';\r\nexport * from './lib/dr-spinner/dr-spinner.directive';\r\nexport * from './lib/dr-inputs/button/button.component';\r\n\r\nexport * from './lib/dr-inputs/dr-date-picker/dr-date-picker.component';\r\nexport * from './lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive';\r\nexport * from './lib/dr-popover/dr-popover.directive';\r\nexport * from './lib/dr-popover/dr-popover.component';\r\nexport * from './lib/dr-popover/dr-popover.service';\r\n\r\nexport * from './lib/dr-dropdown/dr-dropdown.directive';\r\nexport * from './lib/dr-dropdown/dr-dropdown-position.directive';\r\nexport * from './lib/dr-dropdown/dr-dropdown.component';\r\nexport * from './lib/dr-dropdown/dr-dropdown.service';\r\nexport * from './lib/dr-dropdown/dr-dropdown-item-show.pipe';\r\nexport * from './lib/dr-tabs/dr-tabs.component';\r\nexport * from './lib/dr-tabs/dr-tab.component';\r\n\r\nexport * from './lib/dr-accordion/accordion.component';\r\nexport * from './lib/dr-accordion/accordion-item.component';\r\nexport * from './lib/dr-accordion/accordion-item-header.component';\r\nexport * from './lib/dr-accordion/accordion-item-body.component';\r\n\r\n/* models */\r\nexport { TAG_TYPES, ITag, IDateTag, IListTag, ITagForServer } from './lib/models/serverTags';\r\nexport {\r\n ElPosition,\r\n IDropdown,\r\n IDropdownItem,\r\n IDropdownActionIcon,\r\n IDropdownCoordinate,\r\n IDropdownCallEvent,\r\n IDropdownAction\r\n} from './lib/models/dropdown';\r\nexport {\r\n DrPopoverRef,\r\n IDrPopoverComponentModel,\r\n Point,\r\n DrPopoverConfig,\r\n IPopoverManualClosing,\r\n DrPopoverAlignment,\r\n DrPopoverAlignmentDimension,\r\n} from './lib/models/popover';\r\n\r\n/* modules */\r\nexport { DateTagModule } from './lib/date-tags/date-tag.module';\r\nexport { ListTagModule } from './lib/list-tags/list-tag.module';\r\nexport { DrTagModule } from './lib/dr-tags/dr-tag.module';\r\nexport { DrInputsModule } from './lib/dr-inputs/dr-inputs.module';\r\nexport { DrTooltipModule } from './lib/dr-tooltip/dr-tooltip.module';\r\nexport { DrAvatarModule } from './lib/dr-avatar/dr-avatar.module';\r\nexport { DrSpinnerModule } from './lib/dr-spinner/dr-spinner.module';\r\nexport { DrPopoverModule } from './lib/dr-popover/dr-popover.module';\r\nexport { DrDropdownModule } from './lib/dr-dropdown/dr-dropdown.module';\r\nexport { DrTabsModule } from './lib/dr-tabs/dr-tabs.module';\r\nexport { DrAccordionModule } from './lib/dr-accordion/accordion.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {components as ɵa} from './lib/date-tags/date-tag.module';\nexport {POPUP_ANIMATION as ɵb} from './lib/models/constants';\nexport {CustomDateFormat as ɵc} from './lib/models/datePicker';"],"names":["EventEmitter","Component","ViewEncapsulation","Input","Output","moment","FormControl","DateAdapter","MomentDateAdapter","MAT_DATE_LOCALE","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MAT_DATE_FORMATS","momentImported","NG_VALUE_ACCESSOR","ChangeDetectionStrategy","ChangeDetectorRef","Subject","startWith","switchMap","from","takeUntil","merge","isPlatformBrowser","fromEvent","filter","forwardRef","ElementRef","Inject","PLATFORM_ID","DOCUMENT","ContentChildren","noop","Renderer2","HostBinding","ContentChild","Pipe","transition","style","animate","TemplateRef","trigger","ComponentPortal","Directive","Overlay","OverlayPositionBuilder","HostListener","ComponentFactoryResolver","ViewContainerRef","ViewChild","NgControl","Optional","DrPopoverAlignmentDimension","OverlayConfig","Injector","first","Injectable","Host","state","components","NgModule","CommonModule","MatNativeDateModule","MatDatepickerModule","FormsModule","MatFormFieldModule","ReactiveFormsModule","MatInputModule","MatMomentDateModule","MatSelectModule","MatButtonToggleModule","NgSelectModule","MatTooltipModule","MatTabsModule"],"mappings":"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"}