@taiga-ui/core 3.27.0 → 3.28.0

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 (40) hide show
  1. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +11 -2
  2. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  4. package/bundles/taiga-ui-core-components-svg.umd.js +21 -4
  5. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  7. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +1 -0
  9. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-tokens.umd.js +2 -6
  11. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  12. package/components/primitive-textfield/primitive-textfield.component.d.ts +1 -0
  13. package/components/svg/svg-options.d.ts +6 -5
  14. package/components/svg/svg.component.d.ts +6 -5
  15. package/constants/cache-basting-payload.d.ts +1 -1
  16. package/directives/textfield-controller/textfield-options.d.ts +1 -0
  17. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +7 -2
  18. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  19. package/esm2015/components/root/root.component.js +1 -1
  20. package/esm2015/components/svg/svg-options.js +10 -2
  21. package/esm2015/components/svg/svg.component.js +12 -5
  22. package/esm2015/components/tooltip/tooltip.component.js +1 -1
  23. package/esm2015/directives/textfield-controller/textfield-options.js +2 -1
  24. package/esm2015/tokens/svg-content-processor.js +2 -4
  25. package/esm2015/tokens/svg-src-processor.js +2 -4
  26. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +7 -2
  27. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  28. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  29. package/fesm2015/taiga-ui-core-components-svg.js +19 -4
  30. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  31. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  32. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  33. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +1 -0
  34. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  35. package/fesm2015/taiga-ui-core-tokens.js +2 -6
  36. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  37. package/package.json +4 -4
  38. package/styles/mixins/textfield.less +2 -1
  39. package/tokens/svg-content-processor.d.ts +2 -3
  40. package/tokens/svg-src-processor.d.ts +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-tokens.umd.js","sources":["../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/legacy-mask.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n `[TUI_ANIMATIONS_DURATION]`,\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n `[TUI_ANIMATION_OPTIONS]`,\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\n/**\n * @deprecated:\n * Flag to enable assertions across Taiga UI\n *\n * The current token no longer matters as\n * it will not be provided in production\n */\nexport const TUI_ASSERT_ENABLED = new InjectionToken(`[TUI_ASSERT_ENABLED]`, {\n factory: () => isDevMode(),\n});\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = new InjectionToken<TuiHandler<TuiDay, string>>(\n `[TUI_DAY_TYPE_HANDLER]`,\n {\n factory: () => (day: TuiDay) => day.isWeekend ? `weekend` : `weekday`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(`[TUI_ELEMENT_REF]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n `[TUI_FIRST_DAY_OF_WEEK]`,\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]`, {\n factory: tuiExtractI18n(`months`),\n});\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]`, {\n factory: tuiExtractI18n(`close`),\n});\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `[TUI_NOTHING_FOUND_MESSAGE]`,\n {\n factory: tuiExtractI18n(`nothingFoundMessage`),\n },\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n `[TUI_DEFAULT_ERROR_MESSAGE]`,\n {\n factory: tuiExtractI18n(`defaultErrorMessage`),\n },\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]`, {\n factory: tuiExtractI18n(`spinTexts`),\n});\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(`[TUI_SHORT_WEEK_DAYS]`, {\n factory: tuiExtractI18n(`shortWeekDays`),\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = new InjectionToken<string>(\n `[TUI_ICONS_PLACE]`,\n {\n factory: () => `assets/taiga-ui/icons`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(`[TUI_ICONS]`, {\n factory: () => ({}),\n});\n","import {inject, InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(`[TUI_ICONS_PATH]`, {\n factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n });\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(`[TUI_MEDIA]`, {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n});\n","import {inject, InjectionToken, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * @deprecated use {@link https://taiga-ui.dev/services/breakpoint-service TuiBreakpointService}\n * TODO: drop in v4.0\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n `[TUI_IS_MOBILE_RES]`,\n {\n factory: () => {\n const win = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(win, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(win, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n * Don't use it! Will be removed after changing the mask.\n */\nexport const TUI_LEGACY_MASK = new InjectionToken(`[TUI_LEGACY_MASK]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(`[TUI_MODE]`);\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n readonly defaultAutoCloseTime: number;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: true,\n label: ``,\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<TuiNotificationDefaultOptions>(\n `[TUI_NOTIFICATION_OPTIONS]`,\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): ValueProvider {\n return {\n provide: TUI_NOTIFICATION_OPTIONS,\n useValue: {...TUI_NOTIFICATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = new InjectionToken<TuiNumberFormatSettings>(\n `[TUI_NUMBER_FORMAT]`,\n {\n factory: () => TUI_DEFAULT_NUMBER_FORMAT,\n },\n);\n\nexport const tuiNumberFormatProvider: (\n options: Partial<TuiNumberFormatSettings>,\n) => ValueProvider = (options: Partial<TuiNumberFormatSettings>) => ({\n provide: TUI_NUMBER_FORMAT,\n useValue: {...TUI_DEFAULT_NUMBER_FORMAT, ...options},\n});\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || 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","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>(`[TUI_ORDERED_SHORT_WEEK_DAYS]`, {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(`[TUI_SANITIZER]`);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n `[TUI_SCROLL_REF]`,\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `[TUI_SELECTION_STREAM]`,\n {\n factory: () => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, `selectionchange`),\n tuiTypedFromEvent(doc, `mouseup`),\n tuiTypedFromEvent(doc, `mousedown`).pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(doc, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, `keydown`),\n tuiTypedFromEvent(doc, `keyup`),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {TuiHandler, tuiSvgLinearGradientProcessor} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<SafeHtml | string, SafeHtml | string>\n>(`[TUI_SVG_CONTENT_PROCESSOR]`, {\n factory: () => tuiSvgLinearGradientProcessor,\n});\n","import {InjectionToken} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR = new InjectionToken<\n TuiHandler<SafeHtml | string, SafeHtml | string>\n>(`[TUI_SVG_SRC_PROCESSOR]`, {\n factory: () => identity,\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n `[TUI_TEXTFIELD_APPEARANCE]`,\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken<string>(`[TUI_THEME]`, {\n factory: () => `Taiga`,\n});\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]`,\n);\n","import {inject, InjectionToken, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = new InjectionToken<TuiRectAccessor>(`[TUI_VIEWPORT]`, {\n factory: () => {\n const win = inject(WINDOW);\n\n return {\n type: `viewport`,\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: win.innerHeight,\n };\n },\n };\n },\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","inject","isDevMode","tuiExtractI18n","tuiIconsPathFactory","WINDOW","tuiTypedFromEvent","share","startWith","map","tuiIsMobile","distinctUntilChanged","tuiZoneOptimized","NgZone","TUI_DEFAULT_NUMBER_FORMAT","DOCUMENT","merge","switchMap","takeUntil","tuiSvgLinearGradientProcessor","identity"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-tokens.umd.js","sources":["../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/legacy-mask.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n `[TUI_ANIMATIONS_DURATION]`,\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n `[TUI_ANIMATION_OPTIONS]`,\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\n/**\n * @deprecated:\n * Flag to enable assertions across Taiga UI\n *\n * The current token no longer matters as\n * it will not be provided in production\n */\nexport const TUI_ASSERT_ENABLED = new InjectionToken(`[TUI_ASSERT_ENABLED]`, {\n factory: () => isDevMode(),\n});\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = new InjectionToken<TuiHandler<TuiDay, string>>(\n `[TUI_DAY_TYPE_HANDLER]`,\n {\n factory: () => (day: TuiDay) => day.isWeekend ? `weekend` : `weekday`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(`[TUI_ELEMENT_REF]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n `[TUI_FIRST_DAY_OF_WEEK]`,\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]`, {\n factory: tuiExtractI18n(`months`),\n});\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]`, {\n factory: tuiExtractI18n(`close`),\n});\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `[TUI_NOTHING_FOUND_MESSAGE]`,\n {\n factory: tuiExtractI18n(`nothingFoundMessage`),\n },\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n `[TUI_DEFAULT_ERROR_MESSAGE]`,\n {\n factory: tuiExtractI18n(`defaultErrorMessage`),\n },\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]`, {\n factory: tuiExtractI18n(`spinTexts`),\n});\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(`[TUI_SHORT_WEEK_DAYS]`, {\n factory: tuiExtractI18n(`shortWeekDays`),\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = new InjectionToken<string>(\n `[TUI_ICONS_PLACE]`,\n {\n factory: () => `assets/taiga-ui/icons`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(`[TUI_ICONS]`, {\n factory: () => ({}),\n});\n","import {inject, InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(`[TUI_ICONS_PATH]`, {\n factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n });\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(`[TUI_MEDIA]`, {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n});\n","import {inject, InjectionToken, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * @deprecated use {@link https://taiga-ui.dev/services/breakpoint-service TuiBreakpointService}\n * TODO: drop in v4.0\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n `[TUI_IS_MOBILE_RES]`,\n {\n factory: () => {\n const win = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(win, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(win, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n * Don't use it! Will be removed after changing the mask.\n */\nexport const TUI_LEGACY_MASK = new InjectionToken(`[TUI_LEGACY_MASK]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(`[TUI_MODE]`);\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n readonly defaultAutoCloseTime: number;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: true,\n label: ``,\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<TuiNotificationDefaultOptions>(\n `[TUI_NOTIFICATION_OPTIONS]`,\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): ValueProvider {\n return {\n provide: TUI_NOTIFICATION_OPTIONS,\n useValue: {...TUI_NOTIFICATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = new InjectionToken<TuiNumberFormatSettings>(\n `[TUI_NUMBER_FORMAT]`,\n {\n factory: () => TUI_DEFAULT_NUMBER_FORMAT,\n },\n);\n\nexport const tuiNumberFormatProvider: (\n options: Partial<TuiNumberFormatSettings>,\n) => ValueProvider = (options: Partial<TuiNumberFormatSettings>) => ({\n provide: TUI_NUMBER_FORMAT,\n useValue: {...TUI_DEFAULT_NUMBER_FORMAT, ...options},\n});\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || 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","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>(`[TUI_ORDERED_SHORT_WEEK_DAYS]`, {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(`[TUI_SANITIZER]`);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n `[TUI_SCROLL_REF]`,\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `[TUI_SELECTION_STREAM]`,\n {\n factory: () => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, `selectionchange`),\n tuiTypedFromEvent(doc, `mouseup`),\n tuiTypedFromEvent(doc, `mousedown`).pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(doc, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, `keydown`),\n tuiTypedFromEvent(doc, `keyup`),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler, TuiSafeHtml, tuiSvgLinearGradientProcessor} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<TuiSafeHtml, TuiSafeHtml>\n>(`[TUI_SVG_CONTENT_PROCESSOR]`, {factory: () => tuiSvgLinearGradientProcessor});\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler, TuiSafeHtml} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR = new InjectionToken<\n TuiHandler<TuiSafeHtml, TuiSafeHtml>\n>(`[TUI_SVG_SRC_PROCESSOR]`, {factory: () => identity});\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n `[TUI_TEXTFIELD_APPEARANCE]`,\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken<string>(`[TUI_THEME]`, {\n factory: () => `Taiga`,\n});\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]`,\n);\n","import {inject, InjectionToken, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = new InjectionToken<TuiRectAccessor>(`[TUI_VIEWPORT]`, {\n factory: () => {\n const win = inject(WINDOW);\n\n return {\n type: `viewport`,\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: win.innerHeight,\n };\n },\n };\n },\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","inject","isDevMode","tuiExtractI18n","tuiIconsPathFactory","WINDOW","tuiTypedFromEvent","share","startWith","map","tuiIsMobile","distinctUntilChanged","tuiZoneOptimized","NgZone","TUI_DEFAULT_NUMBER_FORMAT","DOCUMENT","merge","switchMap","takeUntil","tuiSvgLinearGradientProcessor","identity"],"mappings":"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"}
@@ -55,6 +55,7 @@ export declare class TuiPrimitiveTextfieldComponent extends AbstractTuiInteracti
55
55
  get borderEnd(): number;
56
56
  get iconContent(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
57
57
  get iconLeftContent(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
58
+ get showHint(): boolean;
58
59
  get name(): 'ccexpiryyear' | null;
59
60
  get computedId(): string;
60
61
  onFocused(focused: boolean): void;
@@ -1,17 +1,18 @@
1
- import { FactoryProvider, InjectionToken } from '@angular/core';
2
- import { SafeHtml } from '@angular/platform-browser';
3
- import { TuiHandler, TuiStringHandler } from '@taiga-ui/cdk';
1
+ import { FactoryProvider, InjectionToken, Provider } from '@angular/core';
2
+ import { TuiHandler, TuiSafeHtml, TuiStringHandler } from '@taiga-ui/cdk';
4
3
  export interface TuiSvgOptions {
5
4
  readonly path: TuiStringHandler<string>;
6
5
  readonly deprecated: TuiStringHandler<string>;
7
- readonly srcProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;
8
- readonly contentProcessor: TuiHandler<SafeHtml | string, SafeHtml | string>;
6
+ readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
7
+ readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
9
8
  }
10
9
  export declare const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions;
11
10
  /**
12
11
  * SVG component options
13
12
  */
14
13
  export declare const TUI_SVG_OPTIONS: InjectionToken<TuiSvgOptions>;
14
+ export declare const TUI_SVG_SRC_INTERCEPTORS: InjectionToken<TuiHandler<TuiSafeHtml, TuiSafeHtml>>;
15
+ export declare function tuiSvgSrcInterceptors(interceptor: TuiHandler<TuiSafeHtml, TuiSafeHtml>): Provider;
15
16
  export declare const tuiSvgOptionsProvider: (options: Partial<Omit<TuiSvgOptions, 'path'>> & {
16
17
  path?: TuiSvgOptions['path'] | string;
17
18
  }) => FactoryProvider;
@@ -1,6 +1,6 @@
1
1
  import { ElementRef, Sanitizer } from '@angular/core';
2
2
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
- import { TuiStaticRequestService } from '@taiga-ui/cdk';
3
+ import { TuiHandler, TuiSafeHtml, TuiStaticRequestService } from '@taiga-ui/cdk';
4
4
  import { TuiSvgService } from '@taiga-ui/core/services';
5
5
  import { Observable } from 'rxjs';
6
6
  import { TuiSvgOptions } from './svg-options';
@@ -9,6 +9,7 @@ export declare class TuiSvgComponent {
9
9
  private readonly doc;
10
10
  private readonly win;
11
11
  private readonly options;
12
+ private readonly srcInterceptors;
12
13
  private readonly tuiSanitizer;
13
14
  private readonly svgService;
14
15
  private readonly staticRequestService;
@@ -17,9 +18,9 @@ export declare class TuiSvgComponent {
17
18
  private readonly src$;
18
19
  private icon;
19
20
  readonly innerHTML$: Observable<SafeHtml>;
20
- constructor(doc: Document, win: Window, options: TuiSvgOptions, tuiSanitizer: Sanitizer | null, svgService: TuiSvgService, staticRequestService: TuiStaticRequestService, sanitizer: DomSanitizer, el: ElementRef<Element>);
21
- set src(src: SafeHtml | string);
22
- get src(): SafeHtml | string;
21
+ constructor(doc: Document, win: Window, options: TuiSvgOptions, srcInterceptors: Array<TuiHandler<TuiSafeHtml, TuiSafeHtml>> | null, tuiSanitizer: Sanitizer | null, svgService: TuiSvgService, staticRequestService: TuiStaticRequestService, sanitizer: DomSanitizer, el: ElementRef<Element>);
22
+ set src(src: TuiSafeHtml);
23
+ get src(): TuiSafeHtml;
23
24
  get use(): string;
24
25
  get isInnerHTML(): boolean;
25
26
  private get isShadowDOM();
@@ -35,6 +36,6 @@ export declare class TuiSvgComponent {
35
36
  private process;
36
37
  private sanitize;
37
38
  private getExternalIcon;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiSvgComponent, [null, null, null, { optional: true; }, null, null, null, null]>;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSvgComponent, [null, null, null, { optional: true; }, { optional: true; }, null, null, null, null]>;
39
40
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiSvgComponent, "tui-svg", never, { "src": "src"; }, {}, never, never>;
40
41
  }
@@ -1 +1 @@
1
- export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=3.27.0";
1
+ export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=3.28.0";
@@ -3,6 +3,7 @@ import { TuiContextWithImplicit } from '@taiga-ui/cdk';
3
3
  import { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
4
4
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
5
5
  export interface TuiTextfieldOptions {
6
+ readonly hintOnDisabled: boolean;
6
7
  readonly iconCleaner: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
7
8
  }
8
9
  /** Default values for primitive textfield options */
@@ -134,6 +134,11 @@ export class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
134
134
  get iconLeftContent() {
135
135
  return this.controller.iconLeft;
136
136
  }
137
+ get showHint() {
138
+ var _a;
139
+ return (!!((_a = this.hintOptions) === null || _a === void 0 ? void 0 : _a.content) &&
140
+ (this.options.hintOnDisabled || !this.computedDisabled));
141
+ }
137
142
  // Safari expiration date autofill workaround
138
143
  get name() {
139
144
  var _a;
@@ -193,7 +198,7 @@ TuiPrimitiveTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
193
198
  tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),
194
199
  TEXTFIELD_CONTROLLER_PROVIDER,
195
200
  MODE_PROVIDER,
196
- ], queries: [{ propertyName: "content", predicate: PolymorpheusOutletDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.name]=\"name\"\n [attr.aria-invalid]=\"computedInvalid\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner || controller.options.iconCleaner as src; context: {$implicit: size}\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"hintOptions?.content && !computedDisabled\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintOptions?.content\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size=s]{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size=m]{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size=l]{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:\"\";margin-right:-.25rem}:host[data-size=m] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-wrapper+*{margin:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font-size:.9375rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}.t-icon_left{margin:0 .375rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host._autofilled[data-size=s]:not(._focused) .t-placeholder,:host._autofilled[data-size=m]:not(._focused) .t-placeholder{visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-tooltip{margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0}input::placeholder{color:var(--tui-text-03);opacity:0}:host-context(tui-primitive-textfield[data-mode=\"onDark\"]) input::placeholder,:host-context(tui-text-area[data-mode=\"onDark\"]) input::placeholder{color:var(--tui-text-03-night)}:host-context(tui-primitive-textfield._focused:not(._readonly)) input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) input::placeholder{opacity:1}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;-webkit-padding-end:0;padding-inline-end:0}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiValueDecorationComponent, selector: "tui-value-decoration" }, { type: i3.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.TuiAutofilledDirective, selector: "[tuiAutofilledChange]", outputs: ["tuiAutofilledChange"] }, { type: i7.TuiMaskAccessorDirective, selector: "input[tuiMaskAccessor]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
201
+ ], queries: [{ propertyName: "content", predicate: PolymorpheusOutletDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.name]=\"name\"\n [attr.aria-invalid]=\"computedInvalid\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner || controller.options.iconCleaner as src; context: {$implicit: size}\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintOptions?.content\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size=s]{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size=m]{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size=l]{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:\"\";margin-right:-.25rem}:host[data-size=m] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-wrapper+*{margin:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font-size:.9375rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}.t-icon_left{margin:0 .375rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host._autofilled[data-size=s]:not(._focused) .t-placeholder,:host._autofilled[data-size=m]:not(._focused) .t-placeholder{visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-tooltip{margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0}input::placeholder{color:var(--tui-text-03);opacity:0}:host-context(tui-primitive-textfield[data-mode=\"onDark\"]) input::placeholder,:host-context(tui-text-area[data-mode=\"onDark\"]) input::placeholder{color:var(--tui-text-03-night)}:host-context(tui-primitive-textfield._focused:not(._readonly)) input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) input::placeholder{opacity:1}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;-webkit-padding-end:0;padding-inline-end:0}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiValueDecorationComponent, selector: "tui-value-decoration" }, { type: i3.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.TuiAutofilledDirective, selector: "[tuiAutofilledChange]", outputs: ["tuiAutofilledChange"] }, { type: i7.TuiMaskAccessorDirective, selector: "input[tuiMaskAccessor]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
197
202
  __decorate([
198
203
  tuiDefaultProp()
199
204
  ], TuiPrimitiveTextfieldComponent.prototype, "editable", void 0);
@@ -313,4 +318,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
313
318
  type: HostListener,
314
319
  args: ['focusout', ['false']]
315
320
  }], getIndent$: [] } });
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXRleHRmaWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZC9wcmltaXRpdmUtdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3ByaW1pdGl2ZS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBRTFCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLGdDQUFnQyxHQUduQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxHQUFHLEVBQUMs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bmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpSW50ZXJhY3RpdmUsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSGludE9wdGlvbnNEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgIFR1aVRleHRmaWVsZE9wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHtNT0RFX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfTU9ERX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQnJpZ2h0bmVzcywgVHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUdldEJvcmRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnQsIFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkfSBmcm9tICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQtdHlwZXMnO1xuXG5jb25zdCBJQ09OX1BBRERJTkdfTCA9IDEuNzU7XG5jb25zdCBJQ09OX1BBRERJTkcgPSAxLjYyNTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJpbWl0aXZlLXRleHRmaWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJpbWl0aXZlLXRleHRmaWVsZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCksXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICAgICAgJ1tjbGFzcy5fYXV0b2ZpbGxlZF0nOiAnYXV0b2ZpbGxlZCcsXG4gICAgICAgICdbY2xhc3MuX2xhYmVsLW91dHNpZGVdJzogJ2NvbnRyb2xsZXIubGFiZWxPdXRzaWRlJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW50ZXJhY3RpdmVcbiAgICBpbXBsZW1lbnRzIFR1aVByaW1pdGl2ZVRleHRmaWVsZFxue1xuICAgIEBWaWV3Q2hpbGQoJ2ZvY3VzYWJsZUVsZW1lbnQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNhYmxlRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkRmlsbGVyYCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KCdmaWxsZXInKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGV4dGZpZWxkRmlsbGVyID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZDpcbiAgICAgKiB1c2UgYHR1aVRleHRmaWVsZE9wdGlvbnNQcm92aWRlcih7aWNvbkNsZWFuZXI6IGB0dWlJY29uQ2hldnJvblVwYH0pYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQ2xlYW5lciA9IHRoaXMub3B0aW9ucy5pY29uQ2xlYW5lcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcmVhZG9ubHknKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbnZhbGlkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFByZWZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgncHJlZml4JylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRleHRmaWVsZFByZWZpeCA9ICcnO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUG9zdGZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgncG9zdGZpeCcpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0ZXh0ZmllbGRQb3N0Zml4ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWUgPSAnJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICByZWFkb25seSBjb250ZW50PzogUXVlcnlMaXN0PHVua25vd24+O1xuXG4gICAgYXV0b2ZpbGxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaGludE9wdGlvbnM6IFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVRleHRmaWVsZE9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IHByZWZpeCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRQcmVmaXggfHwgdGhpcy5jb250cm9sbGVyLnByZWZpeDtcbiAgICB9XG5cbiAgICBnZXQgcG9zdGZpeCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRQb3N0Zml4IHx8IHRoaXMuY29udHJvbGxlci5wb3N0Zml4O1xuICAgIH1cblxuICAgIGdldCBmaWxsZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkRmlsbGVyIHx8IHRoaXMuY29udHJvbGxlci5maWxsZXI7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5jb21wdXRlZERpc2FibGVkIHx8ICF0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5mb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIHJldHVybiAobmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIHx8XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50KSBhcyBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5hcHBlYXJhbmNlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faW52YWxpZCcpXG4gICAgZ2V0IGNvbXB1dGVkSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmRpc2FibGVkICYmIHRoaXMuaW52YWxpZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oaWRkZW4nKVxuICAgIGdldCBpbnB1dEhpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250ZW50Py5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLmNsZWFuZXIgJiZcbiAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ3VzdG9tQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sbGVyLmN1c3RvbUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dPbmx5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgJiZcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgICAgICAgICAodGhpcy5zaXplID09PSAncycgfHwgKHRoaXMuc2l6ZSA9PT0gJ20nICYmICF0aGlzLnBsYWNlaG9sZGVyUmFpc2FibGUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGhhc0RlY29yID1cbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8ucGxhY2Vob2xkZXIgfHxcbiAgICAgICAgICAgIHRoaXMucHJlZml4IHx8XG4gICAgICAgICAgICB0aGlzLnBvc3RmaXggfHxcbiAgICAgICAgICAgIHRoaXMuZmlsbGVyO1xuICAgICAgICBjb25zdCBzaG93RGVjb3IgPSBoYXNEZWNvciAmJiAhdGhpcy5yZWFkT25seSAmJiB0aGlzLmNvbXB1dGVkRm9jdXNlZDtcblxuICAgICAgICByZXR1cm4gIXRoaXMuaGFzVmFsdWUgJiYgIXNob3dEZWNvcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5zaG93T25seVBsYWNlaG9sZGVyICYmXG4gICAgICAgICAgICAodGhpcy5wbGFjZWhvbGRlclJhaXNhYmxlIHx8IHRoaXMucGxhY2Vob2xkZXJWaXNpYmxlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJSYWlzYWJsZSAmJlxuICAgICAgICAgICAgKCh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNWYWx1ZSB8fCB0aGlzLmF1dG9maWxsZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWJvcmRlci1zdGFydC5yZW0nKVxuICAgIGdldCBib3JkZXJTdGFydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uTGVmdENvbnRlbnQgPyB0aGlzLmljb25QYWRkaW5nTGVmdCA6IDA7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWJvcmRlci1lbmQucmVtJylcbiAgICBnZXQgYm9yZGVyRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlHZXRCb3JkZXIoXG4gICAgICAgICAgICAhIXRoaXMuaWNvbkNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLmhhc0NsZWFuZXIsXG4gICAgICAgICAgICB0aGlzLmhhc1Rvb2x0aXAsXG4gICAgICAgICAgICB0aGlzLmhhc0N1c3RvbUNvbnRlbnQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGljb25Db250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGljb25MZWZ0Q29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+XG4gICAgPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYXV0b2NvbXBsZXRlID09PSAnY2MtZXhwJ1xuICAgICAgICAgICAgPyAnY2NleHBpcnl5ZWFyJ1xuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmlkIHx8ICcnO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJ3RydWUnXSlcbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnZmFsc2UnXSlcbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRJbmRlbnQkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIGZyb21FdmVudChlbGVtZW50LCAnc2Nyb2xsJykucGlwZShtYXAoKCkgPT4gLTEgKiBlbGVtZW50LnNjcm9sbExlZnQpKTtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghbmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBldmVudC50YXJnZXQgPT09IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25BdXRvZmlsbGVkKGF1dG9maWxsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVBdXRvZmlsbGVkKGF1dG9maWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGljb25QYWRkaW5nTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbCcgPyBJQ09OX1BBRERJTkdfTCA6IElDT05fUEFERElORztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwbGFjZWhvbGRlclJhaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplICE9PSAncycgJiYgIXRoaXMuY29udHJvbGxlci5sYWJlbE91dHNpZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBdXRvZmlsbGVkKGF1dG9maWxsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b2ZpbGxlZCA9PT0gYXV0b2ZpbGxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hdXRvZmlsbGVkID0gYXV0b2ZpbGxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50Py5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoaW50T3B0aW9ucz8uY2hhbmdlJCB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG48ZGl2XG4gICAgdHVpV3JhcHBlclxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fd3JhcHBlclwiXG4gICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtmb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW2FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW3N0eWxlLi0tdGV4dC1pbmRlbnQucHhdPVwiZGVjb3IucHJlJCB8IGFzeW5jXCJcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgIChjbGljay5wcmV2ZW50LnNpbGVudCk9XCIoMClcIlxuICAgICh0dWlBdXRvZmlsbGVkQ2hhbmdlKT1cIm9uQXV0b2ZpbGxlZCgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzZWxlY3RcIj48L25nLWNvbnRlbnQ+XG4gICAgPGlucHV0XG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIHR1aU1hc2tBY2Nlc3NvclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX25hdGl2ZS1pbnB1dFwiXG4gICAgICAgIGNsYXNzPVwidC1pbnB1dFwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWQgfHwgbnVsbFwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkgfHwgIWVkaXRhYmxlXCJcbiAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpbnB1dEhpZGRlblwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWVcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXQgdC1pbnB1dF90ZW1wbGF0ZVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpY29uTGVmdENvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb24gdC1pY29uX2xlZnQgdC10ZXh0ZmllbGQtaWNvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb25MZWZ0Q29udGVudCBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LXBsYWNlaG9sZGVyX3JhaXNlZF09XCJwbGFjZWhvbGRlclJhaXNlZFwiXG4gICAgICAgICAgICAgICAgW2Zvcl09XCJjb21wdXRlZElkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlci12YWx1ZS1kZWNvcmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgPHR1aS12YWx1ZS1kZWNvcmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICNkZWNvclxuICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX3ZhbHVlLWRlY29yYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtdmFsdWUtZGVjb3JhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWhhcy12YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS50ZXh0SW5kZW50LnB4XT1cImdldEluZGVudCQoZm9jdXNhYmxlRWxlbWVudCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgPjwvdHVpLXZhbHVlLWRlY29yYXRpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaGFzQ3VzdG9tQ29udGVudFwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX2N1c3RvbS1jb250ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jdXN0b20tY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRyb2xsZXIuY3VzdG9tQ29udGVudCBhcyBzcmNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jdXN0b20taWNvblwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImhhc0NsZWFuZXJcIlxuICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19jbGVhbmVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jbGVhbmVyXCJcbiAgICAgICAgICAgIChjbGljay5zdG9wKT1cImNsZWFyKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uQ2xlYW5lciB8fCBjb250cm9sbGVyLm9wdGlvbnMuaWNvbkNsZWFuZXIgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dHVpLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwiaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIWNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX190b29sdGlwXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10b29sdGlwXCJcbiAgICAgICAgICAgIFtkZXNjcmliZUlkXT1cImNvbXB1dGVkSWRcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwiaGludE9wdGlvbnM/LmNvbnRlbnRcIlxuICAgICAgICA+PC90dWktdG9vbHRpcD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpY29uQ29udGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvbiB0LXRleHRmaWVsZC1pY29uXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkNvbnRlbnQgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXRleHRmaWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZC9wcmltaXRpdmUtdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3ByaW1pdGl2ZS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBRTFCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLGdDQUFnQyxHQUduQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxHQUFHLEVBQUMs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QUFTO3NCQUZSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBTW5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpSW50ZXJhY3RpdmUsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSGludE9wdGlvbnNEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgIFR1aVRleHRmaWVsZE9wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHtNT0RFX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfTU9ERX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQnJpZ2h0bmVzcywgVHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUdldEJvcmRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnQsIFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkfSBmcm9tICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQtdHlwZXMnO1xuXG5jb25zdCBJQ09OX1BBRERJTkdfTCA9IDEuNzU7XG5jb25zdCBJQ09OX1BBRERJTkcgPSAxLjYyNTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJpbWl0aXZlLXRleHRmaWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJpbWl0aXZlLXRleHRmaWVsZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCksXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICAgICAgJ1tjbGFzcy5fYXV0b2ZpbGxlZF0nOiAnYXV0b2ZpbGxlZCcsXG4gICAgICAgICdbY2xhc3MuX2xhYmVsLW91dHNpZGVdJzogJ2NvbnRyb2xsZXIubGFiZWxPdXRzaWRlJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW50ZXJhY3RpdmVcbiAgICBpbXBsZW1lbnRzIFR1aVByaW1pdGl2ZVRleHRmaWVsZFxue1xuICAgIEBWaWV3Q2hpbGQoJ2ZvY3VzYWJsZUVsZW1lbnQnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNhYmxlRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkRmlsbGVyYCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KCdmaWxsZXInKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGV4dGZpZWxkRmlsbGVyID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZDpcbiAgICAgKiB1c2UgYHR1aVRleHRmaWVsZE9wdGlvbnNQcm92aWRlcih7aWNvbkNsZWFuZXI6IGB0dWlJY29uQ2hldnJvblVwYH0pYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQ2xlYW5lciA9IHRoaXMub3B0aW9ucy5pY29uQ2xlYW5lcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcmVhZG9ubHknKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbnZhbGlkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFByZWZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgncHJlZml4JylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRleHRmaWVsZFByZWZpeCA9ICcnO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUG9zdGZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgncG9zdGZpeCcpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0ZXh0ZmllbGRQb3N0Zml4ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWUgPSAnJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICByZWFkb25seSBjb250ZW50PzogUXVlcnlMaXN0PHVua25vd24+O1xuXG4gICAgYXV0b2ZpbGxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaGludE9wdGlvbnM6IFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVRleHRmaWVsZE9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IHByZWZpeCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRQcmVmaXggfHwgdGhpcy5jb250cm9sbGVyLnByZWZpeDtcbiAgICB9XG5cbiAgICBnZXQgcG9zdGZpeCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRQb3N0Zml4IHx8IHRoaXMuY29udHJvbGxlci5wb3N0Zml4O1xuICAgIH1cblxuICAgIGdldCBmaWxsZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkRmlsbGVyIHx8IHRoaXMuY29udHJvbGxlci5maWxsZXI7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5jb21wdXRlZERpc2FibGVkIHx8ICF0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5mb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIHJldHVybiAobmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIHx8XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50KSBhcyBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5hcHBlYXJhbmNlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faW52YWxpZCcpXG4gICAgZ2V0IGNvbXB1dGVkSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmRpc2FibGVkICYmIHRoaXMuaW52YWxpZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oaWRkZW4nKVxuICAgIGdldCBpbnB1dEhpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250ZW50Py5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLmNsZWFuZXIgJiZcbiAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ3VzdG9tQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sbGVyLmN1c3RvbUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dPbmx5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgJiZcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgICAgICAgICAodGhpcy5zaXplID09PSAncycgfHwgKHRoaXMuc2l6ZSA9PT0gJ20nICYmICF0aGlzLnBsYWNlaG9sZGVyUmFpc2FibGUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGhhc0RlY29yID1cbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8ucGxhY2Vob2xkZXIgfHxcbiAgICAgICAgICAgIHRoaXMucHJlZml4IHx8XG4gICAgICAgICAgICB0aGlzLnBvc3RmaXggfHxcbiAgICAgICAgICAgIHRoaXMuZmlsbGVyO1xuICAgICAgICBjb25zdCBzaG93RGVjb3IgPSBoYXNEZWNvciAmJiAhdGhpcy5yZWFkT25seSAmJiB0aGlzLmNvbXB1dGVkRm9jdXNlZDtcblxuICAgICAgICByZXR1cm4gIXRoaXMuaGFzVmFsdWUgJiYgIXNob3dEZWNvcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5zaG93T25seVBsYWNlaG9sZGVyICYmXG4gICAgICAgICAgICAodGhpcy5wbGFjZWhvbGRlclJhaXNhYmxlIHx8IHRoaXMucGxhY2Vob2xkZXJWaXNpYmxlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJSYWlzYWJsZSAmJlxuICAgICAgICAgICAgKCh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNWYWx1ZSB8fCB0aGlzLmF1dG9maWxsZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWJvcmRlci1zdGFydC5yZW0nKVxuICAgIGdldCBib3JkZXJTdGFydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uTGVmdENvbnRlbnQgPyB0aGlzLmljb25QYWRkaW5nTGVmdCA6IDA7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWJvcmRlci1lbmQucmVtJylcbiAgICBnZXQgYm9yZGVyRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlHZXRCb3JkZXIoXG4gICAgICAgICAgICAhIXRoaXMuaWNvbkNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLmhhc0NsZWFuZXIsXG4gICAgICAgICAgICB0aGlzLmhhc1Rvb2x0aXAsXG4gICAgICAgICAgICB0aGlzLmhhc0N1c3RvbUNvbnRlbnQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGljb25Db250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGljb25MZWZ0Q29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+XG4gICAgPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dIaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmhpbnRPcHRpb25zPy5jb250ZW50ICYmXG4gICAgICAgICAgICAodGhpcy5vcHRpb25zLmhpbnRPbkRpc2FibGVkIHx8ICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYXV0b2NvbXBsZXRlID09PSAnY2MtZXhwJ1xuICAgICAgICAgICAgPyAnY2NleHBpcnl5ZWFyJ1xuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmlkIHx8ICcnO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJ3RydWUnXSlcbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnZmFsc2UnXSlcbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRJbmRlbnQkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIGZyb21FdmVudChlbGVtZW50LCAnc2Nyb2xsJykucGlwZShtYXAoKCkgPT4gLTEgKiBlbGVtZW50LnNjcm9sbExlZnQpKTtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghbmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBldmVudC50YXJnZXQgPT09IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25BdXRvZmlsbGVkKGF1dG9maWxsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVBdXRvZmlsbGVkKGF1dG9maWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGljb25QYWRkaW5nTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbCcgPyBJQ09OX1BBRERJTkdfTCA6IElDT05fUEFERElORztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwbGFjZWhvbGRlclJhaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplICE9PSAncycgJiYgIXRoaXMuY29udHJvbGxlci5sYWJlbE91dHNpZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBdXRvZmlsbGVkKGF1dG9maWxsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b2ZpbGxlZCA9PT0gYXV0b2ZpbGxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hdXRvZmlsbGVkID0gYXV0b2ZpbGxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50Py5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoaW50T3B0aW9ucz8uY2hhbmdlJCB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG48ZGl2XG4gICAgdHVpV3JhcHBlclxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fd3JhcHBlclwiXG4gICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtmb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW2FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW3N0eWxlLi0tdGV4dC1pbmRlbnQucHhdPVwiZGVjb3IucHJlJCB8IGFzeW5jXCJcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgIChjbGljay5wcmV2ZW50LnNpbGVudCk9XCIoMClcIlxuICAgICh0dWlBdXRvZmlsbGVkQ2hhbmdlKT1cIm9uQXV0b2ZpbGxlZCgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzZWxlY3RcIj48L25nLWNvbnRlbnQ+XG4gICAgPGlucHV0XG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIHR1aU1hc2tBY2Nlc3NvclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX25hdGl2ZS1pbnB1dFwiXG4gICAgICAgIGNsYXNzPVwidC1pbnB1dFwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWQgfHwgbnVsbFwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkgfHwgIWVkaXRhYmxlXCJcbiAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpbnB1dEhpZGRlblwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWVcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXQgdC1pbnB1dF90ZW1wbGF0ZVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpY29uTGVmdENvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb24gdC1pY29uX2xlZnQgdC10ZXh0ZmllbGQtaWNvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb25MZWZ0Q29udGVudCBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LXBsYWNlaG9sZGVyX3JhaXNlZF09XCJwbGFjZWhvbGRlclJhaXNlZFwiXG4gICAgICAgICAgICAgICAgW2Zvcl09XCJjb21wdXRlZElkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlci12YWx1ZS1kZWNvcmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgPHR1aS12YWx1ZS1kZWNvcmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICNkZWNvclxuICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX3ZhbHVlLWRlY29yYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtdmFsdWUtZGVjb3JhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWhhcy12YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS50ZXh0SW5kZW50LnB4XT1cImdldEluZGVudCQoZm9jdXNhYmxlRWxlbWVudCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgPjwvdHVpLXZhbHVlLWRlY29yYXRpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaGFzQ3VzdG9tQ29udGVudFwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX2N1c3RvbS1jb250ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jdXN0b20tY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRyb2xsZXIuY3VzdG9tQ29udGVudCBhcyBzcmNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jdXN0b20taWNvblwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImhhc0NsZWFuZXJcIlxuICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19jbGVhbmVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jbGVhbmVyXCJcbiAgICAgICAgICAgIChjbGljay5zdG9wKT1cImNsZWFyKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uQ2xlYW5lciB8fCBjb250cm9sbGVyLm9wdGlvbnMuaWNvbkNsZWFuZXIgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dHVpLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0hpbnRcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX190b29sdGlwXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10b29sdGlwXCJcbiAgICAgICAgICAgIFtkZXNjcmliZUlkXT1cImNvbXB1dGVkSWRcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwiaGludE9wdGlvbnM/LmNvbnRlbnRcIlxuICAgICAgICA+PC90dWktdG9vbHRpcD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpY29uQ29udGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvbiB0LXRleHRmaWVsZC1pY29uXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkNvbnRlbnQgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19