@osovitny/anatoly 2.0.51 → 2.0.52

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.
Files changed (65) hide show
  1. package/bundles/osovitny-anatoly.umd.js +74 -64
  2. package/bundles/osovitny-anatoly.umd.js.map +1 -1
  3. package/esm2015/lib/core/consts/settings.js +2 -2
  4. package/esm2015/lib/core/convert.js +2 -2
  5. package/esm2015/lib/core/go/base-go.service.js +2 -2
  6. package/esm2015/lib/core/guards/once-import.guard.js +2 -2
  7. package/esm2015/lib/core/guid.js +2 -2
  8. package/esm2015/lib/core/interceptors/httpInterceptor.js +2 -2
  9. package/esm2015/lib/core/localization/localization.module.js +2 -2
  10. package/esm2015/lib/core/localization/localization.service.js +2 -2
  11. package/esm2015/lib/core/localization/localizationSettings.module.js +2 -2
  12. package/esm2015/lib/core/localization/localize.pipe.js +2 -2
  13. package/esm2015/lib/core/localization/utils.js +2 -2
  14. package/esm2015/lib/core/logging/globalErrorHandler.js +2 -2
  15. package/esm2015/lib/core/logging/logging.service.js +2 -2
  16. package/esm2015/lib/core/notifications/alerts.js +2 -2
  17. package/esm2015/lib/core/notifications/interfaces/notification.js +2 -2
  18. package/esm2015/lib/core/notifications/services/notification-service.js +2 -2
  19. package/esm2015/lib/core/services/appcontext.service.js +2 -2
  20. package/esm2015/lib/core/services/dm.service.js +2 -2
  21. package/esm2015/lib/core/services/google-analytics.service.js +2 -2
  22. package/esm2015/lib/core/services/idle.service.js +2 -2
  23. package/esm2015/lib/core/services/loading.service.js +2 -2
  24. package/esm2015/lib/core/services/web-storage.service.js +2 -2
  25. package/esm2015/lib/core/subs.js +2 -2
  26. package/esm2015/lib/core/utils.js +2 -2
  27. package/esm2015/lib/data/base/base-api.service.js +2 -2
  28. package/esm2015/lib/data/base/grid/base-grid-edit.service.js +2 -2
  29. package/esm2015/lib/data/base/grid/base-grid-read.service.js +2 -2
  30. package/esm2015/lib/data/consts.js +2 -2
  31. package/esm2015/lib/data/data.module.js +2 -2
  32. package/esm2015/lib/data/services/billing-api.service.js +2 -2
  33. package/esm2015/lib/data/services/notifications/notifications-api-service.js +2 -2
  34. package/esm2015/lib/ui/components/base-edit.component.js +2 -2
  35. package/esm2015/lib/ui/components/base.component.js +2 -2
  36. package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +2 -2
  37. package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +2 -2
  38. package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +2 -2
  39. package/esm2015/lib/ui/components/content-header/content-header.component.js +2 -2
  40. package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +7 -5
  41. package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +2 -2
  42. package/esm2015/lib/ui/components/html-editor/html-editor.component.js +2 -2
  43. package/esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js +2 -2
  44. package/esm2015/lib/ui/components/identity/signin-button.component.js +2 -2
  45. package/esm2015/lib/ui/components/identity/signout-button.component.js +2 -2
  46. package/esm2015/lib/ui/components/identity/signup-button.component.js +2 -2
  47. package/esm2015/lib/ui/components/loading/loading.component.js +2 -2
  48. package/esm2015/lib/ui/components/spinner/spinner.component.js +2 -2
  49. package/esm2015/lib/ui/directives/native-element.directive.js +2 -2
  50. package/esm2015/lib/ui/pipes/filesize.pipe.js +2 -2
  51. package/esm2015/lib/ui/pipes/replace-text.pipe.js +2 -2
  52. package/esm2015/lib/ui/pipes/safeHtml.pipe.js +2 -2
  53. package/esm2015/lib/ui/ui.module.js +44 -37
  54. package/esm2015/lib/ui/validation/form-validation-summary.component.js +2 -2
  55. package/esm2015/lib/ui/validation/item-validation-summary.component.js +2 -2
  56. package/esm2015/lib/ui/validation/validation-summary.component.js +24 -21
  57. package/fesm2015/osovitny-anatoly.js +96 -86
  58. package/fesm2015/osovitny-anatoly.js.map +1 -1
  59. package/lib/ui/ui.module.d.ts +1 -1
  60. package/lib/ui/validation/validation-summary.component.d.ts +4 -4
  61. package/osovitny-anatoly.metadata.json +1 -1
  62. package/package.json +1 -1
  63. package/assets/styles/alerts.less +0 -182
  64. package/assets/styles/spinner.less +0 -64
  65. package/assets/styles/toastr.less +0 -192
@@ -1 +1 @@
1
- {"version":3,"file":"osovitny-anatoly.umd.js","sources":["../../../projects/anatoly/src/lib/core/consts/settings.ts","../../../projects/anatoly/src/lib/core/consts/urls.ts","../../../projects/anatoly/src/lib/core/go/base-go.service.ts","../../../projects/anatoly/src/lib/core/guards/once-import.guard.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/anatoly/src/lib/core/services/loading.service.ts","../../../projects/anatoly/src/lib/core/logging/logging.service.ts","../../../projects/anatoly/src/lib/core/interceptors/httpInterceptor.ts","../../../projects/anatoly/src/lib/core/convert.ts","../../../projects/anatoly/src/lib/core/localization/localization.service.ts","../../../projects/anatoly/src/lib/core/localization/localize.pipe.ts","../../../projects/anatoly/src/lib/core/localization/localizationSettings.module.ts","../../../projects/anatoly/src/lib/core/localization/localization.module.ts","../../../projects/anatoly/src/lib/core/logging/globalErrorHandler.ts","../../../projects/anatoly/src/lib/core/localization/utils.ts","../../../projects/anatoly/src/lib/core/notifications/alerts.ts","../../../projects/anatoly/src/lib/core/guid.ts","../../../projects/anatoly/src/lib/core/notifications/services/notification-service.ts","../../../projects/anatoly/src/lib/data/base/base-api.service.ts","../../../projects/anatoly/src/lib/core/services/appcontext.service.ts","../../../projects/anatoly/src/lib/core/services/idle.service.ts","../../../projects/anatoly/src/lib/core/services/web-storage.service.ts","../../../projects/anatoly/src/lib/core/services/dm.service.ts","../../../projects/anatoly/src/lib/core/services/google-analytics.service.ts","../../../projects/anatoly/src/lib/core/core.module.ts","../../../projects/anatoly/src/lib/core/subs.ts","../../../projects/anatoly/src/lib/core/utils.ts","../../../projects/anatoly/src/lib/data/base/grid/base-grid-read.service.ts","../../../projects/anatoly/src/lib/data/base/grid/base-grid-edit.service.ts","../../../projects/anatoly/src/lib/data/consts.ts","../../../projects/anatoly/src/lib/data/services/notifications/notifications-api-service.ts","../../../projects/anatoly/src/lib/data/services/billing-api.service.ts","../../../projects/anatoly/src/lib/data/data.module.ts","../../../projects/anatoly/src/lib/ui/components/billing/buyaccess-button.component.ts","../../../projects/anatoly/src/lib/ui/components/billing/subscribe-plan-button.component.ts","../../../projects/anatoly/src/lib/ui/components/billing/upgrade-plan-button.component.ts","../../../projects/anatoly/src/lib/ui/components/content-header/content-header.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/html-editor.defaultoptions.ts","../../../projects/anatoly/src/lib/ui/components/base.component.ts","../../../projects/anatoly/src/lib/ui/components/base-edit.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/base-html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/forms-html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signin-button.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signout-button.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signup-button.component.ts","../../../projects/anatoly/src/lib/ui/components/loading/loading.component.ts","../../../projects/anatoly/src/lib/ui/components/spinner/spinner.component.ts","../../../projects/anatoly/src/lib/ui/directives/native-element.directive.ts","../../../projects/anatoly/src/lib/ui/pipes/replace-text.pipe.ts","../../../projects/anatoly/src/lib/ui/pipes/filesize.pipe.ts","../../../projects/anatoly/src/lib/ui/pipes/safeHtml.pipe.ts","../../../projects/anatoly/src/lib/ui/validation/validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/validation/form-validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/validation/item-validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/ui.module.ts","../../../projects/anatoly/src/public-api.ts","../../../projects/anatoly/src/osovitny-anatoly.ts"],"sourcesContent":["/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const ContextInitState = JSON.parse(\r\n ((\r\n document.getElementById('contextInitState')\r\n ) as HTMLInputElement).getAttribute('data-contextinitstate')\r\n);\r\n\r\nexport const AppCoreSettings = JSON.parse(\r\n ((\r\n document.getElementById('appCoreSettings')\r\n ) as HTMLInputElement).getAttribute('data-appcoresettings')\r\n);\r\n","/*\r\n<file>\r\n Project:\r\n MICE\r\n\r\n Authors:\r\n Vadim Osovitny vaosovitny@deloitte.com\r\n\r\n Created:\r\n 5 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2020 Deloitte Tax. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const Urls = {\r\n // SignalR Notifications\r\n notificationsSocketUrl: '/hubs/notifications'\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n protected route: ActivatedRoute;\r\n protected router: Router;\r\n\r\n constructor(route: ActivatedRoute, router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n // this.router.navigate([this.route.url]);\r\n (window as any).location.reload();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(\r\n `${moduleName} has already been loaded. Import ${moduleName} modules in the AppModule only.`\r\n );\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 || 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","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoadingService extends BehaviorSubject<boolean> {\r\n private counter = 0;\r\n\r\n //Public\r\n public isFreezed = false;\r\n\r\n constructor() {\r\n super(false);\r\n }\r\n\r\n show() {\r\n this.counter++;\r\n\r\n let that = this;\r\n setTimeout(() => {\r\n if (that.counter > 0) {\r\n that.next(true);\r\n }\r\n }, 500);\r\n }\r\n\r\n hide() {\r\n if (this.counter <= 0) {\r\n return;\r\n }\r\n\r\n this.counter--;\r\n\r\n if (this.counter == 0) {\r\n this.next(false);\r\n }\r\n }\r\n\r\n freeze(timeout: number = 1000) {\r\n this.isFreezed = true;\r\n\r\n let that = this;\r\n setTimeout(() => {\r\n this.isFreezed = false;\r\n }, timeout);\r\n }\r\n\r\n reset() {\r\n if (this.counter > 0) {\r\n this.next(false);\r\n }\r\n\r\n this.counter = 0;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoggingService {\r\n constructor() {}\r\n\r\n logError(error) {\r\n console.error(error);\r\n }\r\n\r\n logInformation(info) {\r\n console.info(info);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 25 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\n\r\n// RxJS\r\nimport {tap} from 'rxjs/operators';\r\nimport {Observable} from 'rxjs';\r\n\r\n// App\r\nimport {AppCoreSettings} from '../consts/settings';\r\nimport {LoadingService} from '../services/loading.service';\r\nimport {LoggingService} from '../logging/logging.service';\r\n\r\n@Injectable()\r\nexport class AnatolyHttpInterceptor implements HttpInterceptor {\r\n protected longRunningExceptionsList = [];\r\n protected autoCDNSASTokenUrls = ['chunks', 'resources'];\r\n protected externalSiteUrls = ['azurewebsites.net'];\r\n\r\n constructor(protected loadingService: LoadingService, protected loggingService: LoggingService) {\r\n }\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const isCDNEnabled = AppCoreSettings.IsCDNEnabled;\r\n const cdnSasToken = AppCoreSettings.CDNSASToken;\r\n\r\n const isLoadingFreezed = this.loadingService.isFreezed; \r\n const authorizationTokenRequired = true;\r\n const url = req.url.toLowerCase();\r\n const originalUrl = req.url;\r\n let isExternalSite = false;\r\n let loadingRequired = !isLoadingFreezed;\r\n\r\n if (!isLoadingFreezed) {\r\n for (const i of this.longRunningExceptionsList) {\r\n if (url.indexOf(this.longRunningExceptionsList[i]) >= 0) {\r\n loadingRequired = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (isCDNEnabled) {\r\n for (const i of this.autoCDNSASTokenUrls) {\r\n if (url.indexOf(this.autoCDNSASTokenUrls[i]) >= 0) {\r\n req = req.clone({ url: originalUrl + cdnSasToken });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n for (const i of this.externalSiteUrls) {\r\n if (url.indexOf(this.externalSiteUrls[i]) >= 0) {\r\n isExternalSite = true;\r\n break;\r\n }\r\n }\r\n\r\n // VadimOS: IE11-fix\r\n if (url.indexOf('/api/') > -1) {\r\n let newUrl = '';\r\n const t = new Date().getTime().toString();\r\n\r\n if (url.indexOf('?') > -1) {\r\n newUrl = originalUrl + '&t=' + t;\r\n } else {\r\n newUrl = originalUrl + '?t=' + t;\r\n }\r\n\r\n req = req.clone({ url: newUrl });\r\n }\r\n\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/json') });\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/text') });\r\n\r\n this.onRequestStart(loadingRequired);\r\n\r\n return next.handle(req).pipe(\r\n tap(\r\n (event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.onRequestEnd(loadingRequired);\r\n }\r\n },\r\n (err: any) => {\r\n this.onRequestEnd(loadingRequired);\r\n this.loggingService.logError(err);\r\n }\r\n )\r\n );\r\n }\r\n\r\n onRequestStart(loadingRequired: boolean) {\r\n if (loadingRequired) {\r\n this.loadingService.show();\r\n }\r\n }\r\n\r\n onRequestEnd(loadingRequired: boolean) {\r\n if (loadingRequired) {\r\n this.loadingService.hide();\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 June 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Convert {\r\n public static toLocalizedDateTime(value: Date): Date | null {\r\n if (value) {\r\n return new Date(\r\n Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(),\r\n value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds())\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 05 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n//Date fns\r\nimport { format, isValid, formatDistanceToNow, formatDistance } from 'date-fns';\r\nimport { utcToZonedTime } from 'date-fns-tz';\r\n\r\n// VadimOS: IE11-fix. DON'T change next imports!\r\n// Reason: https://github.com/date-fns/date-fns/issues/666\r\nimport enUS from 'date-fns/locale/en-US';\r\n\r\n// App\r\nimport {AppCoreSettings} from '../consts/settings';\r\nimport {Convert} from '../convert';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizationService {\r\n dateFnsLocale: any;\r\n\r\n constructor(private translate: TranslateService) {\r\n this.setSupportedLanguages(['en']);\r\n }\r\n\r\n private format(str: string, args) {\r\n return str.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] != 'undefined'\r\n ? args[number]\r\n : match\r\n ;\r\n });\r\n };\r\n\r\n configureTranslationSettings(translate: TranslateService): string {\r\n const languageToSet = 'en';\r\n this.dateFnsLocale = { locale: enUS };\r\n\r\n translate.setDefaultLang(languageToSet);\r\n return languageToSet;\r\n }\r\n\r\n getBrowserLanguage(): string {\r\n return this.translate.getBrowserLang();\r\n }\r\n\r\n getDatefnsLocale(): any {\r\n let dfnLocale: any;\r\n\r\n switch (this.getBrowserLanguage()) {\r\n case 'en':\r\n dfnLocale = { locale: enUS };\r\n break;\r\n\r\n default:\r\n dfnLocale = { locale: enUS };\r\n }\r\n\r\n return dfnLocale;\r\n }\r\n\r\n setDefaultLanguage(lang: string): void {\r\n this.translate.setDefaultLang(lang);\r\n }\r\n\r\n setSupportedLanguages(languages: string[]): void {\r\n this.translate.addLangs(languages);\r\n }\r\n\r\n updateLanguage(language: string): void {\r\n this.translate.use(language);\r\n }\r\n\r\n getLocalizedValue(key: string, params?: any[]): string {\r\n const value = this.translate.instant(key);\r\n\r\n if (!params || params.length === 0) {\r\n return value;\r\n }\r\n\r\n return this.format(value, params);\r\n }\r\n\r\n getLocalizedDate(key: string): string {\r\n if (isValid(new Date(key))) {\r\n return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDateTime(key: string) {\r\n let dateValue = new Date(key);\r\n if (isValid(dateValue)) {\r\n let localDate = Convert.toLocalizedDateTime(dateValue);\r\n return format(localDate, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDistanceInWords(endedDate: string, startedDate: string): string {\r\n if (isValid(new Date(endedDate)) && isValid(new Date(startedDate))) {\r\n return formatDistance(new Date(endedDate), new Date(startedDate), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDistanceToNowInWords(date: string): string {\r\n if (isValid(new Date(date))) {\r\n return formatDistanceToNow(new Date(date), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n //UTC Operations --------------------------------------------------------------\r\n getUTCToLocalizedDate(key: string) {\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\r\n if (key) {\r\n if (key.indexOf(\"T\") == -1) {\r\n key = key.replace(\" \", \"T\");\r\n }\r\n if (key.indexOf(\"Z\") == -1) {\r\n key = key + \"Z\";\r\n }\r\n }\r\n\r\n if (browserTimeZone) {\r\n let localDateTime = utcToZonedTime(key, browserTimeZone);\r\n return format(localDateTime, 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n else {\r\n return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n }\r\n\r\n getUTCToLocalizedDateTime(key: string) {\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\r\n if (key) {\r\n if (key.indexOf(\"T\") == -1) {\r\n key = key.replace(\" \", \"T\");\r\n }\r\n if (key.indexOf(\"Z\") == -1) {\r\n key = key + \"Z\";\r\n }\r\n }\r\n\r\n if (browserTimeZone) {\r\n let localDateTime = utcToZonedTime(key, browserTimeZone);\r\n return format(localDateTime, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n else {\r\n return format(new Date(key), 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n }\r\n\r\n //https://date-fns.org/v1.30.1/docs/distanceInWords\r\n getUTCToLocalizedDistanceToNowInWords(date: string): string {\r\n date = this.safeUtcToZonedTime(date);\r\n\r\n if (isValid(new Date(date))) {\r\n return formatDistanceToNow(new Date(date), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n \r\n\r\n safeUtcToZonedTime(date): string {\r\n let result = date;\r\n\r\n try\r\n {\r\n if (date) {\r\n if (date.indexOf(\"T\") == -1) {\r\n date = date.replace(\" \", \"T\");\r\n }\r\n\r\n if (date.indexOf(\"Z\") == -1) {\r\n date = date + \"Z\";\r\n }\r\n }\r\n\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n if (browserTimeZone) {\r\n result = utcToZonedTime(date, browserTimeZone).toString();\r\n }\r\n else {\r\n result = new Date(date).toString();\r\n }\r\n }\r\n catch\r\n {\r\n if (date) {\r\n console.log(\"UTC to Local conversion failed for :\" + date.toString())\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 10 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n//App\r\nimport { LocalizationService } from './localization.service';\r\n\r\n@Pipe({\r\n name: 'localize'\r\n})\r\nexport class LocalizePipe implements PipeTransform {\r\n constructor(private localizeService: LocalizationService) {\r\n }\r\n\r\n transform(inputData: string, type: string, param2?: string): string {\r\n if (!inputData) {\r\n return;\r\n }\r\n\r\n if (!type) {\r\n type = 'tr';\r\n }\r\n\r\n //Translate\r\n if (type === 'tr') {\r\n return this.localizeService.getLocalizedValue(inputData);\r\n }\r\n\r\n //Date\r\n if (type === 'd') {\r\n return this.localizeService.getLocalizedDate(inputData);\r\n }\r\n\r\n //DateTime\r\n if (type === 'dt') {\r\n return this.localizeService.getLocalizedDateTime(inputData);\r\n }\r\n\r\n //DistanceInWords\r\n if (type === 'dis') {\r\n return this.localizeService.getLocalizedDistanceInWords(inputData, param2);\r\n }\r\n\r\n //DistanceToNowInWords\r\n if (type === 'dis2now') {\r\n return this.localizeService.getLocalizedDistanceToNowInWords(inputData);\r\n }\r\n\r\n //UTC Operations --------------------------------------------------------------\r\n //UTC Date\r\n if (type === 'u2d') {\r\n return this.localizeService.getUTCToLocalizedDate(inputData);\r\n }\r\n\r\n //UTC DateTime\r\n if (type === 'u2dt') {\r\n return this.localizeService.getUTCToLocalizedDateTime(inputData);\r\n }\r\n\r\n //UTC DistanceToNowInWords\r\n if (type === 'u2dis2now') {\r\n return this.localizeService.getUTCToLocalizedDistanceToNowInWords(inputData);\r\n }\r\n\r\n return inputData;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 05 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, Injector, APP_INITIALIZER } from '@angular/core';\r\nimport { LOCATION_INITIALIZED } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\n\r\n//App\r\nimport { LocalizationService } from './localization.service';\r\nimport { AppCoreSettings } from '../consts/settings';\r\n\r\nexport function customTranslateLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, AppCoreSettings.resourcesUrl + \"/\", '.json');\r\n}\r\n\r\nexport function localizationInitializerFactory(translate: TranslateService, localizationService: LocalizationService, injector: Injector) {\r\n return () => new Promise<any>((resolve: any) => {\r\n let locationInitialized = injector.get(LOCATION_INITIALIZED, Promise.resolve(null));\r\n locationInitialized.then(() => {\r\n let languageToSet = localizationService.configureTranslationSettings(translate);\r\n translate.use(languageToSet).subscribe(() => {\r\n },\r\n () => {\r\n resolve(null);\r\n },\r\n () => {\r\n resolve(null);\r\n });\r\n });\r\n });\r\n}\r\n\r\nexport const TranslateModuleAtRoot = TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: customTranslateLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n});\r\n\r\nexport let LocalizationInjectorInstance: Injector; \r\n\r\n@NgModule({\r\n imports: [\r\n TranslateModuleAtRoot\r\n ],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: localizationInitializerFactory,\r\n deps: [TranslateService, LocalizationService, Injector],\r\n multi: true\r\n }\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class LocalizationSettingsModule {\r\n constructor(private injector: Injector) {\r\n LocalizationInjectorInstance = this.injector;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n// Pipes\r\nimport { LocalizePipe } from './localize.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n TranslateModule\r\n ],\r\n exports: [\r\n TranslateModule,\r\n LocalizePipe\r\n ],\r\n declarations: [\r\n LocalizePipe\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class LocalizationModule {\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n/*\r\n https://medium.com/@amcdnl/global-error-handling-with-angular2-6b992bdfb59c\r\n https://medium.com/angular-in-depth/expecting-the-unexpected-best-practices-for-error-handling-in-angular-21c3662ef9e4\r\n*/\r\n\r\n// Node\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\n\r\n// App\r\nimport { LoggingService } from \"./logging.service\";\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n constructor(private injector: Injector) {}\r\n\r\n handleError(error) {\r\n const loggingService = this.injector.get(LoggingService);\r\n loggingService.logError(error);\r\n\r\n // IMPORTANT: Rethrow the error otherwise it gets swallowed\r\n throw error;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 2 July 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// App\r\nimport { LocalizationInjectorInstance } from './localizationSettings.module';\r\nimport { LocalizationService } from './localization.service';\r\n\r\nexport class L10nUtils {\r\n // @dynamic\r\n static get localizationService(): LocalizationService {\r\n const ns = LocalizationInjectorInstance.get<LocalizationService>(LocalizationService);\r\n return ns;\r\n }\r\n\r\n public static getLocalizedValue(key: string, params?: any[], defaultKey?: string) {\r\n // VadimOS: DON'T CHANGE THIS CODE. NEED TO BE REVIEWED AND APPROVED BY VADIMOS\r\n // defaultKey definition:\r\n // if key is empty and defaultKey is defined => get localization for defaultKey\r\n // Example: cancel()\r\n if (!key && defaultKey) {\r\n return this.localizationService.getLocalizedValue(defaultKey);\r\n }\r\n\r\n // VadimOS:\r\n // if key is not empty value MUST be in localization table, othewise we will return key\r\n if (key) {\r\n const value = this.localizationService.getLocalizedValue(key, params);\r\n return value;\r\n }\r\n\r\n return key;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 3 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { L10nUtils } from '../localization/utils';\r\n\r\nexport class Alerts {\r\n public static success(text?, params?: any[], title?, successAction?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Success');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'success',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n })\r\n .then(() => {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n }\r\n\r\n public static info(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title, null, 'Info');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'info',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static warning(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title, null, 'Warning');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'warning',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static error(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Error');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'error',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static cancel(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Cancelled');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'info'\r\n })\r\n }\r\n\r\n public static notImplemented() {\r\n this.warning('Not Implemented Yet');\r\n };\r\n\r\n public static areYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n text = L10nUtils.getLocalizedValue(text);\r\n title = L10nUtils.getLocalizedValue(title, null, 'AreYouSure');\r\n confirmButtonText = L10nUtils.getLocalizedValue(confirmButtonText, null, 'AreYouSure-ConfirmButtonText');\r\n cancelButtonText = L10nUtils.getLocalizedValue(cancelButtonText, null, 'AreYouSure-CancelButtonText');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'warning',\r\n confirmButtonText,\r\n cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport class Guid {\r\n public static newGuid() {\r\n return uuidv4();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 2 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {ToastrService} from 'ngx-toastr';\r\n\r\n// RxJs\r\nimport {BehaviorSubject} from 'rxjs';\r\n\r\n// App\r\nimport { L10nUtils } from '../../localization/utils';\r\nimport { Guid } from '../../guid';\r\nimport { INotification } from '../interfaces/notification';\r\n\r\n// SignalR\r\n// import * as signalR from '@microsoft/signalr';\r\n// import { NotificationsApiService } from '../../../data/services/notifications/notifications-api-service';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class NotificationService {\r\n // SignalR\r\n // private hubConnection: signalR.HubConnection;\r\n // private socketUrl: string;\r\n\r\n // Notifications\r\n private _sessionNotifications = new BehaviorSubject<INotification[]>([]);\r\n private _serverNotifications = new BehaviorSubject<INotification[]>([]);\r\n\r\n // Public\r\n readonly sessionNotifications$ = this._sessionNotifications.asObservable();\r\n readonly serverNotifications$ = this._serverNotifications.asObservable();\r\n\r\n constructor(private toastrService: ToastrService) {\r\n // this.onInit();\r\n }\r\n\r\n /*\r\n onInit() {\r\n if (AppCoreSettings.AzureAD) {\r\n this.authService.getAuthToken().subscribe((token: string) => {\r\n this.startSignalRConnection(token);\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.startSignalRConnection();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopSignalRConnection();\r\n }\r\n\r\n // SignalR\r\n private startSignalRConnection(accessToken?) {\r\n const cskii = AppCoreSettings.selectedClientID;\r\n // tslint:disable-next-line:variable-name\r\n const cskii_upn = AppCoreSettings.CSKII_UPN;\r\n // tslint:disable-next-line:variable-name\r\n const cli_sessionguid = AppCoreSettings.CLI_SessionGUID;\r\n\r\n const url = this.socketUrl + '?cskii=' + cskii + '&cskii_upn=' + cskii_upn + '&cli_sessionguid=' + cli_sessionguid;\r\n\r\n if (accessToken) {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(url, {\r\n skipNegotiation: false,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n accessTokenFactory: () => accessToken\r\n })\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .build();\r\n }\r\n else {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.socketUrl, {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .build();\r\n }\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => this.signalRConnection_onSuccess())\r\n .catch(err => {\r\n console.error('Connection failed to SignalR Notification Hub')\r\n })\r\n }\r\n\r\n private signalRConnection_onSuccess() {\r\n this.addReceiveMessageDataListener();\r\n\r\n this.notificationsApiService.retrieveNotifications().subscribe(data => {\r\n this.serverNotifications = data;\r\n });\r\n }\r\n\r\n stopSignalRConnection() {\r\n if (this.hubConnection) {\r\n this.hubConnection.stop();\r\n this.hubConnection = null;\r\n }\r\n }\r\n\r\n private addReceiveMessageDataListener = () => {\r\n this.hubConnection.on('ReceiveMessage', (message) => {\r\n if (message) {\r\n if (message.type === 'error') {\r\n this.error(message.text, null, null, false);\r\n }\r\n else {\r\n this.success(message.text, null, null, false);\r\n }\r\n\r\n const notification = {\r\n id: message.id,\r\n isNew: message.isNew,\r\n isSession: true,\r\n text: message.text,\r\n type: message.type,\r\n createdDate: message.createdDate\r\n };\r\n\r\n this.addSessionNotificationToList(notification);\r\n }\r\n });\r\n }\r\n */\r\n\r\n private addSessionNotification(text: string, type: string) {\r\n const id = Guid.newGuid();\r\n const notification = { id, isNew: true, isSession: true, text, type, createdDate: new Date(Date.now()).toISOString() };\r\n\r\n this.addSessionNotificationToList(notification);\r\n }\r\n\r\n private addSessionNotificationToList(notification: INotification) {\r\n this.sessionNotifications = [\r\n notification,\r\n ...this.sessionNotifications,\r\n ];\r\n }\r\n\r\n // Public API\r\n removeNotification(id: string, isSession: boolean) {\r\n if (isSession) {\r\n this.sessionNotifications = this.sessionNotifications.filter(notifications => notifications.id !== id);\r\n }\r\n else {\r\n this.serverNotifications = this.serverNotifications.filter(notifications => notifications.id !== id);\r\n }\r\n }\r\n\r\n success(text?, params?: any[], title?, createSessionNotification: boolean = true) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.success(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n\r\n if (createSessionNotification) {\r\n this.addSessionNotification(text, 'success');\r\n }\r\n }\r\n\r\n info(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.info(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n warning(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.warning(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n error(text?, params?: any[], title?, createSessionNotification: boolean = true) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.error(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n\r\n if (createSessionNotification) {\r\n this.addSessionNotification(text, 'error');\r\n }\r\n }\r\n\r\n cancel(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.info(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n // SessionNotifications\r\n get sessionNotifications(): INotification[] {\r\n return this._sessionNotifications.getValue();\r\n }\r\n set sessionNotifications(val: INotification[]) {\r\n this._sessionNotifications.next(val);\r\n }\r\n\r\n // ServerNotifications\r\n get serverNotifications(): INotification[] {\r\n return this._serverNotifications.getValue();\r\n }\r\n set serverNotifications(val: INotification[]) {\r\n this._serverNotifications.next(val);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n//App\r\nimport { AppCoreSettings } from '../../core/consts/settings';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //api\r\n get<T>(action: string, data?: any, responseType?): Observable<T> {\r\n if (!responseType) {\r\n responseType = 'json';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.get<T>(url, { responseType: responseType }).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n post(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}`;\r\n return this.http.post(url, data, { responseType: responseType });\r\n }\r\n\r\n postQS(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: responseType });\r\n }\r\n\r\n delete(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.delete(url, { responseType: responseType });\r\n }\r\n\r\n //gets\r\n getExternalTextFile(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n getExternalJsonFile(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n getJsonFile(fileName: string): Observable<any[]> {\r\n const jsonsUrl = AppCoreSettings.jsonsUrl;\r\n const jsonVersion = AppCoreSettings.jsonVersion;\r\n const isCDNEnabled = AppCoreSettings.isCDNEnabled;\r\n const cdnSasToken = AppCoreSettings.cdnSasToken;\r\n let url = \"\";\r\n\r\n if (isCDNEnabled) {\r\n url = jsonsUrl + \"/\" + fileName + cdnSasToken;\r\n }\r\n else {\r\n url = jsonsUrl + \"/\" + fileName + '?' + jsonVersion;\r\n } \r\n\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {Subscription} from 'rxjs';\r\n// App\r\nimport {ContextInitState} from '../consts/settings';\r\nimport {BaseApiService} from '../../data/base/base-api.service';\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n private current = null;\r\n private successes = [];\r\n private subscription: Subscription = null;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = '/api/appContext';\r\n }\r\n\r\n getCurrent(success: Function) {\r\n if (typeof success == 'undefined') {\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n success(this.current);\r\n return;\r\n }\r\n\r\n this.successes.push(success);\r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n this.subscription = this.get('GetCurrentContext', null).subscribe(\r\n (data) => {\r\n this.dataReceived(data);\r\n },\r\n (e) => {}\r\n );\r\n }\r\n\r\n dataReceived(data) {\r\n this.current = data;\r\n\r\n for (let i = 0; i < this.successes.length; i++) {\r\n let success = this.successes[i];\r\n success(data);\r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n this.current = null;\r\n }\r\n\r\n isUserSignedIn() {\r\n return ContextInitState.isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return ContextInitState.isUserAdmin;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\n\r\n//RxJs\r\nimport { Observable, fromEvent, merge, Subject, timer } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IdleService {\r\n private idle$: Observable<any>;\r\n private timer$;\r\n private idleSubscription;\r\n\r\n //Dates/Timeouts\r\n private startDate;\r\n private timeOutSeconds: number;\r\n private timeOutMilliSeconds: number;\r\n\r\n public expired$: Subject<boolean> = new Subject<boolean>();\r\n\r\n //Private\r\n private resetTimeCounters(timeOutSeconds) {\r\n this.timeOutSeconds = timeOutSeconds;\r\n this.timeOutMilliSeconds = timeOutSeconds * 1000;\r\n this.startDate = new Date();\r\n }\r\n\r\n private startTimer() {\r\n this.timer$ = timer(this.timeOutMilliSeconds, 1 * 1000).subscribe((res) => {\r\n let nowDate = new Date();\r\n let exiredDate = new Date(this.startDate.getTime() + this.timeOutMilliSeconds);\r\n\r\n if (nowDate.getTime() >= exiredDate.getTime()) {\r\n //console.log(\"nowDate: \" + nowDate);\r\n //console.log(\"exiredDate: \" + exiredDate);\r\n\r\n this.expired$.next(true);\r\n }\r\n });\r\n }\r\n\r\n private resetTimer() {\r\n this.startDate = new Date();\r\n }\r\n\r\n //Public\r\n public startWatching(timeOutSeconds): Observable<any> {\r\n this.idle$ = merge(\r\n fromEvent(document, 'mousemove'),\r\n fromEvent(document, 'click'),\r\n fromEvent(document, 'mousedown'),\r\n fromEvent(document, 'keypress'),\r\n fromEvent(document, 'DOMMouseScroll'),\r\n fromEvent(document, 'mousewheel'),\r\n fromEvent(document, 'touchmove'),\r\n fromEvent(document, 'MSPointerMove'),\r\n fromEvent(window, 'mousemove'),\r\n fromEvent(window, 'resize'),\r\n );\r\n \r\n this.resetTimeCounters(timeOutSeconds);\r\n\r\n this.idleSubscription = this.idle$.subscribe((res) => {\r\n this.resetTimer();\r\n });\r\n\r\n this.startTimer();\r\n return this.expired$;\r\n }\r\n\r\n public stopWatching() {\r\n this.timer$.unsubscribe();\r\n this.idleSubscription.unsubscribe();\r\n }\r\n\r\n public restartIdleTimer(timeOutSeconds) {\r\n this.timer$.unsubscribe();\r\n\r\n this.resetTimeCounters(timeOutSeconds);\r\n this.startTimer();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport {Injectable} from '@angular/core';\r\n\r\n//App\r\nimport {AppCoreSettings} from '../consts/settings';\r\n\r\nclass WebStorageService {\r\n storage: any;\r\n\r\n constructor(storage: string) {\r\n this.storage =\r\n storage === 'local' || storage === 'localStorage'\r\n ? localStorage\r\n : sessionStorage;\r\n }\r\n\r\n setItem(key, value) {\r\n this.storage.setItem(key, value);\r\n }\r\n\r\n setObject(key, value) {\r\n this.storage.setItem(key, JSON.stringify(value));\r\n }\r\n\r\n getItem(key) {\r\n return this.storage.getItem(key);\r\n }\r\n\r\n getObject(key) {\r\n let value = this.storage.getItem(key);\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n return JSON.parse(value);\r\n }\r\n\r\n remove(key) {\r\n this.storage.removeItem(key);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class LocalStorageService extends WebStorageService {\r\n constructor() {\r\n super('localStorage');\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SessionStorageService extends WebStorageService {\r\n constructor() {\r\n super('sessionStorage');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Щсе 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Title, Meta, MetaDefinition } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DigitalMarketingService {\r\n constructor(\r\n private title: Title,\r\n private meta: Meta,\r\n @Inject(DOCUMENT) private dom: any,\r\n ) {\r\n }\r\n\r\n updateTitle(title?: string) {\r\n this.title.setTitle(title);\r\n }\r\n\r\n updateDescription(desc?: string) {\r\n this.meta.updateTag({ name: 'description', content: desc });\r\n }\r\n\r\n updateKeywords(keywords?: any) {\r\n this.meta.updateTag({ name: 'keywords', content: keywords });\r\n }\r\n\r\n updateMetaTags(meta: MetaDefinition[]) {\r\n meta.forEach(m => this.meta.updateTag(m));\r\n }\r\n\r\n setCanonicalUrl(url?: string) {\r\n const canUrl = url === undefined ? this.dom.URL : url;\r\n const link: HTMLLinkElement = this.dom.createElement('link');\r\n link.setAttribute('rel', 'canonical');\r\n this.dom.head.appendChild(link);\r\n link.setAttribute('href', canUrl);\r\n }\r\n\r\n updateCanonicalUrl(url?: string) {\r\n const canUrl = url === undefined ? this.dom.URL : url;\r\n const head = this.dom.getElementsByTagName('head')[0];\r\n let link: HTMLLinkElement = this.dom.querySelector(`link[rel='canonical']`) || null;\r\n\r\n if (link == null) {\r\n link = this.dom.createElement('link') as HTMLLinkElement;\r\n head.appendChild(link);\r\n }\r\n\r\n link.setAttribute('rel', 'canonical');\r\n link.setAttribute('href', canUrl);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Nov 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class GoogleAnalyticsService {\r\n private subscription: Subscription;\r\n\r\n constructor(private router: Router) { \r\n /*\r\n https://yashints.dev/blog/2019/02/12/angular-ga-tagmanager\r\n https://developers.google.com/analytics/devguides/collection/gtagjs/pages\r\n https://developers.google.com/analytics/devguides/collection/upgrade/analyticsjs\r\n */\r\n }\r\n\r\n public subscribe() {\r\n this.subscription = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if ((<any>window).ga) {\r\n (<any>window).ga('set', 'page', event.urlAfterRedirects);\r\n (<any>window).ga('send', 'pageview');\r\n }\r\n }\r\n });\r\n }\r\n\r\n public unsubscribe() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import {Injector, NgModule, Optional, SkipSelf} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n//Logging\r\nimport {LoggingService} from './logging/logging.service';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\nimport { LoadingService } from './services/loading.service';\r\nimport { DigitalMarketingService } from './services/dm.service';\r\nimport { GoogleAnalyticsService } from './services/google-analytics.service';\r\nimport { LocalStorageService, SessionStorageService } from './services/web-storage.service';\r\n\r\n//notifications\r\nimport {NotificationService} from './notifications/services/notification-service';\r\n\r\n//Guards\r\nimport {throwIfAlreadyLoaded} from './guards/once-import.guard';\r\n\r\nexport let InjectorInstance: Injector;\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [\r\n LoggingService,\r\n NotificationService,\r\n AppContextService,\r\n LoadingService,\r\n DigitalMarketingService,\r\n GoogleAnalyticsService,\r\n LocalStorageService,\r\n SessionStorageService\r\n ],\r\n})\r\nexport class AnatolyCoreModule {\r\n constructor(private injector: Injector, @Optional() @SkipSelf() parentModule: AnatolyCoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'AnatolyCoreModule');\r\n\r\n InjectorInstance = this.injector;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport {Subscription} from 'rxjs';\r\n\r\nexport class Subs {\r\n private subs: Subscription[] = [];\r\n\r\n constructor() {}\r\n\r\n add(...subscriptions: Subscription[]) {\r\n this.subs = this.subs.concat(subscriptions);\r\n }\r\n\r\n set sink(subscription: Subscription) {\r\n this.subs.push(subscription);\r\n }\r\n\r\n unsubscribe() {\r\n this.subs.forEach((sub) => sub && sub.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 19 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static getValueByNameInQS(name) {\r\n return Utils.getValueByName(location.search, name);\r\n }\r\n\r\n public static getValueByName(url, name) {\r\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n // tslint:disable-next-line:one-variable-per-declaration\r\n const regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)'),\r\n\r\n results = regex.exec(url);\r\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n }\r\n\r\n public static copyToClipBoard(event: any, val: string) {\r\n event.preventDefault();\r\n\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n }\r\n\r\n public static downloadFile(name: string, url: string) {\r\n const link = document.createElement('a');\r\n link.download = name;\r\n link.href = url;\r\n link.click();\r\n }\r\n\r\n public static downloadBlobFile(value: Blob, fileName: string) {\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(value, fileName);\r\n } else {\r\n const downloadURL = window.URL.createObjectURL(value);\r\n Utils.downloadFile(fileName, downloadURL);\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseGridReadService extends BehaviorSubject<any[]> {\r\n protected data: any[] = []; \r\n protected baseReadUrl: string;\r\n protected savedReadParams: any; \r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n }\r\n\r\n serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n read(params?: any, success?: Function, error?: Function) {\r\n if (this.data.length) {\r\n return super.next(this.data);\r\n }\r\n\r\n var url = this.baseReadUrl;\r\n\r\n if (typeof params === 'undefined') {\r\n params = this.savedReadParams;\r\n }\r\n\r\n if (params) {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n this.http.get(url).pipe(map(res => <any[]>res)).subscribe(\r\n data => {\r\n super.next(data);\r\n if (success) success();\r\n },\r\n e => {\r\n if (error) error(e);\r\n },\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//RxJs\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n//App\r\nimport { BaseGridReadService } from \"./base-grid-read.service\";\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BaseGridReadService {\r\n protected baseUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n resetItem(dataItem: any) {\r\n if (!dataItem) { return; }\r\n\r\n //find orignal data item\r\n const originalDataItem = this.data.find(item => item.Id === dataItem.Id);\r\n\r\n //revert changes\r\n Object.assign(originalDataItem, dataItem);\r\n super.next(this.data);\r\n }\r\n\r\n save(data: any, isNew: boolean, sucess?: Function) {\r\n const action = isNew ? 'add' : 'update';\r\n\r\n this.reset();\r\n this.post(action, data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n delete(data: any, sucess?: Function) {\r\n this.reset();\r\n\r\n const url = `${this.baseUrl}/delete${this.serializeParams(data)}`;\r\n return this.http.delete(url).subscribe(\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n },\r\n () => {\r\n this.read();\r\n }\r\n );\r\n }\r\n\r\n post(action: any, data?: any): Observable<any[]> {\r\n const url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 30 April 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const consts = {\r\n billingApiPath: 'api/billing',\r\n\r\n // Notifications API\r\n notificationsApiPath: 'api/notifications',\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 30 April 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n// RxJS\r\nimport {Observable} from 'rxjs';\r\n\r\n// App\r\nimport { INotification } from '../../../core/notifications/interfaces/notification';\r\nimport { BaseApiService } from '../../base/base-api.service';\r\nimport { consts } from '../../consts';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationsApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = consts.notificationsApiPath;\r\n }\r\n\r\n retrieveNotifications(): Observable<INotification[]> {\r\n return this.get('retrieveNotifications');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//App\r\nimport { BaseApiService } from \"../base/base-api.service\";\r\nimport { consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = consts.billingApiPath;\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS(\"requestNewSubscription\", { requestedPlan: requestedPlan }).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS(\"cancelRequestedSubscription\", null).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS(\"buyAccess\", { requestedPlan: requestedPlan }).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport {NgModule, Optional, SkipSelf} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n//App\r\nimport { BillingApiService } from './services/billing-api.service';\r\nimport { throwIfAlreadyLoaded } from '../core/guards/once-import.guard';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n BillingApiService\r\n ],\r\n})\r\nexport class AnatolyDataModule {\r\n constructor(@Optional() @SkipSelf() parentModule: AnatolyDataModule) {\r\n throwIfAlreadyLoaded(parentModule, 'AnatolyDataModule');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Input, OnInit} from '@angular/core';\r\n// Services\r\nimport {AppContextService} from '../../../core/services/appcontext.service';\r\nimport {BillingApiService} from '../../../data/services/billing-api.service';\r\nimport {Alerts} from '../../../core/notifications/alerts';\r\n\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html',\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated = false;\r\n public isUserSignedIn = false;\r\n public currentPlan = 0;\r\n public currentPlanTitle = '';\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(\r\n private appcontext: AppContextService,\r\n private api: BillingApiService\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n const that = this;\r\n\r\n Alerts.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.success('Access Granted', null, null,() => {\r\n (window as any).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n// Services\r\nimport { AppContextService } from \"../../../core/services/appcontext.service\";\r\n\r\n@Component({\r\n selector: \"anatoly-subscribe-plan-button\",\r\n templateUrl: \"./subscribe-plan-button.component.html\",\r\n})\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated = false;\r\n public isUserSignedIn = false;\r\n public currentPlan = 0;\r\n public currentPlanTitle = \"\";\r\n public requestedPlan = 0;\r\n public requestedPlanTitle = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {}\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Input} from '@angular/core';\r\nimport {BillingApiService} from '../../../data/services/billing-api.service';\r\nimport {Alerts} from '../../../core/notifications/alerts';\r\n\r\n// Services\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html',\r\n})\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BillingApiService) {}\r\n\r\n onUpgradePlan() {\r\n const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n const that = this;\r\n\r\n Alerts.areYouSure(\r\n text,\r\n 'Change billing plan',\r\n 'Confirm change',\r\n 'Cancel',\r\n () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.success(\r\n 'Your request for changing plan has been sent.',\r\n null,null,\r\n () => {\r\n (window as any).location.reload();\r\n }\r\n );\r\n });\r\n }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-content-header\",\r\n templateUrl: \"./content-header.component.html\",\r\n})\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = \"\";\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const DefaultEditorOptions: Object = {\r\n placeholderText: \"Edit Your Content Here\",\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n moreText: {\r\n buttons: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"strikeThrough\",\r\n \"subscript\",\r\n \"superscript\",\r\n \"fontFamily\",\r\n \"fontSize\",\r\n \"textColor\",\r\n \"backgroundColor\",\r\n \"inlineClass\",\r\n \"inlineStyle\",\r\n ],\r\n },\r\n moreParagraph: {\r\n buttons: [\r\n \"alignLeft\",\r\n \"alignCenter\",\r\n \"formatOLSimple\",\r\n \"alignRight\",\r\n \"alignJustify\",\r\n \"formatOL\",\r\n \"formatUL\",\r\n \"paragraphFormat\",\r\n \"paragraphStyle\",\r\n \"lineHeight\",\r\n \"outdent\",\r\n \"indent\",\r\n \"quote\",\r\n ],\r\n },\r\n moreRich: {\r\n buttons: [\r\n \"insertLink\",\r\n \"insertImage\",\r\n \"insertTable\",\r\n \"emoticons\",\r\n \"fontAwesome\",\r\n \"specialCharacters\",\r\n \"embedly\",\r\n ],\r\n },\r\n moreMisc: {\r\n buttons: [\r\n \"selectAll\",\r\n \"clearFormatting\",\r\n \"html\",\r\n \"undo\",\r\n \"redo\",\r\n \"fullscreen\",\r\n ],\r\n align: \"right\",\r\n },\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: \"/api/HtmlEditor/UploadImage\",\r\n imageAllowedTypes: [\"jpeg\", \"jpg\", \"png\"],\r\n imageUploadParams: { uploadType: \"\", uploadParentId: \"\" },\r\n};\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnDestroy } from \"@angular/core\";\r\n\r\n//App\r\nimport { Utils } from \"../../core/utils\";\r\nimport { Subs } from \"../../core/subs\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseComponent implements OnDestroy {\r\n protected subs: Subs = new Subs();\r\n\r\n getQSId() {\r\n var id = Utils.getValueByNameInQS(\"id\");\r\n if (typeof id === \"undefined\" || id == \"\") return null;\r\n\r\n return id;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n AbstractControl,\r\n FormControl,\r\n ValidatorFn,\r\n AbstractControlOptions,\r\n AsyncValidatorFn,\r\n} from \"@angular/forms\";\r\n\r\n//App\r\nimport { BaseComponent } from \"./base.component\";\r\nimport { Utils } from \"../../core/utils\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseEditComponent extends BaseComponent {\r\n @Input() formGroup: FormGroup;\r\n @Input() formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.getValueByNameInQS(\"id\");\r\n if (typeof id === \"undefined\" || id == \"\") return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isControlValid(name: string, frmGroup: FormGroup = null) {\r\n return !this.isControlInvalid(name, frmGroup);\r\n }\r\n\r\n isControlInvalid(name: string, frmGroup: FormGroup = null) {\r\n if (typeof name === \"undefined\" || name == \"\") {\r\n return false;\r\n }\r\n\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n if (!fg) {\r\n return false;\r\n }\r\n\r\n if (fg.get(name)) {\r\n return (\r\n (this.formSubmitted && fg.get(name).invalid) ||\r\n (fg.get(name).touched && fg.get(name).invalid)\r\n );\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //FormGroup functions\r\n getFormValue(name, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n return fg.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n return fg.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.controls[groupName].get(name).setValue(value);\r\n }\r\n\r\n /**\r\n * Add control to form group\r\n * @param name\r\n * @param formControl\r\n * @param formGroup\r\n */\r\n addControl(\r\n name: string,\r\n formControl: AbstractControl,\r\n frmGroup: FormGroup = null\r\n ) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.addControl(name, formControl);\r\n }\r\n\r\n /**\r\n * Removes control from form group\r\n * @param name\r\n * @param formGroup\r\n */\r\n removeControl(name: string, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n\r\n if (fg.get(name)) {\r\n fg.removeControl(name);\r\n }\r\n }\r\n\r\n /**\r\n * return new form control\r\n * @param formState\r\n * @param validatorOrOpts\r\n * @param asyncValidator\r\n */\r\n createFormControl(\r\n formState?: any,\r\n validatorOrOpts?:\r\n | ValidatorFn\r\n | ValidatorFn[]\r\n | AbstractControlOptions\r\n | null,\r\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\r\n ) {\r\n return new FormControl(formState, validatorOrOpts, asyncValidator);\r\n }\r\n\r\n /**\r\n * Set error to control\r\n * @param controlName formControl name\r\n * @param err error expect {erroname: boolean} format\r\n * @param formGroup Specific form group. default it will apply on this.formGroup property\r\n */\r\n setControlError(controlName: string, err: {}, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.get(controlName)?.setErrors(err);\r\n }\r\n\r\n /**\r\n * Set {invalid: true} for the specified form\r\n * @param controlName form control name\r\n * @param formGroup\r\n */\r\n setInValidError(controlName: string, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.get(controlName)?.setErrors({ invalid: true });\r\n }\r\n\r\n /**\r\n * returns formgroup controls.\r\n * main use case is used in html pages\r\n */\r\n get fc() {\r\n return this.formGroup.controls;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { AfterViewInit, Injectable, Input, OnInit } from \"@angular/core\";\r\n// Custom\r\nimport { AppCoreSettings } from \"../../../core/consts/settings\";\r\nimport { BaseEditComponent } from \"../base-edit.component\";\r\nimport { DefaultEditorOptions } from \"./html-editor.defaultoptions\";\r\n\r\n@Injectable()\r\nexport abstract class BaseHtmlEditorComponent\r\n extends BaseEditComponent\r\n implements OnInit, AfterViewInit\r\n{\r\n protected froalaEditor;\r\n\r\n // Public members\r\n public options;\r\n public froalaEditorInitialized = false;\r\n public afterInitializedActions = [];\r\n\r\n // Inputs\r\n @Input() editorLabelText = \"Html\";\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n const key = AppCoreSettings.froalaEditorKey;\r\n\r\n if (key) {\r\n newOptions = $.extend(\r\n {},\r\n newOptions,\r\n JSON.parse('{ \"key\": \"' + key + '\" }')\r\n );\r\n }\r\n\r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n const that = this;\r\n setTimeout(function () {\r\n that.froalaEditorInitialized = true;\r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n // Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for (let i = 0; i < actions.length; i++) {\r\n actions[i]();\r\n }\r\n }\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor) return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n // Public Funcs\r\n public doAfterInitialized(action) {\r\n const that = this;\r\n\r\n if (!this.froalaEditorInitialized) {\r\n this.afterInitializedActions.push(() => {\r\n action(that);\r\n });\r\n } else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control;\r\n this.froalaEditor.initialize();\r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) {\r\n this.doAfterInitialized(function (that) {\r\n const editor = that.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from \"./base-html-editor.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-forms-html-editor\",\r\n templateUrl: \"./forms-html-editor.component.html\",\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent {\r\n @Input() editorFormKey: string = \"html\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setFormValueAfterInitialized(name, value) {\r\n this.doAfterInitialized(function (that) {\r\n that.setFormValue(name, value);\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from \"./base-html-editor.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-html-editor\",\r\n templateUrl: \"./html-editor.component.html\",\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signin-button\",\r\n templateUrl: \"./signin-button.component.html\",\r\n})\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {}\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signout-button\",\r\n templateUrl: \"./signout-button.component.html\",\r\n})\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {}\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signup-button\",\r\n templateUrl: \"./signup-button.component.html\",\r\n})\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 9 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Subs} from '../../../core/subs';\r\nimport {LoadingService} from '../../../core/services/loading.service';\r\n\r\n@Component({\r\n selector: 'anatoly-loading',\r\n templateUrl: './loading.component.html'\r\n})\r\nexport class LoadingComponent implements OnInit, OnDestroy {\r\n // Private\r\n private subs: Subs = new Subs();\r\n\r\n // Public\r\n show = false;\r\n\r\n constructor(private loadingService: LoadingService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.subs.sink = this.loadingService.subscribe((state) => {\r\n this.show = state;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 16 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Inject, Input, OnDestroy, ViewEncapsulation} from '@angular/core';\r\nimport {NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router} from '@angular/router';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nconst SpinnerSpinKit = {\r\n spinnerLine: 'spinner-line-material',\r\n\r\n // ToDo\r\n ChasingDots: 'spinner-chasing-dots',\r\n CubeGrid: 'spinner-cube-grid',\r\n DoubleBounce: 'spinner-double-bounce',\r\n RotatingPlane: 'spinner-rotationg-plane',\r\n SpinnerPulse: 'spinner-spinner-pulse',\r\n ThreeBounce: 'spinner-three-bounce',\r\n WanderingCubes: 'spinner-wandering-cubes',\r\n Wave: 'spinner-wave'\r\n};\r\n\r\n@Component({\r\n selector: 'spinner',\r\n templateUrl: './spinner.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SpinnerComponent implements OnDestroy {\r\n isSpinnerVisible = true;\r\n spinnerSpinKit = SpinnerSpinKit;\r\n\r\n @Input() backgroundColor = '#007CB0';\r\n @Input() spinner = SpinnerSpinKit.spinnerLine;\r\n\r\n constructor(private router: Router, @Inject(DOCUMENT) private document: Document) {\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n this.isSpinnerVisible = true;\r\n } else if (event instanceof NavigationEnd || event instanceof NavigationCancel || event instanceof NavigationError) {\r\n this.isSpinnerVisible = false;\r\n }\r\n }, () => {\r\n this.isSpinnerVisible = false;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.isSpinnerVisible = false;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 28 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControl], [formControlName]'\r\n})\r\nexport class NativeElementDirective implements OnInit {\r\n constructor(private el: ElementRef<HTMLFormElement>, private control: NgControl) {\r\n }\r\n\r\n ngOnInit() {\r\n // sets the localization key to the control\r\n (this.control.control as any).nativeElement = this.el.nativeElement;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"replaceText\",\r\n})\r\nexport class ReplaceTextPipe implements PipeTransform {\r\n transform(inputData: string, search: string, replacement: string): string {\r\n if (inputData) {\r\n return inputData.replace(new RegExp(search, \"g\"), replacement);\r\n } else {\r\n return inputData;\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filesize',\r\n})\r\nexport class FileSizePipe implements PipeTransform {\r\n private units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\r\n\r\n transform(bytes: number = 0, precision: number = 0): string {\r\n if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) return '';\r\n\r\n let unit = 0;\r\n\r\n while (bytes >= 1024) {\r\n bytes /= 1024;\r\n unit++;\r\n }\r\n\r\n return bytes.toFixed(+precision) + ' ' + this.units[unit];\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 27 Oct 2019\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\n\r\n//Custom\r\nimport { BaseEditComponent } from \"../components/base-edit.component\";\r\n\r\n\r\n@Injectable()\r\nexport abstract class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach(k => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach(k => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(child, this.getControlName(child, k)).forEach(m => messages.push(m));\r\n });\r\n }\r\n else {\r\n this.getValidationMessages(control, this.getControlName(control, k)).forEach(m => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case 'required':\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case 'minlength':\r\n messages.push(`${thing} must be at least ${state.errors[\"minlength\"].requiredLength} characters`);\r\n break;\r\n\r\n case 'pattern':\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n\r\n case 'format':\r\n messages.push(`${thing} format mismatch`);\r\n break;\r\n\r\n case 'maxlength':\r\n messages.push(`${thing} must have maximum ${state.errors[\"maxlength\"].requiredLength} characters`);\r\n break;\r\n\r\n case 'specialcharacters':\r\n messages.push(`${thing} contains special characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n\r\n /**\r\n * Get Control Name\r\n * @param control\r\n * @param thingName\r\n */\r\n getControlName(control: any, thingName?: string) {\r\n let value = this.getControlTitle(control);\r\n return value ? value : thingName;\r\n }\r\n\r\n /**\r\n * Retrieve tilte of control\r\n * @param control\r\n */\r\n getControlTitle(control: any): string {\r\n if (control?.nativeElement) {\r\n let controlTitle = this.getTitleAttribute(control.nativeElement);\r\n if (controlTitle) {\r\n return controlTitle;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Return title attribute of form control\r\n */\r\n getTitleAttribute(nativeElement: HTMLFormElement): string {\r\n let title: string;\r\n\r\n switch (nativeElement.tagName) {\r\n // For Kendo time and date picker element title is assigned to the 4th child control.\r\n case \"KENDO-TIMEPICKER\":\r\n case \"KENDO-DATEPICKER\":\r\n title = nativeElement.children[0]?.children[0]?.children[0]?.children[0]?.getAttribute('title');\r\n break;\r\n\r\n // For Kendo numaric element title is assigned to the 2nd child control.\r\n case \"KENDO-NUMERICTEXTBOX\":\r\n title = nativeElement.children[0]?.children[0]?.getAttribute('title');\r\n break;\r\n\r\n default:\r\n title = nativeElement.getAttribute('title');\r\n break;\r\n }\r\n\r\n return title;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-form-validation-summary\",\r\n templateUrl: \"./form-validation-summary.component.html\",\r\n})\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n @Input() customerrors: string[] = [];\r\n\r\n /*\r\n 0 - only FormValidation messages\r\n 1 - only Custom messages\r\n 2 - all\r\n */ \r\n @Input() viewtype: number = 0; \r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors() {\r\n if (this.viewtype == 1) {\r\n return this.customerrors;\r\n }\r\n\r\n let formValidationMessages = this.getFormValidationMessages();\r\n if (this.viewtype == 0) {\r\n return formValidationMessages;\r\n }\r\n\r\n var messages = [];\r\n if (formValidationMessages.length > 0) {\r\n messages.push(...formValidationMessages);\r\n }\r\n\r\n if (this.customerrors.length > 0) {\r\n messages.push(...this.customerrors);\r\n } \r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-item-validation-summary\",\r\n templateUrl: \"./item-validation-summary.component.html\",\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() controlName: string;\r\n @Input() controlTitle: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-20201Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\n\r\n//Froala\r\nimport {FroalaEditorModule, FroalaViewModule} from 'angular-froala-wysiwyg';\r\n\r\n//Components\r\nimport {SubscribePlanButtonComponent} from './components/billing/subscribe-plan-button.component';\r\nimport {UpgradePlanButtonComponent} from './components/billing/upgrade-plan-button.component';\r\nimport {BuyAccessButtonComponent} from './components/billing/buyaccess-button.component';\r\nimport {SignInButtonComponent} from './components/identity/signin-button.component';\r\nimport {SignUpButtonComponent} from './components/identity/signup-button.component';\r\nimport {SignOutButtonComponent} from './components/identity/signout-button.component';\r\nimport {FormValidationSummaryComponent} from './validation/form-validation-summary.component';\r\nimport {ItemValidationSummaryComponent} from './validation/item-validation-summary.component';\r\nimport {HtmlEditorComponent} from './components/html-editor/html-editor.component';\r\nimport {FormsHtmlEditorComponent} from './components/html-editor/forms-html-editor.component';\r\nimport {ContentHeaderComponent} from './components/content-header/content-header.component';\r\nimport {SpinnerComponent} from './components/spinner/spinner.component';\r\nimport {LoadingComponent} from './components/loading/loading.component';\r\nimport {NativeElementDirective} from './directives/native-element.directive';\r\n\r\n//Pipes\r\nimport {SafeHtmlPipe} from './pipes/safeHtml.pipe';\r\nimport {ReplaceTextPipe} from './pipes/replace-text.pipe';\r\nimport {FileSizePipe} from './pipes/filesize.pipe';\r\n\r\nexport const FroalaEditorModuleWithProviders = FroalaEditorModule.forRoot();\r\nexport const FroalaViewModuleWithProviders = FroalaViewModule.forRoot();\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n FroalaEditorModuleWithProviders,\r\n FroalaViewModuleWithProviders,\r\n ],\r\n exports: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent,\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent,\r\n FormValidationSummaryComponent,\r\n ItemValidationSummaryComponent,\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent,\r\n ContentHeaderComponent,\r\n SpinnerComponent,\r\n LoadingComponent,\r\n NativeElementDirective,\r\n\r\n SafeHtmlPipe,\r\n ReplaceTextPipe,\r\n FileSizePipe\r\n ],\r\n declarations: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent,\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent,\r\n FormValidationSummaryComponent,\r\n ItemValidationSummaryComponent,\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent,\r\n ContentHeaderComponent,\r\n SpinnerComponent,\r\n LoadingComponent,\r\n NativeElementDirective,\r\n\r\n SafeHtmlPipe,\r\n ReplaceTextPipe,\r\n FileSizePipe\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\r\n})\r\nexport class AnatolyUIModule {\r\n}\r\n","/*\r\n * Public API Surface of anatoly-lib\r\n */\r\n\r\n// Core\r\nexport * from './lib/core/consts/settings';\r\nexport * from './lib/core/consts/urls';\r\nexport * from './lib/core/go/base-go.service';\r\nexport * from './lib/core/guards/once-import.guard';\r\nexport * from './lib/core/interceptors/httpInterceptor';\r\nexport * from './lib/core/localization/localize.pipe';\r\nexport * from './lib/core/localization/localization.service';\r\nexport * from './lib/core/localization/localizationSettings.module';\r\nexport * from './lib/core/localization/localization.module';\r\nexport * from './lib/core/logging/globalErrorHandler';\r\nexport * from './lib/core/logging/logging.service';\r\nexport * from './lib/core/notifications/alerts';\r\nexport * from './lib/core/notifications/interfaces/notification';\r\nexport * from './lib/core/notifications/services/notification-service';\r\nexport * from './lib/core/services/appcontext.service';\r\nexport * from './lib/core/services/idle.service';\r\nexport * from './lib/core/services/loading.service';\r\nexport * from './lib/core/services/web-storage.service'\r\nexport * from './lib/core/services/dm.service'\r\nexport * from './lib/core/services/google-analytics.service'\r\nexport * from './lib/core/convert';\r\nexport * from './lib/core/core.module';\r\nexport * from './lib/core/guid';\r\nexport * from './lib/core/subs';\r\nexport * from './lib/core/utils';\r\n\r\n// Data\r\nexport * from './lib/data/base/grid/base-grid-edit.service';\r\nexport * from './lib/data/base/grid/base-grid-read.service';\r\nexport * from './lib/data/base/base-api.service';\r\nexport * from './lib/data/services/notifications/notifications-api-service';\r\nexport * from './lib/data/services/billing-api.service';\r\nexport * from './lib/data/data.module';\r\n\r\n// UI\r\nexport * from './lib/ui/components/billing/buyaccess-button.component';\r\nexport * from './lib/ui/components/billing/subscribe-plan-button.component';\r\nexport * from './lib/ui/components/billing/upgrade-plan-button.component';\r\nexport * from './lib/ui/components/content-header/content-header.component';\r\nexport * from './lib/ui/components/html-editor/html-editor.defaultoptions';\r\nexport * from './lib/ui/components/html-editor/base-html-editor.component';\r\nexport * from './lib/ui/components/html-editor/forms-html-editor.component';\r\nexport * from './lib/ui/components/html-editor/html-editor.component';\r\nexport * from './lib/ui/components/identity/signin-button.component';\r\nexport * from './lib/ui/components/identity/signout-button.component';\r\nexport * from './lib/ui/components/identity/signup-button.component';\r\nexport * from './lib/ui/components/loading/loading.component';\r\nexport * from './lib/ui/components/spinner/spinner.component';\r\nexport * from './lib/ui/components/base.component';\r\nexport * from './lib/ui/components/base-edit.component';\r\n\r\nexport * from './lib/ui/directives/native-element.directive';\r\n\r\nexport * from './lib/ui/pipes/replace-text.pipe';\r\nexport * from './lib/ui/pipes/filesize.pipe';\r\nexport * from './lib/ui/pipes/safeHtml.pipe';\r\n\r\nexport * from './lib/ui/validation/form-validation-summary.component';\r\nexport * from './lib/ui/validation/item-validation-summary.component';\r\nexport * from './lib/ui/validation/validation-summary.component';\r\nexport * from './lib/ui/ui.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","ActivatedRoute","Router","BehaviorSubject","tap","HttpResponse","enUS","isValid","format","formatDistance","formatDistanceToNow","utcToZonedTime","TranslateService","Pipe","TranslateHttpLoader","LOCATION_INITIALIZED","TranslateModule","TranslateLoader","HttpClient","LocalizationInjectorInstance","NgModule","APP_INITIALIZER","Injector","Swal","uuidv4","ToastrService","map","Subject","timer","merge","fromEvent","Title","Meta","Inject","DOCUMENT","NavigationEnd","InjectorInstance","CommonModule","Optional","SkipSelf","Component","Input","FormControl","router","NavigationStart","NavigationCancel","NavigationError","ViewEncapsulation","Directive","ElementRef","NgControl","DomSanitizer","FroalaEditorModule","FroalaViewModule","ReactiveFormsModule","FormsModule","CUSTOM_ELEMENTS_SCHEMA"],"mappings":"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"}
1
+ {"version":3,"file":"osovitny-anatoly.umd.js","sources":["../../../projects/anatoly/src/lib/core/consts/settings.ts","../../../projects/anatoly/src/lib/core/consts/urls.ts","../../../projects/anatoly/src/lib/core/go/base-go.service.ts","../../../projects/anatoly/src/lib/core/guards/once-import.guard.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/anatoly/src/lib/core/services/loading.service.ts","../../../projects/anatoly/src/lib/core/logging/logging.service.ts","../../../projects/anatoly/src/lib/core/interceptors/httpInterceptor.ts","../../../projects/anatoly/src/lib/core/convert.ts","../../../projects/anatoly/src/lib/core/localization/localization.service.ts","../../../projects/anatoly/src/lib/core/localization/localize.pipe.ts","../../../projects/anatoly/src/lib/core/localization/localizationSettings.module.ts","../../../projects/anatoly/src/lib/core/localization/localization.module.ts","../../../projects/anatoly/src/lib/core/logging/globalErrorHandler.ts","../../../projects/anatoly/src/lib/core/localization/utils.ts","../../../projects/anatoly/src/lib/core/notifications/alerts.ts","../../../projects/anatoly/src/lib/core/guid.ts","../../../projects/anatoly/src/lib/core/notifications/services/notification-service.ts","../../../projects/anatoly/src/lib/data/base/base-api.service.ts","../../../projects/anatoly/src/lib/core/services/appcontext.service.ts","../../../projects/anatoly/src/lib/core/services/idle.service.ts","../../../projects/anatoly/src/lib/core/services/web-storage.service.ts","../../../projects/anatoly/src/lib/core/services/dm.service.ts","../../../projects/anatoly/src/lib/core/services/google-analytics.service.ts","../../../projects/anatoly/src/lib/core/core.module.ts","../../../projects/anatoly/src/lib/core/subs.ts","../../../projects/anatoly/src/lib/core/utils.ts","../../../projects/anatoly/src/lib/data/base/grid/base-grid-read.service.ts","../../../projects/anatoly/src/lib/data/base/grid/base-grid-edit.service.ts","../../../projects/anatoly/src/lib/data/consts.ts","../../../projects/anatoly/src/lib/data/services/notifications/notifications-api-service.ts","../../../projects/anatoly/src/lib/data/services/billing-api.service.ts","../../../projects/anatoly/src/lib/data/data.module.ts","../../../projects/anatoly/src/lib/ui/components/billing/buyaccess-button.component.ts","../../../projects/anatoly/src/lib/ui/components/billing/subscribe-plan-button.component.ts","../../../projects/anatoly/src/lib/ui/components/billing/upgrade-plan-button.component.ts","../../../projects/anatoly/src/lib/ui/components/content-header/content-header.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/html-editor.defaultoptions.ts","../../../projects/anatoly/src/lib/ui/components/base.component.ts","../../../projects/anatoly/src/lib/ui/components/base-edit.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/base-html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/forms-html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signin-button.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signout-button.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signup-button.component.ts","../../../projects/anatoly/src/lib/ui/components/loading/loading.component.ts","../../../projects/anatoly/src/lib/ui/components/spinner/spinner.component.ts","../../../projects/anatoly/src/lib/ui/directives/native-element.directive.ts","../../../projects/anatoly/src/lib/ui/pipes/replace-text.pipe.ts","../../../projects/anatoly/src/lib/ui/pipes/filesize.pipe.ts","../../../projects/anatoly/src/lib/ui/pipes/safeHtml.pipe.ts","../../../projects/anatoly/src/lib/ui/validation/validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/validation/form-validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/validation/item-validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/ui.module.ts","../../../projects/anatoly/src/public-api.ts","../../../projects/anatoly/src/osovitny-anatoly.ts"],"sourcesContent":["/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const ContextInitState = JSON.parse(\r\n ((\r\n document.getElementById('contextInitState')\r\n ) as HTMLInputElement).getAttribute('data-contextinitstate')\r\n);\r\n\r\nexport const AppCoreSettings = JSON.parse(\r\n ((\r\n document.getElementById('appCoreSettings')\r\n ) as HTMLInputElement).getAttribute('data-appcoresettings')\r\n);\r\n","/*\r\n<file>\r\n Project:\r\n MICE\r\n\r\n Authors:\r\n Vadim Osovitny vaosovitny@deloitte.com\r\n\r\n Created:\r\n 5 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2020 Deloitte Tax. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const Urls = {\r\n // SignalR Notifications\r\n notificationsSocketUrl: '/hubs/notifications'\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n protected route: ActivatedRoute;\r\n protected router: Router;\r\n\r\n constructor(route: ActivatedRoute, router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n // this.router.navigate([this.route.url]);\r\n (window as any).location.reload();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(\r\n `${moduleName} has already been loaded. Import ${moduleName} modules in the AppModule only.`\r\n );\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 || 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","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoadingService extends BehaviorSubject<boolean> {\r\n private counter = 0;\r\n\r\n //Public\r\n public isFreezed = false;\r\n\r\n constructor() {\r\n super(false);\r\n }\r\n\r\n show() {\r\n this.counter++;\r\n\r\n let that = this;\r\n setTimeout(() => {\r\n if (that.counter > 0) {\r\n that.next(true);\r\n }\r\n }, 500);\r\n }\r\n\r\n hide() {\r\n if (this.counter <= 0) {\r\n return;\r\n }\r\n\r\n this.counter--;\r\n\r\n if (this.counter == 0) {\r\n this.next(false);\r\n }\r\n }\r\n\r\n freeze(timeout: number = 1000) {\r\n this.isFreezed = true;\r\n\r\n let that = this;\r\n setTimeout(() => {\r\n this.isFreezed = false;\r\n }, timeout);\r\n }\r\n\r\n reset() {\r\n if (this.counter > 0) {\r\n this.next(false);\r\n }\r\n\r\n this.counter = 0;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoggingService {\r\n constructor() {}\r\n\r\n logError(error) {\r\n console.error(error);\r\n }\r\n\r\n logInformation(info) {\r\n console.info(info);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 25 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\n\r\n// RxJS\r\nimport {tap} from 'rxjs/operators';\r\nimport {Observable} from 'rxjs';\r\n\r\n// App\r\nimport {AppCoreSettings} from '../consts/settings';\r\nimport {LoadingService} from '../services/loading.service';\r\nimport {LoggingService} from '../logging/logging.service';\r\n\r\n@Injectable()\r\nexport class AnatolyHttpInterceptor implements HttpInterceptor {\r\n protected longRunningExceptionsList = [];\r\n protected autoCDNSASTokenUrls = ['chunks', 'resources'];\r\n protected externalSiteUrls = ['azurewebsites.net'];\r\n\r\n constructor(protected loadingService: LoadingService, protected loggingService: LoggingService) {\r\n }\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const isCDNEnabled = AppCoreSettings.IsCDNEnabled;\r\n const cdnSasToken = AppCoreSettings.CDNSASToken;\r\n\r\n const isLoadingFreezed = this.loadingService.isFreezed; \r\n const authorizationTokenRequired = true;\r\n const url = req.url.toLowerCase();\r\n const originalUrl = req.url;\r\n let isExternalSite = false;\r\n let loadingRequired = !isLoadingFreezed;\r\n\r\n if (!isLoadingFreezed) {\r\n for (const i of this.longRunningExceptionsList) {\r\n if (url.indexOf(this.longRunningExceptionsList[i]) >= 0) {\r\n loadingRequired = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (isCDNEnabled) {\r\n for (const i of this.autoCDNSASTokenUrls) {\r\n if (url.indexOf(this.autoCDNSASTokenUrls[i]) >= 0) {\r\n req = req.clone({ url: originalUrl + cdnSasToken });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n for (const i of this.externalSiteUrls) {\r\n if (url.indexOf(this.externalSiteUrls[i]) >= 0) {\r\n isExternalSite = true;\r\n break;\r\n }\r\n }\r\n\r\n // VadimOS: IE11-fix\r\n if (url.indexOf('/api/') > -1) {\r\n let newUrl = '';\r\n const t = new Date().getTime().toString();\r\n\r\n if (url.indexOf('?') > -1) {\r\n newUrl = originalUrl + '&t=' + t;\r\n } else {\r\n newUrl = originalUrl + '?t=' + t;\r\n }\r\n\r\n req = req.clone({ url: newUrl });\r\n }\r\n\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/json') });\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/text') });\r\n\r\n this.onRequestStart(loadingRequired);\r\n\r\n return next.handle(req).pipe(\r\n tap(\r\n (event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.onRequestEnd(loadingRequired);\r\n }\r\n },\r\n (err: any) => {\r\n this.onRequestEnd(loadingRequired);\r\n this.loggingService.logError(err);\r\n }\r\n )\r\n );\r\n }\r\n\r\n onRequestStart(loadingRequired: boolean) {\r\n if (loadingRequired) {\r\n this.loadingService.show();\r\n }\r\n }\r\n\r\n onRequestEnd(loadingRequired: boolean) {\r\n if (loadingRequired) {\r\n this.loadingService.hide();\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 June 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Convert {\r\n public static toLocalizedDateTime(value: Date): Date | null {\r\n if (value) {\r\n return new Date(\r\n Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(),\r\n value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds())\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 05 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n//Date fns\r\nimport { format, isValid, formatDistanceToNow, formatDistance } from 'date-fns';\r\nimport { utcToZonedTime } from 'date-fns-tz';\r\n\r\n// VadimOS: IE11-fix. DON'T change next imports!\r\n// Reason: https://github.com/date-fns/date-fns/issues/666\r\nimport enUS from 'date-fns/locale/en-US';\r\n\r\n// App\r\nimport {AppCoreSettings} from '../consts/settings';\r\nimport {Convert} from '../convert';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizationService {\r\n dateFnsLocale: any;\r\n\r\n constructor(private translate: TranslateService) {\r\n this.setSupportedLanguages(['en']);\r\n }\r\n\r\n private format(str: string, args) {\r\n return str.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] != 'undefined'\r\n ? args[number]\r\n : match\r\n ;\r\n });\r\n };\r\n\r\n configureTranslationSettings(translate: TranslateService): string {\r\n const languageToSet = 'en';\r\n this.dateFnsLocale = { locale: enUS };\r\n\r\n translate.setDefaultLang(languageToSet);\r\n return languageToSet;\r\n }\r\n\r\n getBrowserLanguage(): string {\r\n return this.translate.getBrowserLang();\r\n }\r\n\r\n getDatefnsLocale(): any {\r\n let dfnLocale: any;\r\n\r\n switch (this.getBrowserLanguage()) {\r\n case 'en':\r\n dfnLocale = { locale: enUS };\r\n break;\r\n\r\n default:\r\n dfnLocale = { locale: enUS };\r\n }\r\n\r\n return dfnLocale;\r\n }\r\n\r\n setDefaultLanguage(lang: string): void {\r\n this.translate.setDefaultLang(lang);\r\n }\r\n\r\n setSupportedLanguages(languages: string[]): void {\r\n this.translate.addLangs(languages);\r\n }\r\n\r\n updateLanguage(language: string): void {\r\n this.translate.use(language);\r\n }\r\n\r\n getLocalizedValue(key: string, params?: any[]): string {\r\n const value = this.translate.instant(key);\r\n\r\n if (!params || params.length === 0) {\r\n return value;\r\n }\r\n\r\n return this.format(value, params);\r\n }\r\n\r\n getLocalizedDate(key: string): string {\r\n if (isValid(new Date(key))) {\r\n return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDateTime(key: string) {\r\n let dateValue = new Date(key);\r\n if (isValid(dateValue)) {\r\n let localDate = Convert.toLocalizedDateTime(dateValue);\r\n return format(localDate, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDistanceInWords(endedDate: string, startedDate: string): string {\r\n if (isValid(new Date(endedDate)) && isValid(new Date(startedDate))) {\r\n return formatDistance(new Date(endedDate), new Date(startedDate), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDistanceToNowInWords(date: string): string {\r\n if (isValid(new Date(date))) {\r\n return formatDistanceToNow(new Date(date), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n //UTC Operations --------------------------------------------------------------\r\n getUTCToLocalizedDate(key: string) {\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\r\n if (key) {\r\n if (key.indexOf(\"T\") == -1) {\r\n key = key.replace(\" \", \"T\");\r\n }\r\n if (key.indexOf(\"Z\") == -1) {\r\n key = key + \"Z\";\r\n }\r\n }\r\n\r\n if (browserTimeZone) {\r\n let localDateTime = utcToZonedTime(key, browserTimeZone);\r\n return format(localDateTime, 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n else {\r\n return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n }\r\n\r\n getUTCToLocalizedDateTime(key: string) {\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\r\n if (key) {\r\n if (key.indexOf(\"T\") == -1) {\r\n key = key.replace(\" \", \"T\");\r\n }\r\n if (key.indexOf(\"Z\") == -1) {\r\n key = key + \"Z\";\r\n }\r\n }\r\n\r\n if (browserTimeZone) {\r\n let localDateTime = utcToZonedTime(key, browserTimeZone);\r\n return format(localDateTime, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n else {\r\n return format(new Date(key), 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n }\r\n\r\n //https://date-fns.org/v1.30.1/docs/distanceInWords\r\n getUTCToLocalizedDistanceToNowInWords(date: string): string {\r\n date = this.safeUtcToZonedTime(date);\r\n\r\n if (isValid(new Date(date))) {\r\n return formatDistanceToNow(new Date(date), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n \r\n\r\n safeUtcToZonedTime(date): string {\r\n let result = date;\r\n\r\n try\r\n {\r\n if (date) {\r\n if (date.indexOf(\"T\") == -1) {\r\n date = date.replace(\" \", \"T\");\r\n }\r\n\r\n if (date.indexOf(\"Z\") == -1) {\r\n date = date + \"Z\";\r\n }\r\n }\r\n\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n if (browserTimeZone) {\r\n result = utcToZonedTime(date, browserTimeZone).toString();\r\n }\r\n else {\r\n result = new Date(date).toString();\r\n }\r\n }\r\n catch\r\n {\r\n if (date) {\r\n console.log(\"UTC to Local conversion failed for :\" + date.toString())\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 10 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n//App\r\nimport { LocalizationService } from './localization.service';\r\n\r\n@Pipe({\r\n name: 'localize'\r\n})\r\nexport class LocalizePipe implements PipeTransform {\r\n constructor(private localizeService: LocalizationService) {\r\n }\r\n\r\n transform(inputData: string, type: string, param2?: string): string {\r\n if (!inputData) {\r\n return;\r\n }\r\n\r\n if (!type) {\r\n type = 'tr';\r\n }\r\n\r\n //Translate\r\n if (type === 'tr') {\r\n return this.localizeService.getLocalizedValue(inputData);\r\n }\r\n\r\n //Date\r\n if (type === 'd') {\r\n return this.localizeService.getLocalizedDate(inputData);\r\n }\r\n\r\n //DateTime\r\n if (type === 'dt') {\r\n return this.localizeService.getLocalizedDateTime(inputData);\r\n }\r\n\r\n //DistanceInWords\r\n if (type === 'dis') {\r\n return this.localizeService.getLocalizedDistanceInWords(inputData, param2);\r\n }\r\n\r\n //DistanceToNowInWords\r\n if (type === 'dis2now') {\r\n return this.localizeService.getLocalizedDistanceToNowInWords(inputData);\r\n }\r\n\r\n //UTC Operations --------------------------------------------------------------\r\n //UTC Date\r\n if (type === 'u2d') {\r\n return this.localizeService.getUTCToLocalizedDate(inputData);\r\n }\r\n\r\n //UTC DateTime\r\n if (type === 'u2dt') {\r\n return this.localizeService.getUTCToLocalizedDateTime(inputData);\r\n }\r\n\r\n //UTC DistanceToNowInWords\r\n if (type === 'u2dis2now') {\r\n return this.localizeService.getUTCToLocalizedDistanceToNowInWords(inputData);\r\n }\r\n\r\n return inputData;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 05 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, Injector, APP_INITIALIZER } from '@angular/core';\r\nimport { LOCATION_INITIALIZED } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\n\r\n//App\r\nimport { LocalizationService } from './localization.service';\r\nimport { AppCoreSettings } from '../consts/settings';\r\n\r\nexport function customTranslateLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, AppCoreSettings.resourcesUrl + \"/\", '.json');\r\n}\r\n\r\nexport function localizationInitializerFactory(translate: TranslateService, localizationService: LocalizationService, injector: Injector) {\r\n return () => new Promise<any>((resolve: any) => {\r\n let locationInitialized = injector.get(LOCATION_INITIALIZED, Promise.resolve(null));\r\n locationInitialized.then(() => {\r\n let languageToSet = localizationService.configureTranslationSettings(translate);\r\n translate.use(languageToSet).subscribe(() => {\r\n },\r\n () => {\r\n resolve(null);\r\n },\r\n () => {\r\n resolve(null);\r\n });\r\n });\r\n });\r\n}\r\n\r\nexport const TranslateModuleAtRoot = TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: customTranslateLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n});\r\n\r\nexport let LocalizationInjectorInstance: Injector; \r\n\r\n@NgModule({\r\n imports: [\r\n TranslateModuleAtRoot\r\n ],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: localizationInitializerFactory,\r\n deps: [TranslateService, LocalizationService, Injector],\r\n multi: true\r\n }\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class LocalizationSettingsModule {\r\n constructor(private injector: Injector) {\r\n LocalizationInjectorInstance = this.injector;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n// Pipes\r\nimport { LocalizePipe } from './localize.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n TranslateModule\r\n ],\r\n exports: [\r\n TranslateModule,\r\n LocalizePipe\r\n ],\r\n declarations: [\r\n LocalizePipe\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class LocalizationModule {\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n/*\r\n https://medium.com/@amcdnl/global-error-handling-with-angular2-6b992bdfb59c\r\n https://medium.com/angular-in-depth/expecting-the-unexpected-best-practices-for-error-handling-in-angular-21c3662ef9e4\r\n*/\r\n\r\n// Node\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\n\r\n// App\r\nimport { LoggingService } from \"./logging.service\";\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n constructor(private injector: Injector) {}\r\n\r\n handleError(error) {\r\n const loggingService = this.injector.get(LoggingService);\r\n loggingService.logError(error);\r\n\r\n // IMPORTANT: Rethrow the error otherwise it gets swallowed\r\n throw error;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 2 July 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// App\r\nimport { LocalizationInjectorInstance } from './localizationSettings.module';\r\nimport { LocalizationService } from './localization.service';\r\n\r\nexport class L10nUtils {\r\n // @dynamic\r\n static get localizationService(): LocalizationService {\r\n const ns = LocalizationInjectorInstance.get<LocalizationService>(LocalizationService);\r\n return ns;\r\n }\r\n\r\n public static getLocalizedValue(key: string, params?: any[], defaultKey?: string) {\r\n // VadimOS: DON'T CHANGE THIS CODE. NEED TO BE REVIEWED AND APPROVED BY VADIMOS\r\n // defaultKey definition:\r\n // if key is empty and defaultKey is defined => get localization for defaultKey\r\n // Example: cancel()\r\n if (!key && defaultKey) {\r\n return this.localizationService.getLocalizedValue(defaultKey);\r\n }\r\n\r\n // VadimOS:\r\n // if key is not empty value MUST be in localization table, othewise we will return key\r\n if (key) {\r\n const value = this.localizationService.getLocalizedValue(key, params);\r\n return value;\r\n }\r\n\r\n return key;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 3 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { L10nUtils } from '../localization/utils';\r\n\r\nexport class Alerts {\r\n public static success(text?, params?: any[], title?, successAction?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Success');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'success',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n })\r\n .then(() => {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n }\r\n\r\n public static info(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title, null, 'Info');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'info',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static warning(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title, null, 'Warning');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'warning',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static error(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Error');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'error',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static cancel(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Cancelled');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'info'\r\n })\r\n }\r\n\r\n public static notImplemented() {\r\n this.warning('Not Implemented Yet');\r\n };\r\n\r\n public static areYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n text = L10nUtils.getLocalizedValue(text);\r\n title = L10nUtils.getLocalizedValue(title, null, 'AreYouSure');\r\n confirmButtonText = L10nUtils.getLocalizedValue(confirmButtonText, null, 'AreYouSure-ConfirmButtonText');\r\n cancelButtonText = L10nUtils.getLocalizedValue(cancelButtonText, null, 'AreYouSure-CancelButtonText');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'warning',\r\n confirmButtonText,\r\n cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport class Guid {\r\n public static newGuid() {\r\n return uuidv4();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 2 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {ToastrService} from 'ngx-toastr';\r\n\r\n// RxJs\r\nimport {BehaviorSubject} from 'rxjs';\r\n\r\n// App\r\nimport { L10nUtils } from '../../localization/utils';\r\nimport { Guid } from '../../guid';\r\nimport { INotification } from '../interfaces/notification';\r\n\r\n// SignalR\r\n// import * as signalR from '@microsoft/signalr';\r\n// import { NotificationsApiService } from '../../../data/services/notifications/notifications-api-service';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class NotificationService {\r\n // SignalR\r\n // private hubConnection: signalR.HubConnection;\r\n // private socketUrl: string;\r\n\r\n // Notifications\r\n private _sessionNotifications = new BehaviorSubject<INotification[]>([]);\r\n private _serverNotifications = new BehaviorSubject<INotification[]>([]);\r\n\r\n // Public\r\n readonly sessionNotifications$ = this._sessionNotifications.asObservable();\r\n readonly serverNotifications$ = this._serverNotifications.asObservable();\r\n\r\n constructor(private toastrService: ToastrService) {\r\n // this.onInit();\r\n }\r\n\r\n /*\r\n onInit() {\r\n if (AppCoreSettings.AzureAD) {\r\n this.authService.getAuthToken().subscribe((token: string) => {\r\n this.startSignalRConnection(token);\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.startSignalRConnection();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopSignalRConnection();\r\n }\r\n\r\n // SignalR\r\n private startSignalRConnection(accessToken?) {\r\n const cskii = AppCoreSettings.selectedClientID;\r\n // tslint:disable-next-line:variable-name\r\n const cskii_upn = AppCoreSettings.CSKII_UPN;\r\n // tslint:disable-next-line:variable-name\r\n const cli_sessionguid = AppCoreSettings.CLI_SessionGUID;\r\n\r\n const url = this.socketUrl + '?cskii=' + cskii + '&cskii_upn=' + cskii_upn + '&cli_sessionguid=' + cli_sessionguid;\r\n\r\n if (accessToken) {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(url, {\r\n skipNegotiation: false,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n accessTokenFactory: () => accessToken\r\n })\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .build();\r\n }\r\n else {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.socketUrl, {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .build();\r\n }\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => this.signalRConnection_onSuccess())\r\n .catch(err => {\r\n console.error('Connection failed to SignalR Notification Hub')\r\n })\r\n }\r\n\r\n private signalRConnection_onSuccess() {\r\n this.addReceiveMessageDataListener();\r\n\r\n this.notificationsApiService.retrieveNotifications().subscribe(data => {\r\n this.serverNotifications = data;\r\n });\r\n }\r\n\r\n stopSignalRConnection() {\r\n if (this.hubConnection) {\r\n this.hubConnection.stop();\r\n this.hubConnection = null;\r\n }\r\n }\r\n\r\n private addReceiveMessageDataListener = () => {\r\n this.hubConnection.on('ReceiveMessage', (message) => {\r\n if (message) {\r\n if (message.type === 'error') {\r\n this.error(message.text, null, null, false);\r\n }\r\n else {\r\n this.success(message.text, null, null, false);\r\n }\r\n\r\n const notification = {\r\n id: message.id,\r\n isNew: message.isNew,\r\n isSession: true,\r\n text: message.text,\r\n type: message.type,\r\n createdDate: message.createdDate\r\n };\r\n\r\n this.addSessionNotificationToList(notification);\r\n }\r\n });\r\n }\r\n */\r\n\r\n private addSessionNotification(text: string, type: string) {\r\n const id = Guid.newGuid();\r\n const notification = { id, isNew: true, isSession: true, text, type, createdDate: new Date(Date.now()).toISOString() };\r\n\r\n this.addSessionNotificationToList(notification);\r\n }\r\n\r\n private addSessionNotificationToList(notification: INotification) {\r\n this.sessionNotifications = [\r\n notification,\r\n ...this.sessionNotifications,\r\n ];\r\n }\r\n\r\n // Public API\r\n removeNotification(id: string, isSession: boolean) {\r\n if (isSession) {\r\n this.sessionNotifications = this.sessionNotifications.filter(notifications => notifications.id !== id);\r\n }\r\n else {\r\n this.serverNotifications = this.serverNotifications.filter(notifications => notifications.id !== id);\r\n }\r\n }\r\n\r\n success(text?, params?: any[], title?, createSessionNotification: boolean = true) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.success(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n\r\n if (createSessionNotification) {\r\n this.addSessionNotification(text, 'success');\r\n }\r\n }\r\n\r\n info(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.info(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n warning(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.warning(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n error(text?, params?: any[], title?, createSessionNotification: boolean = true) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.error(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n\r\n if (createSessionNotification) {\r\n this.addSessionNotification(text, 'error');\r\n }\r\n }\r\n\r\n cancel(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.info(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n // SessionNotifications\r\n get sessionNotifications(): INotification[] {\r\n return this._sessionNotifications.getValue();\r\n }\r\n set sessionNotifications(val: INotification[]) {\r\n this._sessionNotifications.next(val);\r\n }\r\n\r\n // ServerNotifications\r\n get serverNotifications(): INotification[] {\r\n return this._serverNotifications.getValue();\r\n }\r\n set serverNotifications(val: INotification[]) {\r\n this._serverNotifications.next(val);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n//App\r\nimport { AppCoreSettings } from '../../core/consts/settings';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //api\r\n get<T>(action: string, data?: any, responseType?): Observable<T> {\r\n if (!responseType) {\r\n responseType = 'json';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.get<T>(url, { responseType: responseType }).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n post(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}`;\r\n return this.http.post(url, data, { responseType: responseType });\r\n }\r\n\r\n postQS(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: responseType });\r\n }\r\n\r\n delete(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.delete(url, { responseType: responseType });\r\n }\r\n\r\n //gets\r\n getExternalTextFile(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n getExternalJsonFile(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n getJsonFile(fileName: string): Observable<any[]> {\r\n const jsonsUrl = AppCoreSettings.jsonsUrl;\r\n const jsonVersion = AppCoreSettings.jsonVersion;\r\n const isCDNEnabled = AppCoreSettings.isCDNEnabled;\r\n const cdnSasToken = AppCoreSettings.cdnSasToken;\r\n let url = \"\";\r\n\r\n if (isCDNEnabled) {\r\n url = jsonsUrl + \"/\" + fileName + cdnSasToken;\r\n }\r\n else {\r\n url = jsonsUrl + \"/\" + fileName + '?' + jsonVersion;\r\n } \r\n\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {Subscription} from 'rxjs';\r\n// App\r\nimport {ContextInitState} from '../consts/settings';\r\nimport {BaseApiService} from '../../data/base/base-api.service';\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n private current = null;\r\n private successes = [];\r\n private subscription: Subscription = null;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = '/api/appContext';\r\n }\r\n\r\n getCurrent(success: Function) {\r\n if (typeof success == 'undefined') {\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n success(this.current);\r\n return;\r\n }\r\n\r\n this.successes.push(success);\r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n this.subscription = this.get('GetCurrentContext', null).subscribe(\r\n (data) => {\r\n this.dataReceived(data);\r\n },\r\n (e) => {}\r\n );\r\n }\r\n\r\n dataReceived(data) {\r\n this.current = data;\r\n\r\n for (let i = 0; i < this.successes.length; i++) {\r\n let success = this.successes[i];\r\n success(data);\r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n this.current = null;\r\n }\r\n\r\n isUserSignedIn() {\r\n return ContextInitState.isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return ContextInitState.isUserAdmin;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\n\r\n//RxJs\r\nimport { Observable, fromEvent, merge, Subject, timer } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IdleService {\r\n private idle$: Observable<any>;\r\n private timer$;\r\n private idleSubscription;\r\n\r\n //Dates/Timeouts\r\n private startDate;\r\n private timeOutSeconds: number;\r\n private timeOutMilliSeconds: number;\r\n\r\n public expired$: Subject<boolean> = new Subject<boolean>();\r\n\r\n //Private\r\n private resetTimeCounters(timeOutSeconds) {\r\n this.timeOutSeconds = timeOutSeconds;\r\n this.timeOutMilliSeconds = timeOutSeconds * 1000;\r\n this.startDate = new Date();\r\n }\r\n\r\n private startTimer() {\r\n this.timer$ = timer(this.timeOutMilliSeconds, 1 * 1000).subscribe((res) => {\r\n let nowDate = new Date();\r\n let exiredDate = new Date(this.startDate.getTime() + this.timeOutMilliSeconds);\r\n\r\n if (nowDate.getTime() >= exiredDate.getTime()) {\r\n //console.log(\"nowDate: \" + nowDate);\r\n //console.log(\"exiredDate: \" + exiredDate);\r\n\r\n this.expired$.next(true);\r\n }\r\n });\r\n }\r\n\r\n private resetTimer() {\r\n this.startDate = new Date();\r\n }\r\n\r\n //Public\r\n public startWatching(timeOutSeconds): Observable<any> {\r\n this.idle$ = merge(\r\n fromEvent(document, 'mousemove'),\r\n fromEvent(document, 'click'),\r\n fromEvent(document, 'mousedown'),\r\n fromEvent(document, 'keypress'),\r\n fromEvent(document, 'DOMMouseScroll'),\r\n fromEvent(document, 'mousewheel'),\r\n fromEvent(document, 'touchmove'),\r\n fromEvent(document, 'MSPointerMove'),\r\n fromEvent(window, 'mousemove'),\r\n fromEvent(window, 'resize'),\r\n );\r\n \r\n this.resetTimeCounters(timeOutSeconds);\r\n\r\n this.idleSubscription = this.idle$.subscribe((res) => {\r\n this.resetTimer();\r\n });\r\n\r\n this.startTimer();\r\n return this.expired$;\r\n }\r\n\r\n public stopWatching() {\r\n this.timer$.unsubscribe();\r\n this.idleSubscription.unsubscribe();\r\n }\r\n\r\n public restartIdleTimer(timeOutSeconds) {\r\n this.timer$.unsubscribe();\r\n\r\n this.resetTimeCounters(timeOutSeconds);\r\n this.startTimer();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport {Injectable} from '@angular/core';\r\n\r\n//App\r\nimport {AppCoreSettings} from '../consts/settings';\r\n\r\nclass WebStorageService {\r\n storage: any;\r\n\r\n constructor(storage: string) {\r\n this.storage =\r\n storage === 'local' || storage === 'localStorage'\r\n ? localStorage\r\n : sessionStorage;\r\n }\r\n\r\n setItem(key, value) {\r\n this.storage.setItem(key, value);\r\n }\r\n\r\n setObject(key, value) {\r\n this.storage.setItem(key, JSON.stringify(value));\r\n }\r\n\r\n getItem(key) {\r\n return this.storage.getItem(key);\r\n }\r\n\r\n getObject(key) {\r\n let value = this.storage.getItem(key);\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n return JSON.parse(value);\r\n }\r\n\r\n remove(key) {\r\n this.storage.removeItem(key);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class LocalStorageService extends WebStorageService {\r\n constructor() {\r\n super('localStorage');\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SessionStorageService extends WebStorageService {\r\n constructor() {\r\n super('sessionStorage');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Щсе 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Title, Meta, MetaDefinition } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DigitalMarketingService {\r\n constructor(\r\n private title: Title,\r\n private meta: Meta,\r\n @Inject(DOCUMENT) private dom: any,\r\n ) {\r\n }\r\n\r\n updateTitle(title?: string) {\r\n this.title.setTitle(title);\r\n }\r\n\r\n updateDescription(desc?: string) {\r\n this.meta.updateTag({ name: 'description', content: desc });\r\n }\r\n\r\n updateKeywords(keywords?: any) {\r\n this.meta.updateTag({ name: 'keywords', content: keywords });\r\n }\r\n\r\n updateMetaTags(meta: MetaDefinition[]) {\r\n meta.forEach(m => this.meta.updateTag(m));\r\n }\r\n\r\n setCanonicalUrl(url?: string) {\r\n const canUrl = url === undefined ? this.dom.URL : url;\r\n const link: HTMLLinkElement = this.dom.createElement('link');\r\n link.setAttribute('rel', 'canonical');\r\n this.dom.head.appendChild(link);\r\n link.setAttribute('href', canUrl);\r\n }\r\n\r\n updateCanonicalUrl(url?: string) {\r\n const canUrl = url === undefined ? this.dom.URL : url;\r\n const head = this.dom.getElementsByTagName('head')[0];\r\n let link: HTMLLinkElement = this.dom.querySelector(`link[rel='canonical']`) || null;\r\n\r\n if (link == null) {\r\n link = this.dom.createElement('link') as HTMLLinkElement;\r\n head.appendChild(link);\r\n }\r\n\r\n link.setAttribute('rel', 'canonical');\r\n link.setAttribute('href', canUrl);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Nov 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class GoogleAnalyticsService {\r\n private subscription: Subscription;\r\n\r\n constructor(private router: Router) { \r\n /*\r\n https://yashints.dev/blog/2019/02/12/angular-ga-tagmanager\r\n https://developers.google.com/analytics/devguides/collection/gtagjs/pages\r\n https://developers.google.com/analytics/devguides/collection/upgrade/analyticsjs\r\n */\r\n }\r\n\r\n public subscribe() {\r\n this.subscription = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if ((<any>window).ga) {\r\n (<any>window).ga('set', 'page', event.urlAfterRedirects);\r\n (<any>window).ga('send', 'pageview');\r\n }\r\n }\r\n });\r\n }\r\n\r\n public unsubscribe() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import {Injector, NgModule, Optional, SkipSelf} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n//Logging\r\nimport {LoggingService} from './logging/logging.service';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\nimport { LoadingService } from './services/loading.service';\r\nimport { DigitalMarketingService } from './services/dm.service';\r\nimport { GoogleAnalyticsService } from './services/google-analytics.service';\r\nimport { LocalStorageService, SessionStorageService } from './services/web-storage.service';\r\n\r\n//notifications\r\nimport {NotificationService} from './notifications/services/notification-service';\r\n\r\n//Guards\r\nimport {throwIfAlreadyLoaded} from './guards/once-import.guard';\r\n\r\nexport let InjectorInstance: Injector;\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [\r\n LoggingService,\r\n NotificationService,\r\n AppContextService,\r\n LoadingService,\r\n DigitalMarketingService,\r\n GoogleAnalyticsService,\r\n LocalStorageService,\r\n SessionStorageService\r\n ],\r\n})\r\nexport class AnatolyCoreModule {\r\n constructor(private injector: Injector, @Optional() @SkipSelf() parentModule: AnatolyCoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'AnatolyCoreModule');\r\n\r\n InjectorInstance = this.injector;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport {Subscription} from 'rxjs';\r\n\r\nexport class Subs {\r\n private subs: Subscription[] = [];\r\n\r\n constructor() {}\r\n\r\n add(...subscriptions: Subscription[]) {\r\n this.subs = this.subs.concat(subscriptions);\r\n }\r\n\r\n set sink(subscription: Subscription) {\r\n this.subs.push(subscription);\r\n }\r\n\r\n unsubscribe() {\r\n this.subs.forEach((sub) => sub && sub.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 19 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static getValueByNameInQS(name) {\r\n return Utils.getValueByName(location.search, name);\r\n }\r\n\r\n public static getValueByName(url, name) {\r\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n // tslint:disable-next-line:one-variable-per-declaration\r\n const regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)'),\r\n\r\n results = regex.exec(url);\r\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n }\r\n\r\n public static copyToClipBoard(event: any, val: string) {\r\n event.preventDefault();\r\n\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n }\r\n\r\n public static downloadFile(name: string, url: string) {\r\n const link = document.createElement('a');\r\n link.download = name;\r\n link.href = url;\r\n link.click();\r\n }\r\n\r\n public static downloadBlobFile(value: Blob, fileName: string) {\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(value, fileName);\r\n } else {\r\n const downloadURL = window.URL.createObjectURL(value);\r\n Utils.downloadFile(fileName, downloadURL);\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseGridReadService extends BehaviorSubject<any[]> {\r\n protected data: any[] = []; \r\n protected baseReadUrl: string;\r\n protected savedReadParams: any; \r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n }\r\n\r\n serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n read(params?: any, success?: Function, error?: Function) {\r\n if (this.data.length) {\r\n return super.next(this.data);\r\n }\r\n\r\n var url = this.baseReadUrl;\r\n\r\n if (typeof params === 'undefined') {\r\n params = this.savedReadParams;\r\n }\r\n\r\n if (params) {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n this.http.get(url).pipe(map(res => <any[]>res)).subscribe(\r\n data => {\r\n super.next(data);\r\n if (success) success();\r\n },\r\n e => {\r\n if (error) error(e);\r\n },\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//RxJs\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n//App\r\nimport { BaseGridReadService } from \"./base-grid-read.service\";\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BaseGridReadService {\r\n protected baseUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n resetItem(dataItem: any) {\r\n if (!dataItem) { return; }\r\n\r\n //find orignal data item\r\n const originalDataItem = this.data.find(item => item.Id === dataItem.Id);\r\n\r\n //revert changes\r\n Object.assign(originalDataItem, dataItem);\r\n super.next(this.data);\r\n }\r\n\r\n save(data: any, isNew: boolean, sucess?: Function) {\r\n const action = isNew ? 'add' : 'update';\r\n\r\n this.reset();\r\n this.post(action, data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n delete(data: any, sucess?: Function) {\r\n this.reset();\r\n\r\n const url = `${this.baseUrl}/delete${this.serializeParams(data)}`;\r\n return this.http.delete(url).subscribe(\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n },\r\n () => {\r\n this.read();\r\n }\r\n );\r\n }\r\n\r\n post(action: any, data?: any): Observable<any[]> {\r\n const url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 30 April 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const consts = {\r\n billingApiPath: 'api/billing',\r\n\r\n // Notifications API\r\n notificationsApiPath: 'api/notifications',\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 30 April 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n// RxJS\r\nimport {Observable} from 'rxjs';\r\n\r\n// App\r\nimport { INotification } from '../../../core/notifications/interfaces/notification';\r\nimport { BaseApiService } from '../../base/base-api.service';\r\nimport { consts } from '../../consts';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationsApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = consts.notificationsApiPath;\r\n }\r\n\r\n retrieveNotifications(): Observable<INotification[]> {\r\n return this.get('retrieveNotifications');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//App\r\nimport { BaseApiService } from \"../base/base-api.service\";\r\nimport { consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = consts.billingApiPath;\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS(\"requestNewSubscription\", { requestedPlan: requestedPlan }).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS(\"cancelRequestedSubscription\", null).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS(\"buyAccess\", { requestedPlan: requestedPlan }).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport {NgModule, Optional, SkipSelf} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n//App\r\nimport { BillingApiService } from './services/billing-api.service';\r\nimport { throwIfAlreadyLoaded } from '../core/guards/once-import.guard';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n BillingApiService\r\n ],\r\n})\r\nexport class AnatolyDataModule {\r\n constructor(@Optional() @SkipSelf() parentModule: AnatolyDataModule) {\r\n throwIfAlreadyLoaded(parentModule, 'AnatolyDataModule');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Input, OnInit} from '@angular/core';\r\n// Services\r\nimport {AppContextService} from '../../../core/services/appcontext.service';\r\nimport {BillingApiService} from '../../../data/services/billing-api.service';\r\nimport {Alerts} from '../../../core/notifications/alerts';\r\n\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html',\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated = false;\r\n public isUserSignedIn = false;\r\n public currentPlan = 0;\r\n public currentPlanTitle = '';\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(\r\n private appcontext: AppContextService,\r\n private api: BillingApiService\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n const that = this;\r\n\r\n Alerts.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.success('Access Granted', null, null,() => {\r\n (window as any).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n// Services\r\nimport { AppContextService } from \"../../../core/services/appcontext.service\";\r\n\r\n@Component({\r\n selector: \"anatoly-subscribe-plan-button\",\r\n templateUrl: \"./subscribe-plan-button.component.html\",\r\n})\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated = false;\r\n public isUserSignedIn = false;\r\n public currentPlan = 0;\r\n public currentPlanTitle = \"\";\r\n public requestedPlan = 0;\r\n public requestedPlanTitle = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {}\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Input} from '@angular/core';\r\nimport {BillingApiService} from '../../../data/services/billing-api.service';\r\nimport {Alerts} from '../../../core/notifications/alerts';\r\n\r\n// Services\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html',\r\n})\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BillingApiService) {}\r\n\r\n onUpgradePlan() {\r\n const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n const that = this;\r\n\r\n Alerts.areYouSure(\r\n text,\r\n 'Change billing plan',\r\n 'Confirm change',\r\n 'Cancel',\r\n () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.success(\r\n 'Your request for changing plan has been sent.',\r\n null,null,\r\n () => {\r\n (window as any).location.reload();\r\n }\r\n );\r\n });\r\n }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-content-header\",\r\n templateUrl: \"./content-header.component.html\",\r\n})\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = \"\";\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const DefaultEditorOptions: Object = {\r\n placeholderText: \"Edit Your Content Here\",\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n moreText: {\r\n buttons: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"strikeThrough\",\r\n \"subscript\",\r\n \"superscript\",\r\n \"fontFamily\",\r\n \"fontSize\",\r\n \"textColor\",\r\n \"backgroundColor\",\r\n \"inlineClass\",\r\n \"inlineStyle\",\r\n ],\r\n },\r\n moreParagraph: {\r\n buttons: [\r\n \"alignLeft\",\r\n \"alignCenter\",\r\n \"formatOLSimple\",\r\n \"alignRight\",\r\n \"alignJustify\",\r\n \"formatOL\",\r\n \"formatUL\",\r\n \"paragraphFormat\",\r\n \"paragraphStyle\",\r\n \"lineHeight\",\r\n \"outdent\",\r\n \"indent\",\r\n \"quote\",\r\n ],\r\n },\r\n moreRich: {\r\n buttons: [\r\n \"insertLink\",\r\n \"insertImage\",\r\n \"insertTable\",\r\n \"emoticons\",\r\n \"fontAwesome\",\r\n \"specialCharacters\",\r\n \"embedly\",\r\n ],\r\n },\r\n moreMisc: {\r\n buttons: [\r\n \"selectAll\",\r\n \"clearFormatting\",\r\n \"html\",\r\n \"undo\",\r\n \"redo\",\r\n \"fullscreen\",\r\n ],\r\n align: \"right\",\r\n },\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: \"/api/HtmlEditor/UploadImage\",\r\n imageAllowedTypes: [\"jpeg\", \"jpg\", \"png\"],\r\n imageUploadParams: { uploadType: \"\", uploadParentId: \"\" },\r\n};\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnDestroy } from \"@angular/core\";\r\n\r\n//App\r\nimport { Utils } from \"../../core/utils\";\r\nimport { Subs } from \"../../core/subs\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseComponent implements OnDestroy {\r\n protected subs: Subs = new Subs();\r\n\r\n getQSId() {\r\n var id = Utils.getValueByNameInQS(\"id\");\r\n if (typeof id === \"undefined\" || id == \"\") return null;\r\n\r\n return id;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n AbstractControl,\r\n FormControl,\r\n ValidatorFn,\r\n AbstractControlOptions,\r\n AsyncValidatorFn,\r\n} from \"@angular/forms\";\r\n\r\n//App\r\nimport { BaseComponent } from \"./base.component\";\r\nimport { Utils } from \"../../core/utils\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseEditComponent extends BaseComponent {\r\n @Input() formGroup: FormGroup;\r\n @Input() formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.getValueByNameInQS(\"id\");\r\n if (typeof id === \"undefined\" || id == \"\") return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isControlValid(name: string, frmGroup: FormGroup = null) {\r\n return !this.isControlInvalid(name, frmGroup);\r\n }\r\n\r\n isControlInvalid(name: string, frmGroup: FormGroup = null) {\r\n if (typeof name === \"undefined\" || name == \"\") {\r\n return false;\r\n }\r\n\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n if (!fg) {\r\n return false;\r\n }\r\n\r\n if (fg.get(name)) {\r\n return (\r\n (this.formSubmitted && fg.get(name).invalid) ||\r\n (fg.get(name).touched && fg.get(name).invalid)\r\n );\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //FormGroup functions\r\n getFormValue(name, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n return fg.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n return fg.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.controls[groupName].get(name).setValue(value);\r\n }\r\n\r\n /**\r\n * Add control to form group\r\n * @param name\r\n * @param formControl\r\n * @param formGroup\r\n */\r\n addControl(\r\n name: string,\r\n formControl: AbstractControl,\r\n frmGroup: FormGroup = null\r\n ) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.addControl(name, formControl);\r\n }\r\n\r\n /**\r\n * Removes control from form group\r\n * @param name\r\n * @param formGroup\r\n */\r\n removeControl(name: string, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n\r\n if (fg.get(name)) {\r\n fg.removeControl(name);\r\n }\r\n }\r\n\r\n /**\r\n * return new form control\r\n * @param formState\r\n * @param validatorOrOpts\r\n * @param asyncValidator\r\n */\r\n createFormControl(\r\n formState?: any,\r\n validatorOrOpts?:\r\n | ValidatorFn\r\n | ValidatorFn[]\r\n | AbstractControlOptions\r\n | null,\r\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\r\n ) {\r\n return new FormControl(formState, validatorOrOpts, asyncValidator);\r\n }\r\n\r\n /**\r\n * Set error to control\r\n * @param controlName formControl name\r\n * @param err error expect {erroname: boolean} format\r\n * @param formGroup Specific form group. default it will apply on this.formGroup property\r\n */\r\n setControlError(controlName: string, err: {}, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.get(controlName)?.setErrors(err);\r\n }\r\n\r\n /**\r\n * Set {invalid: true} for the specified form\r\n * @param controlName form control name\r\n * @param formGroup\r\n */\r\n setInValidError(controlName: string, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.get(controlName)?.setErrors({ invalid: true });\r\n }\r\n\r\n /**\r\n * returns formgroup controls.\r\n * main use case is used in html pages\r\n */\r\n get fc() {\r\n return this.formGroup.controls;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { AfterViewInit, Component, Input, OnInit } from \"@angular/core\";\r\n\r\n// App\r\nimport { AppCoreSettings } from \"../../../core/consts/settings\";\r\nimport { BaseEditComponent } from \"../base-edit.component\";\r\nimport { DefaultEditorOptions } from \"./html-editor.defaultoptions\";\r\n\r\n@Component({\r\n template: \"\",\r\n})\r\nexport abstract class BaseHtmlEditorComponent extends BaseEditComponent implements OnInit, AfterViewInit\r\n{\r\n protected froalaEditor;\r\n\r\n // Public members\r\n public options;\r\n public froalaEditorInitialized = false;\r\n public afterInitializedActions = [];\r\n\r\n // Inputs\r\n @Input() editorLabelText = \"Html\";\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n const key = AppCoreSettings.froalaEditorKey;\r\n\r\n if (key) {\r\n newOptions = $.extend(\r\n {},\r\n newOptions,\r\n JSON.parse('{ \"key\": \"' + key + '\" }')\r\n );\r\n }\r\n\r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n const that = this;\r\n setTimeout(function () {\r\n that.froalaEditorInitialized = true;\r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n // Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for (let i = 0; i < actions.length; i++) {\r\n actions[i]();\r\n }\r\n }\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor) return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n // Public Funcs\r\n public doAfterInitialized(action) {\r\n const that = this;\r\n\r\n if (!this.froalaEditorInitialized) {\r\n this.afterInitializedActions.push(() => {\r\n action(that);\r\n });\r\n } else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control;\r\n this.froalaEditor.initialize();\r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) {\r\n this.doAfterInitialized(function (that) {\r\n const editor = that.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from \"./base-html-editor.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-forms-html-editor\",\r\n templateUrl: \"./forms-html-editor.component.html\",\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent {\r\n @Input() editorFormKey: string = \"html\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setFormValueAfterInitialized(name, value) {\r\n this.doAfterInitialized(function (that) {\r\n that.setFormValue(name, value);\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from \"./base-html-editor.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-html-editor\",\r\n templateUrl: \"./html-editor.component.html\",\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signin-button\",\r\n templateUrl: \"./signin-button.component.html\",\r\n})\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {}\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signout-button\",\r\n templateUrl: \"./signout-button.component.html\",\r\n})\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {}\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signup-button\",\r\n templateUrl: \"./signup-button.component.html\",\r\n})\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 9 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Subs} from '../../../core/subs';\r\nimport {LoadingService} from '../../../core/services/loading.service';\r\n\r\n@Component({\r\n selector: 'anatoly-loading',\r\n templateUrl: './loading.component.html'\r\n})\r\nexport class LoadingComponent implements OnInit, OnDestroy {\r\n // Private\r\n private subs: Subs = new Subs();\r\n\r\n // Public\r\n show = false;\r\n\r\n constructor(private loadingService: LoadingService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.subs.sink = this.loadingService.subscribe((state) => {\r\n this.show = state;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 16 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Inject, Input, OnDestroy, ViewEncapsulation} from '@angular/core';\r\nimport {NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router} from '@angular/router';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nconst SpinnerSpinKit = {\r\n spinnerLine: 'spinner-line-material',\r\n\r\n // ToDo\r\n ChasingDots: 'spinner-chasing-dots',\r\n CubeGrid: 'spinner-cube-grid',\r\n DoubleBounce: 'spinner-double-bounce',\r\n RotatingPlane: 'spinner-rotationg-plane',\r\n SpinnerPulse: 'spinner-spinner-pulse',\r\n ThreeBounce: 'spinner-three-bounce',\r\n WanderingCubes: 'spinner-wandering-cubes',\r\n Wave: 'spinner-wave'\r\n};\r\n\r\n@Component({\r\n selector: 'spinner',\r\n templateUrl: './spinner.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SpinnerComponent implements OnDestroy {\r\n isSpinnerVisible = true;\r\n spinnerSpinKit = SpinnerSpinKit;\r\n\r\n @Input() backgroundColor = '#007CB0';\r\n @Input() spinner = SpinnerSpinKit.spinnerLine;\r\n\r\n constructor(private router: Router, @Inject(DOCUMENT) private document: Document) {\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n this.isSpinnerVisible = true;\r\n } else if (event instanceof NavigationEnd || event instanceof NavigationCancel || event instanceof NavigationError) {\r\n this.isSpinnerVisible = false;\r\n }\r\n }, () => {\r\n this.isSpinnerVisible = false;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.isSpinnerVisible = false;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 28 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControl], [formControlName]'\r\n})\r\nexport class NativeElementDirective implements OnInit {\r\n constructor(private el: ElementRef<HTMLFormElement>, private control: NgControl) {\r\n }\r\n\r\n ngOnInit() {\r\n // sets the localization key to the control\r\n (this.control.control as any).nativeElement = this.el.nativeElement;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"replaceText\",\r\n})\r\nexport class ReplaceTextPipe implements PipeTransform {\r\n transform(inputData: string, search: string, replacement: string): string {\r\n if (inputData) {\r\n return inputData.replace(new RegExp(search, \"g\"), replacement);\r\n } else {\r\n return inputData;\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filesize',\r\n})\r\nexport class FileSizePipe implements PipeTransform {\r\n private units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\r\n\r\n transform(bytes: number = 0, precision: number = 0): string {\r\n if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) return '';\r\n\r\n let unit = 0;\r\n\r\n while (bytes >= 1024) {\r\n bytes /= 1024;\r\n unit++;\r\n }\r\n\r\n return bytes.toFixed(+precision) + ' ' + this.units[unit];\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 27 Oct 2019\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\n\r\n//Custom\r\nimport { BaseEditComponent } from \"../components/base-edit.component\";\r\n\r\n@Component({\r\n template: \"\",\r\n})\r\nexport abstract class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach((k) => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach((k) => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(\r\n child,\r\n this.getControlName(child, k)\r\n ).forEach((m) => messages.push(m));\r\n });\r\n } else {\r\n this.getValidationMessages(\r\n control,\r\n this.getControlName(control, k)\r\n ).forEach((m) => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case \"required\":\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case \"minlength\":\r\n messages.push(\r\n `${thing} must be at least ${state.errors[\"minlength\"].requiredLength} characters`\r\n );\r\n break;\r\n\r\n case \"pattern\":\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n\r\n case \"format\":\r\n messages.push(`${thing} format mismatch`);\r\n break;\r\n\r\n case \"maxlength\":\r\n messages.push(\r\n `${thing} must have maximum ${state.errors[\"maxlength\"].requiredLength} characters`\r\n );\r\n break;\r\n\r\n case \"specialcharacters\":\r\n messages.push(`${thing} contains special characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n\r\n /**\r\n * Get Control Name\r\n * @param control\r\n * @param thingName\r\n */\r\n getControlName(control: any, thingName?: string) {\r\n let value = this.getControlTitle(control);\r\n return value ? value : thingName;\r\n }\r\n\r\n /**\r\n * Retrieve tilte of control\r\n * @param control\r\n */\r\n getControlTitle(control: any): string {\r\n if (control?.nativeElement) {\r\n let controlTitle = this.getTitleAttribute(control.nativeElement);\r\n if (controlTitle) {\r\n return controlTitle;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Return title attribute of form control\r\n */\r\n getTitleAttribute(nativeElement: HTMLFormElement): string {\r\n let title: string;\r\n\r\n switch (nativeElement.tagName) {\r\n // For Kendo time and date picker element title is assigned to the 4th child control.\r\n case \"KENDO-TIMEPICKER\":\r\n case \"KENDO-DATEPICKER\":\r\n title =\r\n nativeElement.children[0]?.children[0]?.children[0]?.children[0]?.getAttribute(\r\n \"title\"\r\n );\r\n break;\r\n\r\n // For Kendo numaric element title is assigned to the 2nd child control.\r\n case \"KENDO-NUMERICTEXTBOX\":\r\n title = nativeElement.children[0]?.children[0]?.getAttribute(\"title\");\r\n break;\r\n\r\n default:\r\n title = nativeElement.getAttribute(\"title\");\r\n break;\r\n }\r\n\r\n return title;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-form-validation-summary\",\r\n templateUrl: \"./form-validation-summary.component.html\",\r\n})\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n @Input() customerrors: string[] = [];\r\n\r\n /*\r\n 0 - only FormValidation messages\r\n 1 - only Custom messages\r\n 2 - all\r\n */ \r\n @Input() viewtype: number = 0; \r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors() {\r\n if (this.viewtype == 1) {\r\n return this.customerrors;\r\n }\r\n\r\n let formValidationMessages = this.getFormValidationMessages();\r\n if (this.viewtype == 0) {\r\n return formValidationMessages;\r\n }\r\n\r\n var messages = [];\r\n if (formValidationMessages.length > 0) {\r\n messages.push(...formValidationMessages);\r\n }\r\n\r\n if (this.customerrors.length > 0) {\r\n messages.push(...this.customerrors);\r\n } \r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-item-validation-summary\",\r\n templateUrl: \"./item-validation-summary.component.html\",\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() controlName: string;\r\n @Input() controlTitle: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\n\r\n//Froala\r\nimport { FroalaEditorModule, FroalaViewModule } from \"angular-froala-wysiwyg\";\r\nexport const FroalaEditorModuleWithProviders = FroalaEditorModule.forRoot();\r\nexport const FroalaViewModuleWithProviders = FroalaViewModule.forRoot();\r\n\r\n//Components\r\nimport { SubscribePlanButtonComponent } from \"./components/billing/subscribe-plan-button.component\";\r\nimport { UpgradePlanButtonComponent } from \"./components/billing/upgrade-plan-button.component\";\r\nimport { BuyAccessButtonComponent } from \"./components/billing/buyaccess-button.component\";\r\nimport { SignInButtonComponent } from \"./components/identity/signin-button.component\";\r\nimport { SignUpButtonComponent } from \"./components/identity/signup-button.component\";\r\nimport { SignOutButtonComponent } from \"./components/identity/signout-button.component\";\r\n\r\nimport { ContentHeaderComponent } from \"./components/content-header/content-header.component\";\r\nimport { SpinnerComponent } from \"./components/spinner/spinner.component\";\r\nimport { LoadingComponent } from \"./components/loading/loading.component\";\r\nimport { NativeElementDirective } from \"./directives/native-element.directive\";\r\n\r\n//Editor\r\nimport { HtmlEditorComponent } from \"./components/html-editor/html-editor.component\";\r\nimport { FormsHtmlEditorComponent } from \"./components/html-editor/forms-html-editor.component\";\r\n\r\n//Validation\r\nimport { FormValidationSummaryComponent } from \"./validation/form-validation-summary.component\";\r\nimport { ItemValidationSummaryComponent } from \"./validation/item-validation-summary.component\";\r\n\r\n//Pipes\r\nimport { SafeHtmlPipe } from \"./pipes/safeHtml.pipe\";\r\nimport { ReplaceTextPipe } from \"./pipes/replace-text.pipe\";\r\nimport { FileSizePipe } from \"./pipes/filesize.pipe\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n FroalaEditorModuleWithProviders,\r\n FroalaViewModuleWithProviders,\r\n ],\r\n exports: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent,\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent,\r\n ContentHeaderComponent,\r\n SpinnerComponent,\r\n LoadingComponent,\r\n NativeElementDirective,\r\n\r\n //Editor\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent,\r\n\r\n //Validation\r\n FormValidationSummaryComponent,\r\n ItemValidationSummaryComponent,\r\n\r\n //Pipe\r\n SafeHtmlPipe,\r\n ReplaceTextPipe,\r\n FileSizePipe,\r\n ],\r\n declarations: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent,\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent,\r\n ContentHeaderComponent,\r\n SpinnerComponent,\r\n LoadingComponent,\r\n NativeElementDirective,\r\n\r\n //Editor\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent,\r\n\r\n //Validation\r\n FormValidationSummaryComponent,\r\n ItemValidationSummaryComponent,\r\n\r\n //Pipe\r\n SafeHtmlPipe,\r\n ReplaceTextPipe,\r\n FileSizePipe,\r\n ]\r\n})\r\nexport class AnatolyUIModule {\r\n}\r\n","/*\r\n * Public API Surface of anatoly-lib\r\n */\r\n\r\n// Core\r\nexport * from './lib/core/consts/settings';\r\nexport * from './lib/core/consts/urls';\r\nexport * from './lib/core/go/base-go.service';\r\nexport * from './lib/core/guards/once-import.guard';\r\nexport * from './lib/core/interceptors/httpInterceptor';\r\nexport * from './lib/core/localization/localize.pipe';\r\nexport * from './lib/core/localization/localization.service';\r\nexport * from './lib/core/localization/localizationSettings.module';\r\nexport * from './lib/core/localization/localization.module';\r\nexport * from './lib/core/logging/globalErrorHandler';\r\nexport * from './lib/core/logging/logging.service';\r\nexport * from './lib/core/notifications/alerts';\r\nexport * from './lib/core/notifications/interfaces/notification';\r\nexport * from './lib/core/notifications/services/notification-service';\r\nexport * from './lib/core/services/appcontext.service';\r\nexport * from './lib/core/services/idle.service';\r\nexport * from './lib/core/services/loading.service';\r\nexport * from './lib/core/services/web-storage.service'\r\nexport * from './lib/core/services/dm.service'\r\nexport * from './lib/core/services/google-analytics.service'\r\nexport * from './lib/core/convert';\r\nexport * from './lib/core/core.module';\r\nexport * from './lib/core/guid';\r\nexport * from './lib/core/subs';\r\nexport * from './lib/core/utils';\r\n\r\n// Data\r\nexport * from './lib/data/base/grid/base-grid-edit.service';\r\nexport * from './lib/data/base/grid/base-grid-read.service';\r\nexport * from './lib/data/base/base-api.service';\r\nexport * from './lib/data/services/notifications/notifications-api-service';\r\nexport * from './lib/data/services/billing-api.service';\r\nexport * from './lib/data/data.module';\r\n\r\n// UI\r\nexport * from './lib/ui/components/billing/buyaccess-button.component';\r\nexport * from './lib/ui/components/billing/subscribe-plan-button.component';\r\nexport * from './lib/ui/components/billing/upgrade-plan-button.component';\r\nexport * from './lib/ui/components/content-header/content-header.component';\r\nexport * from './lib/ui/components/html-editor/html-editor.defaultoptions';\r\nexport * from './lib/ui/components/html-editor/base-html-editor.component';\r\nexport * from './lib/ui/components/html-editor/forms-html-editor.component';\r\nexport * from './lib/ui/components/html-editor/html-editor.component';\r\nexport * from './lib/ui/components/identity/signin-button.component';\r\nexport * from './lib/ui/components/identity/signout-button.component';\r\nexport * from './lib/ui/components/identity/signup-button.component';\r\nexport * from './lib/ui/components/loading/loading.component';\r\nexport * from './lib/ui/components/spinner/spinner.component';\r\nexport * from './lib/ui/components/base.component';\r\nexport * from './lib/ui/components/base-edit.component';\r\n\r\nexport * from './lib/ui/directives/native-element.directive';\r\n\r\nexport * from './lib/ui/pipes/replace-text.pipe';\r\nexport * from './lib/ui/pipes/filesize.pipe';\r\nexport * from './lib/ui/pipes/safeHtml.pipe';\r\n\r\nexport * from './lib/ui/validation/form-validation-summary.component';\r\nexport * from './lib/ui/validation/item-validation-summary.component';\r\nexport * from './lib/ui/validation/validation-summary.component';\r\nexport * from './lib/ui/ui.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","ActivatedRoute","Router","BehaviorSubject","tap","HttpResponse","enUS","isValid","format","formatDistance","formatDistanceToNow","utcToZonedTime","TranslateService","Pipe","TranslateHttpLoader","LOCATION_INITIALIZED","TranslateModule","TranslateLoader","HttpClient","LocalizationInjectorInstance","NgModule","APP_INITIALIZER","Injector","Swal","uuidv4","ToastrService","map","Subject","timer","merge","fromEvent","Title","Meta","Inject","DOCUMENT","NavigationEnd","InjectorInstance","CommonModule","Optional","SkipSelf","Component","Input","FormControl","router","NavigationStart","NavigationCancel","NavigationError","ViewEncapsulation","Directive","ElementRef","NgControl","DomSanitizer","FroalaEditorModule","FroalaViewModule","ReactiveFormsModule","FormsModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;;;;;;;;;;;;;MAmBa,gBAAgB,GAAG,IAAI,CAAC,KAAK,CACvC,CACC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EACtB,YAAY,CAAC,uBAAuB,CAAC,EAC5D;MAEW,eAAe,GAAG,IAAI,CAAC,KAAK,CACtC,CACC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EACrB,YAAY,CAAC,sBAAsB,CAAC;;EC5B7D;;;;;;;;;;;;;;;;;MAkBa,IAAI,GAAG;;MAElB,sBAAsB,EAAE,qBAAqB;;;ECpB/C;;;;;;;;;;;;;;;;;;;MA2BE,uBAAY,KAAqB,EAAE,MAAc;UAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;UACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;OACtB;MAED,sCAAc,GAAd;;UAEG,MAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;OACnC;;;;cAbFA,aAAU;;;cAFHC,qBAAc;cAAEC,aAAM;;;ECpB9B;;;;;;;;;;;;;;;;;;WAmBgB,oBAAoB,CAAC,YAAiB,EAAE,UAAkB;MACxE,IAAI,YAAY,EAAE;UAChB,MAAM,IAAI,KAAK,CACV,UAAU,yCAAoC,UAAU,oCAAiC,CAC7F,CAAC;OACH;EACH;;ECzBA;;;;;;;;;;;;;;EAcA;EAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;MAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;WAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;UAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;cAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;kBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;MACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC;WAEc,SAAS,CAAC,CAAC,EAAE,CAAC;MAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;UACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;MAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;MACvC,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;EACzF,CAAC;EAEM,IAAI,QAAQ,GAAG;MAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;UAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;cACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;cACjB,KAAK,IAAI,CAAC,IAAI,CAAC;kBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;sBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;WAChF;UACD,OAAO,CAAC,CAAC;OACZ,CAAA;MACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;EAC3C,CAAC,CAAA;WAEe,MAAM,CAAC,CAAC,EAAE,CAAC;MACvB,IAAI,CAAC,GAAG,EAAE,CAAC;MACX,KAAK,IAAI,CAAC,IAAI,CAAC;UAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;cAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;UAC/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;cACpE,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;kBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;WACzB;MACL,OAAO,CAAC,CAAC;EACb,CAAC;WAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;MACpD,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;MAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;UAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;UAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;cAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;kBAAE,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;MAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAClE,CAAC;WAEe,OAAO,CAAC,UAAU,EAAE,SAAS;MACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;EACzE,CAAC;WAEe,UAAU,CAAC,WAAW,EAAE,aAAa;MACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;UAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;EACnI,CAAC;WAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;MACvD,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;MAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;UACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;WAAE;UAAC,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;WAAE,EAAE;UAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;WAAE;UAAC,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;WAAE,EAAE;UAC9F,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;UAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;OACzE,CAAC,CAAC;EACP,CAAC;WAEe,WAAW,CAAC,OAAO,EAAE,IAAI;MACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;cAAE,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;MACjH,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;MACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAClE,SAAS,IAAI,CAAC,EAAE;UACZ,IAAI,CAAC;cAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;UAC9D,OAAO,CAAC;cAAE,IAAI;kBACV,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;sBAAE,OAAO,CAAC,CAAC;kBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;sBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;kBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;sBACT,KAAK,CAAC,CAAC;sBAAC,KAAK,CAAC;0BAAE,CAAC,GAAG,EAAE,CAAC;0BAAC,MAAM;sBAC9B,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;0BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;sBACxD,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;0BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;0BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;0BAAC,SAAS;sBACjD,KAAK,CAAC;0BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;0BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;sBACjD;0BACI,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;8BAAE,CAAC,GAAG,CAAC,CAAC;8BAAC,SAAS;2BAAE;0BAC5G,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;8BAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;8BAAC,MAAM;2BAAE;0BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;8BAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;8BAAC,CAAC,GAAG,EAAE,CAAC;8BAAC,MAAM;2BAAE;0BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;8BAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;8BAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;8BAAC,MAAM;2BAAE;0BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;8BAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;0BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;mBAC9B;kBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;eAC9B;cAAC,OAAO,CAAC,EAAE;kBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;kBAAC,CAAC,GAAG,CAAC,CAAC;eAAE;sBAAS;kBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;eAAE;UAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;cAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;UAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OACpF;EACL,CAAC;EAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;MAC9D,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,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;EACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;MACtB,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,CAAC,CAAC,CAAC;WAEa,YAAY,CAAC,CAAC,EAAE,CAAC;MAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;UAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;cAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAClH,CAAC;WAEe,QAAQ,CAAC,CAAC;MACtB,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;MAC9E,IAAI,CAAC;UAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;MACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;UAAE,OAAO;cAC1C,IAAI,EAAE;kBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;sBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;kBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;eAC3C;WACJ,CAAC;MACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;EAC3F,CAAC;WAEe,MAAM,CAAC,CAAC,EAAE,CAAC;MACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;MAC3D,IAAI,CAAC,CAAC;UAAE,OAAO,CAAC,CAAC;MACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;MACjC,IAAI;UACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;cAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;OAC9E;MACD,OAAO,KAAK,EAAE;UAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;OAAE;cAC/B;UACJ,IAAI;cACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;kBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;WACpD;kBACO;cAAE,IAAI,CAAC;kBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;WAAE;OACpC;MACD,OAAO,EAAE,CAAC;EACd,CAAC;EAED;WACgB,QAAQ;MACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;UAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACzC,OAAO,EAAE,CAAC;EACd,CAAC;EAED;WACgB,cAAc;MAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;UAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;MACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;UAC5C,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;cAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MACpB,OAAO,CAAC,CAAC;EACb,CAAC;WAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;MACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;UAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;cACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;kBACpB,IAAI,CAAC,EAAE;sBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;kBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;eACnB;WACJ;MACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;EACjC,CAAC;WAEe,OAAO,CAAC,CAAC;MACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;EACzE,CAAC;WAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;MAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;UAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;MACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;MAC9D,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;MACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;UAAE,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;MAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;UAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;OAAE;MAAC,OAAO,CAAC,EAAE;UAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;OAAE,EAAE;MAClF,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;MACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;MAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;MAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;UAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACtF,CAAC;WAEe,gBAAgB,CAAC,CAAC;MAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;MACT,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;MAC5I,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;EACnJ,CAAC;WAEe,aAAa,CAAC,CAAC;MAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;UAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;MACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;MACnC,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;MACjN,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;MAChK,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;EAChI,CAAC;WAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;MAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;UAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;OAAE;WAAM;UAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;OAAE;MAC/G,OAAO,MAAM,CAAC;EAClB,CAAC;EAAA,CAAC;EAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;MACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;EACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;MACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;EACrB,CAAC,CAAC;WAEc,YAAY,CAAC,GAAG;MAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;UAAE,OAAO,GAAG,CAAC;MACtC,IAAI,MAAM,GAAG,EAAE,CAAC;MAChB,IAAI,GAAG,IAAI,IAAI;UAAE,KAAK,IAAI,CAAC,IAAI,GAAG;cAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;kBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;MACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;MAChC,OAAO,MAAM,CAAC;EAClB,CAAC;WAEe,eAAe,CAAC,GAAG;MAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;EAC5D,CAAC;WAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;MAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;MACnL,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;EAClG,CAAC;WAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;MAClE,IAAI,IAAI,KAAK,GAAG;UAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;MACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;MAClL,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;EAC9G;;;MClNoC,kCAAwB;MAM1D;UAAA,YACE,kBAAM,KAAK,CAAC,SACb;UAPO,aAAO,GAAG,CAAC,CAAC;;UAGb,eAAS,GAAG,KAAK,CAAC;;OAIxB;MAED,6BAAI,GAAJ;UACE,IAAI,CAAC,OAAO,EAAE,CAAC;UAEf,IAAI,IAAI,GAAG,IAAI,CAAC;UAChB,UAAU,CAAC;cACT,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;kBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;eACjB;WACF,EAAE,GAAG,CAAC,CAAC;OACT;MAED,6BAAI,GAAJ;UACE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;cACrB,OAAO;WACR;UAED,IAAI,CAAC,OAAO,EAAE,CAAC;UAEf,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;cACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;WAClB;OACF;MAED,+BAAM,GAAN,UAAO,OAAsB;UAA7B,iBAOC;UAPM,wBAAA,EAAA,cAAsB;UAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;UAEtB,IAAI,IAAI,GAAG,IAAI,CAAC;UAChB,UAAU,CAAC;cACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;WACxB,EAAE,OAAO,CAAC,CAAC;OACb;MAED,8BAAK,GAAL;UACE,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;cACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;WAClB;UAED,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;OAClB;;GAhDH,CAAoCC,oBAAwB;;;cAH3DH,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;;EC3BD;;;;;;;;;;;;;;;;;;;MA0BE;OAAgB;MAEhB,iCAAQ,GAAR,UAAS,KAAK;UACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;OACtB;MAED,uCAAc,GAAd,UAAe,IAAI;UACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACpB;;;;;cAZFA,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;;;MCcC,gCAAsB,cAA8B,EAAY,cAA8B;UAAxE,mBAAc,GAAd,cAAc,CAAgB;UAAY,mBAAc,GAAd,cAAc,CAAgB;UAJpF,8BAAyB,GAAG,EAAE,CAAC;UAC/B,wBAAmB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;UAC9C,qBAAgB,GAAG,CAAC,mBAAmB,CAAC,CAAC;OAGlD;MAED,0CAAS,GAAT,UAAU,GAAqB,EAAE,IAAiB;;UAAlD,iBAoEC;UAnEC,IAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;UAClD,IAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;UAEhD,IAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;UACvD,IAAM,0BAA0B,GAAG,IAAI,CAAC;UACxC,IAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;UAClC,IAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;UAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;UAC3B,IAAI,eAAe,GAAG,CAAC,gBAAgB,CAAC;UAExC,IAAI,CAAC,gBAAgB,EAAE;;kBACrB,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,yBAAyB,CAAA,gBAAA,4BAAE;sBAA3C,IAAM,CAAC,WAAA;sBACV,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;0BACvD,eAAe,GAAG,KAAK,CAAC;0BACxB,MAAM;uBACP;mBACF;;;;;;;;;WACF;UAED,IAAI,YAAY,EAAE;;kBAChB,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,mBAAmB,CAAA,gBAAA,4BAAE;sBAArC,IAAM,CAAC,WAAA;sBACV,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;0BACjD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC;0BACpD,MAAM;uBACP;mBACF;;;;;;;;;WACF;;cAED,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,gBAAgB,CAAA,gBAAA,4BAAE;kBAAlC,IAAM,CAAC,WAAA;kBACV,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;sBAC9C,cAAc,GAAG,IAAI,CAAC;sBACtB,MAAM;mBACP;eACF;;;;;;;;;;UAGD,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;cAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;cAChB,IAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;cAE1C,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;kBACzB,MAAM,GAAG,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;eAClC;mBAAM;kBACL,MAAM,GAAG,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;eAClC;cAED,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;WAClC;UAED,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;UAC5E,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;UAE5E,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;UAErC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1BI,aAAG,CACD,UAAC,KAAqB;cACpB,IAAI,KAAK,YAAYC,eAAY,EAAE;kBACjC,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;eACpC;WACF,EACD,UAAC,GAAQ;cACP,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;cACnC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;WACnC,CACF,CACF,CAAC;OACH;MAED,+CAAc,GAAd,UAAe,eAAwB;UACrC,IAAI,eAAe,EAAE;cACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;WAC5B;OACF;MAED,6CAAY,GAAZ,UAAa,eAAwB;UACnC,IAAI,eAAe,EAAE;cACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;WAC5B;OACF;;;;cAzFFL,aAAU;;;cAHH,cAAc;cACd,cAAc;;;EC9BtB;;;;;;;;;;;;;;;;;;;MAmBA;OAWC;MAVe,2BAAmB,GAA1B,UAA2B,KAAW;UAC3C,IAAI,KAAK,EAAE;cACT,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAC7D,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CACrF,CAAC;WACH;UAED,OAAO,IAAI,CAAC;OACb;oBACF;GAAA;;EC9BD;;;;;;;;;;;;;;;;;;;MAyCE,6BAAoB,SAA2B;UAA3B,cAAS,GAAT,SAAS,CAAkB;UAC7C,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;OACpC;MAEO,oCAAM,GAAN,UAAO,GAAW,EAAE,IAAI;UAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,KAAK,EAAE,MAAM;cACpD,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW;oBACrC,IAAI,CAAC,MAAM,CAAC;oBACZ,KAAK,CACN;WACJ,CAAC,CAAC;OACJ;MAAA,CAAC;MAEF,0DAA4B,GAA5B,UAA6B,SAA2B;UACtD,IAAM,aAAa,GAAG,IAAI,CAAC;UAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,MAAM,EAAEM,wBAAI,EAAE,CAAC;UAEtC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;UACxC,OAAO,aAAa,CAAC;OACtB;MAED,gDAAkB,GAAlB;UACE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;OACxC;MAED,8CAAgB,GAAhB;UACE,IAAI,SAAc,CAAC;UAEnB,QAAQ,IAAI,CAAC,kBAAkB,EAAE;cAC/B,KAAK,IAAI;kBACP,SAAS,GAAG,EAAE,MAAM,EAAEA,wBAAI,EAAE,CAAC;kBAC7B,MAAM;cAER;kBACE,SAAS,GAAG,EAAE,MAAM,EAAEA,wBAAI,EAAE,CAAC;WAChC;UAED,OAAO,SAAS,CAAC;OAClB;MAED,gDAAkB,GAAlB,UAAmB,IAAY;UAC7B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;OACrC;MAED,mDAAqB,GAArB,UAAsB,SAAmB;UACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;OACpC;MAED,4CAAc,GAAd,UAAe,QAAgB;UAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;OAC9B;MAED,+CAAiB,GAAjB,UAAkB,GAAW,EAAE,MAAc;UAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;UAE1C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;cAClC,OAAO,KAAK,CAAC;WACd;UAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;OACnC;MAED,8CAAgB,GAAhB,UAAiB,GAAW;UAC1B,IAAIC,eAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;cAC1B,OAAOC,cAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;UAED,OAAO,cAAc,CAAC;OACvB;MAED,kDAAoB,GAApB,UAAqB,GAAW;UAC9B,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;UAC9B,IAAID,eAAO,CAAC,SAAS,CAAC,EAAE;cACtB,IAAI,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;cACvD,OAAOC,cAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAClE;UAED,OAAO,cAAc,CAAC;OACvB;MAED,yDAA2B,GAA3B,UAA4B,SAAiB,EAAE,WAAmB;UAChE,IAAID,eAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAIA,eAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;cAClE,OAAOE,sBAAc,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WACvF;UAED,OAAO,cAAc,CAAC;OACvB;MAED,8DAAgC,GAAhC,UAAiC,IAAY;UAC3C,IAAIF,eAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;cAC3B,OAAOG,2BAAmB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;UAED,OAAO,cAAc,CAAC;OACvB;;MAGD,mDAAqB,GAArB,UAAsB,GAAW;UAC/B,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;UAEvE,IAAI,GAAG,EAAE;cACP,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;eAC7B;cACD,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;eACjB;WACF;UAED,IAAI,eAAe,EAAE;cACnB,IAAI,aAAa,GAAGC,wBAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;cACzD,OAAOH,cAAM,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;eACI;cACH,OAAOA,cAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;OACF;MAED,uDAAyB,GAAzB,UAA0B,GAAW;UACnC,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;UAEvE,IAAI,GAAG,EAAE;cACP,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;eAC7B;cACD,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;eACjB;WACF;UAED,IAAI,eAAe,EAAE;cACnB,IAAI,aAAa,GAAGG,wBAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;cACzD,OAAOH,cAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WACtE;eACI;cACH,OAAOA,cAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WACtE;OACF;;MAGD,mEAAqC,GAArC,UAAsC,IAAY;UAChD,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;UAErC,IAAID,eAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;cAC3B,OAAOG,2BAAmB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;UAED,OAAO,cAAc,CAAC;OACvB;MAGD,gDAAkB,GAAlB,UAAmB,IAAI;UACrB,IAAI,MAAM,GAAG,IAAI,CAAC;UAElB,IACA;cACE,IAAI,IAAI,EAAE;kBACR,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;sBAC3B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;mBAC/B;kBAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;sBAC3B,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;mBACnB;eACF;cAED,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;cACvE,IAAI,eAAe,EAAE;kBACnB,MAAM,GAAGC,wBAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;eAC3D;mBACI;kBACH,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;eACpC;WACF;UACD,WACA;cACE,IAAI,IAAI,EAAE;kBACR,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;eACtE;WACF;UAED,OAAO,MAAM,CAAC;OACf;;;;;cA5LFX,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;cAhBQY,qBAAgB;;;ECrBzB;;;;;;;;;;;;;;;;;;;MA6BE,sBAAoB,eAAoC;UAApC,oBAAe,GAAf,eAAe,CAAqB;OACvD;MAED,gCAAS,GAAT,UAAU,SAAiB,EAAE,IAAY,EAAE,MAAe;UACxD,IAAI,CAAC,SAAS,EAAE;cACd,OAAO;WACR;UAED,IAAI,CAAC,IAAI,EAAE;cACT,IAAI,GAAG,IAAI,CAAC;WACb;;UAGD,IAAI,IAAI,KAAK,IAAI,EAAE;cACjB,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;WAC1D;;UAGD,IAAI,IAAI,KAAK,GAAG,EAAE;cAChB,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;WACzD;;UAGD,IAAI,IAAI,KAAK,IAAI,EAAE;cAChB,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;WAC9D;;UAGD,IAAI,IAAI,KAAK,KAAK,EAAE;cAClB,OAAO,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;WAC5E;;UAGD,IAAI,IAAI,KAAK,SAAS,EAAE;cACtB,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;WACzE;;;UAID,IAAI,IAAI,KAAK,KAAK,EAAE;cAClB,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;WAC9D;;UAGD,IAAI,IAAI,KAAK,MAAM,EAAE;cACnB,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;WAClE;;UAGD,IAAI,IAAI,KAAK,WAAW,EAAE;cACxB,OAAO,IAAI,CAAC,eAAe,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;WAC9E;UAED,OAAO,SAAS,CAAC;OAClB;;;;cA1DFC,OAAI,SAAC;kBACJ,IAAI,EAAE,UAAU;eACjB;;;cAJQ,mBAAmB;;;ECvB5B;;;;;;;;;;;;;;;;;;WA8BgB,4BAA4B,CAAC,IAAgB;MAC3D,OAAO,IAAIC,8BAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;EACpF,CAAC;WAEe,8BAA8B,CAAC,SAA2B,EAAE,mBAAwC,EAAE,QAAkB;MACtI,OAAO,cAAM,OAAA,IAAI,OAAO,CAAM,UAAC,OAAY;UACzC,IAAI,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAACC,uBAAoB,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;UACpF,mBAAmB,CAAC,IAAI,CAAC;cACvB,IAAI,aAAa,GAAG,mBAAmB,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;cAChF,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;eACtC,EACC;kBACE,OAAO,CAAC,IAAI,CAAC,CAAC;eACf,EACD;kBACE,OAAO,CAAC,IAAI,CAAC,CAAC;eACf,CAAC,CAAC;WACN,CAAC,CAAC;OACJ,CAAC,GAAA,CAAC;EACL,CAAC;MAEY,qBAAqB,GAAGC,oBAAe,CAAC,OAAO,CAAC;MAC3D,MAAM,EAAE;UACN,OAAO,EAAEC,oBAAe;UACxB,UAAU,EAAE,4BAA4B;UACxC,IAAI,EAAE,CAACC,aAAU,CAAC;OACnB;GACF,EAAE;AAEQC,gDAAuC;;MAkBhD,oCAAoB,QAAkB;UAAlB,aAAQ,GAAR,QAAQ,CAAU;UACpCA,oCAA4B,GAAG,IAAI,CAAC,QAAQ,CAAC;OAC9C;;;;cAlBFC,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACP,qBAAqB;mBACtB;kBACD,SAAS,EAAE;sBACT;0BACE,OAAO,EAAEC,kBAAe;0BACxB,UAAU,EAAE,8BAA8B;0BAC1C,IAAI,EAAE,CAACT,qBAAgB,EAAE,mBAAmB,EAAEU,WAAQ,CAAC;0BACvD,KAAK,EAAE,IAAI;uBACZ;mBACF;kBACD,OAAO,EAAE,EACR;eACF;;;cAvDkBA,WAAQ;;;ECpB3B;;;;;;;;;;;;;;;;;;;MAwCA;;;;;cAdCF,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACPJ,oBAAe;mBAChB;kBACD,OAAO,EAAE;sBACPA,oBAAe;sBACf,YAAY;mBACb;kBACD,YAAY,EAAE;sBACZ,YAAY;mBACb;kBACD,SAAS,EAAE,EACV;eACF;;;ECvCD;;;;;;;;;;;;;;;;;;;MAgCE,4BAAoB,QAAkB;UAAlB,aAAQ,GAAR,QAAQ,CAAU;OAAI;MAE1C,wCAAW,GAAX,UAAY,KAAK;UACf,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;UACzD,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;UAG/B,MAAM,KAAK,CAAC;OACb;;;;cAVFhB,aAAU;;;cALwBsB,WAAQ;;;ECzB3C;;;;;;;;;;;;;;;;;;EAuBA;MAAA;OAyBC;MAvBC,sBAAW,gCAAmB;;eAA9B;cACE,IAAM,EAAE,GAAGH,oCAA4B,CAAC,GAAG,CAAsB,mBAAmB,CAAC,CAAC;cACtF,OAAO,EAAE,CAAC;WACX;;;SAAA;MAEa,2BAAiB,GAAxB,UAAyB,GAAW,EAAE,MAAc,EAAE,UAAmB;;;;;UAK9E,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE;cACtB,OAAO,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;WAC/D;;;UAID,IAAI,GAAG,EAAE;cACP,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;cACtE,OAAO,KAAK,CAAC;WACd;UAED,OAAO,GAAG,CAAC;OACZ;sBACF;GAAA;;EChDD;;;;;;;;;;;;;;;;;;;MAsBA;OAiGC;MAhGe,cAAO,GAAd,UAAe,IAAK,EAAE,MAAc,EAAE,KAAM,EAAE,aAAc;UACjE,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;UACzE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;UAE5DI,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,SAAS;cACf,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC;eACD,IAAI,CAAC;cACJ,IAAI,aAAa,EAAE;kBACjB,aAAa,EAAE,CAAC;eACjB;WACF,CAAC,CAAC;OACJ;MAEa,WAAI,GAAX,UAAY,IAAI,EAAE,MAAc,EAAE,KAAM;UAC7C,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;UAEzDA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,MAAM;cACZ,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC,CAAC;OACJ;MAEa,cAAO,GAAd,UAAe,IAAI,EAAE,MAAc,EAAE,KAAM;UAChD,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;UAE5DA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,SAAS;cACf,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC,CAAC;OACJ;MAEa,YAAK,GAAZ,UAAa,IAAK,EAAE,MAAc,EAAE,KAAM;UAC/C,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;UACjE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;UAE1DA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,OAAO;cACb,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC,CAAC;OACJ;MAEa,aAAM,GAAb,UAAc,IAAK,EAAE,MAAc,EAAE,KAAM;UAChD,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;UACvE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;UAE9DA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,MAAM;WACb,CAAC,CAAA;OACH;MAEa,qBAAc,GAArB;UACL,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;OACrC;MAAA,CAAC;MAEY,iBAAU,GAAjB,UAAkB,IAAI,EAAE,KAAM,EAAE,iBAAkB,EAAE,gBAAiB,EAAE,aAAc,EAAE,YAAa;UACzG,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;UACzC,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;UAC/D,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;UACzG,gBAAgB,GAAI,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;UAEvGA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,SAAS;cACf,iBAAiB,mBAAA;cACjB,gBAAgB,kBAAA;cAChB,gBAAgB,EAAE,IAAI;WACvB,CAAC;eACD,IAAI,CAAC,UAAC,MAAM;cACX,IAAI,MAAM,CAAC,KAAK,EAAE;kBAChB,IAAI,aAAa,EAAE;sBACjB,aAAa,EAAE,CAAC;mBACjB;eACF;;mBAEI,IAAI,MAAM,CAAC,OAAO,IAAIA,wBAAI,CAAC,aAAa,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAIA,wBAAI,CAAC,aAAa,CAAC,KAAK,EAAE;kBAClG,IAAI,YAAY,EAAE;sBAChB,YAAY,EAAE,CAAC;mBAChB;eACF;WACF,CAAC,CAAC;OACJ;MAAA,CAAC;mBACH;GAAA;;ECvHD;;;;;;;;;;;;;;;;;;;MAqBA;OAIC;MAHe,YAAO,GAAd;UACL,OAAOC,OAAM,EAAE,CAAC;OACjB;iBACF;GAAA;;ECMD;EACA;EACA;;MAgBE,6BAAoB,aAA4B;UAA5B,kBAAa,GAAb,aAAa,CAAe;;;;;UAPxC,0BAAqB,GAAG,IAAIrB,oBAAe,CAAkB,EAAE,CAAC,CAAC;UACjE,yBAAoB,GAAG,IAAIA,oBAAe,CAAkB,EAAE,CAAC,CAAC;;UAG/D,0BAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;UAClE,yBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;;OAIxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmGO,oDAAsB,GAAtB,UAAuB,IAAY,EAAE,IAAY;UACvD,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;UAC1B,IAAM,YAAY,GAAG,EAAE,EAAE,IAAA,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;UAEvH,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;OACjD;MAEO,0DAA4B,GAA5B,UAA6B,YAA2B;UAC9D,IAAI,CAAC,oBAAoB;cACvB,YAAY;oBACT,IAAI,CAAC,oBAAoB,EAC7B,CAAC;OACH;;MAGD,gDAAkB,GAAlB,UAAmB,EAAU,EAAE,SAAkB;UAC/C,IAAI,SAAS,EAAE;cACb,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;WACxG;eACI;cACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;WACtG;OACF;MAED,qCAAO,GAAP,UAAQ,IAAK,EAAE,MAAc,EAAE,KAAM,EAAE,yBAAyC;UAAzC,0CAAA,EAAA,gCAAyC;UAC9E,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;UACzE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;cACtC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;UAEH,IAAI,yBAAyB,EAAE;cAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;WAC9C;OACF;MAED,kCAAI,GAAJ,UAAK,IAAI,EAAE,MAAc,EAAE,KAAM;UAC/B,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;cACnC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;OACJ;MAED,qCAAO,GAAP,UAAQ,IAAI,EAAE,MAAc,EAAE,KAAM;UAClC,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;cACtC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;OACJ;MAED,mCAAK,GAAL,UAAM,IAAK,EAAE,MAAc,EAAE,KAAM,EAAE,yBAAyC;UAAzC,0CAAA,EAAA,gCAAyC;UAC5E,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;UACjE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;cACpC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;UAEH,IAAI,yBAAyB,EAAE;cAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;WAC5C;OACF;MAED,oCAAM,GAAN,UAAO,IAAK,EAAE,MAAc,EAAE,KAAM;UAClC,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;UACvE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;cACnC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;OACJ;MAGD,sBAAI,qDAAoB;;eAAxB;cACE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;WAC9C;eACD,UAAyB,GAAoB;cAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;WACtC;;;SAHA;MAMD,sBAAI,oDAAmB;;eAAvB;cACE,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;WAC7C;eACD,UAAwB,GAAoB;cAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;WACrC;;;SAHA;;;;;cAhNFH,aAAU,SAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;cAdxByB,kBAAa;;;ECrBrB;;;;;;;;;;;;;;;;;;;MAoCE,wBAAsB,IAAgB;UAAhB,SAAI,GAAJ,IAAI,CAAY;OACrC;MAEO,wCAAe,GAAf,UAAgB,IAAU;UAChC,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;OAC1C;;MAGD,4BAAG,GAAH,UAAO,MAAc,EAAE,IAAU,EAAE,YAAa;UAC9C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACnE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAC/DC,aAAG,CAAC,UAAA,GAAG,IAAO,OAAA,GAAG,GAAA,CAAC,CACnB,CAAC;OACH;MAED,6BAAI,GAAJ,UAAK,MAAc,EAAE,IAAU,EAAE,YAAa;UAC5C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAQ,CAAC;UACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;OAClE;MAED,+BAAM,GAAN,UAAO,MAAc,EAAE,IAAU,EAAE,YAAa;UAC9C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;OAClE;MAED,+BAAM,GAAN,UAAO,MAAc,EAAE,IAAU,EAAE,YAAa;UAC9C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACnE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;OAC9D;;MAGD,4CAAmB,GAAnB,UAAoB,GAAW;UAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;OAC3B;MAED,4CAAmB,GAAnB,UAAoB,GAAW;UAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;OAC3B;MAED,oCAAW,GAAX,UAAY,QAAgB;UAC1B,IAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;UAC1C,IAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;UAChD,IAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;UAClD,IAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;UAChD,IAAI,GAAG,GAAG,EAAE,CAAC;UAEb,IAAI,YAAY,EAAE;cAChB,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,WAAW,CAAC;WAC/C;eACI;cACH,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC;WACrD;UAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5BA,aAAG,CAAC,UAAA,GAAG,IAAW,OAAA,GAAG,GAAA,CAAC,CACvB,CAAC;OACH;;;;cA5EF1B,aAAU;;;cAXFkB,aAAU;;;;MCOoB,qCAAc;MAKnD,2BAAsB,IAAgB;UAAtC,YACE,kBAAM,IAAI,CAAC,SAEZ;UAHqB,UAAI,GAAJ,IAAI,CAAY;UAJ9B,aAAO,GAAG,IAAI,CAAC;UACf,eAAS,GAAG,EAAE,CAAC;UACf,kBAAY,GAAiB,IAAI,CAAC;UAIxC,KAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;;OAClC;MAED,sCAAU,GAAV,UAAW,OAAiB;UAA5B,iBAsBC;UArBC,IAAI,OAAO,OAAO,IAAI,WAAW,EAAE;cACjC,OAAO;WACR;UAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;cACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;cACtB,OAAO;WACR;UAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;UAE7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;cAC7B,OAAO;WACR;UAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,SAAS,CAC/D,UAAC,IAAI;cACH,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;WACzB,EACD,UAAC,CAAC,KAAO,CACV,CAAC;OACH;MAED,wCAAY,GAAZ,UAAa,IAAI;UACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;UAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;cAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;cAChC,OAAO,CAAC,IAAI,CAAC,CAAC;WACf;UAED,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;UACpB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;UAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;UACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;OACrB;MAED,0CAAc,GAAd;UACE,OAAO,gBAAgB,CAAC,cAAc,CAAC;OACxC;MAED,uCAAW,GAAX;UACE,OAAO,gBAAgB,CAAC,WAAW,CAAC;OACrC;;GAtDH,CAAuC,cAAc;;cADpDlB,aAAU;;;cANHkB,aAAU;;;ECrBlB;;;;;;;;;;;;;;;;;;;MAyBA;UAaS,aAAQ,GAAqB,IAAIS,YAAO,EAAW,CAAC;OA+D5D;;MA5DS,uCAAiB,GAAjB,UAAkB,cAAc;UACtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;UACrC,IAAI,CAAC,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAAC;UACjD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;OAC7B;MAEO,gCAAU,GAAV;UAAA,iBAYP;UAXC,IAAI,CAAC,MAAM,GAAGC,UAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;cACpE,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;cACzB,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,KAAI,CAAC,mBAAmB,CAAC,CAAC;cAE/E,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;;;kBAI7C,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;eAC1B;WACF,CAAC,CAAC;OACJ;MAEO,gCAAU,GAAV;UACN,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;OAC7B;;MAGM,mCAAa,GAAb,UAAc,cAAc;UAA5B,iBAsBN;UArBC,IAAI,CAAC,KAAK,GAAGC,UAAK,CAChBC,cAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,EAChCA,cAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAC5BA,cAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,EAChCA,cAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC/BA,cAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EACrCA,cAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,EACjCA,cAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,EAChCA,cAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,EACpCA,cAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAC9BA,cAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC5B,CAAC;UAEF,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;UAEvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,GAAG;cAC/C,KAAI,CAAC,UAAU,EAAE,CAAC;WACnB,CAAC,CAAC;UAEH,IAAI,CAAC,UAAU,EAAE,CAAC;UAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;OACtB;MAEM,kCAAY,GAAZ;UACL,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;UAC1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;OACrC;MAEM,sCAAgB,GAAhB,UAAiB,cAAc;UACpC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;UAE1B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;UACvC,IAAI,CAAC,UAAU,EAAE,CAAC;OACnB;;;;;cA3EF9B,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;ECFD;MAGE,2BAAY,OAAe;UACzB,IAAI,CAAC,OAAO;cACV,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,cAAc;oBAC7C,YAAY;oBACZ,cAAc,CAAC;OACtB;MAED,mCAAO,GAAP,UAAQ,GAAG,EAAE,KAAK;UAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;OAClC;MAED,qCAAS,GAAT,UAAU,GAAG,EAAE,KAAK;UAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;OAClD;MAED,mCAAO,GAAP,UAAQ,GAAG;UACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;OAClC;MAED,qCAAS,GAAT,UAAU,GAAG;UACX,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;UACtC,IAAI,CAAC,KAAK,EAAE;cACV,OAAO,IAAI,CAAC;WACb;UAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;OAC1B;MAED,kCAAM,GAAN,UAAO,GAAG;UACR,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;OAC9B;8BACF;GAAA,IAAA;;MAGwC,uCAAiB;MACxD;iBACE,kBAAM,cAAc,CAAC;OACtB;;GAHH,CAAyC,iBAAiB;;cADzDA,aAAU;;;;MAQgC,yCAAiB;MAC1D;iBACE,kBAAM,gBAAgB,CAAC;OACxB;;GAHH,CAA2C,iBAAiB;;cAD3DA,aAAU;;;;ECpEX;;;;;;;;;;;;;;;;;;;MA4BE,iCACU,KAAY,EACZ,IAAU,EACQ,GAAQ;UAF1B,UAAK,GAAL,KAAK,CAAO;UACZ,SAAI,GAAJ,IAAI,CAAM;UACQ,QAAG,GAAH,GAAG,CAAK;OAEnC;MAED,6CAAW,GAAX,UAAY,KAAc;UACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;OAC5B;MAED,mDAAiB,GAAjB,UAAkB,IAAa;UAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;OAC7D;MAED,gDAAc,GAAd,UAAe,QAAc;UAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;OAC9D;MAED,gDAAc,GAAd,UAAe,IAAsB;UAArC,iBAEC;UADC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;OAC3C;MAED,iDAAe,GAAf,UAAgB,GAAY;UAC1B,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;UACtD,IAAM,IAAI,GAAoB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;UAC7D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;UACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;UAChC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;OACnC;MAED,oDAAkB,GAAlB,UAAmB,GAAY;UAC7B,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;UACtD,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;UACtD,IAAI,IAAI,GAAoB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC;UAEpF,IAAI,IAAI,IAAI,IAAI,EAAE;cAChB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAoB,CAAC;cACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;WACxB;UAED,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;UACtC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;OACnC;;;;;cA/CFA,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;cAJQ+B,UAAK;cAAEC,SAAI;8CASfC,SAAM,SAACC,WAAQ;;;EC/BpB;;;;;;;;;;;;;;;;;;;MA4BE,gCAAoB,MAAc;UAAd,WAAM,GAAN,MAAM,CAAQ;;;;;;OAMjC;MAEM,0CAAS,GAAT;UACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,KAAK;cACpD,IAAI,KAAK,YAAYC,oBAAa,EAAE;kBAClC,IAAU,MAAO,CAAC,EAAE,EAAE;sBACd,MAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;sBACnD,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;mBACtC;eACF;WACF,CAAC,CAAC;OACJ;MAEM,4CAAW,GAAX;UACL,IAAI,IAAI,CAAC,YAAY,EAAE;cACrB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;WACjC;OACF;;;;cA3BFnC,aAAU;;;cAFFE,aAAM;;;ACHJkC,oCAA2B;;MAiBpC,2BAAoB,QAAkB,EAA0B,YAA+B;UAA3E,aAAQ,GAAR,QAAQ,CAAU;UACpC,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;UAExDA,wBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;OAClC;;;;cAnBFhB,WAAQ,SAAC;kBACR,OAAO,EAAE,CAACiB,eAAY,CAAC;kBACvB,OAAO,EAAE,EAAE;kBACX,SAAS,EAAE;sBACT,cAAc;sBACd,mBAAmB;sBACnB,iBAAiB;sBACjB,cAAc;sBACd,uBAAuB;sBACvB,sBAAsB;sBACtB,mBAAmB;sBACnB,qBAAqB;mBACtB;eACF;;;cAlCOf,WAAQ;cAoCgE,iBAAiB,uBAAtDgB,WAAQ,YAAIC,WAAQ;;;ECpC/D;;;;;;;;;;;;;;;;;;;MAwBE;UAFQ,SAAI,GAAmB,EAAE,CAAC;OAElB;MAEhB,kBAAG,GAAH;UAAI,uBAAgC;eAAhC,UAAgC,EAAhC,qBAAgC,EAAhC,IAAgC;cAAhC,kCAAgC;;UAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;OAC7C;MAED,sBAAI,sBAAI;eAAR,UAAS,YAA0B;cACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;WAC9B;;;SAAA;MAED,0BAAW,GAAX;UACE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,GAAA,CAAC,CAAC;UACrD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;OAChB;iBACF;GAAA;;ECtCD;;;;;;;;;;;;;;;;;;;MAmBA;OA6CC;MA5Ce,wBAAkB,GAAzB,UAA0B,IAAI;UACnC,OAAO,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;OACpD;MAEa,oBAAc,GAArB,UAAsB,GAAG,EAAE,IAAI;UACpC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;UAE1D,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,WAAW,CAAC,EAEvD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;UAC1B,OAAO,OAAO,KAAK,IAAI,GAAG,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;OACnF;MAEa,qBAAe,GAAtB,UAAuB,KAAU,EAAE,GAAW;UACnD,KAAK,CAAC,cAAc,EAAE,CAAC;UAEvB,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;UAClD,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;UAChC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;UACxB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;UACvB,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;UAC3B,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;UACnB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;UAClC,MAAM,CAAC,KAAK,EAAE,CAAC;UACf,MAAM,CAAC,MAAM,EAAE,CAAC;UAChB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;UAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;OACnC;MAEa,kBAAY,GAAnB,UAAoB,IAAY,EAAE,GAAW;UAClD,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;UACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;UACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;UAChB,IAAI,CAAC,KAAK,EAAE,CAAC;OACd;MAEa,sBAAgB,GAAvB,UAAwB,KAAW,EAAE,QAAgB;UAC1D,IAAI,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE;cACrC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;WACpD;eAAM;cACL,IAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;cACtD,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;WAC3C;OACF;kBACF;GAAA;;;MClCwC,uCAAsB;MAK7D,6BAAsB,IAAgB;UAAtC,YACE,kBAAM,EAAE,CAAC,SACV;UAFqB,UAAI,GAAJ,IAAI,CAAY;UAJ5B,UAAI,GAAU,EAAE,CAAC;;OAM1B;MAED,6CAAe,GAAf,UAAgB,IAAU;UACxB,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;OAC1C;MAED,kCAAI,GAAJ,UAAK,MAAY,EAAE,OAAkB,EAAE,KAAgB;UAAvD,iBAyBC;UAxBC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cACpB,OAAO,iBAAM,IAAI,YAAC,IAAI,CAAC,IAAI,CAAC,CAAC;WAC9B;UAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;UAE3B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;cACjC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;WAC/B;UAED,IAAI,MAAM,EAAE;cACV,GAAG,GAAG,IAAI,CAAC,WAAW,IAAG,KAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAG,CAAA,CAAC;cAC3D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;WAC/B;UAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAACb,aAAG,CAAC,UAAA,GAAG,IAAW,OAAA,GAAG,GAAA,CAAC,CAAC,CAAC,SAAS,CACvD,UAAA,IAAI;cACF,iBAAM,IAAI,aAAC,IAAI,CAAC,CAAC;cACjB,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAA,CAAC;cACC,IAAI,KAAK;kBAAE,KAAK,CAAC,CAAC,CAAC,CAAC;WACrB,CACF,CAAC;OACH;;GAtCH,CAAyCvB,oBAAsB;;cAD9DH,aAAU;;;cARFkB,aAAU;;;;MCUsB,uCAAmB;MAG1D,6BAAsB,IAAgB;UAAtC,YACE,kBAAM,IAAI,CAAC,SACZ;UAFqB,UAAI,GAAJ,IAAI,CAAY;;OAErC;MAEO,mCAAK,GAAL;UACN,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;OAChB;MAED,uCAAS,GAAT,UAAU,QAAa;UACrB,IAAI,CAAC,QAAQ,EAAE;cAAE,OAAO;WAAE;;UAG1B,IAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,GAAA,CAAC,CAAC;;UAGzE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;UAC1C,iBAAM,IAAI,YAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACvB;MAED,kCAAI,GAAJ,UAAK,IAAS,EAAE,KAAc,EAAE,MAAiB;UAAjD,iBAeC;UAdC,IAAM,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;UAExC,IAAI,CAAC,KAAK,EAAE,CAAC;UACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,CAC/B;WACC,EACD;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;WACb,EACD;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;cACZ,IAAI,MAAM;kBAAE,MAAM,EAAE,CAAC;WACtB,CACF,CAAC;OACH;MAED,oCAAM,GAAN,UAAO,IAAS,EAAE,MAAiB;UAAnC,iBAaC;UAZC,IAAI,CAAC,KAAK,EAAE,CAAC;UAEb,IAAM,GAAG,GAAM,IAAI,CAAC,OAAO,eAAU,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UAClE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACpC;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;cACZ,IAAI,MAAM;kBAAE,MAAM,EAAE,CAAC;WACtB,EACD;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;WACb,CACF,CAAC;OACH;MAED,kCAAI,GAAJ,UAAK,MAAW,EAAE,IAAU;UAC1B,IAAM,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACrE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CACnCQ,aAAG,CAAC,UAAA,GAAG,IAAW,OAAA,GAAG,GAAA,CAAC,CACvB,CAAC;OACH;;GA3DH,CAAyC,mBAAmB;;cAD3D1B,aAAU;;;cATFkB,aAAU;;;ECrBnB;;;;;;;;;;;;;;;;;;EAmBO,IAAM,MAAM,GAAG;MACpB,cAAc,EAAE,aAAa;;MAG7B,oBAAoB,EAAE,mBAAmB;GAC1C;;;MCU4C,2CAAc;MACzD,iCAAsB,IAAgB;UAAtC,YACE,kBAAM,IAAI,CAAC,SAEZ;UAHqB,UAAI,GAAJ,IAAI,CAAY;UAEpC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;;OAC5C;MAED,uDAAqB,GAArB;UACE,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;OAC1C;;GARH,CAA6C,cAAc;;;cAH1DlB,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;cAZOkB,aAAU;;;;MCOqB,qCAAc;MACnD,2BAAsB,IAAgB;UAAtC,YACE,kBAAM,IAAI,CAAC,SAEZ;UAHqB,UAAI,GAAJ,IAAI,CAAY;UAEpC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;;OACtC;MAEM,kDAAsB,GAAtB,UAAuB,aAAqB,EAAE,OAAkB,EAAE,KAAgB;UACvF,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,CAC/E,UAAC,IAAI;cACH,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAC,CAAC;cACA,IAAI,KAAK;kBAAE,KAAK,EAAE,CAAC;WACpB,CACF,CAAC;OACH;MAEM,uDAA2B,GAA3B,UAA4B,OAAkB,EAAE,KAAgB;UACrE,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,SAAS,CACxD,UAAC,IAAI;cACH,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAC,CAAC;cACA,IAAI,KAAK;kBAAE,KAAK,EAAE,CAAC;WACpB,CACF,CAAC;OACH;MAEM,qCAAS,GAAT,UAAU,aAAqB,EAAE,OAAkB,EAAE,KAAgB;UAC1E,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,CAClE,UAAC,IAAI;cACH,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAC,CAAC;cACA,IAAI,KAAK;kBAAE,KAAK,EAAE,CAAC;WACpB,CACF,CAAC;OACH;;GArCH,CAAuC,cAAc;;cADpDlB,aAAU;;;cANFkB,aAAU;;;ECrBnB;;;;;;;;;;;;;;;;;;;MAoCE,2BAAoC,YAA+B;UACjE,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;OACzD;;;;cAXFE,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACPiB,eAAY;mBACb;kBACD,SAAS,EAAE;sBACT,iBAAiB;mBAClB;eACF;;;cAEmD,iBAAiB,uBAAtDC,WAAQ,YAAIC,WAAQ;;;ECpCnC;;;;;;;;;;;;;;;;;;;MAwCE,kCACU,UAA6B,EAC7B,GAAsB;UADtB,eAAU,GAAV,UAAU,CAAmB;UAC7B,QAAG,GAAH,GAAG,CAAmB;UAVzB,mBAAc,GAAG,KAAK,CAAC;UACvB,mBAAc,GAAG,KAAK,CAAC;UACvB,gBAAW,GAAG,CAAC,CAAC;UAChB,qBAAgB,GAAG,EAAE,CAAC;OAQzB;MAEJ,2CAAQ,GAAR;UAAA,iBAgBC;UAfC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;cACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;cAC3B,OAAO;WACR;UAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAC,OAAO;cACjC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;cAE7C,IAAI,KAAI,CAAC,cAAc,EAAE;kBACvB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;kBAC/C,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;eAC7D;cAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;WAC5B,CAAC,CAAC;OACJ;MAED,4CAAS,GAAT;UACE,IAAM,IAAI,GAAG,qBAAmB,IAAI,CAAC,SAAS,MAAG,CAAC;UAClD,IAAM,IAAI,GAAG,IAAI,CAAC;UAElB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE;cACnE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;kBAC5B,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAC;sBACzC,MAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;mBACnC,CAAC,CAAC;eACJ,CAAC,CAAC;WACJ,CAAC,CAAC;OACJ;;;;cA/CFC,YAAS,SAAC;kBACT,QAAQ,EAAE,0BAA0B;kBACpC,4iBAAgD;eACjD;;;cARO,iBAAiB;cACjB,iBAAiB;;;qBActBC,QAAK;0BACLA,QAAK;;;ECtCR;;;;;;;;;;;;;;;;;;;MAwCE,sCAAoB,UAA6B;UAA7B,eAAU,GAAV,UAAU,CAAmB;UAV1C,mBAAc,GAAG,KAAK,CAAC;UACvB,mBAAc,GAAG,KAAK,CAAC;UACvB,gBAAW,GAAG,CAAC,CAAC;UAChB,qBAAgB,GAAG,EAAE,CAAC;UACtB,kBAAa,GAAG,CAAC,CAAC;UAClB,uBAAkB,GAAG,EAAE,CAAC;OAKsB;MAErD,+CAAQ,GAAR;UAAA,iBAkBC;UAjBC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;cACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;cAC3B,OAAO;WACR;UAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAC,OAAO;cACjC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;cAE7C,IAAI,KAAI,CAAC,cAAc,EAAE;kBACvB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;kBAC/C,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;kBAC5D,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;kBAC1D,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC;eACxE;cAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;WAC5B,CAAC,CAAC;OACJ;;;;cAnCFD,YAAS,SAAC;kBACT,QAAQ,EAAE,+BAA+B;kBACzC,q4BAAqD;eACtD;;;cALQ,iBAAiB;;;qBAcvBC,QAAK;0BACLA,QAAK;;;ECtCR;;;;;;;;;;;;;;;;;;EAwBA;;MAWE,oCAAoB,GAAsB;UAAtB,QAAG,GAAH,GAAG,CAAmB;OAAI;MAE9C,kDAAa,GAAb;UACE,IAAM,IAAI,GAAG,mBAAiB,IAAI,CAAC,gBAAgB,mBAAc,IAAI,CAAC,kBAAoB,CAAC;UAC3F,IAAM,IAAI,GAAG,IAAI,CAAC;UAElB,MAAM,CAAC,UAAU,CACf,IAAI,EACJ,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR;cACE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE;kBAClD,MAAM,CAAC,OAAO,CACZ,+CAA+C,EAC/C,IAAI,EAAC,IAAI,EACT;sBACG,MAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;mBACnC,CACF,CAAC;eACH,CAAC,CAAC;WACJ,CACF,CAAC;OACH;;;;cAhCFD,YAAS,SAAC;kBACT,QAAQ,EAAE,6BAA6B;kBACvC,kHAAmD;eACpD;;;cARO,iBAAiB;;;iCAUtBC,QAAK;8BACLA,QAAK;mCACLA,QAAK;;;ECjCR;;;;;;;;;;;;;;;;;;;MA0BA;;MAGE,yCAAQ,GAAR;UACE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;cACtB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;WACjB;OACF;;;;cAXFD,YAAS,SAAC;kBACT,QAAQ,EAAE,wBAAwB;kBAClC,gHAA8C;eAC/C;;;sBAEEC,QAAK;;;EC3BR;;;;;;;;;;;;;;;;;;MAmBa,oBAAoB,GAAW;MAC1C,eAAe,EAAE,wBAAwB;MACzC,gBAAgB,EAAE,IAAI;MACtB,SAAS,EAAE,GAAG;MACd,aAAa,EAAE,KAAK;MAEpB,cAAc,EAAE;UACd,QAAQ,EAAE;cACR,OAAO,EAAE;kBACP,MAAM;kBACN,QAAQ;kBACR,WAAW;kBACX,eAAe;kBACf,WAAW;kBACX,aAAa;kBACb,YAAY;kBACZ,UAAU;kBACV,WAAW;kBACX,iBAAiB;kBACjB,aAAa;kBACb,aAAa;eACd;WACF;UACD,aAAa,EAAE;cACb,OAAO,EAAE;kBACP,WAAW;kBACX,aAAa;kBACb,gBAAgB;kBAChB,YAAY;kBACZ,cAAc;kBACd,UAAU;kBACV,UAAU;kBACV,iBAAiB;kBACjB,gBAAgB;kBAChB,YAAY;kBACZ,SAAS;kBACT,QAAQ;kBACR,OAAO;eACR;WACF;UACD,QAAQ,EAAE;cACR,OAAO,EAAE;kBACP,YAAY;kBACZ,aAAa;kBACb,aAAa;kBACb,WAAW;kBACX,aAAa;kBACb,mBAAmB;kBACnB,SAAS;eACV;WACF;UACD,QAAQ,EAAE;cACR,OAAO,EAAE;kBACP,WAAW;kBACX,iBAAiB;kBACjB,MAAM;kBACN,MAAM;kBACN,MAAM;kBACN,YAAY;eACb;cACD,KAAK,EAAE,OAAO;WACf;OACF;;;;;MAMD,cAAc,EAAE,6BAA6B;MAC7C,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;MACzC,iBAAiB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;;;ECzF3D;;;;;;;;;;;;;;;;;;;MA0BA;UAIY,SAAI,GAAS,IAAI,IAAI,EAAE,CAAC;OAYnC;MAVC,+BAAO,GAAP;UACE,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;UACxC,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI,EAAE;cAAE,OAAO,IAAI,CAAC;UAEvD,OAAO,EAAE,CAAC;OACX;MAED,mCAAW,GAAX;UACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;OACzB;;;;cAfFD,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;MCS+C,qCAAa;MAI3D;UAAA,YACE,iBAAO,SACR;UAJQ,mBAAa,GAAY,KAAK,CAAC;;OAIvC;MAED,0CAAc,GAAd;UACE,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;UACxC,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI,EAAE;cAAE,OAAO,IAAI,CAAC;UAEvD,OAAO,KAAK,CAAC;OACd;MAED,uCAAW,GAAX;UACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;OACvB;MAED,0CAAc,GAAd,UAAe,IAAY,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UACrD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;OAC/C;MAED,4CAAgB,GAAhB,UAAiB,IAAY,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UACvD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,IAAI,EAAE,EAAE;cAC7C,OAAO,KAAK,CAAC;WACd;UAED,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,IAAI,CAAC,EAAE,EAAE;cACP,OAAO,KAAK,CAAC;WACd;UAED,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;cAChB,QACE,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO;mBAC1C,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAC9C;WACH;UAED,OAAO,KAAK,CAAC;OACd;;MAGD,wCAAY,GAAZ,UAAa,IAAI,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAC3C,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;OAChC;MAED,wCAAY,GAAZ,UAAa,IAAI,EAAE,KAAK,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAClD,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;OACnC;MAED,6CAAiB,GAAjB,UAAkB,SAAS,EAAE,IAAI,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAC3D,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;OAC/C;MAED,6CAAiB,GAAjB,UAAkB,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAClE,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;OAClD;;;;;;;MAQD,sCAAU,GAAV,UACE,IAAY,EACZ,WAA4B,EAC5B,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAE1B,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;OAClC;;;;;;MAOD,yCAAa,GAAb,UAAc,IAAY,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UACpD,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAE9C,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;cAChB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;WACxB;OACF;;;;;;;MAQD,6CAAiB,GAAjB,UACE,SAAe,EACf,eAIQ,EACR,cAA6D;UAE7D,OAAO,IAAIE,iBAAW,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;OACpE;;;;;;;MAQD,2CAAe,GAAf,UAAgB,WAAmB,EAAE,GAAO,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;;UACtE,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,MAAA,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAE,SAAS,CAAC,GAAG,CAAC,CAAC;OACrC;;;;;;MAOD,2CAAe,GAAf,UAAgB,WAAmB,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;;UAC7D,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,MAAA,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAE,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;OACnD;MAMD,sBAAI,iCAAE;;;;;eAAN;cACE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;WAChC;;;SAAA;;GAzIH,CAAgD,aAAa;;cAH5DF,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;0BAEEC,QAAK;8BACLA,QAAK;;;;MCT8C,2CAAiB;MAarE;UAAA,YACE,iBAAO,SACR;UATM,6BAAuB,GAAG,KAAK,CAAC;UAChC,6BAAuB,GAAG,EAAE,CAAC;;UAG3B,qBAAe,GAAG,MAAM,CAAC;UACzB,mBAAa,GAAW,EAAE,CAAC;;OAInC;MAED,0CAAQ,GAAR;UACE,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;UAC7B,IAAI,OAAO,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE;cACzC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;WACtC;UAED,IAAI,UAAU,GAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;UAC9D,IAAM,GAAG,GAAG,eAAe,CAAC,eAAe,CAAC;UAE5C,IAAI,GAAG,EAAE;cACP,UAAU,GAAG,CAAC,CAAC,MAAM,CACnB,EAAE,EACF,UAAU,EACV,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,CACvC,CAAC;WACH;UAED,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;cACtD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC;WAClD;UAED,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;OAC3B;MAED,iDAAe,GAAf;UACE,IAAM,IAAI,GAAG,IAAI,CAAC;UAClB,UAAU,CAAC;cACT,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;cACpC,IAAI,CAAC,aAAa,EAAE,CAAC;WACtB,EAAE,GAAG,CAAC,CAAC;OACT;MAEO,+CAAa,GAAb;UACN,IAAI,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC;;UAG3C,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;UAElC,IAAI,OAAO,EAAE;cACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBACvC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;eACd;WACF;OACF;MAES,2CAAS,GAAT;UACR,IAAI,IAAI,CAAC,YAAY;cAAE,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;UAE5D,OAAO,IAAI,CAAC;OACb;;MAGM,oDAAkB,GAAlB,UAAmB,MAAM;UAC9B,IAAM,IAAI,GAAG,IAAI,CAAC;UAElB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;cACjC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;kBAChC,MAAM,CAAC,IAAI,CAAC,CAAC;eACd,CAAC,CAAC;WACJ;eAAM;cACL,MAAM,CAAC,IAAI,CAAC,CAAC;WACd;OACF;MAEM,mDAAiB,GAAjB,UAAkB,OAAO;UAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;UAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;OAChC;MAEM,iDAAe,GAAf,UAAgB,UAAU,EAAE,cAAc;UAC/C,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;cACpC,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;cAChC,IAAI,OAAO,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;kBAClD,OAAO;eACR;cAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;cACtD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;WAC/D,CAAC,CAAC;OACJ;;GAhGH,CAAsD,iBAAiB;;cAHtED,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;gCAWEC,QAAK;8BACLA,QAAK;;;;MCZsC,4CAAuB;MAGnE;UAAA,YACE,iBAAO,SACR;UAJQ,mBAAa,GAAW,MAAM,CAAC;;OAIvC;MAEM,+DAA4B,GAA5B,UAA6B,IAAI,EAAE,KAAK;UAC7C,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;cACpC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;WAChC,CAAC,CAAC;OACJ;;GAXH,CAA8C,uBAAuB;;cAJpED,YAAS,SAAC;kBACT,QAAQ,EAAE,2BAA2B;kBACrC,itBAAiD;eAClD;;;;8BAEEC,QAAK;;;;MCDiC,uCAAuB;MAC9D;iBACE,iBAAO;OACR;MAEM,qCAAO,GAAP,UAAQ,OAAO;UACpB,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;cACpC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;cAC9B,IAAI,OAAO,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;kBAClD,OAAO;eACR;cAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;WAC1B,CAAC,CAAC;OACJ;MAEM,qCAAO,GAAP;UACL,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;UAC9B,IAAI,OAAO,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;cAClD,OAAO;WACR;UAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;OAC/B;;GAvBH,CAAyC,uBAAuB;;cAJ/DD,YAAS,SAAC;kBACT,QAAQ,EAAE,qBAAqB;kBAC/B,4KAA2C;eAC5C;;;;EC5BD;;;;;;;;;;;;;;;;;;;MA4BE;OAAgB;;;;cAPjBA,YAAS,SAAC;kBACT,QAAQ,EAAE,uBAAuB;kBACjC,8EAA6C;eAC9C;;;;yBAEEC,QAAK;;;EC1BR;;;;;;;;;;;;;;;;;;;MA4BE;OAAgB;;;;cAPjBD,YAAS,SAAC;kBACT,QAAQ,EAAE,wBAAwB;kBAClC,gFAA8C;eAC/C;;;;yBAEEC,QAAK;;;EC1BR;;;;;;;;;;;;;;;;;;;MAyBA;;;;;cAJCD,YAAS,SAAC;kBACT,QAAQ,EAAE,uBAAuB;kBACjC,8EAA6C;eAC9C;;;yBAEEC,QAAK;;;EC1BR;;;;;;;;;;;;;;;;;;;MAmCE,0BAAoB,cAA8B;UAA9B,mBAAc,GAAd,cAAc,CAAgB;;UAL1C,SAAI,GAAS,IAAI,IAAI,EAAE,CAAC;;UAGhC,SAAI,GAAG,KAAK,CAAC;OAGZ;MAED,mCAAQ,GAAR;UAAA,iBAIC;UAHC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,UAAC,KAAK;cACnD,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;WACnB,CAAC,CAAC;OACJ;MAED,sCAAW,GAAX;UACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;OACzB;;;;cAtBFD,YAAS,SAAC;kBACT,QAAQ,EAAE,iBAAiB;kBAC3B,gHAAuC;eACxC;;;cALO,cAAc;;;ECtBtB;;;;;;;;;;;;;;;;;;EAwBA,IAAM,cAAc,GAAG;MACrB,WAAW,EAAE,uBAAuB;;MAGpC,WAAW,EAAE,sBAAsB;MACnC,QAAQ,EAAE,mBAAmB;MAC7B,YAAY,EAAE,uBAAuB;MACrC,aAAa,EAAE,yBAAyB;MACxC,YAAY,EAAE,uBAAuB;MACrC,WAAW,EAAE,sBAAsB;MACnC,cAAc,EAAE,yBAAyB;MACzC,IAAI,EAAE,cAAc;GACrB,CAAC;;MAcA,0BAAoBG,QAAc,EAA4B,QAAkB;UAAhF,iBAUC;UAVmB,WAAM,GAANA,QAAM,CAAQ;UAA4B,aAAQ,GAAR,QAAQ,CAAU;UANhF,qBAAgB,GAAG,IAAI,CAAC;UACxB,mBAAc,GAAG,cAAc,CAAC;UAEvB,oBAAe,GAAG,SAAS,CAAC;UAC5B,YAAO,GAAG,cAAc,CAAC,WAAW,CAAC;UAG5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,KAAK;cAChC,IAAI,KAAK,YAAYC,sBAAe,EAAE;kBACpC,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;eAC9B;mBAAM,IAAI,KAAK,YAAYT,oBAAa,IAAI,KAAK,YAAYU,uBAAgB,IAAI,KAAK,YAAYC,sBAAe,EAAE;kBAClH,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;eAC/B;WACF,EAAE;cACD,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;WAC/B,CAAC,CAAC;OACJ;MAED,sCAAW,GAAX;UACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;OAC/B;;;;cA1BFN,YAAS,SAAC;kBACT,QAAQ,EAAE,SAAS;kBACnB,oXAAuC;kBACvC,aAAa,EAAEO,oBAAiB,CAAC,IAAI;eACtC;;;cArB0E7C,aAAM;cA6BP,QAAQ,uBAA3C+B,SAAM,SAACC,WAAQ;;;gCAHnDO,QAAK;wBACLA,QAAK;;;EChDR;;;;;;;;;;;;;;;;;;;MA2BE,gCAAoB,EAA+B,EAAU,OAAkB;UAA3D,OAAE,GAAF,EAAE,CAA6B;UAAU,YAAO,GAAP,OAAO,CAAW;OAC9E;MAED,yCAAQ,GAAR;;UAEG,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;OACrE;;;;cAVFO,YAAS,SAAC;kBACT,QAAQ,EAAE,kCAAkC;eAC7C;;;cALmBC,aAAU;cACrBC,eAAS;;;ECrBlB;;;;;;;;;;;;;;;;;;;MAyBA;;MACE,mCAAS,GAAT,UAAU,SAAiB,EAAE,MAAc,EAAE,WAAmB;UAC9D,IAAI,SAAS,EAAE;cACb,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;WAChE;eAAM;cACL,OAAO,SAAS,CAAC;WAClB;OACF;;;;cAVFrC,OAAI,SAAC;kBACJ,IAAI,EAAE,aAAa;eACpB;;;ECxBD;;;;;;;;;;;;;;;;;;;MAsBA;UAIU,UAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;OAczD;MAZC,gCAAS,GAAT,UAAU,KAAiB,EAAE,SAAqB;UAAxC,sBAAA,EAAA,SAAiB;UAAE,0BAAA,EAAA,aAAqB;UAChD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;cAAE,OAAO,EAAE,CAAC;UAEpE,IAAI,IAAI,GAAG,CAAC,CAAC;UAEb,OAAO,KAAK,IAAI,IAAI,EAAE;cACpB,KAAK,IAAI,IAAI,CAAC;cACd,IAAI,EAAE,CAAC;WACR;UAED,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;OAC3D;;;;cAjBFA,OAAI,SAAC;kBACJ,IAAI,EAAE,UAAU;eACjB;;;ECxBD;;;;;;;;;;;;;;;;;;;MA0BE,sBAAoB,SAAuB;UAAvB,cAAS,GAAT,SAAS,CAAc;OAAK;MAEhD,gCAAS,GAAT,UAAU,KAAK;UACb,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;OACtD;;;;cANFA,OAAI,SAAC,EAAE,IAAI,EAAE,UAAU,EAAE;;;cAHlBsC,iBAAY;;;;MCQqC,8CAAiB;MACxE;iBACE,iBAAO;OACR;MAED,8DAAyB,GAAzB;UAAA,iBAuBC;UAtBC,IAAI,QAAQ,GAAa,EAAE,CAAC;UAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;cAC7C,IAAI,OAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;cAEzC,IAAgB,OAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE;kBACzC,MAAM,CAAC,IAAI,CAAa,OAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;sBACnD,IAAI,KAAK,GAAe,OAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;sBAC7C,KAAI,CAAC,qBAAqB,CACxB,KAAK,EACL,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAC9B,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;mBACpC,CAAC,CAAC;eACJ;mBAAM;kBACL,KAAI,CAAC,qBAAqB,CACxB,OAAO,EACP,KAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAChC,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;eACpC;WACF,CAAC,CAAC;UAEH,OAAO,QAAQ,CAAC;OACjB;MAED,0DAAqB,GAArB,UAAsB,KAAU,EAAE,SAAkB;UAClD,IAAI,KAAK,GAAW,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;UAC5C,IAAI,QAAQ,GAAa,EAAE,CAAC;UAE5B,IAAI,KAAK,CAAC,MAAM,EAAE;cAChB,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;kBAClC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;sBAC1C,QAAQ,SAAS;0BACf,KAAK,UAAU;8BACb,QAAQ,CAAC,IAAI,CAAI,KAAK,iBAAc,CAAC,CAAC;8BACtC,MAAM;0BAER,KAAK,WAAW;8BACd,QAAQ,CAAC,IAAI,CACR,KAAK,0BAAqB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,gBAAa,CACnF,CAAC;8BACF,MAAM;0BAER,KAAK,SAAS;8BACZ,QAAQ,CAAC,IAAI,CAAI,KAAK,iCAA8B,CAAC,CAAC;8BACtD,MAAM;0BAER,KAAK,QAAQ;8BACX,QAAQ,CAAC,IAAI,CAAI,KAAK,qBAAkB,CAAC,CAAC;8BAC1C,MAAM;0BAER,KAAK,WAAW;8BACd,QAAQ,CAAC,IAAI,CACR,KAAK,2BAAsB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,gBAAa,CACpF,CAAC;8BACF,MAAM;0BAER,KAAK,mBAAmB;8BACtB,QAAQ,CAAC,IAAI,CAAI,KAAK,iCAA8B,CAAC,CAAC;8BACtD,MAAM;uBACT;mBACF;eACF;WACF;UAED,OAAO,QAAQ,CAAC;OACjB;;;;;;MAOD,mDAAc,GAAd,UAAe,OAAY,EAAE,SAAkB;UAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;UAC1C,OAAO,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;OAClC;;;;;MAMD,oDAAe,GAAf,UAAgB,OAAY;UAC1B,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE;cAC1B,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;cACjE,IAAI,YAAY,EAAE;kBAChB,OAAO,YAAY,CAAC;eACrB;WACF;UAED,OAAO,SAAS,CAAC;OAClB;;;;MAKD,sDAAiB,GAAjB,UAAkB,aAA8B;;UAC9C,IAAI,KAAa,CAAC;UAElB,QAAQ,aAAa,CAAC,OAAO;;cAE3B,KAAK,kBAAkB,CAAC;cACxB,KAAK,kBAAkB;kBACrB,KAAK;sBACH,MAAA,MAAA,MAAA,MAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,YAAY,CAC5E,OAAO,CACR,CAAC;kBACJ,MAAM;;cAGR,KAAK,sBAAsB;kBACzB,KAAK,GAAG,MAAA,MAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,YAAY,CAAC,OAAO,CAAC,CAAC;kBACtE,MAAM;cAER;kBACE,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;kBAC5C,MAAM;WACT;UAED,OAAO,KAAK,CAAC;OACd;;GA7HH,CAAyD,iBAAiB;;cAHzEX,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;;MCDmD,kDAA0B;MAW5E;UAAA,YACE,iBAAO,SACR;UAZQ,aAAO,GAAY,KAAK,CAAC;UACzB,kBAAY,GAAa,EAAE,CAAC;;;;;;UAO5B,cAAQ,GAAW,CAAC,CAAC;;OAI7B;MAED,kDAAS,GAAT;UACE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;cACtB,OAAO,IAAI,CAAC,YAAY,CAAC;WAC1B;UAED,IAAI,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;UAC9D,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;cACtB,OAAO,sBAAsB,CAAC;WAC/B;UAED,IAAI,QAAQ,GAAG,EAAE,CAAC;UAClB,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;cACrC,QAAQ,CAAC,IAAI,OAAb,QAAQ,2BAAS,sBAAsB,IAAE;WAC1C;UAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;cAChC,QAAQ,CAAC,IAAI,OAAb,QAAQ,2BAAS,IAAI,CAAC,YAAY,IAAE;WACrC;UAED,OAAO,QAAQ,CAAC;OACjB;;GAnCH,CAAoD,0BAA0B;;cAJ7EA,YAAS,SAAC;kBACT,QAAQ,EAAE,iCAAiC;kBAC3C,yPAAuD;eACxD;;;;wBAEEC,QAAK;6BACLA,QAAK;yBAOLA,QAAK;;;;MCT4C,kDAA0B;MAI5E;iBACE,iBAAO;OACR;;GANH,CAAoD,0BAA0B;;cAJ7ED,YAAS,SAAC;kBACT,QAAQ,EAAE,iCAAiC;kBAC3C,mQAAuD;eACxD;;;;4BAEEC,QAAK;6BACLA,QAAK;;;EC7BR;;;;;;;;;;;;;;;;;;MA0Ba,+BAA+B,GAAGW,uCAAkB,CAAC,OAAO,GAAG;MAC/D,6BAA6B,GAAGC,qCAAgB,CAAC,OAAO,GAAG;;MAuFxE;;;;;cA3DCjC,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACPiB,eAAY;sBACZiB,yBAAmB;sBACnBC,iBAAW;sBACX,+BAA+B;sBAC/B,6BAA6B;mBAC9B;kBACD,OAAO,EAAE;sBACP,4BAA4B;sBAC5B,0BAA0B;sBAC1B,wBAAwB;sBACxB,qBAAqB;sBACrB,qBAAqB;sBACrB,sBAAsB;sBACtB,sBAAsB;sBACtB,gBAAgB;sBAChB,gBAAgB;sBAChB,sBAAsB;;sBAGtB,mBAAmB;sBACnB,wBAAwB;;sBAGxB,8BAA8B;sBAC9B,8BAA8B;;sBAG9B,YAAY;sBACZ,eAAe;sBACf,YAAY;mBACb;kBACD,YAAY,EAAE;sBACZ,4BAA4B;sBAC5B,0BAA0B;sBAC1B,wBAAwB;sBACxB,qBAAqB;sBACrB,qBAAqB;sBACrB,sBAAsB;sBACtB,sBAAsB;sBACtB,gBAAgB;sBAChB,gBAAgB;sBAChB,sBAAsB;;sBAGtB,mBAAmB;sBACnB,wBAAwB;;sBAGxB,8BAA8B;sBAC9B,8BAA8B;;sBAG9B,YAAY;sBACZ,eAAe;sBACf,YAAY;mBACb;eACF;;;ECjHD;;;;ECAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}