@osovitny/anatoly 3.17.160 → 3.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/fesm2022/osovitny-anatoly.mjs +569 -532
  2. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  3. package/lib/billing/utils.d.ts +2 -1
  4. package/lib/core/converts/convert.d.ts +1 -1
  5. package/lib/core/guid.d.ts +1 -1
  6. package/lib/core/is.d.ts +5 -5
  7. package/lib/ui/components/base/components/component.d.ts +1 -1
  8. package/lib/ui/components/base/components/edit.component.d.ts +1 -1
  9. package/lib/ui/components/base/components/enum-edit.component.d.ts +1 -1
  10. package/lib/ui/components/data-grid/control-panel.component.d.ts +6 -5
  11. package/lib/ui/components/dropdownlists/country/country.dropdownlist.d.ts +1 -3
  12. package/lib/ui/components/identity/signin-button.component.d.ts +0 -1
  13. package/lib/ui/components/identity/signout-button.component.d.ts +0 -1
  14. package/lib/ui/components/identity/signup-button.component.d.ts +0 -1
  15. package/lib/ui/directives/index.d.ts +1 -1
  16. package/lib/ui/directives/replacer/replacer.base.directive.d.ts +2 -1
  17. package/package.json +58 -60
  18. package/esm2022/lib/anatoly.module.mjs +0 -62
  19. package/esm2022/lib/billing/billing.module.mjs +0 -81
  20. package/esm2022/lib/billing/components/buttons/buyaccess-button.component.mjs +0 -104
  21. package/esm2022/lib/billing/components/buttons/subscribe-plan-button.component.mjs +0 -113
  22. package/esm2022/lib/billing/components/exports.mjs +0 -28
  23. package/esm2022/lib/billing/components/index.mjs +0 -31
  24. package/esm2022/lib/billing/components/order-summary/order-summary.component.mjs +0 -154
  25. package/esm2022/lib/billing/components/payment-methods/payment-methods.component.mjs +0 -106
  26. package/esm2022/lib/billing/components/payment-options/payment-options.component.mjs +0 -97
  27. package/esm2022/lib/billing/components/pm/braintree/braintree.component.mjs +0 -155
  28. package/esm2022/lib/billing/components/pm/paypal/paypal-button.component.mjs +0 -159
  29. package/esm2022/lib/billing/components/pm/paypal/paypal-subscribe-button.component.mjs +0 -149
  30. package/esm2022/lib/billing/components/pm/paypal/paypal.component.mjs +0 -317
  31. package/esm2022/lib/billing/components/pm/stripe/stripe.component.mjs +0 -109
  32. package/esm2022/lib/billing/exports.mjs +0 -19
  33. package/esm2022/lib/billing/models/paypal-models.mjs +0 -16
  34. package/esm2022/lib/billing/services/payments.service.mjs +0 -170
  35. package/esm2022/lib/billing/services/paypal-script.service.mjs +0 -90
  36. package/esm2022/lib/billing/utils.mjs +0 -28
  37. package/esm2022/lib/core/browser.mjs +0 -24
  38. package/esm2022/lib/core/consts/app-settings.mjs +0 -55
  39. package/esm2022/lib/core/consts/core-settings.mjs +0 -29
  40. package/esm2022/lib/core/consts/formats.mjs +0 -27
  41. package/esm2022/lib/core/consts/ga.mjs +0 -26
  42. package/esm2022/lib/core/consts/storageKeys.mjs +0 -23
  43. package/esm2022/lib/core/converts/convert.mjs +0 -103
  44. package/esm2022/lib/core/converts/dateConvert.mjs +0 -60
  45. package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +0 -122
  46. package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +0 -101
  47. package/esm2022/lib/core/converts/xmlFormatter.mjs +0 -34
  48. package/esm2022/lib/core/core.module.mjs +0 -112
  49. package/esm2022/lib/core/dom.mjs +0 -153
  50. package/esm2022/lib/core/enums/billing.mjs +0 -56
  51. package/esm2022/lib/core/enums/enums.mjs +0 -35
  52. package/esm2022/lib/core/enums/index.mjs +0 -17
  53. package/esm2022/lib/core/exports.mjs +0 -67
  54. package/esm2022/lib/core/go/apps-go.service.mjs +0 -88
  55. package/esm2022/lib/core/go/go.service.mjs +0 -86
  56. package/esm2022/lib/core/guards/once-import.guard.mjs +0 -21
  57. package/esm2022/lib/core/guards/starter.guard.mjs +0 -46
  58. package/esm2022/lib/core/guid.mjs +0 -22
  59. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +0 -161
  60. package/esm2022/lib/core/is.mjs +0 -98
  61. package/esm2022/lib/core/localization/localization.module.mjs +0 -45
  62. package/esm2022/lib/core/localization/localization.service.mjs +0 -164
  63. package/esm2022/lib/core/localization/localize.pipe.mjs +0 -83
  64. package/esm2022/lib/core/localization/settings.module.mjs +0 -103
  65. package/esm2022/lib/core/localization/utils.mjs +0 -41
  66. package/esm2022/lib/core/logging/globalErrorHandler.mjs +0 -41
  67. package/esm2022/lib/core/logging/logging.service.mjs +0 -40
  68. package/esm2022/lib/core/models/qs.mjs +0 -17
  69. package/esm2022/lib/core/notifications/alerts.mjs +0 -116
  70. package/esm2022/lib/core/notifications/interfaces/notification.mjs +0 -17
  71. package/esm2022/lib/core/notifications/services/notification-service.mjs +0 -83
  72. package/esm2022/lib/core/performance/stopwatch.mjs +0 -50
  73. package/esm2022/lib/core/services/appcontext.service.mjs +0 -186
  74. package/esm2022/lib/core/services/dm.service.mjs +0 -69
  75. package/esm2022/lib/core/services/google-analytics.service.mjs +0 -75
  76. package/esm2022/lib/core/services/idle.service.mjs +0 -77
  77. package/esm2022/lib/core/services/loading.service.mjs +0 -67
  78. package/esm2022/lib/core/services/script.service.mjs +0 -77
  79. package/esm2022/lib/core/services/starter.service.mjs +0 -85
  80. package/esm2022/lib/core/services/web-storage.service.mjs +0 -66
  81. package/esm2022/lib/core/subs.mjs +0 -31
  82. package/esm2022/lib/core/utils/qsutils.mjs +0 -84
  83. package/esm2022/lib/core/utils/utils.mjs +0 -112
  84. package/esm2022/lib/data/base/api.service.mjs +0 -94
  85. package/esm2022/lib/data/base/grid/grid-edit.service.mjs +0 -80
  86. package/esm2022/lib/data/base/grid/grid-read.service.mjs +0 -60
  87. package/esm2022/lib/data/data.module.mjs +0 -66
  88. package/esm2022/lib/data/exports.mjs +0 -29
  89. package/esm2022/lib/data/services/billing/currencies-api.service.mjs +0 -41
  90. package/esm2022/lib/data/services/billing/currencies-storage.service.mjs +0 -92
  91. package/esm2022/lib/data/services/billing/discountcodes-api.service.mjs +0 -37
  92. package/esm2022/lib/data/services/billing/payments-api.service.mjs +0 -64
  93. package/esm2022/lib/data/services/billing/subscriptions-api.service.mjs +0 -61
  94. package/esm2022/lib/data/services/billing/transactions-api.service.mjs +0 -43
  95. package/esm2022/lib/data/services/core-api.service.mjs +0 -44
  96. package/esm2022/lib/data/services/emails-api.service.mjs +0 -47
  97. package/esm2022/lib/external/fa.module.mjs +0 -45
  98. package/esm2022/lib/external/kendo.module.mjs +0 -179
  99. package/esm2022/lib/iam/b2c/b2c.mjs +0 -40
  100. package/esm2022/lib/iam/b2c/consts.mjs +0 -25
  101. package/esm2022/lib/iam/b2c/index.mjs +0 -21
  102. package/esm2022/lib/iam/configs.mjs +0 -109
  103. package/esm2022/lib/iam/consts.mjs +0 -22
  104. package/esm2022/lib/iam/exports.mjs +0 -22
  105. package/esm2022/lib/iam/guards/admin.guard.mjs +0 -46
  106. package/esm2022/lib/iam/guards/authentication.guard.mjs +0 -30
  107. package/esm2022/lib/iam/guards/index.mjs +0 -20
  108. package/esm2022/lib/iam/iam-pages.module.mjs +0 -57
  109. package/esm2022/lib/iam/iam-pages.routes.mjs +0 -45
  110. package/esm2022/lib/iam/iam.module.mjs +0 -84
  111. package/esm2022/lib/iam/pages/signin.page.mjs +0 -40
  112. package/esm2022/lib/iam/pages/signout.page.mjs +0 -40
  113. package/esm2022/lib/iam/pages/signup.page.mjs +0 -40
  114. package/esm2022/lib/iam/redirect.mjs +0 -29
  115. package/esm2022/lib/iam/services/auth.service.mjs +0 -436
  116. package/esm2022/lib/iam/storage.mjs +0 -42
  117. package/esm2022/lib/iam/utils.mjs +0 -49
  118. package/esm2022/lib/ui/components/base/components/component.mjs +0 -76
  119. package/esm2022/lib/ui/components/base/components/edit.component.mjs +0 -146
  120. package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +0 -92
  121. package/esm2022/lib/ui/components/base/dialog.mjs +0 -71
  122. package/esm2022/lib/ui/components/base/list.mjs +0 -100
  123. package/esm2022/lib/ui/components/base/pages/edit.page.mjs +0 -32
  124. package/esm2022/lib/ui/components/base/pages/page.mjs +0 -32
  125. package/esm2022/lib/ui/components/base/pages/paged.page.mjs +0 -68
  126. package/esm2022/lib/ui/components/card/card-body.component.mjs +0 -37
  127. package/esm2022/lib/ui/components/card/card-footer.component.mjs +0 -37
  128. package/esm2022/lib/ui/components/card/card-header.component.mjs +0 -51
  129. package/esm2022/lib/ui/components/card/card.component.mjs +0 -41
  130. package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +0 -43
  131. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +0 -57
  132. package/esm2022/lib/ui/components/data-grid/control-panel.component.mjs +0 -201
  133. package/esm2022/lib/ui/components/datapager/datapager.component.mjs +0 -95
  134. package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +0 -96
  135. package/esm2022/lib/ui/components/dropdownlists/moderationstatus/moderationstatus.dropdownlist.mjs +0 -88
  136. package/esm2022/lib/ui/components/dropdownlists/publishstatus/publishstatus.dropdownlist.mjs +0 -88
  137. package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +0 -112
  138. package/esm2022/lib/ui/components/exports.mjs +0 -53
  139. package/esm2022/lib/ui/components/feature-will-be-ready/feature-will-be-ready.component.mjs +0 -55
  140. package/esm2022/lib/ui/components/html-editor/base-editor.component.mjs +0 -94
  141. package/esm2022/lib/ui/components/html-editor/defaultoptions.mjs +0 -87
  142. package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +0 -114
  143. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +0 -105
  144. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +0 -105
  145. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +0 -105
  146. package/esm2022/lib/ui/components/index.mjs +0 -57
  147. package/esm2022/lib/ui/components/no-mobile-support/no-mobile-support.component.mjs +0 -45
  148. package/esm2022/lib/ui/components/nodata/nodata.component.mjs +0 -76
  149. package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +0 -53
  150. package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +0 -85
  151. package/esm2022/lib/ui/components/spinners/pagespinner/spinkits.mjs +0 -12
  152. package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +0 -130
  153. package/esm2022/lib/ui/components/you-agree-to-our-terms/you-agree-to-our-terms.component.mjs +0 -63
  154. package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +0 -78
  155. package/esm2022/lib/ui/dialogs/exports.mjs +0 -16
  156. package/esm2022/lib/ui/dialogs/index.mjs +0 -19
  157. package/esm2022/lib/ui/directives/exports.mjs +0 -19
  158. package/esm2022/lib/ui/directives/hover.directive.mjs +0 -50
  159. package/esm2022/lib/ui/directives/index.mjs +0 -22
  160. package/esm2022/lib/ui/directives/native-element.directive.mjs +0 -37
  161. package/esm2022/lib/ui/directives/replacer/a-replacer.directive.mjs +0 -48
  162. package/esm2022/lib/ui/directives/replacer/image-replacer.directive.mjs +0 -44
  163. package/esm2022/lib/ui/directives/replacer/replacer.base.directive.mjs +0 -44
  164. package/esm2022/lib/ui/exports.mjs +0 -22
  165. package/esm2022/lib/ui/forms/components/address/address.component.mjs +0 -240
  166. package/esm2022/lib/ui/forms/components/company/company.component.mjs +0 -138
  167. package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +0 -213
  168. package/esm2022/lib/ui/forms/exports.mjs +0 -20
  169. package/esm2022/lib/ui/forms/index.mjs +0 -21
  170. package/esm2022/lib/ui/pipes/exports.mjs +0 -19
  171. package/esm2022/lib/ui/pipes/filesize.pipe.mjs +0 -42
  172. package/esm2022/lib/ui/pipes/index.mjs +0 -22
  173. package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +0 -37
  174. package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +0 -34
  175. package/esm2022/lib/ui/ui.module.mjs +0 -122
  176. package/esm2022/lib/ui/validation/exports.mjs +0 -19
  177. package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +0 -90
  178. package/esm2022/lib/ui/validation/index.mjs +0 -21
  179. package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +0 -53
  180. package/esm2022/lib/ui/validation/validation-summary.component.mjs +0 -124
  181. package/esm2022/osovitny-anatoly.mjs +0 -5
  182. package/esm2022/public-api.mjs +0 -22
@@ -1,85 +0,0 @@
1
- import { of, forkJoin, merge } from 'rxjs';
2
- import { map } from 'rxjs/operators';
3
- import { Injectable } from '@angular/core';
4
- //App
5
- import { ApiUrl } from '../consts/core-settings';
6
- import { ApiServiceBase } from '../../data/base/api.service';
7
- import { Stopwatch } from '../performance/stopwatch';
8
- import { is } from '../is';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- import * as i2 from "../services/appcontext.service";
12
- import * as i3 from "../logging/logging.service";
13
- export class StarterService extends ApiServiceBase {
14
- constructor(http, appContext, logger) {
15
- super(http);
16
- this.http = http;
17
- this.appContext = appContext;
18
- this.logger = logger;
19
- }
20
- applicationStarting() {
21
- let context = this.appContext.current;
22
- if (!is.objectNullOrEmpty(context)) {
23
- //Logging
24
- this.logger.info('StarterService.applicationStarting: got AppContext from Session Storage');
25
- this.appContext.init(context);
26
- return of(context);
27
- }
28
- //Logging
29
- this.logger.info('StarterService.applicationStarting: there is no AppContext in Session Storage');
30
- //Logging
31
- let stopwatch = new Stopwatch("StarterService.applicationStarting: getting AppContext");
32
- stopwatch.start();
33
- this.baseUrl = `${ApiUrl}/appContext`;
34
- return this.get('applicationStarting').pipe(map(data => {
35
- //Logging
36
- stopwatch.stop();
37
- stopwatch.printElapsedAsMilliseconds();
38
- this.appContext.init(data.context);
39
- }));
40
- }
41
- ensureApplicationStarted() {
42
- //1. Application Starting
43
- let applicationStarting$ = this.applicationStarting();
44
- //2. Load json files
45
- let jsonFiles$ = this.appContext.loadRequiredJsonFiles();
46
- //3. Load required items, like settings
47
- let requiredItems$ = this.appContext.loadRequiredItems();
48
- //Tasks to execute
49
- let parallelTasks = [];
50
- let tasks$ = null;
51
- if (jsonFiles$)
52
- parallelTasks.push(jsonFiles$);
53
- if (requiredItems$)
54
- parallelTasks.push(requiredItems$);
55
- /*
56
- VadimOS:
57
- concat is NOT wokring here, no idea why. Just executing first task
58
- let tasks$ = concat(applicationStarting$, parallelTasks$);
59
-
60
- https://github.com/ReactiveX/rxjs/issues/2427
61
- https://github.com/ReactiveX/rxjs/issues/2188
62
- */
63
- if (parallelTasks.length > 0) {
64
- let parallelTasks$ = merge(...parallelTasks);
65
- tasks$ = forkJoin([applicationStarting$, parallelTasks$]);
66
- }
67
- else {
68
- tasks$ = applicationStarting$;
69
- }
70
- //Logging
71
- let stopwatch = new Stopwatch("StarterService.ensureApplicationStarted");
72
- stopwatch.start();
73
- return tasks$.pipe(map(() => {
74
- //Logging
75
- stopwatch.stop();
76
- stopwatch.printElapsedAsMilliseconds();
77
- }));
78
- }
79
- static { this.ɵfac = function StarterService_Factory(t) { return new (t || StarterService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.AppContextService), i0.ɵɵinject(i3.LoggingService)); }; }
80
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StarterService, factory: StarterService.ɵfac }); }
81
- }
82
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StarterService, [{
83
- type: Injectable
84
- }], () => [{ type: i1.HttpClient }, { type: i2.AppContextService }, { type: i3.LoggingService }], null); })();
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RhcnRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUM7Ozs7O0FBSzNCLE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQUNoRCxZQUFzQixJQUFnQixFQUFZLFVBQTZCLEVBQVksTUFBc0I7UUFDL0csS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7SUFFakgsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkMsU0FBUztZQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxDQUFDLENBQUM7WUFFNUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELFNBQVM7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrRUFBK0UsQ0FBQyxDQUFDO1FBRWxHLFNBQVM7UUFDVCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQ3hGLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFNLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxTQUFTO1lBQ1QsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBRXZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELHdCQUF3QjtRQUN0Qix5QkFBeUI7UUFDekIsSUFBSSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUV0RCxvQkFBb0I7UUFDcEIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXpELHVDQUF1QztRQUN2QyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekQsa0JBQWtCO1FBQ2xCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLE1BQU0sR0FBb0IsSUFBSSxDQUFDO1FBRW5DLElBQUksVUFBVTtZQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxjQUFjO1lBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RDs7Ozs7OztVQU9FO1FBQ0YsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUM7YUFDSSxDQUFDO1lBQ0osTUFBTSxHQUFHLG9CQUFvQixDQUFDO1FBQ2hDLENBQUM7UUFFRCxTQUFTO1FBQ1QsSUFBSSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUN6RSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsU0FBUztZQUNULFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixTQUFTLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrRUEzRVUsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYzs7aUZBQWQsY0FBYztjQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE1IE5vdiAyMDIzXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmb3JrSm9pbiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcGlVcmwgfSBmcm9tICcuLi9jb25zdHMvY29yZS1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2VCYXNlIH0gZnJvbSAnLi4vLi4vZGF0YS9iYXNlL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcHdhdGNoIH0gZnJvbSAnLi4vcGVyZm9ybWFuY2Uvc3RvcHdhdGNoJztcclxuaW1wb3J0IHsgaXMgfSBmcm9tICcuLi9pcyc7XHJcbmltcG9ydCB7IExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdGFydGVyU2VydmljZSBleHRlbmRzIEFwaVNlcnZpY2VCYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgcHJvdGVjdGVkIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLCBwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnaW5nU2VydmljZSkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGxpY2F0aW9uU3RhcnRpbmcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5hcHBDb250ZXh0LmN1cnJlbnQ7XHJcbiAgICBpZiAoIWlzLm9iamVjdE51bGxPckVtcHR5KGNvbnRleHQpKSB7XHJcbiAgICAgIC8vTG9nZ2luZ1xyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGFydGVyU2VydmljZS5hcHBsaWNhdGlvblN0YXJ0aW5nOiBnb3QgQXBwQ29udGV4dCBmcm9tIFNlc3Npb24gU3RvcmFnZScpO1xyXG5cclxuICAgICAgdGhpcy5hcHBDb250ZXh0LmluaXQoY29udGV4dCk7XHJcbiAgICAgIHJldHVybiBvZihjb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICAvL0xvZ2dpbmdcclxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1N0YXJ0ZXJTZXJ2aWNlLmFwcGxpY2F0aW9uU3RhcnRpbmc6IHRoZXJlIGlzIG5vIEFwcENvbnRleHQgaW4gU2Vzc2lvbiBTdG9yYWdlJyk7XHJcblxyXG4gICAgLy9Mb2dnaW5nXHJcbiAgICBsZXQgc3RvcHdhdGNoID0gbmV3IFN0b3B3YXRjaChcIlN0YXJ0ZXJTZXJ2aWNlLmFwcGxpY2F0aW9uU3RhcnRpbmc6IGdldHRpbmcgQXBwQ29udGV4dFwiKTtcclxuICAgIHN0b3B3YXRjaC5zdGFydCgpO1xyXG5cclxuICAgIHRoaXMuYmFzZVVybCA9IGAke0FwaVVybH0vYXBwQ29udGV4dGA7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQ8YW55PignYXBwbGljYXRpb25TdGFydGluZycpLnBpcGUobWFwKGRhdGEgPT4ge1xyXG4gICAgICAvL0xvZ2dpbmdcclxuICAgICAgc3RvcHdhdGNoLnN0b3AoKTtcclxuICAgICAgc3RvcHdhdGNoLnByaW50RWxhcHNlZEFzTWlsbGlzZWNvbmRzKCk7XHJcblxyXG4gICAgICB0aGlzLmFwcENvbnRleHQuaW5pdChkYXRhLmNvbnRleHQpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZW5zdXJlQXBwbGljYXRpb25TdGFydGVkKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLzEuIEFwcGxpY2F0aW9uIFN0YXJ0aW5nXHJcbiAgICBsZXQgYXBwbGljYXRpb25TdGFydGluZyQgPSB0aGlzLmFwcGxpY2F0aW9uU3RhcnRpbmcoKTtcclxuXHJcbiAgICAvLzIuIExvYWQganNvbiBmaWxlc1xyXG4gICAgbGV0IGpzb25GaWxlcyQgPSB0aGlzLmFwcENvbnRleHQubG9hZFJlcXVpcmVkSnNvbkZpbGVzKCk7XHJcblxyXG4gICAgLy8zLiBMb2FkIHJlcXVpcmVkIGl0ZW1zLCBsaWtlIHNldHRpbmdzXHJcbiAgICBsZXQgcmVxdWlyZWRJdGVtcyQgPSB0aGlzLmFwcENvbnRleHQubG9hZFJlcXVpcmVkSXRlbXMoKTtcclxuXHJcbiAgICAvL1Rhc2tzIHRvIGV4ZWN1dGVcclxuICAgIGxldCBwYXJhbGxlbFRhc2tzID0gW107XHJcbiAgICBsZXQgdGFza3MkOiBPYnNlcnZhYmxlPGFueT4gPSBudWxsO1xyXG5cclxuICAgIGlmIChqc29uRmlsZXMkKSBwYXJhbGxlbFRhc2tzLnB1c2goanNvbkZpbGVzJCk7XHJcbiAgICBpZiAocmVxdWlyZWRJdGVtcyQpIHBhcmFsbGVsVGFza3MucHVzaChyZXF1aXJlZEl0ZW1zJCk7XHJcblxyXG4gICAgLypcclxuICAgICAgVmFkaW1PUzpcclxuICAgICAgY29uY2F0IGlzIE5PVCB3b2tyaW5nIGhlcmUsIG5vIGlkZWEgd2h5LiBKdXN0IGV4ZWN1dGluZyBmaXJzdCB0YXNrXHJcbiAgICAgIGxldCB0YXNrcyQgPSBjb25jYXQoYXBwbGljYXRpb25TdGFydGluZyQsIHBhcmFsbGVsVGFza3MkKTtcclxuXHJcbiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcy9pc3N1ZXMvMjQyN1xyXG4gICAgICBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzIxODhcclxuICAgICovXHJcbiAgICBpZiAocGFyYWxsZWxUYXNrcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBwYXJhbGxlbFRhc2tzJCA9IG1lcmdlKC4uLnBhcmFsbGVsVGFza3MpO1xyXG4gICAgICB0YXNrcyQgPSBmb3JrSm9pbihbYXBwbGljYXRpb25TdGFydGluZyQsIHBhcmFsbGVsVGFza3MkXSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGFza3MkID0gYXBwbGljYXRpb25TdGFydGluZyQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy9Mb2dnaW5nXHJcbiAgICBsZXQgc3RvcHdhdGNoID0gbmV3IFN0b3B3YXRjaChcIlN0YXJ0ZXJTZXJ2aWNlLmVuc3VyZUFwcGxpY2F0aW9uU3RhcnRlZFwiKTtcclxuICAgIHN0b3B3YXRjaC5zdGFydCgpO1xyXG5cclxuICAgIHJldHVybiB0YXNrcyQucGlwZShtYXAoKCkgPT4ge1xyXG4gICAgICAgIC8vTG9nZ2luZ1xyXG4gICAgICAgIHN0b3B3YXRjaC5zdG9wKCk7XHJcbiAgICAgICAgc3RvcHdhdGNoLnByaW50RWxhcHNlZEFzTWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -1,66 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 26 Jun 2020
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- //Node
17
- import { Injectable } from '@angular/core';
18
- import * as i0 from "@angular/core";
19
- class WebStorageService {
20
- constructor(storage) {
21
- this.storage = storage === 'local' || storage === 'localStorage' ? localStorage : sessionStorage;
22
- }
23
- setItem(key, value) {
24
- this.storage.setItem(key, value);
25
- }
26
- setObject(key, value) {
27
- this.storage.setItem(key, JSON.stringify(value));
28
- }
29
- getItem(key) {
30
- return this.storage.getItem(key);
31
- }
32
- getObject(key) {
33
- let value = this.storage.getItem(key);
34
- if (!value) {
35
- return null;
36
- }
37
- return JSON.parse(value);
38
- }
39
- remove(key) {
40
- this.storage.removeItem(key);
41
- }
42
- clear() {
43
- this.storage.clear();
44
- }
45
- }
46
- export class LocalStorageService extends WebStorageService {
47
- constructor() {
48
- super('localStorage');
49
- }
50
- static { this.ɵfac = function LocalStorageService_Factory(t) { return new (t || LocalStorageService)(); }; }
51
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LocalStorageService, factory: LocalStorageService.ɵfac }); }
52
- }
53
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LocalStorageService, [{
54
- type: Injectable
55
- }], () => [], null); })();
56
- export class SessionStorageService extends WebStorageService {
57
- constructor() {
58
- super('sessionStorage');
59
- }
60
- static { this.ɵfac = function SessionStorageService_Factory(t) { return new (t || SessionStorageService)(); }; }
61
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac }); }
62
- }
63
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageService, [{
64
- type: Injectable
65
- }], () => [], null); })();
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3dlYi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFekMsTUFBTSxpQkFBaUI7SUFHckIsWUFBWSxPQUFlO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxLQUFLLE9BQU8sSUFBSSxPQUFPLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUc7UUFDWCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHO1FBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUFDeEQ7UUFDRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEIsQ0FBQztvRkFIVSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVTs7QUFRWCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCO0lBQzFEO1FBQ0UsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUIsQ0FBQztzRkFIVSxxQkFBcUI7dUVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNiBKdW4gMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuY2xhc3MgV2ViU3RvcmFnZVNlcnZpY2Uge1xyXG4gIHN0b3JhZ2U6IFN0b3JhZ2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHN0b3JhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdG9yYWdlID0gc3RvcmFnZSA9PT0gJ2xvY2FsJyB8fCBzdG9yYWdlID09PSAnbG9jYWxTdG9yYWdlJyA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlO1xyXG4gIH1cclxuXHJcbiAgc2V0SXRlbShrZXksIHZhbHVlKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldE9iamVjdChrZXksIHZhbHVlKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtKGtleSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgfVxyXG5cclxuICBnZXRPYmplY3Qoa2V5KSB7XHJcbiAgICBsZXQgdmFsdWUgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoa2V5KSB7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2UuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2UgZXh0ZW5kcyBXZWJTdG9yYWdlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignbG9jYWxTdG9yYWdlJyk7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgZXh0ZW5kcyBXZWJTdG9yYWdlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignc2Vzc2lvblN0b3JhZ2UnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,31 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 26 Jun 2020
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- export class Subs {
17
- constructor() {
18
- this.subs = [];
19
- }
20
- add(...subscriptions) {
21
- this.subs = this.subs.concat(subscriptions);
22
- }
23
- set sink(subscription) {
24
- this.subs.push(subscription);
25
- }
26
- unsubscribe() {
27
- this.subs.forEach((sub) => sub && sub.unsubscribe());
28
- this.subs = [];
29
- }
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3N1YnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFJRixNQUFNLE9BQU8sSUFBSTtJQUdmO1FBRlEsU0FBSSxHQUFtQixFQUFFLENBQUM7SUFFbkIsQ0FBQztJQUVoQixHQUFHLENBQUMsR0FBRyxhQUE2QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxZQUEwQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU3VicyB7XHJcbiAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGFkZCguLi5zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSkge1xyXG4gICAgdGhpcy5zdWJzID0gdGhpcy5zdWJzLmNvbmNhdChzdWJzY3JpcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldCBzaW5rKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSB7XHJcbiAgICB0aGlzLnN1YnMucHVzaChzdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgdW5zdWJzY3JpYmUoKSB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaCgoc3ViKSA9PiBzdWIgJiYgc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5zdWJzID0gW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,84 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 14 Feb 2024
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- export class QSUtils {
17
- static getValue(url, name) {
18
- name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
19
- const regex = new RegExp('[\\?&]' + name + '=([^&#]*)'), results = regex.exec(url);
20
- return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
21
- }
22
- static getValueByName(name) {
23
- return QSUtils.getValue(location.search, name);
24
- }
25
- static exists(name) {
26
- let value = QSUtils.getValueByName(name);
27
- if (value)
28
- return true;
29
- return false;
30
- }
31
- static idExists() {
32
- return QSUtils.exists("id");
33
- }
34
- static clear() {
35
- try {
36
- let newURL = location.href.split("?")[0];
37
- window.history.pushState('object', document.title, newURL);
38
- }
39
- catch (e) {
40
- }
41
- }
42
- static clearKey(name, reload = false, clearStorage = false) {
43
- try {
44
- let str = null;
45
- let newURL = null;
46
- str = "?" + name;
47
- if (location.href.indexOf(str) > -1) {
48
- newURL = location.href.split(str)[0];
49
- }
50
- str = "&" + name;
51
- if (location.href.indexOf(str) > -1) {
52
- newURL = location.href.split(str)[0];
53
- }
54
- if (newURL && reload) {
55
- if (clearStorage) {
56
- console.log("Clearing Storage");
57
- localStorage.clear();
58
- sessionStorage.clear();
59
- }
60
- window.location.href = newURL;
61
- }
62
- else {
63
- window.history.pushState('object', document.title, newURL);
64
- }
65
- }
66
- catch (e) {
67
- }
68
- }
69
- static getUrlSlug() {
70
- let str = location.href;
71
- let items = str.split('/');
72
- let urlSlugWithQS = items[items.length - 1];
73
- let urlSlug = urlSlugWithQS.split("?")[0];
74
- return urlSlug;
75
- }
76
- //SSO
77
- static isSSOinProgress() {
78
- return location.search.indexOf("action=sso") > -1;
79
- }
80
- static clearSSO() {
81
- this.clearKey("action=sso");
82
- }
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXN1dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3V0aWxzL3FzdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNLE9BQU8sT0FBTztJQUNWLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUk7UUFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxXQUFXLENBQUMsRUFFdkQsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsT0FBTyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSTtRQUMvQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQ3ZCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVE7UUFDcEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSztRQUNqQixJQUNBLENBQUM7WUFDQyxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTSxDQUFDLEVBQ1AsQ0FBQztRQUNELENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxZQUFZLEdBQUcsS0FBSztRQUMvRCxJQUNBLENBQUM7WUFDQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDZixJQUFJLE1BQU0sR0FBRSxJQUFJLENBQUM7WUFFakIsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUVELEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFFRCxJQUFJLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUNoQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztnQkFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7WUFDaEMsQ0FBQztpQkFDSSxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTSxDQUFDLEVBQ1AsQ0FBQztRQUNELENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVU7UUFDdEIsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUs7SUFDRSxNQUFNLENBQUMsZUFBZTtRQUMzQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUTtRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBGZWIgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBjbGFzcyBRU1V0aWxzIHtcclxuICBwcml2YXRlIHN0YXRpYyBnZXRWYWx1ZSh1cmwsIG5hbWUpIHtcclxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1tcXFtdLywgJ1xcXFxbJykucmVwbGFjZSgvW1xcXV0vLCAnXFxcXF0nKTtcclxuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnW1xcXFw/Jl0nICsgbmFtZSArICc9KFteJiNdKiknKSxcclxuXHJcbiAgICByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xyXG4gICAgcmV0dXJuIHJlc3VsdHMgPT09IG51bGwgPyAnJyA6IGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzFdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VmFsdWVCeU5hbWUobmFtZSkge1xyXG4gICAgcmV0dXJuIFFTVXRpbHMuZ2V0VmFsdWUobG9jYXRpb24uc2VhcmNoLCBuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZXhpc3RzKG5hbWUpIHtcclxuICAgIGxldCB2YWx1ZSA9IFFTVXRpbHMuZ2V0VmFsdWVCeU5hbWUobmFtZSk7XHJcbiAgICBpZiAodmFsdWUpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaWRFeGlzdHMoKSB7XHJcbiAgICByZXR1cm4gUVNVdGlscy5leGlzdHMoXCJpZFwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY2xlYXIoKSB7XHJcbiAgICB0cnlcclxuICAgIHtcclxuICAgICAgbGV0IG5ld1VSTCA9IGxvY2F0aW9uLmhyZWYuc3BsaXQoXCI/XCIpWzBdO1xyXG4gICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoJ29iamVjdCcsIGRvY3VtZW50LnRpdGxlLCBuZXdVUkwpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2goZSlcclxuICAgIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY2xlYXJLZXkobmFtZSwgcmVsb2FkID0gZmFsc2UsIGNsZWFyU3RvcmFnZSA9IGZhbHNlKSB7XHJcbiAgICB0cnlcclxuICAgIHtcclxuICAgICAgbGV0IHN0ciA9IG51bGw7XHJcbiAgICAgIGxldCBuZXdVUkw9IG51bGw7XHJcblxyXG4gICAgICBzdHIgPSBcIj9cIiArIG5hbWU7XHJcbiAgICAgIGlmIChsb2NhdGlvbi5ocmVmLmluZGV4T2Yoc3RyKSA+IC0xKSB7XHJcbiAgICAgICAgbmV3VVJMID0gbG9jYXRpb24uaHJlZi5zcGxpdChzdHIpWzBdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzdHIgPSBcIiZcIiArIG5hbWU7XHJcbiAgICAgIGlmIChsb2NhdGlvbi5ocmVmLmluZGV4T2Yoc3RyKSA+IC0xKSB7XHJcbiAgICAgICAgbmV3VVJMID0gbG9jYXRpb24uaHJlZi5zcGxpdChzdHIpWzBdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAobmV3VVJMICYmIHJlbG9hZCkge1xyXG4gICAgICAgIGlmIChjbGVhclN0b3JhZ2UpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQ2xlYXJpbmcgU3RvcmFnZVwiKTtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV3VVJMO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSgnb2JqZWN0JywgZG9jdW1lbnQudGl0bGUsIG5ld1VSTCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoKGUpXHJcbiAgICB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFVybFNsdWcoKTogc3RyaW5nIHtcclxuICAgIGxldCBzdHIgPSBsb2NhdGlvbi5ocmVmO1xyXG4gICAgbGV0IGl0ZW1zID0gc3RyLnNwbGl0KCcvJyk7XHJcbiAgICBsZXQgdXJsU2x1Z1dpdGhRUyA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdO1xyXG4gICAgbGV0IHVybFNsdWcgPSB1cmxTbHVnV2l0aFFTLnNwbGl0KFwiP1wiKVswXTtcclxuXHJcbiAgICByZXR1cm4gdXJsU2x1ZztcclxuICB9XHJcblxyXG4gIC8vU1NPXHJcbiAgcHVibGljIHN0YXRpYyBpc1NTT2luUHJvZ3Jlc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbG9jYXRpb24uc2VhcmNoLmluZGV4T2YoXCJhY3Rpb249c3NvXCIpID4gLTE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNsZWFyU1NPKCkge1xyXG4gICAgdGhpcy5jbGVhcktleShcImFjdGlvbj1zc29cIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,112 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 19 March 2020
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- export class Utils {
17
- static copyToClipBoard(event, val) {
18
- event.preventDefault();
19
- const selBox = document.createElement('textarea');
20
- selBox.style.position = 'fixed';
21
- selBox.style.left = '0';
22
- selBox.style.top = '0';
23
- selBox.style.opacity = '0';
24
- selBox.value = val;
25
- document.body.appendChild(selBox);
26
- selBox.focus();
27
- selBox.select();
28
- document.execCommand('copy');
29
- document.body.removeChild(selBox);
30
- }
31
- static downloadFile(name, url) {
32
- const link = document.createElement('a');
33
- link.download = name;
34
- link.href = url;
35
- link.click();
36
- }
37
- static downloadBlobFile(value, fileName) {
38
- const nav = window.navigator;
39
- if (nav.msSaveOrOpenBlob) {
40
- nav.msSaveOrOpenBlob(value, fileName);
41
- }
42
- else {
43
- const downloadURL = window.URL.createObjectURL(value);
44
- Utils.downloadFile(fileName, downloadURL);
45
- }
46
- }
47
- /*
48
- Author:
49
- https://medium.com/@mhagemann/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
50
- */
51
- static slugify(text, prefix = '', postfix = '') {
52
- const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;';
53
- const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------';
54
- const p = new RegExp(a.split('').join('|'), 'g');
55
- /*
56
- https://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/
57
- https://stackoverflow.com/questions/822452/strip-html-from-text-javascript
58
- */
59
- text = text.replace(/(<([^>]+)>)/gi, '');
60
- let result = text
61
- .toString()
62
- .toLowerCase()
63
- .replace(/\s+/g, '-') // Replace spaces with -
64
- .replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
65
- .replace(/&/g, '-and-') // Replace & with 'and'
66
- .replace(/[^\w\-]+/g, '') // Remove all non-word characters
67
- .replace(/\-\-+/g, '-') // Replace multiple - with single -
68
- .replace(/^-+/, '') // Trim - from start of text
69
- .replace(/-+$/, ''); // Trim - from end of text
70
- return prefix + result + postfix;
71
- }
72
- static generateRandom(start, end) {
73
- return Math.floor(Math.random() * (end - start + 1)) + start;
74
- }
75
- static isBrowserMobile() {
76
- const userAgent = navigator.userAgent || navigator.vendor;
77
- const mobileRegex = new RegExp("(android|bb\\d+|meego).+mobile|" +
78
- "avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|" +
79
- "iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|" +
80
- "mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|" +
81
- "p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|" +
82
- "up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|" +
83
- "1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|" +
84
- "ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|" +
85
- "attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|" +
86
- "br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|" +
87
- "craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|" +
88
- "el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|" +
89
- "g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|" +
90
- "hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|" +
91
- "i230|iac( |-\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|" +
92
- "keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|" +
93
- "libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|" +
94
- "mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|" +
95
- "ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|" +
96
- "pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|" +
97
- "pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|" +
98
- "s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|" +
99
- "sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|" +
100
- "sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|" +
101
- "ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|" +
102
- "vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|" +
103
- "wmlb|wonu|x700|yas-|your|zeto|zte-", "i");
104
- const isMobileUserAgent = mobileRegex.test(userAgent);
105
- const isSmallScreen = window.innerWidth <= 800 && window.innerHeight <= 600;
106
- const isTabletRegex = new RegExp("ipad|android(?!.*mobile)|tablet|kindle|playbook|silk|nexus 7|nexus 10|Macintosh|" +
107
- "fire|sm-t|tab|gt-p|sch-i|xoom|sch-i|tf101|kftt|kfot|kfjw|kfsowi|a500|rim\\w", "i");
108
- const isTabletUserAgent = isTabletRegex.test(userAgent);
109
- return isMobileUserAgent && !isTabletUserAgent || isSmallScreen;
110
- }
111
- }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU0sT0FBTyxLQUFLO0lBQ1QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFVLEVBQUUsR0FBVztRQUNuRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDM0IsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbkIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDbEQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMs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L0UsaUZBQWlGO1lBQ2pGLG9GQUFvRjtZQUNwRixxRkFBcUY7WUFDckYsbUZBQW1GO1lBQ25GLG9DQUFvQyxFQUNwQyxHQUFHLENBQ0osQ0FBQztRQUVGLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQztRQUM1RSxNQUFNLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FDOUIsa0ZBQWtGO1lBQ2xGLDZFQUE2RSxFQUM3RSxHQUFHLENBQ0osQ0FBQztRQUNGLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4RCxPQUFPLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLElBQUksYUFBYSxDQUFDO0lBQ2xFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxOSBNYXJjaCAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuICBwdWJsaWMgc3RhdGljIGNvcHlUb0NsaXBCb2FyZChldmVudDogYW55LCB2YWw6IHN0cmluZykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBjb25zdCBzZWxCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gICAgc2VsQm94LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIHNlbEJveC5zdHlsZS5sZWZ0ID0gJzAnO1xyXG4gICAgc2VsQm94LnN0eWxlLnRvcCA9ICcwJztcclxuICAgIHNlbEJveC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG4gICAgc2VsQm94LnZhbHVlID0gdmFsO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWxCb3gpO1xyXG4gICAgc2VsQm94LmZvY3VzKCk7XHJcbiAgICBzZWxCb3guc2VsZWN0KCk7XHJcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzZWxCb3gpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEZpbGUobmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZykge1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGxpbmsuZG93bmxvYWQgPSBuYW1lO1xyXG4gICAgbGluay5ocmVmID0gdXJsO1xyXG4gICAgbGluay5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEJsb2JGaWxlKHZhbHVlOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBuYXYgPSAod2luZG93Lm5hdmlnYXRvciBhcyBhbnkpO1xyXG5cclxuICAgIGlmIChuYXYubXNTYXZlT3JPcGVuQmxvYikge1xyXG4gICAgICBuYXYubXNTYXZlT3JPcGVuQmxvYih2YWx1ZSwgZmlsZU5hbWUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRvd25sb2FkVVJMID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwodmFsdWUpO1xyXG4gICAgICBVdGlscy5kb3dubG9hZEZpbGUoZmlsZU5hbWUsIGRvd25sb2FkVVJMKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICBBdXRob3I6XHJcbiAgICBodHRwczovL21lZGl1bS5jb20vQG1oYWdlbWFubi90aGUtdWx0aW1hdGUtd2F5LXRvLXNsdWdpZnktYS11cmwtc3RyaW5nLWluLWphdmFzY3JpcHQtYjhlNGEwZDg0OWUxXHJcbiAgKi9cclxuICBwdWJsaWMgc3RhdGljIHNsdWdpZnkodGV4dDogc3RyaW5nLCBwcmVmaXg6IHN0cmluZyA9ICcnLCBwb3N0Zml4OiBzdHJpbmcgPSAnJykge1xyXG4gICAgY29uc3QgYSA9ICfDoMOhw6LDpMOmw6PDpcSBxIPEhcOnxIfEjcSRxI/DqMOpw6rDq8STxJfEmcSbxJ/HteG4p8Ouw6/DrcSrxK/DrMWC4bi/w7HFhMe5xYjDtMO2w7LDs8WTw7jFjcO1xZHhuZXFlcWZw5/Fm8WhxZ/ImcWlyJvDu8O8w7nDusWrx5jFr8WxxbPhuoPhuo3Dv8O9xb7FusW8wrcvXyw6Oyc7XHJcbiAgICBjb25zdCBiID0gJ2FhYWFhYWFhYWFjY2NkZGVlZWVlZWVlZ2doaWlpaWlpbG1ubm5ub29vb29vb29vcHJyc3Nzc3N0dHV1dXV1dXV1dXd4eXl6enotLS0tLS0nO1xyXG4gICAgY29uc3QgcCA9IG5ldyBSZWdFeHAoYS5zcGxpdCgnJykuam9pbignfCcpLCAnZycpO1xyXG5cclxuICAgIC8qXHJcbiAgICAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvamF2YXNjcmlwdC9zdHJpcC1odG1sLXRhZ3MtaW4tamF2YXNjcmlwdC9cclxuICAgICAgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvODIyNDUyL3N0cmlwLWh0bWwtZnJvbS10ZXh0LWphdmFzY3JpcHRcclxuICAgICovXHJcbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKC8oPChbXj5dKyk+KS9naSwgJycpO1xyXG5cclxuICAgIGxldCByZXN1bHQgPSB0ZXh0XHJcbiAgICAgIC50b1N0cmluZygpXHJcbiAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIC5yZXBsYWNlKC9cXHMrL2csICctJykgLy8gUmVwbGFjZSBzcGFjZXMgd2l0aCAtXHJcbiAgICAgIC5yZXBsYWNlKHAsIGMgPT4gYi5jaGFyQXQoYS5pbmRleE9mKGMpKSkgLy8gUmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnNcclxuICAgICAgLnJlcGxhY2UoLyYvZywgJy1hbmQtJykgLy8gUmVwbGFjZSAmIHdpdGggJ2FuZCdcclxuICAgICAgLnJlcGxhY2UoL1teXFx3XFwtXSsvZywgJycpIC8vIFJlbW92ZSBhbGwgbm9uLXdvcmQgY2hhcmFjdGVyc1xyXG4gICAgICAucmVwbGFjZSgvXFwtXFwtKy9nLCAnLScpIC8vIFJlcGxhY2UgbXVsdGlwbGUgLSB3aXRoIHNpbmdsZSAtXHJcbiAgICAgIC5yZXBsYWNlKC9eLSsvLCAnJykgLy8gVHJpbSAtIGZyb20gc3RhcnQgb2YgdGV4dFxyXG4gICAgICAucmVwbGFjZSgvLSskLywgJycpOyAvLyBUcmltIC0gZnJvbSBlbmQgb2YgdGV4dFxyXG5cclxuICAgIHJldHVybiBwcmVmaXggKyByZXN1bHQgKyBwb3N0Zml4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZVJhbmRvbShzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChlbmQgLSBzdGFydCArIDEpKSArIHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc0Jyb3dzZXJNb2JpbGUoKSB7XHJcbiAgICBjb25zdCB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50IHx8IG5hdmlnYXRvci52ZW5kb3I7XHJcbiAgICBjb25zdCBtb2JpbGVSZWdleCA9IG5ldyBSZWdFeHAoXHJcbiAgICAgIFwiKGFuZHJvaWR8YmJcXFxcZCt8bWVlZ28pLittb2JpbGV8XCIgK1xyXG4gICAgICBcImF2YW50Z298YmFkYVxcXFwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxcIiArXHJcbiAgICAgIFwiaWVtb2JpbGV8aXAoaG9uZXxvZCl8aXJpc3xraW5kbGV8bGdlIHxtYWVtb3xtaWRwfG1tcHxcIiArXHJcbiAgICAgIFwibW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfFwiICtcclxuICAgICAgXCJwKGl4aXxyZSlcXFxcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3xcIiArXHJcbiAgICAgIFwidXBcXFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWlub3xcIiArXHJcbiAgICAgIFwiMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298cy0pfFwiICtcclxuICAgICAgXCJhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxcIiArXHJcbiAgICAgIFwiYXR0d3xhdShkaXwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxcIiArXHJcbiAgICAgIFwiYnIoZXx2KXd8YnVtYnxidy0obnx1KXxjNTVcXFxcL3xjYXBpfGNjd2F8Y2RtLXxjZWxsfGNodG18Y2xkY3xjbWQtfGNvKG1wfG5kKXxcIiArXHJcbiAgICAgIFwiY3Jhd3xkYShpdHxsbHxuZyl8ZGJ0ZXxkYy1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfC1kKXxcIiArXHJcbiAgICAgIFwiZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KC18Xyl8ZzEgdXxcIiArXHJcbiAgICAgIFwiZzU2MHxnZW5lfGdmLTV8Zy1tb3xnbyhcXFxcLnd8b2QpfGdyKGFkfHVuKXxoYWllfGhjaXR8aGQtKG18cHx0KXxoZWktfFwiICtcclxuICAgICAgXCJoaShwdHx0YSl8aHAoIGl8aXApfGhzLWN8aHQoYygtfCB8X3xhfGd8cHxzfHQpfHRwKXxodShhd3x0Yyl8aS0oMjB8Z298bWEpfFwiICtcclxuICAgICAgXCJpMjMwfGlhYyggfC1cXFxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8XCIgK1xyXG4gICAgICBcImtlaml8a2d0KCB8XFxcXC8pfGtsb258a3B0IHxrd2MtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcXFxcLyhrfGx8dSl8NTB8NTR8LVthLXddKXxcIiArXHJcbiAgICAgIFwibGlid3xseW54fG0xLXd8bTNnYXxtNTBcXFxcL3xtYSh0ZXx1aXx4byl8bWMoMDF8MjF8Y2EpfG0tY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoLXwgfG98dil8enopfFwiICtcclxuICAgICAgXCJtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxcIiArXHJcbiAgICAgIFwibmUoKGN8bSktfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfFwiICtcclxuICAgICAgXCJwYW4oYXxkfHQpfHBkeGd8cGcoMTN8XFxcXC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG4tMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfFwiICtcclxuICAgICAgXCJwdC1nfHFhLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8LVsyLTddfGktKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfFwiICtcclxuICAgICAgXCJzNTVcXFxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aC18b298cC0pfHNka1xcXFwvfHNlKGMoLXwwfDEpfDQ3fG1jfG5kfHJpKXxcIiArXHJcbiAgICAgIFwic2doLXxzaGFyfHNpZSgtfG0pfHNrLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aC18di18diApfFwiICtcclxuICAgICAgXCJzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsLXx0ZGctfHRlbChpfG0pfHRpbS18dC1tb3x0byhwbHxzaCl8XCIgK1xyXG4gICAgICBcInRzKDcwfG0tfG0zfG01KXx0eC05fHVwKFxcXFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfC12KXxcIiArXHJcbiAgICAgIFwidm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYygtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8XCIgK1xyXG4gICAgICBcIndtbGJ8d29udXx4NzAwfHlhcy18eW91cnx6ZXRvfHp0ZS1cIixcclxuICAgICAgXCJpXCJcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaXNNb2JpbGVVc2VyQWdlbnQgPSBtb2JpbGVSZWdleC50ZXN0KHVzZXJBZ2VudCk7XHJcbiAgICBjb25zdCBpc1NtYWxsU2NyZWVuID0gd2luZG93LmlubmVyV2lkdGggPD0gODAwICYmIHdpbmRvdy5pbm5lckhlaWdodCA8PSA2MDA7XHJcbiAgICBjb25zdCBpc1RhYmxldFJlZ2V4ID0gbmV3IFJlZ0V4cChcclxuICAgICAgXCJpcGFkfGFuZHJvaWQoPyEuKm1vYmlsZSl8dGFibGV0fGtpbmRsZXxwbGF5Ym9va3xzaWxrfG5leHVzIDd8bmV4dXMgMTB8TWFjaW50b3NofFwiICtcclxuICAgICAgXCJmaXJlfHNtLXR8dGFifGd0LXB8c2NoLWl8eG9vbXxzY2gtaXx0ZjEwMXxrZnR0fGtmb3R8a2Zqd3xrZnNvd2l8YTUwMHxyaW1cXFxcd1wiLFxyXG4gICAgICBcImlcIlxyXG4gICAgKTtcclxuICAgIGNvbnN0IGlzVGFibGV0VXNlckFnZW50ID0gaXNUYWJsZXRSZWdleC50ZXN0KHVzZXJBZ2VudCk7XHJcblxyXG4gICAgcmV0dXJuIGlzTW9iaWxlVXNlckFnZW50ICYmICFpc1RhYmxldFVzZXJBZ2VudCB8fCBpc1NtYWxsU2NyZWVuO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,94 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
-
9
- Created:
10
- 13 Nov 2017
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Injectable } from '@angular/core';
17
- import { map } from 'rxjs/operators';
18
- //App
19
- import { AppCoreSettings } from '../../core/consts/core-settings';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/common/http";
22
- export class ApiServiceBase {
23
- constructor(http) {
24
- this.http = http;
25
- }
26
- serializeParams(data) {
27
- return data ? ('?' + $.param(data)) : "";
28
- }
29
- //api
30
- get(action, data, responseType) {
31
- if (!responseType) {
32
- responseType = 'json';
33
- }
34
- var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
35
- return this.http.get(url, { responseType: responseType }).pipe(map(res => res));
36
- }
37
- post(action, data, responseType) {
38
- if (!responseType) {
39
- responseType = 'text';
40
- }
41
- var url = `${this.baseUrl}/${action}`;
42
- return this.http.post(url, data, { responseType: responseType });
43
- }
44
- postQS(action, data, responseType) {
45
- if (!responseType) {
46
- responseType = 'text';
47
- }
48
- var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
49
- return this.http.post(url, null, { responseType: responseType });
50
- }
51
- delete(action, data, responseType) {
52
- if (!responseType) {
53
- responseType = 'text';
54
- }
55
- var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
56
- return this.http.delete(url, { responseType: responseType });
57
- }
58
- //gets
59
- getExternalTextFile(url) {
60
- return this.http.get(url);
61
- }
62
- //Json Files
63
- __getJsonFile(url) {
64
- const version = AppCoreSettings.version;
65
- const isCDNEnabled = AppCoreSettings.cdn.enabled;
66
- const cdnUrl = AppCoreSettings.cdn.url;
67
- //const cdnSasToken = AppCoreSettings.cdn.sasToken;
68
- if (isCDNEnabled) {
69
- url = (url[0] == '/') ? cdnUrl + url : cdnUrl + '/' + url;
70
- }
71
- else {
72
- url = url + '?v=' + version;
73
- }
74
- return this.http.get(url);
75
- }
76
- getLibJsonFile(fileName) {
77
- const url = AppCoreSettings.assetsLibUrl + '/jsons';
78
- return this.__getJsonFile(url + "/" + fileName);
79
- }
80
- getJsonFile(fileName) {
81
- const url = AppCoreSettings.assetsUrl + '/jsons';
82
- return this.__getJsonFile(url + "/" + fileName);
83
- }
84
- getExternalJsonFile(libname, fileName) {
85
- const url = AppCoreSettings.assetsExternalUrl + "/" + libname + "/jsons";
86
- return this.__getJsonFile(url + "/" + fileName);
87
- }
88
- static { this.ɵfac = function ApiServiceBase_Factory(t) { return new (t || ApiServiceBase)(i0.ɵɵinject(i1.HttpClient)); }; }
89
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ApiServiceBase, factory: ApiServiceBase.ɵfac }); }
90
- }
91
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ApiServiceBase, [{
92
- type: Injectable
93
- }], () => [{ type: i1.HttpClient }], null); })();
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9iYXNlL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsS0FBSztBQUNMLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBS2xFLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSztJQUNMLEdBQUcsQ0FBSSxNQUFjLEVBQUUsSUFBVSxFQUFFLFlBQWE7UUFDOUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBSSxHQUFHLENBQUMsQ0FDbkIsQ0FB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ZSxFQUFFLFFBQWdCO1FBQ25ELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDOytFQXBGVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjOztpRkFBZCxjQUFjO2NBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgIDEzIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb3JlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0cy9jb3JlLXNldHRpbmdzJztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2VCYXNlIHtcclxuICBwcm90ZWN0ZWQgYmFzZVVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXJpYWxpemVQYXJhbXMoZGF0YT86IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZGF0YSA/ICgnPycgKyAkLnBhcmFtKGRhdGEpKSA6IFwiXCI7XHJcbiAgfVxyXG5cclxuICAvL2FwaVxyXG4gIGdldDxUPihhY3Rpb246IHN0cmluZywgZGF0YT86IGFueSwgcmVzcG9uc2VUeXBlPyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgaWYgKCFyZXNwb25zZVR5cGUpIHtcclxuICAgICAgcmVzcG9uc2VUeXBlID0gJ2pzb24nO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9LyR7YWN0aW9ufSR7dGhpcy5zZXJpYWxpemVQYXJhbXMoZGF0YSl9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSB9KS5waXBlKFxyXG4gICAgICBtYXAocmVzID0+IDxUPnJlcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwb3N0KGFjdGlvbjogc3RyaW5nLCBkYXRhPzogYW55LCByZXNwb25zZVR5cGU/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghcmVzcG9uc2VUeXBlKSB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JztcclxuICAgIH1cclxuXHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS8ke2FjdGlvbn1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSwgeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSB9KTtcclxuICB9XHJcblxyXG4gIHBvc3RRUyhhY3Rpb246IHN0cmluZywgZGF0YT86IGFueSwgcmVzcG9uc2VUeXBlPyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlVHlwZSkge1xyXG4gICAgICByZXNwb25zZVR5cGUgPSAndGV4dCc7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IGAke3RoaXMuYmFzZVVybH0vJHthY3Rpb259JHt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhkYXRhKX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgbnVsbCwgeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShhY3Rpb246IHN0cmluZywgZGF0YT86IGFueSwgcmVzcG9uc2VUeXBlPyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlVHlwZSkge1xyXG4gICAgICByZXNwb25zZVR5cGUgPSAndGV4dCc7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IGAke3RoaXMuYmFzZVVybH0vJHthY3Rpb259JHt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhkYXRhKX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsLCB7IHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9nZXRzXHJcbiAgZ2V0RXh0ZXJuYWxUZXh0RmlsZSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgLy9Kc29uIEZpbGVzXHJcbiAgcHJpdmF0ZSBfX2dldEpzb25GaWxlKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHZlcnNpb24gPSBBcHBDb3JlU2V0dGluZ3MudmVyc2lvbjtcclxuICAgIGNvbnN0IGlzQ0RORW5hYmxlZCA9IEFwcENvcmVTZXR0aW5ncy5jZG4uZW5hYmxlZDtcclxuICAgIGNvbnN0IGNkblVybCA9IEFwcENvcmVTZXR0aW5ncy5jZG4udXJsO1xyXG4gICAgLy9jb25zdCBjZG5TYXNUb2tlbiA9IEFwcENvcmVTZXR0aW5ncy5jZG4uc2FzVG9rZW47XHJcblxyXG4gICAgaWYgKGlzQ0RORW5hYmxlZCkge1xyXG4gICAgICB1cmwgPSAodXJsWzBdID09ICcvJykgPyBjZG5VcmwgKyB1cmwgOiBjZG5VcmwgKyAnLycgKyB1cmw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdXJsID0gdXJsICsgJz92PScgKyB2ZXJzaW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCk7XHJcbiAgfVxyXG5cclxuICBnZXRMaWJKc29uRmlsZShmaWxlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFwcENvcmVTZXR0aW5ncy5hc3NldHNMaWJVcmwgKyAnL2pzb25zJztcclxuICAgIHJldHVybiB0aGlzLl9fZ2V0SnNvbkZpbGUodXJsICsgXCIvXCIgKyBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXRKc29uRmlsZShmaWxlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFwcENvcmVTZXR0aW5ncy5hc3NldHNVcmwgKyAnL2pzb25zJztcclxuICAgIHJldHVybiB0aGlzLl9fZ2V0SnNvbkZpbGUodXJsICsgXCIvXCIgKyBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXRFeHRlcm5hbEpzb25GaWxlKGxpYm5hbWU6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBBcHBDb3JlU2V0dGluZ3MuYXNzZXRzRXh0ZXJuYWxVcmwgKyBcIi9cIiArIGxpYm5hbWUgKyBcIi9qc29uc1wiO1xyXG4gICAgcmV0dXJuIHRoaXMuX19nZXRKc29uRmlsZSh1cmwgKyBcIi9cIiArIGZpbGVOYW1lKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,80 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 Apr 2018
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Injectable } from "@angular/core";
17
- import { map } from "rxjs/operators";
18
- //App
19
- import { GridReadServiceBase } from "./grid-read.service";
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/common/http";
22
- export class GridEditServiceBase extends GridReadServiceBase {
23
- constructor(http) {
24
- super(http);
25
- this.http = http;
26
- }
27
- reset() {
28
- this.data = [];
29
- }
30
- resetItem(dataItem) {
31
- if (!dataItem) {
32
- return;
33
- }
34
- //find orignal data item
35
- const originalDataItem = this.data.find(item => item.Id === dataItem.Id);
36
- //revert changes
37
- Object.assign(originalDataItem, dataItem);
38
- super.next(this.data);
39
- }
40
- save(data, isNew, sucess) {
41
- const action = isNew ? 'add' : 'update';
42
- this.reset();
43
- this.post(action, data).subscribe({
44
- next: (data) => {
45
- },
46
- error: (e) => {
47
- this.read();
48
- },
49
- complete: () => {
50
- this.read();
51
- if (sucess)
52
- sucess();
53
- }
54
- });
55
- }
56
- delete(data, sucess) {
57
- this.reset();
58
- const url = `${this.baseUrl}/delete${this.serializeParams(data)}`;
59
- return this.http.delete(url).subscribe({
60
- next: (data) => {
61
- this.read();
62
- if (sucess)
63
- sucess();
64
- },
65
- error: (e) => {
66
- this.read();
67
- }
68
- });
69
- }
70
- post(action, data) {
71
- const url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
72
- return this.http.post(url, data).pipe(map(res => res));
73
- }
74
- static { this.ɵfac = function GridEditServiceBase_Factory(t) { return new (t || GridEditServiceBase)(i0.ɵɵinject(i1.HttpClient)); }; }
75
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GridEditServiceBase, factory: GridEditServiceBase.ɵfac }); }
76
- }
77
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GridEditServiceBase, [{
78
- type: Injectable
79
- }], () => [{ type: i1.HttpClient }], null); })();
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1lZGl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9iYXNlL2dyaWQvZ3JpZC1lZGl0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUcxRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBRzFELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7SUFFdEMsQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQWE7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFFMUIsd0JBQXdCO1FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6RSxnQkFBZ0I7UUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVMsRUFBRSxLQUFjLEVBQUUsTUFBaUI7UUFDL0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUV4QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDZixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNaLElBQUksTUFBTTtvQkFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFTLEVBQUUsTUFBaUI7UUFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxVQUFVLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxNQUFNO29CQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFXLEVBQUUsSUFBVTtRQUMxQixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFRLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztvRkEzRFUsbUJBQW1CO3VFQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1COztpRkFBbkIsbUJBQW1CO2NBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgQXByIDIwMThcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgR3JpZFJlYWRTZXJ2aWNlQmFzZSB9IGZyb20gXCIuL2dyaWQtcmVhZC5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHcmlkRWRpdFNlcnZpY2VCYXNlIGV4dGVuZHMgR3JpZFJlYWRTZXJ2aWNlQmFzZSB7XHJcbiAgcHJvdGVjdGVkIGJhc2VVcmw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldCgpIHtcclxuICAgIHRoaXMuZGF0YSA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRJdGVtKGRhdGFJdGVtOiBhbnkpIHtcclxuICAgIGlmICghZGF0YUl0ZW0pIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgLy9maW5kIG9yaWduYWwgZGF0YSBpdGVtXHJcbiAgICBjb25zdCBvcmlnaW5hbERhdGFJdGVtID0gdGhpcy5kYXRhLmZpbmQoaXRlbSA9PiBpdGVtLklkID09PSBkYXRhSXRlbS5JZCk7XHJcblxyXG4gICAgLy9yZXZlcnQgY2hhbmdlc1xyXG4gICAgT2JqZWN0LmFzc2lnbihvcmlnaW5hbERhdGFJdGVtLCBkYXRhSXRlbSk7XHJcbiAgICBzdXBlci5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKGRhdGE6IGFueSwgaXNOZXc6IGJvb2xlYW4sIHN1Y2Vzcz86IEZ1bmN0aW9uKSB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSBpc05ldyA/ICdhZGQnIDogJ3VwZGF0ZSc7XHJcblxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gICAgdGhpcy5wb3N0KGFjdGlvbiwgZGF0YSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWFkKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWFkKCk7XHJcbiAgICAgICAgaWYgKHN1Y2Vzcykgc3VjZXNzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKGRhdGE6IGFueSwgc3VjZXNzPzogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMucmVzZXQoKTtcclxuXHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L2RlbGV0ZSR7dGhpcy5zZXJpYWxpemVQYXJhbXMoZGF0YSl9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHVybCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLnJlYWQoKTtcclxuICAgICAgICBpZiAoc3VjZXNzKSBzdWNlc3MoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWFkKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdChhY3Rpb246IGFueSwgZGF0YT86IGFueSk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYmFzZVVybH0vJHthY3Rpb259JHt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhkYXRhKX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSkucGlwZShcclxuICAgICAgbWFwKHJlcyA9PiA8YW55W10+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19