@taiga-ui/kit 3.72.0 → 3.73.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 (42) hide show
  1. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js +3 -9
  4. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +5 -5
  10. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-stepper.umd.js +10 -15
  12. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-tokens.umd.js +8 -2
  14. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  15. package/components/input-date-multi/input-date-multi.component.d.ts +1 -2
  16. package/components/line-clamp/line-clamp-position.directive.d.ts +1 -1
  17. package/components/stepper/stepper.component.d.ts +0 -1
  18. package/esm2015/components/input-copy/input-copy.component.js +1 -1
  19. package/esm2015/components/input-date/input-date.component.js +2 -2
  20. package/esm2015/components/input-date-multi/input-date-multi.component.js +4 -10
  21. package/esm2015/components/input-password/input-password.component.js +1 -1
  22. package/esm2015/components/line-clamp/line-clamp-box.component.js +4 -4
  23. package/esm2015/components/line-clamp/line-clamp-position.directive.js +3 -3
  24. package/esm2015/components/line-clamp/line-clamp.component.js +2 -2
  25. package/esm2015/components/stepper/stepper.component.js +6 -11
  26. package/esm2015/tokens/countries-masks.js +8 -4
  27. package/fesm2015/taiga-ui-kit-components-input-copy.js +1 -1
  28. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  29. package/fesm2015/taiga-ui-kit-components-input-date-multi.js +4 -10
  30. package/fesm2015/taiga-ui-kit-components-input-date-multi.js.map +1 -1
  31. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  32. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  33. package/fesm2015/taiga-ui-kit-components-input-password.js +1 -1
  34. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  35. package/fesm2015/taiga-ui-kit-components-line-clamp.js +6 -6
  36. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  37. package/fesm2015/taiga-ui-kit-components-stepper.js +5 -10
  38. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  39. package/fesm2015/taiga-ui-kit-tokens.js +8 -4
  40. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  41. package/package.json +4 -4
  42. package/tokens/countries-masks.d.ts +3 -0
@@ -20,7 +20,7 @@
20
20
  }
21
21
 
22
22
  var _a;
23
- var TUI_COUNTRIES_MASKS = cdk.tuiCreateToken((_a = {},
23
+ var TUI_COUNTRIES_DEFAULT_MASKS = (_a = {},
24
24
  _a[i18n.TuiCountryIsoCode.AD] = '+376###-###',
25
25
  _a[i18n.TuiCountryIsoCode.AE] = '+971-##-###-####',
26
26
  _a[i18n.TuiCountryIsoCode.AF] = '+93##-###-####',
@@ -236,7 +236,11 @@
236
236
  _a[i18n.TuiCountryIsoCode.ZA] = '+27##-###-####',
237
237
  _a[i18n.TuiCountryIsoCode.ZM] = '+260##-###-####',
238
238
  _a[i18n.TuiCountryIsoCode.ZW] = '+263#-######',
239
- _a));
239
+ _a);
240
+ var TUI_COUNTRIES_MASKS = cdk.tuiCreateToken(TUI_COUNTRIES_DEFAULT_MASKS);
241
+ function tuiCountriesMasksProvider(options) {
242
+ return cdk.tuiProvideOptions(TUI_COUNTRIES_MASKS, options, TUI_COUNTRIES_DEFAULT_MASKS);
243
+ }
240
244
 
241
245
  // TODO: Refactor to use `AbstractTuiValueTransformer` and add ability to provide it for all controls
242
246
  /**
@@ -334,6 +338,7 @@
334
338
  exports.TUI_CHOOSE_DAY_OR_RANGE_TEXTS = TUI_CHOOSE_DAY_OR_RANGE_TEXTS;
335
339
  exports.TUI_COPY_TEXTS = TUI_COPY_TEXTS;
336
340
  exports.TUI_COUNTRIES = TUI_COUNTRIES;
341
+ exports.TUI_COUNTRIES_DEFAULT_MASKS = TUI_COUNTRIES_DEFAULT_MASKS;
337
342
  exports.TUI_COUNTRIES_MASKS = TUI_COUNTRIES_MASKS;
338
343
  exports.TUI_DATE_RANGE_VALUE_TRANSFORMER = TUI_DATE_RANGE_VALUE_TRANSFORMER;
339
344
  exports.TUI_DATE_TEXTS = TUI_DATE_TEXTS;
@@ -362,6 +367,7 @@
362
367
  exports.TUI_TAB_MARGIN = TUI_TAB_MARGIN;
363
368
  exports.TUI_TIME_TEXTS = TUI_TIME_TEXTS;
364
369
  exports.TUI_VALIDATION_ERRORS = TUI_VALIDATION_ERRORS;
370
+ exports.tuiCountriesMasksProvider = tuiCountriesMasksProvider;
365
371
  exports.tuiDateStreamWithTransformer = tuiDateStreamWithTransformer;
366
372
  exports.tuiInputDateOptionsProvider = tuiInputDateOptionsProvider;
367
373
  exports.tuiItemsHandlersProvider = tuiItemsHandlersProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-tokens.umd.js","sources":["../../../projects/kit/tokens/calendar-date-stream.ts","../../../projects/kit/tokens/countries-masks.ts","../../../projects/kit/tokens/date-inputs-value-transformers.ts","../../../projects/kit/tokens/i18n.ts","../../../projects/kit/tokens/input-date-options.ts","../../../projects/kit/tokens/items-handlers.ts","../../../projects/kit/tokens/mobile-calendar.ts","../../../projects/kit/tokens/month-formatter.ts","../../../projects/kit/tokens/tab-margin.ts","../../../projects/kit/tokens/validation-errors.ts","../../../projects/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken, Optional, Provider, Self} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiControlValueTransformer, TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {tuiControlValueFactory} from '@taiga-ui/kit/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * Stream that emits calendar data change\n */\nexport const TUI_CALENDAR_DATE_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('[TUI_CALENDAR_DATE_STREAM]');\n\nexport function tuiDateStreamWithTransformer(\n transformer: InjectionToken<TuiControlValueTransformer<any>>,\n): Provider {\n return {\n provide: TUI_CALENDAR_DATE_STREAM,\n deps: [\n [new Optional(), new Self(), NgControl],\n [new Optional(), transformer],\n ],\n useFactory: tuiControlValueFactory,\n };\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {TuiCountryIsoCode} from '@taiga-ui/i18n';\n\nexport const TUI_COUNTRIES_MASKS = tuiCreateToken<Record<TuiCountryIsoCode, string>>({\n [TuiCountryIsoCode.AD]: '+376###-###',\n [TuiCountryIsoCode.AE]: '+971-##-###-####',\n [TuiCountryIsoCode.AF]: '+93##-###-####',\n [TuiCountryIsoCode.AG]: '+1(268) ###-####',\n [TuiCountryIsoCode.AI]: '+1(264) ###-####',\n [TuiCountryIsoCode.AL]: '+355(###) ###-###',\n [TuiCountryIsoCode.AM]: '+374##-###-###',\n [TuiCountryIsoCode.AO]: '+244(###) ###-###',\n [TuiCountryIsoCode.AR]: '+54(###) ####-####',\n [TuiCountryIsoCode.AT]: '+43(###) ###-####',\n [TuiCountryIsoCode.AU]: '+61#-####-####',\n [TuiCountryIsoCode.AW]: '+297###-####',\n [TuiCountryIsoCode.AZ]: '+994##-###-##-##',\n [TuiCountryIsoCode.BA]: '+387 ###-####-##',\n [TuiCountryIsoCode.BB]: '+1(246) ###-####',\n [TuiCountryIsoCode.BD]: '+880##-###-###',\n [TuiCountryIsoCode.BE]: '+32(###) ###-###',\n [TuiCountryIsoCode.BF]: '+226##-##-####',\n [TuiCountryIsoCode.BG]: '+359(###) ###-###',\n [TuiCountryIsoCode.BH]: '+973####-####',\n [TuiCountryIsoCode.BI]: '+257##-##-####',\n [TuiCountryIsoCode.BJ]: '+229##-##-####',\n [TuiCountryIsoCode.BL]: '+590 ## ## ## ## ##',\n [TuiCountryIsoCode.BM]: '+1(441) ###-####',\n [TuiCountryIsoCode.BN]: '+673###-####',\n [TuiCountryIsoCode.BO]: '+591#-###-####',\n [TuiCountryIsoCode.BQ]: '+599-###-####',\n [TuiCountryIsoCode.BR]: '+55(##) ####-#####',\n [TuiCountryIsoCode.BS]: '+1(242) ###-####',\n [TuiCountryIsoCode.BT]: '+975#-###-###',\n [TuiCountryIsoCode.BW]: '+267##-###-###',\n [TuiCountryIsoCode.BY]: '+375(##) ###-##-##',\n [TuiCountryIsoCode.BZ]: '+501###-####',\n [TuiCountryIsoCode.CA]: '+1(###) ###-####',\n [TuiCountryIsoCode.CD]: '+243(###) ###-###',\n [TuiCountryIsoCode.CF]: '+236-##-##-####',\n [TuiCountryIsoCode.CG]: '+242##-###-####',\n [TuiCountryIsoCode.CH]: '+41##-###-####',\n [TuiCountryIsoCode.CI]: '+225##-##-###-###',\n [TuiCountryIsoCode.CL]: '+56#-####-####',\n [TuiCountryIsoCode.CM]: '+237#####-####',\n [TuiCountryIsoCode.CN]: '+86(###) ####-####',\n [TuiCountryIsoCode.CO]: '+57(###) ###-####',\n [TuiCountryIsoCode.CR]: '+506####-####',\n [TuiCountryIsoCode.CU]: '+53#-###-####',\n [TuiCountryIsoCode.CV]: '+238(###) ##-##',\n [TuiCountryIsoCode.CW]: '+5999-###-####',\n [TuiCountryIsoCode.CY]: '+357##-###-###',\n [TuiCountryIsoCode.CZ]: '+420(###) ###-###',\n [TuiCountryIsoCode.DE]: '+49(###) ###-###-##',\n [TuiCountryIsoCode.DJ]: '+253##-##-##-##',\n [TuiCountryIsoCode.DK]: '+45##-##-##-##',\n [TuiCountryIsoCode.DM]: '+1(767) ###-####',\n [TuiCountryIsoCode.DO]: '+1(###) ###-####',\n [TuiCountryIsoCode.DZ]: '+213##-###-####',\n [TuiCountryIsoCode.EC]: '+593##-###-####',\n [TuiCountryIsoCode.EE]: '+372####-####',\n [TuiCountryIsoCode.EG]: '+20(###) ###-####',\n [TuiCountryIsoCode.ER]: '+291#-###-###',\n [TuiCountryIsoCode.ES]: '+34(###) ###-###',\n [TuiCountryIsoCode.ET]: '+251##-###-####',\n [TuiCountryIsoCode.FI]: '+358(###) ###-##-##',\n [TuiCountryIsoCode.FJ]: '+679##-#####',\n [TuiCountryIsoCode.FK]: '+500#####',\n [TuiCountryIsoCode.FM]: '+691###-####',\n [TuiCountryIsoCode.FR]: '+33 ## ## ## ## ##',\n [TuiCountryIsoCode.GA]: '+241##-##-##-##',\n [TuiCountryIsoCode.GB]: '+44##-####-####',\n [TuiCountryIsoCode.GD]: '+1(473) ###-####',\n [TuiCountryIsoCode.GE]: '+995(###) ###-###',\n [TuiCountryIsoCode.GF]: '+594 ## ## ## ## ##',\n [TuiCountryIsoCode.GH]: '+233(###) ###-###',\n [TuiCountryIsoCode.GI]: '+350###-#####',\n [TuiCountryIsoCode.GL]: '+299##-##-##',\n [TuiCountryIsoCode.GM]: '+220(###) ##-##',\n [TuiCountryIsoCode.GN]: '+224##-###-###',\n [TuiCountryIsoCode.GP]: '+590 ## ## ## ## ##',\n [TuiCountryIsoCode.GQ]: '+240##-###-####',\n [TuiCountryIsoCode.GR]: '+30(###) ###-####',\n [TuiCountryIsoCode.GT]: '+502#-###-####',\n [TuiCountryIsoCode.GW]: '+245#-######',\n [TuiCountryIsoCode.GY]: '+592###-####',\n [TuiCountryIsoCode.HK]: '+852####-####',\n [TuiCountryIsoCode.HN]: '+504####-####',\n [TuiCountryIsoCode.HR]: '+385##-###-####',\n [TuiCountryIsoCode.HT]: '+509##-##-####',\n [TuiCountryIsoCode.HU]: '+36(###) ###-###',\n [TuiCountryIsoCode.ID]: '+62(###) ###-##-###',\n [TuiCountryIsoCode.IE]: '+353(###) ###-###',\n [TuiCountryIsoCode.IL]: '+972##-###-####',\n [TuiCountryIsoCode.IN]: '+91(####) ###-###',\n [TuiCountryIsoCode.IQ]: '+964(###) ###-####',\n [TuiCountryIsoCode.IR]: '+98(###) ###-####',\n [TuiCountryIsoCode.IS]: '+354###-####',\n [TuiCountryIsoCode.IT]: '+39(###) ####-###',\n [TuiCountryIsoCode.JM]: '+1(876) ###-####',\n [TuiCountryIsoCode.JO]: '+962#-####-####',\n [TuiCountryIsoCode.JP]: '+81-##-####-####',\n [TuiCountryIsoCode.KE]: '+254###-######',\n [TuiCountryIsoCode.KG]: '+996(###) ###-###',\n [TuiCountryIsoCode.KH]: '+855##-###-###',\n [TuiCountryIsoCode.KM]: '+269##-#####',\n [TuiCountryIsoCode.KN]: '+1(869) ###-####',\n [TuiCountryIsoCode.KP]: '+850####-#############',\n [TuiCountryIsoCode.KR]: '+82##-###-####',\n [TuiCountryIsoCode.KW]: '+965####-####',\n [TuiCountryIsoCode.KY]: '+1(345) ###-####',\n [TuiCountryIsoCode.KZ]: '+7(###) ###-##-##',\n [TuiCountryIsoCode.LA]: '+856##-##-###-###',\n [TuiCountryIsoCode.LB]: '+961##-###-###',\n [TuiCountryIsoCode.LC]: '+1(758) ###-####',\n [TuiCountryIsoCode.LI]: '+423(###) ###-####',\n [TuiCountryIsoCode.LK]: '+94##-###-####',\n [TuiCountryIsoCode.LR]: '+231##-###-###',\n [TuiCountryIsoCode.LS]: '+266#-###-####',\n [TuiCountryIsoCode.LT]: '+370(###) ##-###',\n [TuiCountryIsoCode.LU]: '+352(###) ###-###',\n [TuiCountryIsoCode.LV]: '+371##-###-###',\n [TuiCountryIsoCode.LY]: '+218##-###-####',\n [TuiCountryIsoCode.MA]: '+212##-####-###',\n [TuiCountryIsoCode.MC]: '+377###-###-###',\n [TuiCountryIsoCode.MD]: '+373####-####',\n [TuiCountryIsoCode.ME]: '+382##-###-###',\n [TuiCountryIsoCode.MF]: '+590 ## ## ## ## ##',\n [TuiCountryIsoCode.MG]: '+261##-##-#####',\n [TuiCountryIsoCode.MK]: '+389##-###-###',\n [TuiCountryIsoCode.ML]: '+223##-##-####',\n [TuiCountryIsoCode.MM]: '+95##-###-###',\n [TuiCountryIsoCode.MN]: '+976##-##-####',\n [TuiCountryIsoCode.MO]: '+853####-####',\n [TuiCountryIsoCode.MQ]: '+596 ## ## ## ## ##',\n [TuiCountryIsoCode.MR]: '+222##-##-####',\n [TuiCountryIsoCode.MS]: '+1(664) ###-####',\n [TuiCountryIsoCode.MT]: '+356####-####',\n [TuiCountryIsoCode.MU]: '+230####-####',\n [TuiCountryIsoCode.MV]: '+960###-####',\n [TuiCountryIsoCode.MW]: '+265#-####-####',\n [TuiCountryIsoCode.MX]: '+52(###) ###-####',\n [TuiCountryIsoCode.MY]: '+60(###) ###-###',\n [TuiCountryIsoCode.MZ]: '+258##-###-###',\n [TuiCountryIsoCode.NA]: '+264##-###-####',\n [TuiCountryIsoCode.NC]: '+687 ### ###',\n [TuiCountryIsoCode.NE]: '+227##-##-####',\n [TuiCountryIsoCode.NG]: '+234(###) ###-####',\n [TuiCountryIsoCode.NI]: '+505####-####',\n [TuiCountryIsoCode.NL]: '+31##-###-####',\n [TuiCountryIsoCode.NO]: '+47(###) ##-###',\n [TuiCountryIsoCode.NP]: '+977##-###-###',\n [TuiCountryIsoCode.NZ]: '+64(###) ###-####',\n [TuiCountryIsoCode.OM]: '+968##-###-###',\n [TuiCountryIsoCode.PA]: '+507###-####',\n [TuiCountryIsoCode.PE]: '+51(###) ###-###',\n [TuiCountryIsoCode.PF]: '+689 ## ## ## ##',\n [TuiCountryIsoCode.PG]: '+675(###) ##-###',\n [TuiCountryIsoCode.PH]: '+63(###) ###-####',\n [TuiCountryIsoCode.PK]: '+92(###) ###-####',\n [TuiCountryIsoCode.PL]: '+48(###) ###-###',\n [TuiCountryIsoCode.PT]: '+351##-###-####',\n [TuiCountryIsoCode.PW]: '+680###-####',\n [TuiCountryIsoCode.PY]: '+595(###) ###-###',\n [TuiCountryIsoCode.QA]: '+974####-####',\n [TuiCountryIsoCode.RE]: '+262 ## ## ## ## ##',\n [TuiCountryIsoCode.RO]: '+40##-###-####',\n [TuiCountryIsoCode.RS]: '+381##-###-####',\n [TuiCountryIsoCode.RU]: '+7### ###-##-##',\n [TuiCountryIsoCode.RW]: '+250(###) ###-###',\n [TuiCountryIsoCode.SA]: '+966#-####-####',\n [TuiCountryIsoCode.SB]: '+677###-####',\n [TuiCountryIsoCode.SC]: '+248#-###-###',\n [TuiCountryIsoCode.SD]: '+249##-###-####',\n [TuiCountryIsoCode.SE]: '+46##-###-####',\n [TuiCountryIsoCode.SG]: '+65####-####',\n [TuiCountryIsoCode.SH]: '+290####',\n [TuiCountryIsoCode.SI]: '+386##-###-###',\n [TuiCountryIsoCode.SK]: '+421(###) ###-###',\n [TuiCountryIsoCode.SL]: '+232##-######',\n [TuiCountryIsoCode.SM]: '+378####-######',\n [TuiCountryIsoCode.SN]: '+221##-###-####',\n [TuiCountryIsoCode.SO]: '+252##-###-###',\n [TuiCountryIsoCode.SR]: '+597###-####',\n [TuiCountryIsoCode.ST]: '+239##-#####',\n [TuiCountryIsoCode.SV]: '+503##-##-####',\n [TuiCountryIsoCode.SX]: '+1(721) ###-####',\n [TuiCountryIsoCode.SY]: '+963##-####-###',\n [TuiCountryIsoCode.SZ]: '+268##-##-####',\n [TuiCountryIsoCode.TC]: '+1(649) ###-####',\n [TuiCountryIsoCode.TD]: '+235##-##-##-##',\n [TuiCountryIsoCode.TG]: '+228##-###-###',\n [TuiCountryIsoCode.TH]: '+66##-###-####',\n [TuiCountryIsoCode.TJ]: '+992##-###-####',\n [TuiCountryIsoCode.TL]: '+670###-#####',\n [TuiCountryIsoCode.TM]: '+993#-###-####',\n [TuiCountryIsoCode.TN]: '+216##-###-###',\n [TuiCountryIsoCode.TO]: '+676#####',\n [TuiCountryIsoCode.TR]: '+90(###) ###-####',\n [TuiCountryIsoCode.TT]: '+1(868) ###-####',\n [TuiCountryIsoCode.TW]: '+886#-####-####',\n [TuiCountryIsoCode.TZ]: '+255##-###-####',\n [TuiCountryIsoCode.UA]: '+380(##) ###-##-##',\n [TuiCountryIsoCode.UG]: '+256(###) ###-###',\n [TuiCountryIsoCode.US]: '+1(###) ###-####',\n [TuiCountryIsoCode.UY]: '+598#-###-##-##',\n [TuiCountryIsoCode.UZ]: '+998##-###-####',\n [TuiCountryIsoCode.VC]: '+1(784) ###-####',\n [TuiCountryIsoCode.VE]: '+58(###) ###-####',\n [TuiCountryIsoCode.VG]: '+1(284)###-####',\n [TuiCountryIsoCode.VN]: '+84(###) ####-###',\n [TuiCountryIsoCode.VU]: '+678##-#####',\n [TuiCountryIsoCode.WS]: '+685##-####',\n [TuiCountryIsoCode.XK]: '+383##-###-###',\n [TuiCountryIsoCode.YE]: '+967###-###-###',\n [TuiCountryIsoCode.YT]: '+262 ## ## ## ## ##',\n [TuiCountryIsoCode.ZA]: '+27##-###-####',\n [TuiCountryIsoCode.ZM]: '+260##-###-####',\n [TuiCountryIsoCode.ZW]: '+263#-######',\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiControlValueTransformer, TuiDay, TuiDayRange, TuiTime} from '@taiga-ui/cdk';\n\n// TODO: Refactor to use `AbstractTuiValueTransformer` and add ability to provide it for all controls\n\n/**\n * Control value transformer of TuiDay to custom value format for InputDate* components\n */\nexport const TUI_DATE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDay | null>\n>('[TUI_DATE_VALUE_TRANSFORMER]');\n\n/**\n * Control value transformer for InputDateRange component\n */\nexport const TUI_DATE_RANGE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDayRange | null>\n>('[TUI_DATE_RANGE_VALUE_TRANSFORMER]');\n\n/**\n * Control value transformer for InputDateTime component\n */\nexport const TUI_DATE_TIME_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<[TuiDay | null, TuiTime | null]>\n>('[TUI_DATE_TIME_VALUE_TRANSFORMER]');\n","import {tuiCreateTokenFromFactory, TuiDateMode} from '@taiga-ui/cdk';\nimport {TuiCountryIsoCode, tuiExtractI18n} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_PROMPT_WORDS = tuiCreateTokenFromFactory(tuiExtractI18n('prompt'));\n\nexport const TUI_CANCEL_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('cancel'));\n\nexport const TUI_DONE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('done'));\n\nexport const TUI_MORE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('more'));\n\nexport const TUI_HIDE_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n('hide'));\n\nexport const TUI_SHOW_ALL_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n('showAll'));\n\nexport const TUI_OTHER_DATE_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n('otherDate'));\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('mobileCalendarTexts'),\n);\n\nexport const TUI_FROM_TO_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('range'));\n\nexport const TUI_PLUS_MINUS_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('countTexts'),\n);\n\nexport const TUI_TIME_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('time'));\n\nexport const TUI_DATE_TEXTS = tuiCreateTokenFromFactory<\n Observable<Record<TuiDateMode, string>>\n>(tuiExtractI18n('dateTexts'));\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = tuiCreateTokenFromFactory(\n tuiExtractI18n('digitalInformationUnits'),\n);\n\nexport const TUI_COPY_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('copyTexts'));\n\nexport const TUI_PASSWORD_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('passwordTexts'),\n);\n\nexport const TUI_CALENDAR_MONTHS = tuiCreateTokenFromFactory(\n tuiExtractI18n('shortCalendarMonths'),\n);\n\nexport const TUI_FILE_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('fileTexts'));\n\nexport const TUI_PAGINATION_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('pagination'),\n);\n\nexport const TUI_INPUT_FILE_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('inputFileTexts'),\n);\n\nexport const TUI_MULTI_SELECT_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('multiSelectTexts'),\n);\n\nexport const TUI_COUNTRIES = tuiCreateTokenFromFactory<\n Observable<Record<TuiCountryIsoCode, string>>\n>(tuiExtractI18n('countries'));\n","import {Provider} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiContextWithImplicit,\n tuiCreateToken,\n TuiDay,\n tuiProvideOptions,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputDateOptions {\n readonly icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;\n readonly max: TuiDay;\n readonly min: TuiDay;\n readonly nativePicker: boolean;\n}\n\nexport const TUI_INPUT_DATE_DEFAULT_OPTIONS: TuiInputDateOptions = {\n icon: ({$implicit}) =>\n $implicit === 's' ? 'tuiIconCalendar' : 'tuiIconCalendarLarge',\n min: TUI_FIRST_DAY,\n max: TUI_LAST_DAY,\n nativePicker: false,\n};\n\n/**\n * Default parameters for InputDate component\n */\nexport const TUI_INPUT_DATE_OPTIONS = tuiCreateToken(TUI_INPUT_DATE_DEFAULT_OPTIONS);\n\nexport function tuiInputDateOptionsProvider(\n options: Partial<TuiInputDateOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_DATE_OPTIONS,\n options,\n TUI_INPUT_DATE_DEFAULT_OPTIONS,\n );\n}\n","import {Provider} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n tuiCreateToken,\n TuiIdentityMatcher,\n tuiProvideOptions,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\n\nexport interface TuiItemsHandlers<T> {\n readonly disabledItemHandler: TuiBooleanHandler<T>;\n readonly identityMatcher: TuiIdentityMatcher<T>;\n readonly stringify: TuiStringHandler<T>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: TUI_DEFAULT_STRINGIFY,\n identityMatcher: TUI_DEFAULT_IDENTITY_MATCHER,\n disabledItemHandler: ALWAYS_FALSE_HANDLER,\n};\n\n/**\n * Default items handlers for components\n */\nexport const TUI_ITEMS_HANDLERS = tuiCreateToken(TUI_DEFAULT_ITEMS_HANDLERS);\n\nexport function tuiItemsHandlersProvider<T>(\n options: Partial<TuiItemsHandlers<T>>,\n): Provider {\n return tuiProvideOptions(TUI_ITEMS_HANDLERS, options, TUI_DEFAULT_ITEMS_HANDLERS);\n}\n","import {InjectionToken, Type} from '@angular/core';\n\n/**\n * A component for mobile data picker\n */\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<unknown>>(\n '[TUI_MOBILE_CALENDAR]',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler, TuiMonth} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n/**\n * A function to get localized formatted month\n */\nexport const TUI_MONTH_FORMATTER = new InjectionToken<\n TuiHandler<TuiMonth | null, Observable<string>>\n>('[TUI_MONTH_FORMATTER]');\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Margin between tabs\n */\nexport const TUI_TAB_MARGIN = tuiCreateToken(24);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n/**\n * Validation errors\n */\nexport const TUI_VALIDATION_ERRORS = tuiCreateToken<\n Record<string, Observable<PolymorpheusContent> | PolymorpheusContent>\n>({});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","Optional","Self","NgControl","tuiControlValueFactory","tuiCreateToken","TuiCountryIsoCode","tuiCreateTokenFromFactory","tuiExtractI18n","TUI_FIRST_DAY","TUI_LAST_DAY","tuiProvideOptions","TUI_DEFAULT_STRINGIFY","TUI_DEFAULT_IDENTITY_MATCHER","ALWAYS_FALSE_HANDLER"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-tokens.umd.js","sources":["../../../projects/kit/tokens/calendar-date-stream.ts","../../../projects/kit/tokens/countries-masks.ts","../../../projects/kit/tokens/date-inputs-value-transformers.ts","../../../projects/kit/tokens/i18n.ts","../../../projects/kit/tokens/input-date-options.ts","../../../projects/kit/tokens/items-handlers.ts","../../../projects/kit/tokens/mobile-calendar.ts","../../../projects/kit/tokens/month-formatter.ts","../../../projects/kit/tokens/tab-margin.ts","../../../projects/kit/tokens/validation-errors.ts","../../../projects/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken, Optional, Provider, Self} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiControlValueTransformer, TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {tuiControlValueFactory} from '@taiga-ui/kit/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * Stream that emits calendar data change\n */\nexport const TUI_CALENDAR_DATE_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('[TUI_CALENDAR_DATE_STREAM]');\n\nexport function tuiDateStreamWithTransformer(\n transformer: InjectionToken<TuiControlValueTransformer<any>>,\n): Provider {\n return {\n provide: TUI_CALENDAR_DATE_STREAM,\n deps: [\n [new Optional(), new Self(), NgControl],\n [new Optional(), transformer],\n ],\n useFactory: tuiControlValueFactory,\n };\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiCountryIsoCode} from '@taiga-ui/i18n';\n\nexport const TUI_COUNTRIES_DEFAULT_MASKS: Record<TuiCountryIsoCode, string> = {\n [TuiCountryIsoCode.AD]: '+376###-###',\n [TuiCountryIsoCode.AE]: '+971-##-###-####',\n [TuiCountryIsoCode.AF]: '+93##-###-####',\n [TuiCountryIsoCode.AG]: '+1(268) ###-####',\n [TuiCountryIsoCode.AI]: '+1(264) ###-####',\n [TuiCountryIsoCode.AL]: '+355(###) ###-###',\n [TuiCountryIsoCode.AM]: '+374##-###-###',\n [TuiCountryIsoCode.AO]: '+244(###) ###-###',\n [TuiCountryIsoCode.AR]: '+54(###) ####-####',\n [TuiCountryIsoCode.AT]: '+43(###) ###-####',\n [TuiCountryIsoCode.AU]: '+61#-####-####',\n [TuiCountryIsoCode.AW]: '+297###-####',\n [TuiCountryIsoCode.AZ]: '+994##-###-##-##',\n [TuiCountryIsoCode.BA]: '+387 ###-####-##',\n [TuiCountryIsoCode.BB]: '+1(246) ###-####',\n [TuiCountryIsoCode.BD]: '+880##-###-###',\n [TuiCountryIsoCode.BE]: '+32(###) ###-###',\n [TuiCountryIsoCode.BF]: '+226##-##-####',\n [TuiCountryIsoCode.BG]: '+359(###) ###-###',\n [TuiCountryIsoCode.BH]: '+973####-####',\n [TuiCountryIsoCode.BI]: '+257##-##-####',\n [TuiCountryIsoCode.BJ]: '+229##-##-####',\n [TuiCountryIsoCode.BL]: '+590 ## ## ## ## ##',\n [TuiCountryIsoCode.BM]: '+1(441) ###-####',\n [TuiCountryIsoCode.BN]: '+673###-####',\n [TuiCountryIsoCode.BO]: '+591#-###-####',\n [TuiCountryIsoCode.BQ]: '+599-###-####',\n [TuiCountryIsoCode.BR]: '+55(##) ####-#####',\n [TuiCountryIsoCode.BS]: '+1(242) ###-####',\n [TuiCountryIsoCode.BT]: '+975#-###-###',\n [TuiCountryIsoCode.BW]: '+267##-###-###',\n [TuiCountryIsoCode.BY]: '+375(##) ###-##-##',\n [TuiCountryIsoCode.BZ]: '+501###-####',\n [TuiCountryIsoCode.CA]: '+1(###) ###-####',\n [TuiCountryIsoCode.CD]: '+243(###) ###-###',\n [TuiCountryIsoCode.CF]: '+236-##-##-####',\n [TuiCountryIsoCode.CG]: '+242##-###-####',\n [TuiCountryIsoCode.CH]: '+41##-###-####',\n [TuiCountryIsoCode.CI]: '+225##-##-###-###',\n [TuiCountryIsoCode.CL]: '+56#-####-####',\n [TuiCountryIsoCode.CM]: '+237#####-####',\n [TuiCountryIsoCode.CN]: '+86(###) ####-####',\n [TuiCountryIsoCode.CO]: '+57(###) ###-####',\n [TuiCountryIsoCode.CR]: '+506####-####',\n [TuiCountryIsoCode.CU]: '+53#-###-####',\n [TuiCountryIsoCode.CV]: '+238(###) ##-##',\n [TuiCountryIsoCode.CW]: '+5999-###-####',\n [TuiCountryIsoCode.CY]: '+357##-###-###',\n [TuiCountryIsoCode.CZ]: '+420(###) ###-###',\n [TuiCountryIsoCode.DE]: '+49(###) ###-###-##',\n [TuiCountryIsoCode.DJ]: '+253##-##-##-##',\n [TuiCountryIsoCode.DK]: '+45##-##-##-##',\n [TuiCountryIsoCode.DM]: '+1(767) ###-####',\n [TuiCountryIsoCode.DO]: '+1(###) ###-####',\n [TuiCountryIsoCode.DZ]: '+213##-###-####',\n [TuiCountryIsoCode.EC]: '+593##-###-####',\n [TuiCountryIsoCode.EE]: '+372####-####',\n [TuiCountryIsoCode.EG]: '+20(###) ###-####',\n [TuiCountryIsoCode.ER]: '+291#-###-###',\n [TuiCountryIsoCode.ES]: '+34(###) ###-###',\n [TuiCountryIsoCode.ET]: '+251##-###-####',\n [TuiCountryIsoCode.FI]: '+358(###) ###-##-##',\n [TuiCountryIsoCode.FJ]: '+679##-#####',\n [TuiCountryIsoCode.FK]: '+500#####',\n [TuiCountryIsoCode.FM]: '+691###-####',\n [TuiCountryIsoCode.FR]: '+33 ## ## ## ## ##',\n [TuiCountryIsoCode.GA]: '+241##-##-##-##',\n [TuiCountryIsoCode.GB]: '+44##-####-####',\n [TuiCountryIsoCode.GD]: '+1(473) ###-####',\n [TuiCountryIsoCode.GE]: '+995(###) ###-###',\n [TuiCountryIsoCode.GF]: '+594 ## ## ## ## ##',\n [TuiCountryIsoCode.GH]: '+233(###) ###-###',\n [TuiCountryIsoCode.GI]: '+350###-#####',\n [TuiCountryIsoCode.GL]: '+299##-##-##',\n [TuiCountryIsoCode.GM]: '+220(###) ##-##',\n [TuiCountryIsoCode.GN]: '+224##-###-###',\n [TuiCountryIsoCode.GP]: '+590 ## ## ## ## ##',\n [TuiCountryIsoCode.GQ]: '+240##-###-####',\n [TuiCountryIsoCode.GR]: '+30(###) ###-####',\n [TuiCountryIsoCode.GT]: '+502#-###-####',\n [TuiCountryIsoCode.GW]: '+245#-######',\n [TuiCountryIsoCode.GY]: '+592###-####',\n [TuiCountryIsoCode.HK]: '+852####-####',\n [TuiCountryIsoCode.HN]: '+504####-####',\n [TuiCountryIsoCode.HR]: '+385##-###-####',\n [TuiCountryIsoCode.HT]: '+509##-##-####',\n [TuiCountryIsoCode.HU]: '+36(###) ###-###',\n [TuiCountryIsoCode.ID]: '+62(###) ###-##-###',\n [TuiCountryIsoCode.IE]: '+353(###) ###-###',\n [TuiCountryIsoCode.IL]: '+972##-###-####',\n [TuiCountryIsoCode.IN]: '+91(####) ###-###',\n [TuiCountryIsoCode.IQ]: '+964(###) ###-####',\n [TuiCountryIsoCode.IR]: '+98(###) ###-####',\n [TuiCountryIsoCode.IS]: '+354###-####',\n [TuiCountryIsoCode.IT]: '+39(###) ####-###',\n [TuiCountryIsoCode.JM]: '+1(876) ###-####',\n [TuiCountryIsoCode.JO]: '+962#-####-####',\n [TuiCountryIsoCode.JP]: '+81-##-####-####',\n [TuiCountryIsoCode.KE]: '+254###-######',\n [TuiCountryIsoCode.KG]: '+996(###) ###-###',\n [TuiCountryIsoCode.KH]: '+855##-###-###',\n [TuiCountryIsoCode.KM]: '+269##-#####',\n [TuiCountryIsoCode.KN]: '+1(869) ###-####',\n [TuiCountryIsoCode.KP]: '+850####-#############',\n [TuiCountryIsoCode.KR]: '+82##-###-####',\n [TuiCountryIsoCode.KW]: '+965####-####',\n [TuiCountryIsoCode.KY]: '+1(345) ###-####',\n [TuiCountryIsoCode.KZ]: '+7(###) ###-##-##',\n [TuiCountryIsoCode.LA]: '+856##-##-###-###',\n [TuiCountryIsoCode.LB]: '+961##-###-###',\n [TuiCountryIsoCode.LC]: '+1(758) ###-####',\n [TuiCountryIsoCode.LI]: '+423(###) ###-####',\n [TuiCountryIsoCode.LK]: '+94##-###-####',\n [TuiCountryIsoCode.LR]: '+231##-###-###',\n [TuiCountryIsoCode.LS]: '+266#-###-####',\n [TuiCountryIsoCode.LT]: '+370(###) ##-###',\n [TuiCountryIsoCode.LU]: '+352(###) ###-###',\n [TuiCountryIsoCode.LV]: '+371##-###-###',\n [TuiCountryIsoCode.LY]: '+218##-###-####',\n [TuiCountryIsoCode.MA]: '+212##-####-###',\n [TuiCountryIsoCode.MC]: '+377###-###-###',\n [TuiCountryIsoCode.MD]: '+373####-####',\n [TuiCountryIsoCode.ME]: '+382##-###-###',\n [TuiCountryIsoCode.MF]: '+590 ## ## ## ## ##',\n [TuiCountryIsoCode.MG]: '+261##-##-#####',\n [TuiCountryIsoCode.MK]: '+389##-###-###',\n [TuiCountryIsoCode.ML]: '+223##-##-####',\n [TuiCountryIsoCode.MM]: '+95##-###-###',\n [TuiCountryIsoCode.MN]: '+976##-##-####',\n [TuiCountryIsoCode.MO]: '+853####-####',\n [TuiCountryIsoCode.MQ]: '+596 ## ## ## ## ##',\n [TuiCountryIsoCode.MR]: '+222##-##-####',\n [TuiCountryIsoCode.MS]: '+1(664) ###-####',\n [TuiCountryIsoCode.MT]: '+356####-####',\n [TuiCountryIsoCode.MU]: '+230####-####',\n [TuiCountryIsoCode.MV]: '+960###-####',\n [TuiCountryIsoCode.MW]: '+265#-####-####',\n [TuiCountryIsoCode.MX]: '+52(###) ###-####',\n [TuiCountryIsoCode.MY]: '+60(###) ###-###',\n [TuiCountryIsoCode.MZ]: '+258##-###-###',\n [TuiCountryIsoCode.NA]: '+264##-###-####',\n [TuiCountryIsoCode.NC]: '+687 ### ###',\n [TuiCountryIsoCode.NE]: '+227##-##-####',\n [TuiCountryIsoCode.NG]: '+234(###) ###-####',\n [TuiCountryIsoCode.NI]: '+505####-####',\n [TuiCountryIsoCode.NL]: '+31##-###-####',\n [TuiCountryIsoCode.NO]: '+47(###) ##-###',\n [TuiCountryIsoCode.NP]: '+977##-###-###',\n [TuiCountryIsoCode.NZ]: '+64(###) ###-####',\n [TuiCountryIsoCode.OM]: '+968##-###-###',\n [TuiCountryIsoCode.PA]: '+507###-####',\n [TuiCountryIsoCode.PE]: '+51(###) ###-###',\n [TuiCountryIsoCode.PF]: '+689 ## ## ## ##',\n [TuiCountryIsoCode.PG]: '+675(###) ##-###',\n [TuiCountryIsoCode.PH]: '+63(###) ###-####',\n [TuiCountryIsoCode.PK]: '+92(###) ###-####',\n [TuiCountryIsoCode.PL]: '+48(###) ###-###',\n [TuiCountryIsoCode.PT]: '+351##-###-####',\n [TuiCountryIsoCode.PW]: '+680###-####',\n [TuiCountryIsoCode.PY]: '+595(###) ###-###',\n [TuiCountryIsoCode.QA]: '+974####-####',\n [TuiCountryIsoCode.RE]: '+262 ## ## ## ## ##',\n [TuiCountryIsoCode.RO]: '+40##-###-####',\n [TuiCountryIsoCode.RS]: '+381##-###-####',\n [TuiCountryIsoCode.RU]: '+7### ###-##-##',\n [TuiCountryIsoCode.RW]: '+250(###) ###-###',\n [TuiCountryIsoCode.SA]: '+966#-####-####',\n [TuiCountryIsoCode.SB]: '+677###-####',\n [TuiCountryIsoCode.SC]: '+248#-###-###',\n [TuiCountryIsoCode.SD]: '+249##-###-####',\n [TuiCountryIsoCode.SE]: '+46##-###-####',\n [TuiCountryIsoCode.SG]: '+65####-####',\n [TuiCountryIsoCode.SH]: '+290####',\n [TuiCountryIsoCode.SI]: '+386##-###-###',\n [TuiCountryIsoCode.SK]: '+421(###) ###-###',\n [TuiCountryIsoCode.SL]: '+232##-######',\n [TuiCountryIsoCode.SM]: '+378####-######',\n [TuiCountryIsoCode.SN]: '+221##-###-####',\n [TuiCountryIsoCode.SO]: '+252##-###-###',\n [TuiCountryIsoCode.SR]: '+597###-####',\n [TuiCountryIsoCode.ST]: '+239##-#####',\n [TuiCountryIsoCode.SV]: '+503##-##-####',\n [TuiCountryIsoCode.SX]: '+1(721) ###-####',\n [TuiCountryIsoCode.SY]: '+963##-####-###',\n [TuiCountryIsoCode.SZ]: '+268##-##-####',\n [TuiCountryIsoCode.TC]: '+1(649) ###-####',\n [TuiCountryIsoCode.TD]: '+235##-##-##-##',\n [TuiCountryIsoCode.TG]: '+228##-###-###',\n [TuiCountryIsoCode.TH]: '+66##-###-####',\n [TuiCountryIsoCode.TJ]: '+992##-###-####',\n [TuiCountryIsoCode.TL]: '+670###-#####',\n [TuiCountryIsoCode.TM]: '+993#-###-####',\n [TuiCountryIsoCode.TN]: '+216##-###-###',\n [TuiCountryIsoCode.TO]: '+676#####',\n [TuiCountryIsoCode.TR]: '+90(###) ###-####',\n [TuiCountryIsoCode.TT]: '+1(868) ###-####',\n [TuiCountryIsoCode.TW]: '+886#-####-####',\n [TuiCountryIsoCode.TZ]: '+255##-###-####',\n [TuiCountryIsoCode.UA]: '+380(##) ###-##-##',\n [TuiCountryIsoCode.UG]: '+256(###) ###-###',\n [TuiCountryIsoCode.US]: '+1(###) ###-####',\n [TuiCountryIsoCode.UY]: '+598#-###-##-##',\n [TuiCountryIsoCode.UZ]: '+998##-###-####',\n [TuiCountryIsoCode.VC]: '+1(784) ###-####',\n [TuiCountryIsoCode.VE]: '+58(###) ###-####',\n [TuiCountryIsoCode.VG]: '+1(284)###-####',\n [TuiCountryIsoCode.VN]: '+84(###) ####-###',\n [TuiCountryIsoCode.VU]: '+678##-#####',\n [TuiCountryIsoCode.WS]: '+685##-####',\n [TuiCountryIsoCode.XK]: '+383##-###-###',\n [TuiCountryIsoCode.YE]: '+967###-###-###',\n [TuiCountryIsoCode.YT]: '+262 ## ## ## ## ##',\n [TuiCountryIsoCode.ZA]: '+27##-###-####',\n [TuiCountryIsoCode.ZM]: '+260##-###-####',\n [TuiCountryIsoCode.ZW]: '+263#-######',\n};\n\nexport const TUI_COUNTRIES_MASKS = tuiCreateToken(TUI_COUNTRIES_DEFAULT_MASKS);\n\nexport function tuiCountriesMasksProvider(\n options: Partial<Record<TuiCountryIsoCode, string>>,\n): Provider {\n return tuiProvideOptions(TUI_COUNTRIES_MASKS, options, TUI_COUNTRIES_DEFAULT_MASKS);\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiControlValueTransformer, TuiDay, TuiDayRange, TuiTime} from '@taiga-ui/cdk';\n\n// TODO: Refactor to use `AbstractTuiValueTransformer` and add ability to provide it for all controls\n\n/**\n * Control value transformer of TuiDay to custom value format for InputDate* components\n */\nexport const TUI_DATE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDay | null>\n>('[TUI_DATE_VALUE_TRANSFORMER]');\n\n/**\n * Control value transformer for InputDateRange component\n */\nexport const TUI_DATE_RANGE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDayRange | null>\n>('[TUI_DATE_RANGE_VALUE_TRANSFORMER]');\n\n/**\n * Control value transformer for InputDateTime component\n */\nexport const TUI_DATE_TIME_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<[TuiDay | null, TuiTime | null]>\n>('[TUI_DATE_TIME_VALUE_TRANSFORMER]');\n","import {tuiCreateTokenFromFactory, TuiDateMode} from '@taiga-ui/cdk';\nimport {TuiCountryIsoCode, tuiExtractI18n} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_PROMPT_WORDS = tuiCreateTokenFromFactory(tuiExtractI18n('prompt'));\n\nexport const TUI_CANCEL_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('cancel'));\n\nexport const TUI_DONE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('done'));\n\nexport const TUI_MORE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n('more'));\n\nexport const TUI_HIDE_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n('hide'));\n\nexport const TUI_SHOW_ALL_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n('showAll'));\n\nexport const TUI_OTHER_DATE_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n('otherDate'));\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('mobileCalendarTexts'),\n);\n\nexport const TUI_FROM_TO_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('range'));\n\nexport const TUI_PLUS_MINUS_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('countTexts'),\n);\n\nexport const TUI_TIME_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('time'));\n\nexport const TUI_DATE_TEXTS = tuiCreateTokenFromFactory<\n Observable<Record<TuiDateMode, string>>\n>(tuiExtractI18n('dateTexts'));\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = tuiCreateTokenFromFactory(\n tuiExtractI18n('digitalInformationUnits'),\n);\n\nexport const TUI_COPY_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('copyTexts'));\n\nexport const TUI_PASSWORD_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('passwordTexts'),\n);\n\nexport const TUI_CALENDAR_MONTHS = tuiCreateTokenFromFactory(\n tuiExtractI18n('shortCalendarMonths'),\n);\n\nexport const TUI_FILE_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('fileTexts'));\n\nexport const TUI_PAGINATION_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('pagination'),\n);\n\nexport const TUI_INPUT_FILE_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('inputFileTexts'),\n);\n\nexport const TUI_MULTI_SELECT_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('multiSelectTexts'),\n);\n\nexport const TUI_COUNTRIES = tuiCreateTokenFromFactory<\n Observable<Record<TuiCountryIsoCode, string>>\n>(tuiExtractI18n('countries'));\n","import {Provider} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiContextWithImplicit,\n tuiCreateToken,\n TuiDay,\n tuiProvideOptions,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputDateOptions {\n readonly icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;\n readonly max: TuiDay;\n readonly min: TuiDay;\n readonly nativePicker: boolean;\n}\n\nexport const TUI_INPUT_DATE_DEFAULT_OPTIONS: TuiInputDateOptions = {\n icon: ({$implicit}) =>\n $implicit === 's' ? 'tuiIconCalendar' : 'tuiIconCalendarLarge',\n min: TUI_FIRST_DAY,\n max: TUI_LAST_DAY,\n nativePicker: false,\n};\n\n/**\n * Default parameters for InputDate component\n */\nexport const TUI_INPUT_DATE_OPTIONS = tuiCreateToken(TUI_INPUT_DATE_DEFAULT_OPTIONS);\n\nexport function tuiInputDateOptionsProvider(\n options: Partial<TuiInputDateOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_DATE_OPTIONS,\n options,\n TUI_INPUT_DATE_DEFAULT_OPTIONS,\n );\n}\n","import {Provider} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n tuiCreateToken,\n TuiIdentityMatcher,\n tuiProvideOptions,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\n\nexport interface TuiItemsHandlers<T> {\n readonly disabledItemHandler: TuiBooleanHandler<T>;\n readonly identityMatcher: TuiIdentityMatcher<T>;\n readonly stringify: TuiStringHandler<T>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: TUI_DEFAULT_STRINGIFY,\n identityMatcher: TUI_DEFAULT_IDENTITY_MATCHER,\n disabledItemHandler: ALWAYS_FALSE_HANDLER,\n};\n\n/**\n * Default items handlers for components\n */\nexport const TUI_ITEMS_HANDLERS = tuiCreateToken(TUI_DEFAULT_ITEMS_HANDLERS);\n\nexport function tuiItemsHandlersProvider<T>(\n options: Partial<TuiItemsHandlers<T>>,\n): Provider {\n return tuiProvideOptions(TUI_ITEMS_HANDLERS, options, TUI_DEFAULT_ITEMS_HANDLERS);\n}\n","import {InjectionToken, Type} from '@angular/core';\n\n/**\n * A component for mobile data picker\n */\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<unknown>>(\n '[TUI_MOBILE_CALENDAR]',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler, TuiMonth} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n/**\n * A function to get localized formatted month\n */\nexport const TUI_MONTH_FORMATTER = new InjectionToken<\n TuiHandler<TuiMonth | null, Observable<string>>\n>('[TUI_MONTH_FORMATTER]');\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Margin between tabs\n */\nexport const TUI_TAB_MARGIN = tuiCreateToken(24);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n/**\n * Validation errors\n */\nexport const TUI_VALIDATION_ERRORS = tuiCreateToken<\n Record<string, Observable<PolymorpheusContent> | PolymorpheusContent>\n>({});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","Optional","Self","NgControl","tuiControlValueFactory","TuiCountryIsoCode","tuiCreateToken","tuiProvideOptions","tuiCreateTokenFromFactory","tuiExtractI18n","TUI_FIRST_DAY","TUI_LAST_DAY","TUI_DEFAULT_STRINGIFY","TUI_DEFAULT_IDENTITY_MATCHER","ALWAYS_FALSE_HANDLER"],"mappings":"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"}
@@ -29,7 +29,6 @@ export declare class TuiInputDateMultiComponent extends AbstractTuiMultipleContr
29
29
  defaultActiveYearMonth: TuiMonth;
30
30
  expandable: boolean;
31
31
  inputHidden: boolean;
32
- editable: boolean;
33
32
  search: string | null;
34
33
  placeholder: string;
35
34
  rows: number;
@@ -63,5 +62,5 @@ export declare class TuiInputDateMultiComponent extends AbstractTuiMultipleContr
63
62
  onFocused(focused: boolean): void;
64
63
  setDisabledState(): void;
65
64
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateMultiComponent, [{ optional: true; self: true; }, null, null, null, null, { optional: true; }, null, null, null, { optional: true; }, null, null, null]>;
66
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputDateMultiComponent, "tui-input-date[multiple]", never, { "min": "min"; "max": "max"; "disabledItemHandler": "disabledItemHandler"; "markerHandler": "markerHandler"; "defaultActiveYearMonth": "defaultActiveYearMonth"; "expandable": "expandable"; "inputHidden": "inputHidden"; "editable": "editable"; "search": "search"; "placeholder": "placeholder"; "rows": "rows"; "tagValidator": "tagValidator"; }, {}, never, ["*", "input"]>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputDateMultiComponent, "tui-input-date[multiple]", never, { "min": "min"; "max": "max"; "disabledItemHandler": "disabledItemHandler"; "markerHandler": "markerHandler"; "defaultActiveYearMonth": "defaultActiveYearMonth"; "expandable": "expandable"; "inputHidden": "inputHidden"; "search": "search"; "placeholder": "placeholder"; "rows": "rows"; "tagValidator": "tagValidator"; }, {}, never, ["*", "input"]>;
67
66
  }
@@ -6,5 +6,5 @@ export declare class TuiLineClampPositionDirective extends TuiPositionAccessor {
6
6
  constructor(accessor: TuiRectAccessor);
7
7
  getPosition(): TuiPoint;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiLineClampPositionDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiLineClampPositionDirective, "[tuiHintCustomPosition]", never, {}, {}, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiLineClampPositionDirective, "[tuiLineClamp]", never, {}, {}, never>;
10
10
  }
@@ -21,7 +21,6 @@ export declare class TuiStepperComponent {
21
21
  indexOf(step: HTMLElement): number;
22
22
  isActive(index: number): boolean;
23
23
  activate(index: number): void;
24
- private getNativeElements;
25
24
  private moveFocus;
26
25
  private scrollIntoView;
27
26
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiStepperComponent, [null, null, null, null, null, { self: true; }]>;
@@ -69,7 +69,7 @@ TuiInputCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
69
69
  TUI_VALUE_ACCESSOR_PROVIDER,
70
70
  tuiAsFocusableItemAccessor(TuiInputCopyComponent),
71
71
  tuiAsControl(TuiInputCopyComponent),
72
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-copy__icon\"\n tuiWrapper\n class=\"t-icon\"\n [disabled]=\"!value\"\n [src]=\"src\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n ></tui-svg>\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-icon{position:relative;cursor:pointer;pointer-events:auto;color:var(--tui-base-06)}.t-textfield{border-radius:inherit;text-align:inherit}\n"], components: [{ type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i1.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { type: i1.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i1.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition]):not(ng-container):not(ng-template)", inputs: ["tuiHintDirection"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
+ ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!disabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n\n<ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n appearance=\"icon\"\n automation-id=\"tui-copy__icon\"\n tuiWrapper\n class=\"t-icon\"\n [disabled]=\"!value\"\n [src]=\"src\"\n [tuiHint]=\"hint\"\n [tuiHintAppearance]=\"messageAppearance\"\n [tuiHintDirection]=\"messageDirection\"\n (click)=\"copy()\"\n ></tui-svg>\n</ng-template>\n\n<ng-template #hint>\n <ng-container *polymorpheusOutlet=\"hintText$ | async as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-icon{position:relative;cursor:pointer;pointer-events:auto;color:var(--tui-base-06)}.t-textfield{border-radius:inherit;text-align:inherit}\n"], components: [{ type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i1.TuiHintDriverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)" }, { type: i1.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i1.TuiHintPositionDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintDirection"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
73
  __decorate([
74
74
  tuiPure
75
75
  ], TuiInputCopyComponent.prototype, "hintText$", null);
@@ -124,7 +124,7 @@ export class TuiInputDateComponent extends AbstractTuiNullableControl {
124
124
  this.onIconClick();
125
125
  }
126
126
  onIconClick() {
127
- if (!this.computedMobile || !this.mobileCalendar) {
127
+ if (!this.computedMobile || !this.mobileCalendar || this.readOnly) {
128
128
  return;
129
129
  }
130
130
  this.dialogs
@@ -276,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
276
276
  type: HostListener,
277
277
  args: ['click']
278
278
  }], computeMaskOptions: [] } });
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBRUosU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsMEJBQTBCLEVBRTFCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLFlBQVksRUFDWiwwQkFBMEIsRUFHMUIsWUFBWSxFQUVaLE1BQU0sRUFFTixRQUFRLEVBQ1IsZUFBZSxFQUNmLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFaEIsOEJBQThCLEdBS2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUNILGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLG1C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O2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLO2dCQXlDRixJQUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQXlGN0IsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU87Z0JBNEZiLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNQVNLSVRPX0RFRkFVTFRfT1BUSU9OUywgTWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFic3RyYWN0VHVpVmFsdWVUcmFuc2Zvcm1lcixcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yLFxuICAgIERBVEVfRklMTEVSX0xFTkdUSCxcbiAgICBUVUlfREFURV9GT1JNQVQsXG4gICAgVFVJX0RBVEVfU0VQQVJBVE9SLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEYXRlQ2xhbXAsXG4gICAgVHVpRGF0ZU1vZGUsXG4gICAgVHVpRGF5LFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlNb250aCxcbiAgICB0dWlOdWxsYWJsZVNhbWUsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlEaWFsb2dTZXJ2aWNlLFxuICAgIFR1aU1hcmtlckhhbmRsZXIsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgVHVpV2l0aE9wdGlvbmFsTWluTWF4LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aU5hbWVkRGF5fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfREFURV9NT0RFX01BU0tJVE9fQURBUFRFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9URVhUUyxcbiAgICBUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUixcbiAgICBUVUlfSU5QVVRfREFURV9PUFRJT05TLFxuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVIsXG4gICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcixcbiAgICBUdWlJbnB1dERhdGVPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWRhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWRhdGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dERhdGVDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcihUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUiksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlEYXk+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5PiwgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIG1vbnRoOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBtaW46IFR1aURheSB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBtYXg6IFR1aURheSB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgPSBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgaXRlbXM6IHJlYWRvbmx5IFR1aU5hbWVkRGF5W10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVmYXVsdEFjdGl2ZVllYXJNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgdHlwZSE6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT47XG5cbiAgICByZWFkb25seSBmaWxsZXIkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmRhdGVUZXh0cyQucGlwZShcbiAgICAgICAgbWFwKGRhdGVUZXh0cyA9PlxuICAgICAgICAgICAgY2hhbmdlRGF0ZVNlcGFyYXRvcihkYXRlVGV4dHNbdGhpcy5kYXRlRm9ybWF0XSwgdGhpcy5kYXRlU2VwYXJhdG9yKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFR1aURpYWxvZ1NlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nczogVHVpRGlhbG9nU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfTU9CSUxFX0NBTEVOREFSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZUNhbGVuZGFyOiBUeXBlPFJlY29yZDxzdHJpbmcsIGFueT4+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfREFURV9GT1JNQVQpIHJlYWRvbmx5IGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1NFUEFSQVRPUikgcmVhZG9ubHkgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1RFWFRTKVxuICAgICAgICByZWFkb25seSBkYXRlVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlEYXRlTW9kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVkFMVUVfVFJBTlNGT1JNRVIpXG4gICAgICAgIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXI6IEFic3RyYWN0VHVpVmFsdWVUcmFuc2Zvcm1lcjxUdWlEYXkgfCBudWxsPiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0RBVEVfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlJbnB1dERhdGVPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjZHIsIHZhbHVlVHJhbnNmb3JtZXIpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWluKCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbiA/PyB0aGlzLm9wdGlvbnMubWluO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1heCgpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXggPz8gdGhpcy5vcHRpb25zLm1heDtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/PyBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZD8uZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlICYmICghIXRoaXMubW9iaWxlQ2FsZW5kYXIgfHwgdGhpcy5uYXRpdmVQaWNrZXIpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVQaWNrZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmF0aXZlUGlja2VyO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogVHVpSW5wdXREYXRlT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgbmF0aXZlVmFsdWUsIGFjdGl2ZUl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhhY3RpdmVJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKHRoaXMuZGF0ZUZvcm1hdCwgdGhpcy5kYXRlU2VwYXJhdG9yKSA6IG5hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEFjdGl2ZVllYXJNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zWzBdICYmIHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5kYXlTYW1lKHRoaXMuaXRlbXNbMF0uZGF5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbMF0uZGlzcGxheURheTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm1vbnRoIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlIHx8XG4gICAgICAgICAgICB0dWlEYXRlQ2xhbXAodGhpcy5kZWZhdWx0QWN0aXZlWWVhck1vbnRoLCB0aGlzLmNvbXB1dGVkTWluLCB0aGlzLmNvbXB1dGVkTWF4KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py52YWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICF0aGlzLmNvbXB1dGVkTW9iaWxlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1hc2soKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJdGVtXG4gICAgICAgICAgICA/IE1BU0tJVE9fREVGQVVMVF9PUFRJT05TXG4gICAgICAgICAgICA6IHRoaXMuY29tcHV0ZU1hc2tPcHRpb25zKFxuICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1pbixcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNYXgsXG4gICAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUl0ZW0oKTogVHVpTmFtZWREYXkgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuICh2YWx1ZSAmJiB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmRheS5kYXlTYW1lKHZhbHVlKSkpIHx8IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENvbXB1dGVkRmlsbGVyKGZpbGxlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlSXRlbSA/ICcnIDogZmlsbGVyO1xuICAgIH1cblxuICAgIC8vIG5vaW5zcGVjdGlvbiBKU1VudXNlZEdsb2JhbFN5bWJvbHNcbiAgICAvKipcbiAgICAgKiBUT0RPOiBSZW1vdmUgaW4gNC4wXG4gICAgICogQGRlcHJlY2F0ZWQ6IHVzZSB7QGxpbmsgb25JY29uQ2xpY2t9IGluc3RlYWRcbiAgICAgKi9cbiAgICBvbk1vYmlsZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uSWNvbkNsaWNrKCk7XG4gICAgfVxuXG4gICAgb25JY29uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZE1vYmlsZSB8fCAhdGhpcy5tb2JpbGVDYWxlbmRhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dzXG4gICAgICAgICAgICAub3BlbjxUdWlEYXk+KG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQodGhpcy5tb2JpbGVDYWxlbmRhciwgdGhpcy5pbmplY3RvciksIHtcbiAgICAgICAgICAgICAgICBzaXplOiAnZnVsbHNjcmVlbicsXG4gICAgICAgICAgICAgICAgY2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHNpbmdsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbixcbiAgICAgICAgICAgICAgICAgICAgbWF4OiB0aGlzLm1heCxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPVxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoICE9PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IFR1aURheS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0KTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKHZhbHVlOiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2hhbmdlKG1vbnRoOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vbnRoID0gbW9udGg7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBUdWlEYXkgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdmFsdWUgPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsdWVJZGVudGljYWxDb21wYXJhdG9yKFxuICAgICAgICBvbGRWYWx1ZTogVHVpRGF5IHwgbnVsbCxcbiAgICAgICAgbmV3VmFsdWU6IFR1aURheSB8IG51bGwsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlOdWxsYWJsZVNhbWUob2xkVmFsdWUsIG5ld1ZhbHVlLCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZU1hc2tPcHRpb25zKFxuICAgICAgICBtb2RlOiBUdWlEYXRlTW9kZSxcbiAgICAgICAgc2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIG1pbjogVHVpRGF5LFxuICAgICAgICBtYXg6IFR1aURheSxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiBtYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgc2VwYXJhdG9yLFxuICAgICAgICAgICAgbW9kZTogVFVJX0RBVEVfTU9ERV9NQVNLSVRPX0FEQVBURVJbbW9kZV0sXG4gICAgICAgICAgICBtaW46IG1pbi50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgbWF4OiBtYXgudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJjYW5PcGVuXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBjYW5PcGVuXCJcbiAgICAob3BlbkNoYW5nZSk9XCJvbk9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgICp0dWlMZXQ9XCJmaWxsZXIkIHwgYXN5bmMgYXMgZmlsbGVyXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlLXJhbmdlX190ZXh0ZmllbGRcIlxuICAgICAgICB0dWlWYWx1ZUFjY2Vzc29yXG4gICAgICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbbWFza2l0b109XCJjb21wdXRlZE1hc2tcIlxuICAgICAgICBbbmF0aXZlSWRdPVwibmF0aXZlSWRcIlxuICAgICAgICBbcHNldWRvRm9jdXNdPVwicHNldWRvRm9jdXNcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkRmlsbGVyXT1cImdldENvbXB1dGVkRmlsbGVyKGZpbGxlciB8fCAnJylcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCJjYWxlbmRhckljb24gJiYgaWNvbkNvbnRlbnRcIlxuICAgICAgICBbdmFsdWVdPVwiY29tcHV0ZWRWYWx1ZVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgPjwvbmctY29udGVudD5cbiAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNpY29uQ29udGVudD5cbiAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjYWxlbmRhckljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWRhdGUtcmFuZ2VfX2ljb25cIlxuICAgICAgICAgICAgdHVpV3JhcHBlclxuICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl09XCIhY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25JY29uQ2xpY2soKVwiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgKm5nSWY9XCJpc01vYmlsZSAmJiBuYXRpdmVQaWNrZXJcIlxuICAgICAgICAgICAgdHVpRGF0ZVxuICAgICAgICAgICAgY2xhc3M9XCJ0LW5hdGl2ZS1pbnB1dFwiXG4gICAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAjZHJvcGRvd249XCJwb2x5bW9ycGhldXNcIlxuICAgICAgICBbcG9seW1vcnBoZXVzXT1cInR5cGVcIlxuICAgID5cbiAgICAgICAgPHR1aS1jYWxlbmRhclxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlX19jYWxlbmRhclwiXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyXCJcbiAgICAgICAgICAgIFttYXJrZXJIYW5kbGVyXT1cIm1hcmtlckhhbmRsZXJcIlxuICAgICAgICAgICAgW21heF09XCJjb21wdXRlZE1heFwiXG4gICAgICAgICAgICBbbWluXT1cImNvbXB1dGVkTWluXCJcbiAgICAgICAgICAgIFttb250aF09XCJjb21wdXRlZEFjdGl2ZVllYXJNb250aFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgKGRheUNsaWNrKT1cIm9uRGF5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAobW9udGhDaGFuZ2UpPVwib25Nb250aENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvdHVpLWNhbGVuZGFyPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIml0ZW1zLmxlbmd0aCA9PT0gMVwiXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EYXlDbGljayhpdGVtc1swXS5kYXkpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtc1swXSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBRUosU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsMEJBQTBCLEVBRTFCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsYUFBYSxFQUViLFlBQVksRUFDWiwwQkFBMEIsRUFHMUIsWUFBWSxFQUVaLE1BQU0sRUFFTixRQUFRLEVBQ1IsZUFBZSxFQUNmLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFaEIsOEJBQThCLEdBS2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUNILGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLG1C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TixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBeUNGLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBeUY3QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkE0RmIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01BU0tJVE9fREVGQVVMVF9PUFRJT05TLCBNYXNraXRvT3B0aW9uc30gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQge21hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIFRVSV9EQVRFX0ZPUk1BVCxcbiAgICBUVUlfREFURV9TRVBBUkFUT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURhdGVDbGFtcCxcbiAgICBUdWlEYXRlTW9kZSxcbiAgICBUdWlEYXksXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVIsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aURpYWxvZ1NlcnZpY2UsXG4gICAgVHVpTWFya2VySGFuZGxlcixcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpTmFtZWREYXl9IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9EQVRFX01PREVfTUFTS0lUT19BREFQVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRFX1RFWFRTLFxuICAgIFRVSV9EQVRFX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlMsXG4gICAgVFVJX01PQklMRV9DQUxFTkRBUixcbiAgICB0dWlEYXRlU3RyZWFtV2l0aFRyYW5zZm9ybWVyLFxuICAgIFR1aUlucHV0RGF0ZU9wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWRhdGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZGF0ZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0RGF0ZUNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVDb21wb25lbnQpLFxuICAgICAgICB0dWlEYXRlU3RyZWFtV2l0aFRyYW5zZm9ybWVyKFRVSV9EQVRFX1ZBTFVFX1RSQU5TRk9STUVSKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aURheT5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgbW9udGg6IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbjogVHVpRGF5IHwgbnVsbCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogVHVpRGF5IHwgbnVsbCA9IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBpdGVtczogcmVhZG9ubHkgVHVpTmFtZWREYXlbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBkZWZhdWx0QWN0aXZlWWVhck1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSB0eXBlITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IGZpbGxlciQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZGF0ZVRleHRzJC5waXBlKFxuICAgICAgICBtYXAoZGF0ZVRleHRzID0+XG4gICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXRdLCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVHVpRGlhbG9nU2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dzOiBUdWlEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9NT0JJTEVfQ0FMRU5EQVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlQ2FsZW5kYXI6IFR5cGU8UmVjb3JkPHN0cmluZywgYW55Pj4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCkgcmVhZG9ubHkgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfU0VQQVJBVE9SKSByZWFkb25seSBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUilcbiAgICAgICAgb3ZlcnJpZGUgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcjogQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyPFR1aURheSB8IG51bGw+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0RGF0ZU9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNkciwgdmFsdWVUcmFuc2Zvcm1lcik7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNaW4oKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluID8/IHRoaXMub3B0aW9ucy5taW47XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWF4KCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heCA/PyB0aGlzLm9wdGlvbnMubWF4O1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgJiYgKCEhdGhpcy5tb2JpbGVDYWxlbmRhciB8fCB0aGlzLm5hdGl2ZVBpY2tlcik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVBpY2tlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5uYXRpdmVQaWNrZXI7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBUdWlJbnB1dERhdGVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBuYXRpdmVWYWx1ZSwgYWN0aXZlSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChhY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGFjdGl2ZUl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlID8gdmFsdWUudG9TdHJpbmcodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpIDogbmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQWN0aXZlWWVhck1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNbMF0gJiYgdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmRheVNhbWUodGhpcy5pdGVtc1swXS5kYXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1swXS5kaXNwbGF5RGF5O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubW9udGggfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUgfHxcbiAgICAgICAgICAgIHR1aURhdGVDbGFtcCh0aGlzLmRlZmF1bHRBY3RpdmVZZWFyTW9udGgsIHRoaXMuY29tcHV0ZWRNaW4sIHRoaXMuY29tcHV0ZWRNYXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LnZhbHVlIHx8ICcnO1xuICAgIH1cblxuICAgIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgJiYgIXRoaXMuY29tcHV0ZWRNb2JpbGU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWFzaygpOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUl0ZW1cbiAgICAgICAgICAgID8gTUFTS0lUT19ERUZBVUxUX09QVElPTlNcbiAgICAgICAgICAgIDogdGhpcy5jb21wdXRlTWFza09wdGlvbnMoXG4gICAgICAgICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgICB0aGlzLmRhdGVTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWluLFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlZE1heCxcbiAgICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlSXRlbSgpOiBUdWlOYW1lZERheSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKHZhbHVlICYmIHRoaXMuaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uZGF5LmRheVNhbWUodmFsdWUpKSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29tcHV0ZWRGaWxsZXIoZmlsbGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJdGVtID8gJycgOiBmaWxsZXI7XG4gICAgfVxuXG4gICAgLy8gbm9pbnNwZWN0aW9uIEpTVW51c2VkR2xvYmFsU3ltYm9sc1xuICAgIC8qKlxuICAgICAqIFRPRE86IFJlbW92ZSBpbiA0LjBcbiAgICAgKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBvbkljb25DbGlja30gaW5zdGVhZFxuICAgICAqL1xuICAgIG9uTW9iaWxlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25JY29uQ2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkljb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkTW9iaWxlIHx8ICF0aGlzLm1vYmlsZUNhbGVuZGFyIHx8IHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nc1xuICAgICAgICAgICAgLm9wZW48VHVpRGF5PihuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KHRoaXMubW9iaWxlQ2FsZW5kYXIsIHRoaXMuaW5qZWN0b3IpLCB7XG4gICAgICAgICAgICAgICAgc2l6ZTogJ2Z1bGxzY3JlZW4nLFxuICAgICAgICAgICAgICAgIGNsb3NlYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBzaW5nbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5taW4sXG4gICAgICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgsXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID1cbiAgICAgICAgICAgIHZhbHVlLmxlbmd0aCAhPT0gREFURV9GSUxMRVJfTEVOR1RIXG4gICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgOiBUdWlEYXkubm9ybWFsaXplUGFyc2UodmFsdWUsIHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgfVxuXG4gICAgb25EYXlDbGljayh2YWx1ZTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25Nb250aENoYW5nZShtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpRGF5IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihcbiAgICAgICAgb2xkVmFsdWU6IFR1aURheSB8IG51bGwsXG4gICAgICAgIG5ld1ZhbHVlOiBUdWlEYXkgfCBudWxsLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpTnVsbGFibGVTYW1lKG9sZFZhbHVlLCBuZXdWYWx1ZSwgKGEsIGIpID0+IGEuZGF5U2FtZShiKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVNYXNrT3B0aW9ucyhcbiAgICAgICAgbW9kZTogVHVpRGF0ZU1vZGUsXG4gICAgICAgIHNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBtaW46IFR1aURheSxcbiAgICAgICAgbWF4OiBUdWlEYXksXG4gICAgKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICByZXR1cm4gbWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIHNlcGFyYXRvcixcbiAgICAgICAgICAgIG1vZGU6IFRVSV9EQVRFX01PREVfTUFTS0lUT19BREFQVEVSW21vZGVdLFxuICAgICAgICAgICAgbWluOiBtaW4udG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgIG1heDogbWF4LnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiY2FuT3BlblwiXG4gICAgW2NvbnRlbnRdPVwiZHJvcGRvd25cIlxuICAgIFtvcGVuXT1cIm9wZW4gJiYgY2FuT3BlblwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAqdHVpTGV0PVwiZmlsbGVyJCB8IGFzeW5jIGFzIGZpbGxlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9fdGV4dGZpZWxkXCJcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbZm9jdXNhYmxlXT1cImNvbXB1dGVkRm9jdXNhYmxlXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW21hc2tpdG9dPVwiY29tcHV0ZWRNYXNrXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICAgICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEZpbGxlcl09XCJnZXRDb21wdXRlZEZpbGxlcihmaWxsZXIgfHwgJycpXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiY2FsZW5kYXJJY29uICYmIGljb25Db250ZW50XCJcbiAgICAgICAgW3ZhbHVlXT1cImNvbXB1dGVkVmFsdWVcIlxuICAgICAgICAoZm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRlbnQ+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY2FsZW5kYXJJY29uIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1kYXRlLXJhbmdlX19pY29uXCJcbiAgICAgICAgICAgIHR1aVdyYXBwZXJcbiAgICAgICAgICAgIFtjbGFzcy50LWljb25dPVwiIWNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKClcIlxuICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICpuZ0lmPVwiaXNNb2JpbGUgJiYgbmF0aXZlUGlja2VyXCJcbiAgICAgICAgICAgIHR1aURhdGVcbiAgICAgICAgICAgIGNsYXNzPVwidC1uYXRpdmUtaW5wdXRcIlxuICAgICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgI2Ryb3Bkb3duPVwicG9seW1vcnBoZXVzXCJcbiAgICAgICAgW3BvbHltb3JwaGV1c109XCJ0eXBlXCJcbiAgICA+XG4gICAgICAgIDx0dWktY2FsZW5kYXJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZV9fY2FsZW5kYXJcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICBbbWFya2VySGFuZGxlcl09XCJtYXJrZXJIYW5kbGVyXCJcbiAgICAgICAgICAgIFttYXhdPVwiY29tcHV0ZWRNYXhcIlxuICAgICAgICAgICAgW21pbl09XCJjb21wdXRlZE1pblwiXG4gICAgICAgICAgICBbbW9udGhdPVwiY29tcHV0ZWRBY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgKG1vbnRoQ2hhbmdlKT1cIm9uTW9udGhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3R1aS1jYWxlbmRhcj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPT09IDFcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGF5Q2xpY2soaXRlbXNbMF0uZGF5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbXNbMF0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19