@simpleangularcontrols/sac-common 13.0.0-rc.20 → 13.0.0-rc.21

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 (119) hide show
  1. package/controls/grid/gridcolumnbase.d.ts +5 -1
  2. package/controls/grid/gridcolumnbase.d.ts.map +1 -1
  3. package/controls/treeview/treeview.d.ts +2 -2
  4. package/controls/treeview/treeview.d.ts.map +1 -1
  5. package/esm2020/common/basedatetimecontrol.mjs +1 -1
  6. package/esm2020/common/baseinputcontrol.mjs +1 -1
  7. package/esm2020/common/baselistcontrol.mjs +1 -1
  8. package/esm2020/common/basemodelcontrol.mjs +1 -1
  9. package/esm2020/common/baseselectcontrol.mjs +1 -1
  10. package/esm2020/common/baseuploadcontrol.mjs +1 -1
  11. package/esm2020/components/browser/browser.mjs +1 -1
  12. package/esm2020/components/browser/models/browserfiledeleterequest.mjs +1 -1
  13. package/esm2020/components/browser/models/browserfilerenamerequest.mjs +1 -1
  14. package/esm2020/components/browser/models/browserfilesaverequest.mjs +1 -1
  15. package/esm2020/components/browser/models/browsernodedeleterequest.mjs +1 -1
  16. package/esm2020/components/browser/models/browsernodenewrequest.mjs +1 -1
  17. package/esm2020/components/browser/models/browsernoderenamerequest.mjs +1 -1
  18. package/esm2020/components/browser/models/browsernoderequest.mjs +1 -1
  19. package/esm2020/controls/buttons/button.mjs +1 -1
  20. package/esm2020/controls/checkbox/checkbox.mjs +1 -1
  21. package/esm2020/controls/checkbox/radiobutton.mjs +1 -1
  22. package/esm2020/controls/checkbox/radiobuttons.mjs +1 -1
  23. package/esm2020/controls/confirm/confirm.button.mjs +1 -1
  24. package/esm2020/controls/confirm/confirm.mjs +1 -1
  25. package/esm2020/controls/confirm/confirm.service.mjs +1 -1
  26. package/esm2020/controls/contextmenu/contextmenu.mjs +1 -1
  27. package/esm2020/controls/contextmenu/contextmenuanchor.mjs +1 -1
  28. package/esm2020/controls/contextmenu/contextmenucontainer.mjs +1 -1
  29. package/esm2020/controls/contextmenu/contextmenuitem.mjs +1 -1
  30. package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +1 -1
  31. package/esm2020/controls/datetime/date.mjs +1 -1
  32. package/esm2020/controls/datetime/dateselector.mjs +1 -1
  33. package/esm2020/controls/datetime/datetime.mjs +1 -1
  34. package/esm2020/controls/datetime/time.mjs +1 -1
  35. package/esm2020/controls/dialog/dialog.mjs +1 -1
  36. package/esm2020/controls/form/form.mjs +1 -1
  37. package/esm2020/controls/grid/grid.mjs +1 -1
  38. package/esm2020/controls/grid/gridbutton.mjs +1 -1
  39. package/esm2020/controls/grid/gridcolumn.mjs +1 -1
  40. package/esm2020/controls/grid/gridcolumnaction.mjs +1 -1
  41. package/esm2020/controls/grid/gridcolumnbase.mjs +16 -14
  42. package/esm2020/controls/grid/model.mjs +1 -1
  43. package/esm2020/controls/grid/paging.mjs +1 -1
  44. package/esm2020/controls/input/input.mjs +1 -1
  45. package/esm2020/controls/input/inputarea.mjs +1 -1
  46. package/esm2020/controls/input/inputcurrency.mjs +1 -1
  47. package/esm2020/controls/input/inputdecimal.mjs +1 -1
  48. package/esm2020/controls/input/inputemail.mjs +1 -1
  49. package/esm2020/controls/input/inputinteger.mjs +1 -1
  50. package/esm2020/controls/input/inputpassword.mjs +1 -1
  51. package/esm2020/controls/input/inputsearch.mjs +1 -1
  52. package/esm2020/controls/layout/formlayout.mjs +1 -1
  53. package/esm2020/controls/list/buildvaluestring.mjs +1 -1
  54. package/esm2020/controls/list/dropdown.mjs +1 -1
  55. package/esm2020/controls/list/dropdownoptions.mjs +1 -1
  56. package/esm2020/controls/list/list.module.ngfactory.mjs +1 -1
  57. package/esm2020/controls/list/listbox.mjs +1 -1
  58. package/esm2020/controls/multilanguage/multilanguageinput.mjs +1 -1
  59. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +1 -1
  60. package/esm2020/controls/static/formcontainer.mjs +1 -1
  61. package/esm2020/controls/static/staticlabel.mjs +1 -1
  62. package/esm2020/controls/tabs/tab.mjs +1 -1
  63. package/esm2020/controls/tabs/tabitem.mjs +1 -1
  64. package/esm2020/controls/tinymce/tinymce.mjs +1 -1
  65. package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +1 -1
  66. package/esm2020/controls/tooltip/tooltip.mjs +1 -1
  67. package/esm2020/controls/treeview/treeview.mjs +6 -6
  68. package/esm2020/controls/upload/dropzonemultiple.mjs +1 -1
  69. package/esm2020/controls/upload/dropzonesingle.mjs +1 -1
  70. package/esm2020/controls/upload/uploadmultiple.mjs +1 -1
  71. package/esm2020/controls/upload/uploadsingle.mjs +1 -1
  72. package/esm2020/controls/validation/validationsummary.mjs +1 -1
  73. package/esm2020/controls/wizard/wizard.mjs +1 -1
  74. package/esm2020/controls/wizard/wizarditem.mjs +1 -1
  75. package/esm2020/enums/ControlHeight.mjs +1 -1
  76. package/esm2020/enums/IconType.mjs +1 -1
  77. package/esm2020/models/languagemodel.mjs +1 -1
  78. package/esm2020/services/sac-configuration.service.mjs +1 -1
  79. package/esm2020/services/sac-filebrowser.service.mjs +1 -1
  80. package/esm2020/services/sac-icon.service.mjs +1 -1
  81. package/esm2020/services/sac-language.service.mjs +1 -1
  82. package/esm2020/services/sac-localisation.service.mjs +1 -1
  83. package/esm2020/services/sac-validationkey.service.mjs +1 -1
  84. package/esm2020/utilities/convertion.mjs +1 -1
  85. package/esm2020/utilities/datatypes.mjs +1 -1
  86. package/esm2020/utilities/enums.mjs +1 -1
  87. package/esm2020/utilities/guid.mjs +1 -1
  88. package/esm2020/utilities/interpolation.mjs +1 -1
  89. package/esm2020/utilities/popuphelper.mjs +1 -1
  90. package/esm2020/utilities/positioning.mjs +1 -1
  91. package/esm2020/utilities/testingattribute.pipe.mjs +1 -1
  92. package/esm2020/utilities/utilities.module.ngfactory.mjs +1 -1
  93. package/esm2020/validation/email.validator.mjs +1 -1
  94. package/esm2020/validation/equals.validator.mjs +1 -1
  95. package/esm2020/validation/invaliddate.validator.mjs +1 -1
  96. package/esm2020/validation/isDateValid.mjs +1 -1
  97. package/esm2020/validation/maxdate.validator.mjs +1 -1
  98. package/esm2020/validation/maxtime.validator.mjs +1 -1
  99. package/esm2020/validation/maxvalue.validator.mjs +1 -1
  100. package/esm2020/validation/mindate.validator.mjs +1 -1
  101. package/esm2020/validation/minfiles.validator.mjs +1 -1
  102. package/esm2020/validation/mintextlength.validator.mjs +1 -1
  103. package/esm2020/validation/mintime.validator.mjs +1 -1
  104. package/esm2020/validation/minvalue.validator.mjs +1 -1
  105. package/esm2020/validation/multilanguagerequired.validator.mjs +1 -1
  106. package/esm2020/validation/multilanguagerequiredany.validator.mjs +1 -1
  107. package/esm2020/validation/notequals.validator.mjs +1 -1
  108. package/esm2020/validation/pattern.validator.mjs +1 -1
  109. package/esm2020/validation/required.validator.mjs +1 -1
  110. package/esm2020/validation/validation.mjs +1 -1
  111. package/esm2020/validation/validationerrorcreator.mjs +1 -1
  112. package/esm2020/validation/validationerroritem.mjs +1 -1
  113. package/fesm2015/simpleangularcontrols-sac-common.mjs +670 -668
  114. package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
  115. package/fesm2020/simpleangularcontrols-sac-common.mjs +670 -668
  116. package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
  117. package/package.json +1 -1
  118. package/simpleangularcontrols-sac-common-13.0.0-rc.21.tgz +0 -0
  119. package/simpleangularcontrols-sac-common-13.0.0-rc.20.tgz +0 -0
@@ -21,6 +21,10 @@ export declare class SacGridColumnBaseCommon implements OnInit, OnDestroy {
21
21
  * reference to body cell
22
22
  */
23
23
  bodyElement: ElementRef;
24
+ /**
25
+ * defines the style of the row
26
+ */
27
+ contextstyle: 'none' | 'active' | 'success' | 'warning' | 'danger' | 'info' | 'primary' | 'secondary' | 'light' | 'dark';
24
28
  /**
25
29
  * Value of the cell if the type is `header`.
26
30
  */
@@ -105,6 +109,6 @@ export declare class SacGridColumnBaseCommon implements OnInit, OnDestroy {
105
109
  */
106
110
  ngOnInit(): void;
107
111
  static ɵfac: i0.ɵɵFactoryDeclaration<SacGridColumnBaseCommon, never>;
108
- static ɵdir: i0.ɵɵDirectiveDeclaration<SacGridColumnBaseCommon, never, never, { "alignment": "alignment"; "header": "header"; "name": "name"; "sortkey": "sortkey"; "type": "type"; "value": "value"; "width": "width"; }, { "rowclicked": "rowclicked"; }, never>;
112
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SacGridColumnBaseCommon, never, never, { "alignment": "alignment"; "contextstyle": "contextstyle"; "header": "header"; "name": "name"; "sortkey": "sortkey"; "type": "type"; "value": "value"; "width": "width"; }, { "rowclicked": "rowclicked"; }, never>;
109
113
  }
110
114
  //# sourceMappingURL=gridcolumnbase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gridcolumnbase.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/grid/gridcolumnbase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAEH,UAAU,EACV,YAAY,EACZ,QAAQ,EAER,SAAS,EACT,MAAM,EAGT,MAAM,eAAe,CAAC;;AAEvB;;GAEG;AACH,qBACa,uBAAwB,YAAW,MAAM,EAAE,SAAS;IA8EjD,OAAO,CAAC,IAAI;IAAiB,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAAE,OAAO,CAAC,EAAE;IA3EjF;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAEvC;;OAEG;IAEI,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAU;IAEvD;;OAEG;IAEI,WAAW,EAAE,UAAU,CAAC;IAE/B;;OAEG;IAEI,MAAM,EAAE,MAAM,CAAC;IAEtB;;OAEG;IAEI,aAAa,EAAE,UAAU,CAAC;IAEjC;;OAEG;IAEI,IAAI,EAAE,GAAG,CAAC;IAEjB;;OAEG;IAEI,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAA4B;IAEjE;;OAEG;IAEI,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;IAEI,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IAEI,KAAK,EAAE,GAAG,CAAC;IAElB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAC;IAMrB;;;;;OAKG;gBACiB,IAAI,EAAE,aAAa,EAAY,QAAQ,EAAE,QAAQ,EAAU,EAAE,EAAE,UAAU;IAQ7F;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAMD;;OAEG;IACI,WAAW;IAIlB;;OAEG;IACI,gBAAgB,IAAI,MAAM;IAajC;;OAEG;IACI,MAAM,IAAI,OAAO;IAIxB;;OAEG;IACI,QAAQ,IAAI,OAAO;IAI1B;;OAEG;IACI,QAAQ,IAAI,OAAO;IAI1B;;OAEG;IACI,cAAc,IAAI,OAAO;IAIhC;;OAEG;IACI,YAAY;IAMnB;;OAEG;IACI,WAAW,IAAI,IAAI;IAc1B;;OAEG;IACI,QAAQ;yCAxLN,uBAAuB;2CAAvB,uBAAuB;CAwMnC"}
1
+ {"version":3,"file":"gridcolumnbase.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/grid/gridcolumnbase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAEH,UAAU,EACV,YAAY,EACZ,QAAQ,EAER,SAAS,EACT,MAAM,EAGT,MAAM,eAAe,CAAC;;AAEvB;;GAEG;AACH,qBACa,uBAAwB,YAAW,MAAM,EAAE,SAAS;IA+FzD,OAAO,CAAC,IAAI;IACZ,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAC5B,OAAO,CAAC,EAAE;IA9Fd;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAEvC;;OAEG;IAEI,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAU;IAEvD;;OAEG;IAEI,WAAW,EAAE,UAAU,CAAC;IAE/B;;OAEG;IAEI,YAAY,EACb,MAAM,GACN,QAAQ,GACR,SAAS,GACT,SAAS,GACT,QAAQ,GACR,MAAM,GACN,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,CAAU;IAEtB;;OAEG;IAEI,MAAM,EAAE,MAAM,CAAC;IAEtB;;OAEG;IAEI,aAAa,EAAE,UAAU,CAAC;IAEjC;;OAEG;IAEI,IAAI,EAAE,GAAG,CAAC;IAEjB;;OAEG;IAEI,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAA4B;IAEjE;;OAEG;IAEI,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;IAEI,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IAEI,KAAK,EAAE,GAAG,CAAC;IAElB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAC;IAMrB;;;;;OAKG;gBAES,IAAI,EAAE,aAAa,EACjB,QAAQ,EAAE,QAAQ,EACpB,EAAE,EAAE,UAAU;IAS1B;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAMD;;OAEG;IACI,WAAW;IAIlB;;OAEG;IACI,gBAAgB,IAAI,MAAM;IAajC;;OAEG;IACI,MAAM,IAAI,OAAO;IAIxB;;OAEG;IACI,QAAQ,IAAI,OAAO;IAI1B;;OAEG;IACI,QAAQ,IAAI,OAAO;IAI1B;;OAEG;IACI,cAAc,IAAI,OAAO;IAIhC;;OAEG;IACI,YAAY;IAMnB;;OAEG;IACI,WAAW,IAAI,IAAI;IAc1B;;OAEG;IACI,QAAQ;yCA5MN,uBAAuB;2CAAvB,uBAAuB;CA4NnC"}
@@ -23,7 +23,7 @@ export declare class SacTreeviewCommon extends SacBaseModelControl<any> {
23
23
  /**
24
24
  * Property on the 'data' object that stores the expanded state. Property must be of type boolean. Default is 'expanded'
25
25
  */
26
- attrexanded: string;
26
+ attrexpanded: string;
27
27
  /**
28
28
  * Property for saving the HoverState on the field. If the property is not present on the node, it is automatically created and removed again. The value can usually be left at the default value unless there is a conflict with a property on the node that is required for other purposes.
29
29
  */
@@ -184,6 +184,6 @@ export declare class SacTreeviewCommon extends SacBaseModelControl<any> {
184
184
  private invertExpandedState;
185
185
  private resetSelectedState;
186
186
  static ɵfac: i0.ɵɵFactoryDeclaration<SacTreeviewCommon, [{ host: true; }, null]>;
187
- static ɵdir: i0.ɵɵDirectiveDeclaration<SacTreeviewCommon, never, never, { "attrchildren": "attrchildren"; "attrdisableaction": "attrdisableaction"; "attrexanded": "attrexanded"; "attrhoverstate": "attrhoverstate"; "attricon": "attricon"; "attrid": "attrid"; "attrlabel": "attrlabel"; "attrselected": "attrselected"; "data": "data"; "enableasynchload": "enableasynchload"; "enableellipsis": "enableellipsis"; "expandedstate": "expandedstate"; "isrequired": "isrequired"; "name": "name"; "showactionalways": "showactionalways"; "templateaction": "templateaction"; "templateicon": "templateicon"; "templatelabel": "templatelabel"; "validationmessagerequired": "validationmessagerequired"; "validationmessagesummaryrequired": "validationmessagesummaryrequired"; }, { "actionclicked": "actionclicked"; "collabsed": "collabsed"; "expanded": "expanded"; "selected": "selected"; "selectednode": "selectednode"; }, never>;
187
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SacTreeviewCommon, never, never, { "attrchildren": "attrchildren"; "attrdisableaction": "attrdisableaction"; "attrexpanded": "attrexpanded"; "attrhoverstate": "attrhoverstate"; "attricon": "attricon"; "attrid": "attrid"; "attrlabel": "attrlabel"; "attrselected": "attrselected"; "data": "data"; "enableasynchload": "enableasynchload"; "enableellipsis": "enableellipsis"; "expandedstate": "expandedstate"; "isrequired": "isrequired"; "name": "name"; "showactionalways": "showactionalways"; "templateaction": "templateaction"; "templateicon": "templateicon"; "templatelabel": "templatelabel"; "validationmessagerequired": "validationmessagerequired"; "validationmessagesummaryrequired": "validationmessagesummaryrequired"; }, { "actionclicked": "actionclicked"; "collabsed": "collabsed"; "expanded": "expanded"; "selected": "selected"; "selectednode": "selectednode"; }, never>;
188
188
  }
189
189
  //# sourceMappingURL=treeview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeview.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/treeview/treeview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"treeview.d.ts","sourceRoot":"","sources":["../../../../projects/sac-common/src/controls/treeview/treeview.ts"],"names":[],"mappings":"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"}
@@ -90,4 +90,4 @@ cov_10tnjmv4ka().s[88]++;if(value<0){cov_10tnjmv4ka().b[16][0]++;cov_10tnjmv4ka(
90
90
  * Calculates the position of the tooltip from the top
91
91
  */getPositionTop(){cov_10tnjmv4ka().f[19]++;const value=(cov_10tnjmv4ka().s[94]++,this.popupHelper.getPositionTop(this.pickerbutton,this.pickercontainer,this.elementRef,this.getArrowWidth(),this.getArrowHeight(),this.position,false));cov_10tnjmv4ka().s[95]++;this.posPopupTop=value;cov_10tnjmv4ka().s[96]++;switch(this.GetPickerPosition()){case TooltipPosition.left:cov_10tnjmv4ka().b[17][0]++;case TooltipPosition.right:cov_10tnjmv4ka().b[17][1]++;cov_10tnjmv4ka().s[97]++;this.posArrowTop=this.getPickerHeight()/2-6.5;cov_10tnjmv4ka().s[98]++;break;default:cov_10tnjmv4ka().b[17][2]++;cov_10tnjmv4ka().s[99]++;this.posArrowTop=null;cov_10tnjmv4ka().s[100]++;break;}cov_10tnjmv4ka().s[101]++;return value;}setDateTimeFormat(){cov_10tnjmv4ka().f[20]++;cov_10tnjmv4ka().s[102]++;// HACK: Add addition property to FormControl. Can be fixed if solution for ticket: https://github.com/angular/angular/issues/19686
92
92
  if(this.ngControl){cov_10tnjmv4ka().b[18][0]++;cov_10tnjmv4ka().s[103]++;this.ngControl.datetimeformatstring=this.GetDateTimeFormatString();}else{cov_10tnjmv4ka().b[18][1]++;}}}cov_10tnjmv4ka().s[104]++;SacBaseDateTimeControl.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseDateTimeControl,deps:[{token:i1.SacFormLayoutCommon},{token:i0.Injector},{token:i0.ElementRef},{token:i0.ChangeDetectorRef}],target:i0.ɵɵFactoryTarget.Directive});cov_10tnjmv4ka().s[105]++;SacBaseDateTimeControl.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacBaseDateTimeControl,inputs:{isrequired:"isrequired",placeholder:"placeholder",position:"position",validationmessagedatetimeformat:"validationmessagedatetimeformat",validationmessagedatetimeformatsummary:"validationmessagedatetimeformatsummary",validationmessagerequired:"validationmessagerequired",validationmessagerequiredsummary:"validationmessagerequiredsummary",valuestring:"valuestring"},viewQueries:[{propertyName:"iMask",first:true,predicate:IMaskDirective,descendants:true},{propertyName:"pickerarrow",first:true,predicate:["pickerarrow"],descendants:true},{propertyName:"pickerbutton",first:true,predicate:["pickerbutton"],descendants:true,static:true},{propertyName:"picker",first:true,predicate:["picker"],descendants:true}],usesInheritance:true,ngImport:i0});cov_10tnjmv4ka().s[106]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseDateTimeControl,decorators:[{type:Directive}],ctorParameters:function(){cov_10tnjmv4ka().f[21]++;cov_10tnjmv4ka().s[107]++;return[{type:i1.SacFormLayoutCommon},{type:i0.Injector},{type:i0.ElementRef},{type:i0.ChangeDetectorRef}];},propDecorators:{iMask:[{type:ViewChild,args:[IMaskDirective,{static:false}]}],isrequired:[{type:Input}],pickerarrow:[{type:ViewChild,args:['pickerarrow',{static:false}]}],pickerbutton:[{type:ViewChild,args:['pickerbutton',{static:true}]}],placeholder:[{type:Input}],position:[{type:Input}],validationmessagedatetimeformat:[{type:Input}],validationmessagedatetimeformatsummary:[{type:Input}],validationmessagerequired:[{type:Input}],validationmessagerequiredsummary:[{type:Input}],picker:[{type:ViewChild,args:['picker',{static:false}]}],valuestring:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWRhdGV0aW1lY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQXFCLFNBQVMsRUFBd0IsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7O0FBRWxDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixzQkFBdUIsU0FBUSxtQkFBeUI7SUErRzFFLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7O09BS0c7SUFDSCxZQUNJLFVBQStCLEVBQy9CLFFBQWtCLEVBQ1IsVUFBc0IsRUFDZixLQUF3QjtRQUV6QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSGxCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQTVIN0MscUJBQXFCO1FBRXJCOztXQUVHO1FBQ2MsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUU5RDs7V0FFRztRQUNPLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBTzlCOztXQUVHO1FBQ0ksb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFFekM7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ckIsbUlBQW1JO1FBQ25JLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNmLElBQUksQ0FBQyxTQUF5QyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1NBQ3pHO0lBQ0wsQ0FBQzs7bUhBNWFpQixzQkFBc0I7dUdBQXRCLHNCQUFzQix5Y0ErQjdCLGNBQWM7MkZBL0JQLHNCQUFzQjtrQkFEM0MsU0FBUzswTEFpQ0MsS0FBSztzQkFEWCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBTTVCLFVBQVU7c0JBQXpCLEtBQUs7Z0JBWUMsV0FBVztzQkFEakIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU9wQyxZQUFZO3NCQURsQixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTTNCLFdBQVc7c0JBQTFCLEtBQUs7Z0JBNEJDLFFBQVE7c0JBRGQsS0FBSztnQkFNVSwrQkFBK0I7c0JBQTlDLEtBQUs7Z0JBS1Usc0NBQXNDO3NCQUFyRCxLQUFLO2dCQU1VLHlCQUF5QjtzQkFBeEMsS0FBSztnQkFLVSxnQ0FBZ0M7c0JBQS9DLEtBQUs7Z0JBNkJLLE1BQU07c0JBRGhCLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkErQjNCLFdBQVc7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnLi4vY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQnO1xuaW1wb3J0IHsgSURhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uL2ludGVyZmFjZXMvaWRhdGV0aW1lY29udHJvbCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi91dGlsaXRpZXMvZW51bXMnO1xuaW1wb3J0IHsgUG9wVXBIZWxwZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvcG9wdXBoZWxwZXInO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQ3JlYXRlVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uZXJyb3JjcmVhdG9yJztcbmltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuL2Jhc2Vtb2RlbGNvbnRyb2wnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJTWFza0RpcmVjdGl2ZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG4vKipcbiAqIEJhc2UgS2xhc3NlIGbDvHIgRGF0ZS9UaW1lIENvbnRyb2xzXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0Jhc2VEYXRlVGltZUNvbnRyb2wgZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPERhdGU+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogSGVscGVyIGNsYXNzIHRvIGRpc3BsYXkgdG9vbHRpcCBvbiBjb3JyZWN0IHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cEhlbHBlcjogUG9wVXBIZWxwZXIgPSBuZXcgUG9wVXBIZWxwZXIoKTtcblxuICAgIC8qKlxuICAgICAqIGRhcyBwcm9wZXJ0eSBlbnRoaWVsdCBkYXMgVmFsdWUgYWxzIHN0cmluZy4gRGVmYXVsdCBpc3QgJydcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3ZhbHVlQXNTdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5lcnMgZm9yIHRoZSBkYXRldGltZSBwaWNrZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGlja2VyY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGZvciBlbnVtIGluIEFuZ3VsYXIgSFRNTCB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBUb29sdGlwUG9zaXRpb24gPSBUb29sdGlwUG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmllcnQgb2IgZGVyIERhdGUgU2VsZWN0b3IgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgX3Nob3dzZWxlY3RvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIGltYXNrIGRpcmVjdGl2ZSBpbiBhbnkgZGF0ZXRpbWUgY29udHJvbHNcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKElNYXNrRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgaU1hc2s6IElNYXNrRGlyZWN0aXZlPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmllcnQgZGFzIENvbnRyb2wgYWxzIFJlcXVpcmVkXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGlzcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE1vbWVudCBKUyBJbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XG5cbiAgICAvKipcbiAgICAgKiBBcnJvdyBJdGVtIG9mIFBpY2tlciBFbGVtZW50LiBSZXF1aXJlZCB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIGFycm93IGNvcnJlY3RseVxuICAgICAqL1xuICAgIHB1YmxpYyBwaWNrZXJQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbjtcbiAgICBAVmlld0NoaWxkKCdwaWNrZXJhcnJvdycsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBwaWNrZXJhcnJvdzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciBjb250ZW50IChlLmcuIGljb24pIG9uIHdoaWNoIHRoZSB0b29sdGlwIGlzIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdwaWNrZXJidXR0b24nLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBwaWNrZXJidXR0b246IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogVGV4dEJveCBQbGFjZWhvbGRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zQXJyb3dMZWZ0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXJyb3cgYXQgdGhlIHRvcFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd1RvcDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgcGlja2VyIGF0IHRoZSBsZWZ0XG4gICAgICovXG4gICAgcHVibGljIHBvc1BvcHVwTGVmdDogbnVtYmVyID0gMDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXQgdGhlIHRvcFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NQb3B1cFRvcDogbnVtYmVyID0gMDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBkYXRldGltZSBwaWNrZXIuIFZhbHVlczogbGVmdHx0b3B8cmlnaHR8Ym90dG9tfGF1dG9cbiAgICAgKlxuICAgICAqIFZhbHVlICdhdXRvJyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbm90aGVyIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBvc2l0aW9uOiBzdHJpbmcgPSAnYm90dG9tZW5kfHRvcGVuZCc7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgRGF0ZVRpbWVGb3JtYXQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JEYXRldGltZUZvcm1hdDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBEYXRlVGltZUZvcm1hdCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnk6IHN0cmluZyA9XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeURhdGV0aW1lRm9ybWF0O1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIFJlcXVpcmVkIGJlaSBDb250cm9sXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQ6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgaW4gVmFsaWRhdGlvbiBTdW1tYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRzdW1tYXJ5OiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZDtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1sYXlvdXQgU2FjRm9ybUxheW91dENvbW1vbiB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgcmVmZXJlbmNlIHRvIGh0bWwgZWxlbWVudFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtbGF5b3V0LCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIFNldHRlciBmb3IgdGhlIG5hbWUgb2YgdGhlIGNvbnRhaW5lciBmb3IgdGhlIHRvb2x0aXAuIElzIHJlcXVpcmVkIGFzIHRoZSB0b29sdGlwIGNhbiBiZSBoaWRkZW4gdmlhIG5nSWYuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgncGlja2VyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHNldCBwaWNrZXIocGlja2VyOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGlmIChwaWNrZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwaWNrZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lciA9IHBpY2tlcjtcbiAgICAgICAgdGhpcy5vbkNvbnRlbnRDaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0b29sdG9wKCk6IEVsZW1lbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJjb250YWluZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZ2V0dGVyIGbDvHIgdmFsdWVzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHZhbHVlc3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVBc1N0cmluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLm1vbWVudC51dGModGhpcy52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS5sb2NhbCgpLmZvcm1hdCh0aGlzLkdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGFzIElucHV0IGJla29tbXQgZGFzIHZhbHVlIHZvbiB0eXAgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlc3RyaW5nKHY6IHN0cmluZykge1xuICAgICAgICB0aGlzLl92YWx1ZUFzU3RyaW5nID0gdjtcbiAgICAgICAgbGV0IGRhdGU6IG1vbWVudF8uTW9tZW50ID0gdGhpcy5tb21lbnQodiwgW3RoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKV0sIHRydWUpO1xuXG4gICAgICAgIGRhdGUgPSB0aGlzLk1vZGlmeVBhcnNlZERhdGVUaW1lVmFsdWUoZGF0ZSkudXRjKCk7XG5cbiAgICAgICAgaWYgKGRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZS50b0RhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdXBkYXRlIGltYWtzIHJlZmVyZW5jZVxuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5pTWFzay5tYXNrUmVmLnVwZGF0ZUNvbnRyb2woKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBEaWUgbWV0aG9kZSByZXR1cm5zIGRhdGVUaW1lIGluIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBHZXREYXRlVGltZUZvcm1hdFN0cmluZygpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcFxuICAgICAqL1xuICAgIHB1YmxpYyBHZXRQaWNrZXJQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXREaXNwbGF5UG9zaXRpb24oXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmJ1dHRvbixcbiAgICAgICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd1dpZHRoKCksXG4gICAgICAgICAgICB0aGlzLmdldEFycm93SGVpZ2h0KCksXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaWUgbWV0aG9kZSBtb2RpZml6aWVydCBkYXMgZWluZ2VnZWJlbmUgVmFsdWUgdm9uIHR5cCBNb21lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgTW9kaWZ5UGFyc2VkRGF0ZVRpbWVWYWx1ZSh2OiBtb21lbnRfLk1vbWVudCk6IG1vbWVudF8uTW9tZW50O1xuXG4gICAgLyoqXG4gICAgICogSlNPTiBEYXRlIFN0cmluZyBpbiBlaW4gVVRDIERhdGVUaW1lIE9iamVjdCBrb252ZXJ0aWVyZW4sIHdlbGNoZXMgdm9tIENvbnRyb2wgdmVyd2VuZGV0ZSB3ZXJkZW4ga2FublxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREYXRlKHRpbWVzdGFtcCk6IG1vbWVudC5Nb21lbnQge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBkYXRlLmdldFVUQ01vbnRoKCk7XG4gICAgICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0VVRDRGF0ZSgpO1xuICAgICAgICBjb25zdCBob3VycyA9IGRhdGUuZ2V0VVRDSG91cnMoKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0VVRDTWludXRlcygpO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gZGF0ZS5nZXRVVENTZWNvbmRzKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubW9tZW50KERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIGdldFBpY2tlckhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cEhlaWdodCh0aGlzLnBpY2tlcmNvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBpY2tlclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQaWNrZXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3B1cFdpZHRoKHRoaXMucGlja2VyY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIFJlbW92ZSBQaWNrZXIgaWYgaXMgdmlzaWJsZVxuICAgICAgICBpZiAodGhpcy5fc2hvd3NlbGVjdG9yICYmIHRoaXMucGlja2VyY29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMucGlja2VyY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVW5yZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXQgRXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuc2V0RGF0ZVRpbWVGb3JtYXQoKTtcblxuICAgICAgICAvLyBSZWdpc3RlciBFdmVudCBMaXN0ZW5lclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldHp0IGRhcyB2YWx1ZSB2b24gdHlwIHN0cmluZyB6dSBwcm9wZXJ0eSB2YWx1ZXN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXRWYWx1ZVN0cmluZyh2OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy52YWx1ZXN0cmluZyA9IHY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlc3RyaW5nICE9PSBudWxsICYmIHRoaXMudmFsdWVzdHJpbmcuaW5kZXhPZignXycpID49IDApIHtcbiAgICAgICAgICAgIGVycm9yID0gQ3JlYXRlVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICAgICAgICdpbnZhbGlkdHlwZScsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0LFxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5pc1ZhbGlkRGF0ZShcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdCxcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdHN1bW1hcnlcbiAgICAgICAgKShjKTtcblxuICAgICAgICBpZiAodGhpcy5pc3JlcXVpcmVkKSB7XG4gICAgICAgICAgICBlcnJvciA9IFZhbGlkYXRpb24ucmVxdWlyZWQodGhpcy52YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkLCB0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRzdW1tYXJ5KShjKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPdmVyd3JpdGUgV3JpdGVWYWx1ZSB0byBTZXQgY29ycmVjdCBEYXRlIE9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gUmVzZXQgVmFsdWUgU3RyaW5nLCBkYW1pdCBiZWltIFVwZGF0ZSBkZXMgTW9kZWxzIGF1Y2ggZGFzIElucHV0IEZlbGQgZ2VsZWVydCB3aXJkLlxuICAgICAgICAgICAgdGhpcy5fdmFsdWVBc1N0cmluZyA9ICcnO1xuICAgICAgICAgICAgLy8gU2V0IEludGVybmFsIFByb3BlcnR5XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuZ2V0RGF0ZSh2YWx1ZSkudG9EYXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICBwcm90ZWN0ZWQgZ2V0QXJyb3dIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyYXJyb3cgPyB0aGlzLnBpY2tlcmFycm93Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0QXJyb3dXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJhcnJvdyA/IHRoaXMucGlja2VyYXJyb3cubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSBsaW5rc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRQb3NpdGlvbkxlZnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uTGVmdChcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHBvcC11cHMgbmV2ZXIgYXBwZWFyIG91dHNpZGUgdGhlIHZpc2libGUgYXJlYSBvbiB0aGUgbGVmdFxuICAgICAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICAgICAgICB0aGlzLnBvc1BvcHVwTGVmdCA9IDU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvc1BvcHVwTGVmdCA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFBpY2tlclBvc2l0aW9uKCkpIHtcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IHRoaXMuZ2V0UGlja2VyV2lkdGgoKSAvIDIgLSAtdGhpcy5nZXRBcnJvd1dpZHRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3BlbmQ6XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFBpY2tlcldpZHRoKCkgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSAvIDIgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcHVwSGVscGVyLmdldENvbnRhaW5lcldpZHRoKHRoaXMucGlja2VyYnV0dG9uLCBmYWxzZSkgLyAyO1xuXG4gICAgICAgICAgICAgICAgLy8gQ29ycmVjdGlvbiBieSBBcnJvdyBpZiBwb3B1cCBpcyBvdXRzaWRlIHRoZSBsZWZ0IG1hcmdpblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd0xlZnQgLT0gdmFsdWUgKiAtMSArIDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9wXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFBvc2l0aW9uVG9wKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wb3B1cEhlbHBlci5nZXRQb3NpdGlvblRvcChcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnBvc1BvcHVwVG9wID0gdmFsdWU7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFBpY2tlclBvc2l0aW9uKCkpIHtcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmxlZnQ6XG4gICAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5yaWdodDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93VG9wID0gdGhpcy5nZXRQaWNrZXJIZWlnaHQoKSAvIDIgLSA2LjU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBtZXRob2QgaWYgY29udGVudCBoYXMgY2hhbmdlZCBhbmQgcHJvcG9ydGlvbnMgbmVlZCB0byBiZSByZXNldCBpbiB0aGUgVUkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvbkNvbnRlbnRDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2libGVcbiAgICAgICAgaWYgKCF0aGlzLl9zaG93c2VsZWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRQb3NpdGlvbkxlZnQoKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zaXRpb25Ub3AoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0RGF0ZVRpbWVGb3JtYXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEhBQ0s6IEFkZCBhZGRpdGlvbiBwcm9wZXJ0eSB0byBGb3JtQ29udHJvbC4gQ2FuIGJlIGZpeGVkIGlmIHNvbHV0aW9uIGZvciB0aWNrZXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE5Njg2XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgKHRoaXMubmdDb250cm9sIGFzIHVua25vd24gYXMgSURhdGVUaW1lQ29udHJvbCkuZGF0ZXRpbWVmb3JtYXRzdHJpbmcgPSB0aGlzLkdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
93
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMTB0bmptdjRrYSIsImFjdHVhbENvdmVyYWdlIiwiVG9vbHRpcFBvc2l0aW9uIiwiUG9wVXBIZWxwZXIiLCJWYWxpZGF0aW9uIiwiQ3JlYXRlVmFsaWRhdGlvbkVycm9yIiwiU2FjQmFzZU1vZGVsQ29udHJvbCIsIkRpcmVjdGl2ZSIsIklucHV0IiwiVmlld0NoaWxkIiwiSU1hc2tEaXJlY3RpdmUiLCJtb21lbnRfIiwiU2FjQmFzZURhdGVUaW1lQ29udHJvbCIsImNvbnN0cnVjdG9yIiwiZm9ybWxheW91dCIsImluamVjdG9yIiwiZWxlbWVudFJlZiIsImNkUmVmIiwiZiIsInMiLCJwb3B1cEhlbHBlciIsIl92YWx1ZUFzU3RyaW5nIiwiX3Nob3dzZWxlY3RvciIsImlzcmVxdWlyZWQiLCJtb21lbnQiLCJwaWNrZXJQb3NpdGlvbiIsInBsYWNlaG9sZGVyIiwicG9zQXJyb3dMZWZ0IiwicG9zQXJyb3dUb3AiLCJwb3NQb3B1cExlZnQiLCJwb3NQb3B1cFRvcCIsInBvc2l0aW9uIiwidmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdCIsInZhbGlkYXRpb25LZXlTZXJ2aWNlIiwiVmFsaWRhdGlvbkVycm9yRGF0ZXRpbWVGb3JtYXQiLCJ2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlEYXRldGltZUZvcm1hdCIsInZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQiLCJWYWxpZGF0aW9uRXJyb3JSZXF1aXJlZCIsInZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRzdW1tYXJ5IiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkIiwib25Db250ZW50Q2hhbmdlIiwiYiIsInNldFRpbWVvdXQiLCJnZXRQb3NpdGlvbkxlZnQiLCJnZXRQb3NpdGlvblRvcCIsInBpY2tlciIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwibmF0aXZlRWxlbWVudCIsInBpY2tlcmNvbnRhaW5lciIsImRldGVjdENoYW5nZXMiLCJ0b29sdG9wIiwidmFsdWVzdHJpbmciLCJ2YWx1ZSIsImRhdGUiLCJ1dGMiLCJsb2NhbCIsImZvcm1hdCIsIkdldERhdGVUaW1lRm9ybWF0U3RyaW5nIiwidiIsIk1vZGlmeVBhcnNlZERhdGVUaW1lVmFsdWUiLCJpc1ZhbGlkIiwidG9EYXRlIiwiaU1hc2siLCJtYXNrUmVmIiwidXBkYXRlQ29udHJvbCIsIkdldFBpY2tlclBvc2l0aW9uIiwiZ2V0RGlzcGxheVBvc2l0aW9uIiwicGlja2VyYnV0dG9uIiwiZ2V0QXJyb3dXaWR0aCIsImdldEFycm93SGVpZ2h0IiwiZ2V0RGF0ZSIsInRpbWVzdGFtcCIsIkRhdGUiLCJ5ZWFyIiwiZ2V0VVRDRnVsbFllYXIiLCJtb250aCIsImdldFVUQ01vbnRoIiwiZGF5IiwiZ2V0VVRDRGF0ZSIsImhvdXJzIiwiZ2V0VVRDSG91cnMiLCJtaW51dGVzIiwiZ2V0VVRDTWludXRlcyIsInNlY29uZHMiLCJnZXRVVENTZWNvbmRzIiwiVVRDIiwiZ2V0UGlja2VySGVpZ2h0IiwiZ2V0UG9wdXBIZWlnaHQiLCJnZXRQaWNrZXJXaWR0aCIsImdldFBvcHVwV2lkdGgiLCJuZ09uRGVzdHJveSIsInJlbW92ZUNoaWxkIiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm5nT25Jbml0Iiwic2V0RGF0ZVRpbWVGb3JtYXQiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0VmFsdWVTdHJpbmciLCJ2YWxpZGF0ZURhdGEiLCJjIiwiZXJyb3IiLCJpbmRleE9mIiwiaXNWYWxpZERhdGUiLCJyZXF1aXJlZCIsIndyaXRlVmFsdWUiLCJfdmFsdWUiLCJwaWNrZXJhcnJvdyIsIm9mZnNldEhlaWdodCIsIm9mZnNldFdpZHRoIiwidG9wIiwiYm90dG9tIiwidG9wZW5kIiwiYm90dG9tZW5kIiwiZ2V0Q29udGFpbmVyV2lkdGgiLCJsZWZ0IiwicmlnaHQiLCJuZ0NvbnRyb2wiLCJkYXRldGltZWZvcm1hdHN0cmluZyIsImRlcHMiLCJ0b2tlbiIsImkxIiwiU2FjRm9ybUxheW91dENvbW1vbiIsImkwIiwiSW5qZWN0b3IiLCJFbGVtZW50UmVmIiwiQ2hhbmdlRGV0ZWN0b3JSZWYiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsInZpZXdRdWVyaWVzIiwicHJvcGVydHlOYW1lIiwiZmlyc3QiLCJwcmVkaWNhdGUiLCJkZXNjZW5kYW50cyIsInN0YXRpYyIsInVzZXNJbmhlcml0YW5jZSIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9jb250cm9scy9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBJRGF0ZVRpbWVDb250cm9sIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9lbnVtcyc7XG5pbXBvcnQgeyBQb3BVcEhlbHBlciB9IGZyb20gJy4uL3V0aWxpdGllcy9wb3B1cGhlbHBlcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDcmVhdGVWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb25lcnJvcmNyZWF0b3InO1xuaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4vYmFzZW1vZGVsY29udHJvbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbi8qKlxuICogQmFzZSBLbGFzc2UgZsO8ciBEYXRlL1RpbWUgQ29udHJvbHNcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQmFzZURhdGVUaW1lQ29udHJvbCBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8RGF0ZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgY2xhc3MgdG8gZGlzcGxheSB0b29sdGlwIG9uIGNvcnJlY3QgcG9zaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwSGVscGVyOiBQb3BVcEhlbHBlciA9IG5ldyBQb3BVcEhlbHBlcigpO1xuXG4gICAgLyoqXG4gICAgICogZGFzIHByb3BlcnR5IGVudGhpZWx0IGRhcyBWYWx1ZSBhbHMgc3RyaW5nLiBEZWZhdWx0IGlzdCAnJ1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdmFsdWVBc1N0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVycyBmb3IgdGhlIGRhdGV0aW1lIHBpY2tlclxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwaWNrZXJjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIGVudW0gaW4gQW5ndWxhciBIVE1MIHRlbXBsYXRlXG4gICAgICovXG4gICAgcHVibGljIFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBvYiBkZXIgRGF0ZSBTZWxlY3RvciBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBfc2hvd3NlbGVjdG9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gaW1hc2sgZGlyZWN0aXZlIGluIGFueSBkYXRldGltZSBjb250cm9sc1xuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoSU1hc2tEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBpTWFzazogSU1hc2tEaXJlY3RpdmU8YW55PjtcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkYXMgQ29udHJvbCBhbHMgUmVxdWlyZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIEluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIG1vbWVudCA9IG1vbWVudF9bJ2RlZmF1bHQnXTtcblxuICAgIC8qKlxuICAgICAqIEFycm93IEl0ZW0gb2YgUGlja2VyIEVsZW1lbnQuIFJlcXVpcmVkIHRvIHNldCB0aGUgcG9zaXRpb24gb2YgYXJyb3cgY29ycmVjdGx5XG4gICAgICovXG4gICAgcHVibGljIHBpY2tlclBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmFycm93JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHBpY2tlcmFycm93OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIGNvbnRlbnQgKGUuZy4gaWNvbikgb24gd2hpY2ggdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmJ1dHRvbicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIHBpY2tlcmJ1dHRvbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBUZXh0Qm94IFBsYWNlaG9sZGVyXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd0xlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXQgdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zUG9wdXBMZWZ0OiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc1BvcHVwVG9wOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIGRhdGV0aW1lIHBpY2tlci4gVmFsdWVzOiBsZWZ0fHRvcHxyaWdodHxib3R0b218YXV0b1xuICAgICAqXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdib3R0b21lbmR8dG9wZW5kJztcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBEYXRlVGltZUZvcm1hdCBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0OiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0O1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIERhdGVUaW1lRm9ybWF0IGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeTogc3RyaW5nID1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnk6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogU2V0dGVyIGZvciB0aGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgdG9vbHRpcC4gSXMgcmVxdWlyZWQgYXMgdGhlIHRvb2x0aXAgY2FuIGJlIGhpZGRlbiB2aWEgbmdJZi5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdwaWNrZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHBpY2tlcihwaWNrZXI6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgaWYgKHBpY2tlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBpY2tlci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyID0gcGlja2VyO1xuICAgICAgICB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXR0ZXIgZsO8ciB2YWx1ZXN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsdWVzdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUFzU3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMubW9tZW50LnV0Yyh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmxvY2FsKCkuZm9ybWF0KHRoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEYXMgSW5wdXQgYmVrb21tdCBkYXMgdmFsdWUgdm9uIHR5cCBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWVzdHJpbmcodjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlQXNTdHJpbmcgPSB2O1xuICAgICAgICBsZXQgZGF0ZTogbW9tZW50Xy5Nb21lbnQgPSB0aGlzLm1vbWVudCh2LCBbdGhpcy5HZXREYXRlVGltZUZvcm1hdFN0cmluZygpXSwgdHJ1ZSk7XG5cbiAgICAgICAgZGF0ZSA9IHRoaXMuTW9kaWZ5UGFyc2VkRGF0ZVRpbWVWYWx1ZShkYXRlKS51dGMoKTtcblxuICAgICAgICBpZiAoZGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB1cGRhdGUgaW1ha3MgcmVmZXJlbmNlXG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmlNYXNrLm1hc2tSZWYudXBkYXRlQ29udHJvbCgpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIHJldHVybnMgZGF0ZVRpbWUgaW4gc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IEdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIEdldFBpY2tlclBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIG1vZGlmaXppZXJ0IGRhcyBlaW5nZWdlYmVuZSBWYWx1ZSB2b24gdHlwIE1vbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKHY6IG1vbWVudF8uTW9tZW50KTogbW9tZW50Xy5Nb21lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBKU09OIERhdGUgU3RyaW5nIGluIGVpbiBVVEMgRGF0ZVRpbWUgT2JqZWN0IGtvbnZlcnRpZXJlbiwgd2VsY2hlcyB2b20gQ29udHJvbCB2ZXJ3ZW5kZXRlIHdlcmRlbiBrYW5uXG4gICAgICovXG4gICAgcHVibGljIGdldERhdGUodGltZXN0YW1wKTogbW9tZW50Lk1vbWVudCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCBtb250aCA9IGRhdGUuZ2V0VVRDTW9udGgoKTtcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXRVVENEYXRlKCk7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gZGF0ZS5nZXRVVENNaW51dGVzKCk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBkYXRlLmdldFVUQ1NlY29uZHMoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tb21lbnQoRGF0ZS5VVEMoeWVhciwgbW9udGgsIGRheSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGlja2VySGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwSGVpZ2h0KHRoaXMucGlja2VyY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgcGlja2VyXG4gICAgICovXG4gICAgcHVibGljIGdldFBpY2tlcldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwV2lkdGgodGhpcy5waWNrZXJjb250YWluZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gUmVtb3ZlIFBpY2tlciBpZiBpcyB2aXNpYmxlXG4gICAgICAgIGlmICh0aGlzLl9zaG93c2VsZWN0b3IgJiYgdGhpcy5waWNrZXJjb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5waWNrZXJjb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdCBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuXG4gICAgICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0enQgZGFzIHZhbHVlIHZvbiB0eXAgc3RyaW5nIHp1IHByb3BlcnR5IHZhbHVlc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIHNldFZhbHVlU3RyaW5nKHY6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZhbHVlc3RyaW5nID0gdjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWVzdHJpbmcgIT09IG51bGwgJiYgdGhpcy52YWx1ZXN0cmluZy5pbmRleE9mKCdfJykgPj0gMCkge1xuICAgICAgICAgICAgZXJyb3IgPSBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICAgICAgJ2ludmFsaWR0eXBlJyxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLmlzVmFsaWREYXRlKFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0LFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICApKGMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZCh0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnkpKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE92ZXJ3cml0ZSBXcml0ZVZhbHVlIHRvIFNldCBjb3JyZWN0IERhdGUgT2JqZWN0XG4gICAgICovXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBSZXNldCBWYWx1ZSBTdHJpbmcsIGRhbWl0IGJlaW0gVXBkYXRlIGRlcyBNb2RlbHMgYXVjaCBkYXMgSW5wdXQgRmVsZCBnZWxlZXJ0IHdpcmQuXG4gICAgICAgICAgICB0aGlzLl92YWx1ZUFzU3RyaW5nID0gJyc7XG4gICAgICAgICAgICAvLyBTZXQgSW50ZXJuYWwgUHJvcGVydHlcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5nZXREYXRlKHZhbHVlKS50b0RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd0hlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJhcnJvdyA/IHRoaXMucGlja2VyYXJyb3cubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmFycm93ID8gdGhpcy5waWNrZXJhcnJvdy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIGxpbmtzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFBvc2l0aW9uTGVmdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICAgICAgdGhpcy5waWNrZXJidXR0b24sXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd0hlaWdodCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgcG9wLXVwcyBuZXZlciBhcHBlYXIgb3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIG9uIHRoZSBsZWZ0XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMucG9zUG9wdXBMZWZ0ID0gNTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9zUG9wdXBMZWZ0ID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0UGlja2VyUG9zaXRpb24oKSkge1xuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wOlxuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uYm90dG9tOlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gdGhpcy5nZXRQaWNrZXJXaWR0aCgpIC8gMiAtIC10aGlzLmdldEFycm93V2lkdGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UGlja2VyV2lkdGgoKSAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpIC8gMiAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wdXBIZWxwZXIuZ2V0Q29udGFpbmVyV2lkdGgodGhpcy5waWNrZXJidXR0b24sIGZhbHNlKSAvIDI7XG5cbiAgICAgICAgICAgICAgICAvLyBDb3JyZWN0aW9uIGJ5IEFycm93IGlmIHBvcHVwIGlzIG91dHNpZGUgdGhlIGxlZnQgbWFyZ2luXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCAtPSB2YWx1ZSAqIC0xICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b3BcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0UG9zaXRpb25Ub3AoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uVG9wKFxuICAgICAgICAgICAgdGhpcy5waWNrZXJidXR0b24sXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd0hlaWdodCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9zUG9wdXBUb3AgPSB2YWx1ZTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0UGlja2VyUG9zaXRpb24oKSkge1xuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24ubGVmdDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSB0aGlzLmdldFBpY2tlckhlaWdodCgpIC8gMiAtIDYuNTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd1RvcCA9IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIG1ldGhvZCBpZiBjb250ZW50IGhhcyBjaGFuZ2VkIGFuZCBwcm9wb3J0aW9ucyBuZWVkIHRvIGJlIHJlc2V0IGluIHRoZSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uQ29udGVudENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJsZVxuICAgICAgICBpZiAoIXRoaXMuX3Nob3dzZWxlY3Rvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldFBvc2l0aW9uTGVmdCgpO1xuICAgICAgICAgICAgdGhpcy5nZXRQb3NpdGlvblRvcCgpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzZXREYXRlVGltZUZvcm1hdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gSEFDSzogQWRkIGFkZGl0aW9uIHByb3BlcnR5IHRvIEZvcm1Db250cm9sLiBDYW4gYmUgZml4ZWQgaWYgc29sdXRpb24gZm9yIHRpY2tldDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTk2ODZcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICAodGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyBJRGF0ZVRpbWVDb250cm9sKS5kYXRldGltZWZvcm1hdHN0cmluZyA9IHRoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiJrdG9DQWlJSTtBQUFBQSxjQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxjQUFBLEVBQUFELGNBQUEsR0EvSEosT0FBU0UsZUFBZSxLQUFRLG9CQUFvQixDQUNwRCxPQUFTQyxXQUFXLEtBQVEsMEJBQTBCLENBQ3RELE9BQVNDLFVBQVUsS0FBUSxlQUFlLENBQzFDLE9BQVNDLHFCQUFxQixLQUFRLHNDQUFzQyxDQUM1RSxPQUFTQyxtQkFBbUIsS0FBUSxvQkFBb0IsQ0FDeEQsT0FBNEJDLFNBQVMsQ0FBd0JDLEtBQUssQ0FBcUJDLFNBQVMsS0FBUSxlQUFlLENBRXZILE9BQVNDLGNBQWMsS0FBUSxlQUFlLENBQzlDLE1BQU8sR0FBSyxDQUFBQyxPQUFPLEtBQU0sUUFBUSxDLGtGQUVqQzs7R0FJQSxNQUFNLE1BQWdCLENBQUFDLHNCQUF1QixRQUFRLENBQUFOLG1CQUF5QixDQStHMUU7QUFFQTtBQUVBOzs7OztPQU1BTyxZQUNJQyxVQUErQixDQUMvQkMsUUFBa0IsQ0FDUkMsVUFBc0IsQ0FDZkMsS0FBd0Is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
93
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMTB0bmptdjRrYSIsImFjdHVhbENvdmVyYWdlIiwiVG9vbHRpcFBvc2l0aW9uIiwiUG9wVXBIZWxwZXIiLCJWYWxpZGF0aW9uIiwiQ3JlYXRlVmFsaWRhdGlvbkVycm9yIiwiU2FjQmFzZU1vZGVsQ29udHJvbCIsIkRpcmVjdGl2ZSIsIklucHV0IiwiVmlld0NoaWxkIiwiSU1hc2tEaXJlY3RpdmUiLCJtb21lbnRfIiwiU2FjQmFzZURhdGVUaW1lQ29udHJvbCIsImNvbnN0cnVjdG9yIiwiZm9ybWxheW91dCIsImluamVjdG9yIiwiZWxlbWVudFJlZiIsImNkUmVmIiwiZiIsInMiLCJwb3B1cEhlbHBlciIsIl92YWx1ZUFzU3RyaW5nIiwiX3Nob3dzZWxlY3RvciIsImlzcmVxdWlyZWQiLCJtb21lbnQiLCJwaWNrZXJQb3NpdGlvbiIsInBsYWNlaG9sZGVyIiwicG9zQXJyb3dMZWZ0IiwicG9zQXJyb3dUb3AiLCJwb3NQb3B1cExlZnQiLCJwb3NQb3B1cFRvcCIsInBvc2l0aW9uIiwidmFsaWRhdGlvbm1lc3NhZ2VkYXRldGltZWZvcm1hdCIsInZhbGlkYXRpb25LZXlTZXJ2aWNlIiwiVmFsaWRhdGlvbkVycm9yRGF0ZXRpbWVGb3JtYXQiLCJ2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlEYXRldGltZUZvcm1hdCIsInZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQiLCJWYWxpZGF0aW9uRXJyb3JSZXF1aXJlZCIsInZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWRzdW1tYXJ5IiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkIiwib25Db250ZW50Q2hhbmdlIiwiYiIsInNldFRpbWVvdXQiLCJnZXRQb3NpdGlvbkxlZnQiLCJnZXRQb3NpdGlvblRvcCIsInBpY2tlciIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwibmF0aXZlRWxlbWVudCIsInBpY2tlcmNvbnRhaW5lciIsImRldGVjdENoYW5nZXMiLCJ0b29sdG9wIiwidmFsdWVzdHJpbmciLCJ2YWx1ZSIsImRhdGUiLCJ1dGMiLCJsb2NhbCIsImZvcm1hdCIsIkdldERhdGVUaW1lRm9ybWF0U3RyaW5nIiwidiIsIk1vZGlmeVBhcnNlZERhdGVUaW1lVmFsdWUiLCJpc1ZhbGlkIiwidG9EYXRlIiwiaU1hc2siLCJtYXNrUmVmIiwidXBkYXRlQ29udHJvbCIsIkdldFBpY2tlclBvc2l0aW9uIiwiZ2V0RGlzcGxheVBvc2l0aW9uIiwicGlja2VyYnV0dG9uIiwiZ2V0QXJyb3dXaWR0aCIsImdldEFycm93SGVpZ2h0IiwiZ2V0RGF0ZSIsInRpbWVzdGFtcCIsIkRhdGUiLCJ5ZWFyIiwiZ2V0VVRDRnVsbFllYXIiLCJtb250aCIsImdldFVUQ01vbnRoIiwiZGF5IiwiZ2V0VVRDRGF0ZSIsImhvdXJzIiwiZ2V0VVRDSG91cnMiLCJtaW51dGVzIiwiZ2V0VVRDTWludXRlcyIsInNlY29uZHMiLCJnZXRVVENTZWNvbmRzIiwiVVRDIiwiZ2V0UGlja2VySGVpZ2h0IiwiZ2V0UG9wdXBIZWlnaHQiLCJnZXRQaWNrZXJXaWR0aCIsImdldFBvcHVwV2lkdGgiLCJuZ09uRGVzdHJveSIsInJlbW92ZUNoaWxkIiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm5nT25Jbml0Iiwic2V0RGF0ZVRpbWVGb3JtYXQiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0VmFsdWVTdHJpbmciLCJ2YWxpZGF0ZURhdGEiLCJjIiwiZXJyb3IiLCJpbmRleE9mIiwiaXNWYWxpZERhdGUiLCJyZXF1aXJlZCIsIndyaXRlVmFsdWUiLCJfdmFsdWUiLCJwaWNrZXJhcnJvdyIsIm9mZnNldEhlaWdodCIsIm9mZnNldFdpZHRoIiwidG9wIiwiYm90dG9tIiwidG9wZW5kIiwiYm90dG9tZW5kIiwiZ2V0Q29udGFpbmVyV2lkdGgiLCJsZWZ0IiwicmlnaHQiLCJuZ0NvbnRyb2wiLCJkYXRldGltZWZvcm1hdHN0cmluZyIsImRlcHMiLCJ0b2tlbiIsImkxIiwiU2FjRm9ybUxheW91dENvbW1vbiIsImkwIiwiSW5qZWN0b3IiLCJFbGVtZW50UmVmIiwiQ2hhbmdlRGV0ZWN0b3JSZWYiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsInZpZXdRdWVyaWVzIiwicHJvcGVydHlOYW1lIiwiZmlyc3QiLCJwcmVkaWNhdGUiLCJkZXNjZW5kYW50cyIsInN0YXRpYyIsInVzZXNJbmhlcml0YW5jZSIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlZGF0ZXRpbWVjb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICcuLi9jb250cm9scy9sYXlvdXQvZm9ybWxheW91dCc7XG5pbXBvcnQgeyBJRGF0ZVRpbWVDb250cm9sIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pZGF0ZXRpbWVjb250cm9sJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9lbnVtcyc7XG5pbXBvcnQgeyBQb3BVcEhlbHBlciB9IGZyb20gJy4uL3V0aWxpdGllcy9wb3B1cGhlbHBlcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDcmVhdGVWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb25lcnJvcmNyZWF0b3InO1xuaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4vYmFzZW1vZGVsY29udHJvbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbi8qKlxuICogQmFzZSBLbGFzc2UgZsO8ciBEYXRlL1RpbWUgQ29udHJvbHNcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQmFzZURhdGVUaW1lQ29udHJvbCBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8RGF0ZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgY2xhc3MgdG8gZGlzcGxheSB0b29sdGlwIG9uIGNvcnJlY3QgcG9zaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwSGVscGVyOiBQb3BVcEhlbHBlciA9IG5ldyBQb3BVcEhlbHBlcigpO1xuXG4gICAgLyoqXG4gICAgICogZGFzIHByb3BlcnR5IGVudGhpZWx0IGRhcyBWYWx1ZSBhbHMgc3RyaW5nLiBEZWZhdWx0IGlzdCAnJ1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdmFsdWVBc1N0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbmVycyBmb3IgdGhlIGRhdGV0aW1lIHBpY2tlclxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwaWNrZXJjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIGVudW0gaW4gQW5ndWxhciBIVE1MIHRlbXBsYXRlXG4gICAgICovXG4gICAgcHVibGljIFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBvYiBkZXIgRGF0ZSBTZWxlY3RvciBhbmdlemVpZ3Qgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBfc2hvd3NlbGVjdG9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gaW1hc2sgZGlyZWN0aXZlIGluIGFueSBkYXRldGltZSBjb250cm9sc1xuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoSU1hc2tEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBpTWFzazogSU1hc2tEaXJlY3RpdmU8YW55PjtcblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCBkYXMgQ29udHJvbCBhbHMgUmVxdWlyZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogTW9tZW50IEpTIEluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIG1vbWVudCA9IG1vbWVudF9bJ2RlZmF1bHQnXTtcblxuICAgIC8qKlxuICAgICAqIEFycm93IEl0ZW0gb2YgUGlja2VyIEVsZW1lbnQuIFJlcXVpcmVkIHRvIHNldCB0aGUgcG9zaXRpb24gb2YgYXJyb3cgY29ycmVjdGx5XG4gICAgICovXG4gICAgcHVibGljIHBpY2tlclBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmFycm93JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHBpY2tlcmFycm93OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjb250YWluZXIgZm9yIGNvbnRlbnQgKGUuZy4gaWNvbikgb24gd2hpY2ggdGhlIHRvb2x0aXAgaXMgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlcmJ1dHRvbicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIHBpY2tlcmJ1dHRvbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiBUZXh0Qm94IFBsYWNlaG9sZGVyXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgbGVmdFxuICAgICAqL1xuICAgIHB1YmxpYyBwb3NBcnJvd0xlZnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhcnJvdyBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc0Fycm93VG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwaWNrZXIgYXQgdGhlIGxlZnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9zUG9wdXBMZWZ0OiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIHBpY2tlciBhdCB0aGUgdG9wXG4gICAgICovXG4gICAgcHVibGljIHBvc1BvcHVwVG9wOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIGRhdGV0aW1lIHBpY2tlci4gVmFsdWVzOiBsZWZ0fHRvcHxyaWdodHxib3R0b218YXV0b1xuICAgICAqXG4gICAgICogVmFsdWUgJ2F1dG8nIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFub3RoZXIgdmFsdWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcG9zaXRpb246IHN0cmluZyA9ICdib3R0b21lbmR8dG9wZW5kJztcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBEYXRlVGltZUZvcm1hdCBiZWkgQ29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0OiBzdHJpbmcgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0O1xuXG4gICAgLyoqXG4gICAgICogUmVzb3VyY2UgS2V5IGbDvHIgVmFsaWRhdGlvbiBNZXNzYWdlIERhdGVUaW1lRm9ybWF0IGluIFZhbGlkYXRpb24gU3VtbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeTogc3RyaW5nID1cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnk6IHN0cmluZyA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybWxheW91dCBTYWNGb3JtTGF5b3V0Q29tbW9uIHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiByZWZlcmVuY2UgdG8gaHRtbCBlbGVtZW50XG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGZvcm1sYXlvdXQ6IFNhY0Zvcm1MYXlvdXRDb21tb24sXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1sYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogU2V0dGVyIGZvciB0aGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgdG9vbHRpcC4gSXMgcmVxdWlyZWQgYXMgdGhlIHRvb2x0aXAgY2FuIGJlIGhpZGRlbiB2aWEgbmdJZi5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdwaWNrZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgc2V0IHBpY2tlcihwaWNrZXI6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgaWYgKHBpY2tlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBpY2tlci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGlja2VyY29udGFpbmVyID0gcGlja2VyO1xuICAgICAgICB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXR0ZXIgZsO8ciB2YWx1ZXN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdmFsdWVzdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUFzU3RyaW5nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMubW9tZW50LnV0Yyh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmxvY2FsKCkuZm9ybWF0KHRoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEYXMgSW5wdXQgYmVrb21tdCBkYXMgdmFsdWUgdm9uIHR5cCBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWVzdHJpbmcodjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlQXNTdHJpbmcgPSB2O1xuICAgICAgICBsZXQgZGF0ZTogbW9tZW50Xy5Nb21lbnQgPSB0aGlzLm1vbWVudCh2LCBbdGhpcy5HZXREYXRlVGltZUZvcm1hdFN0cmluZygpXSwgdHJ1ZSk7XG5cbiAgICAgICAgZGF0ZSA9IHRoaXMuTW9kaWZ5UGFyc2VkRGF0ZVRpbWVWYWx1ZShkYXRlKS51dGMoKTtcblxuICAgICAgICBpZiAoZGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB1cGRhdGUgaW1ha3MgcmVmZXJlbmNlXG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmlNYXNrLm1hc2tSZWYudXBkYXRlQ29udHJvbCgpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIHJldHVybnMgZGF0ZVRpbWUgaW4gc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IEdldERhdGVUaW1lRm9ybWF0U3RyaW5nKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwXG4gICAgICovXG4gICAgcHVibGljIEdldFBpY2tlclBvc2l0aW9uKCk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldERpc3BsYXlQb3NpdGlvbihcbiAgICAgICAgICAgIHRoaXMucGlja2VyYnV0dG9uLFxuICAgICAgICAgICAgdGhpcy5waWNrZXJjb250YWluZXIsXG4gICAgICAgICAgICB0aGlzLmdldEFycm93V2lkdGgoKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dIZWlnaHQoKSxcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpZSBtZXRob2RlIG1vZGlmaXppZXJ0IGRhcyBlaW5nZWdlYmVuZSBWYWx1ZSB2b24gdHlwIE1vbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBNb2RpZnlQYXJzZWREYXRlVGltZVZhbHVlKHY6IG1vbWVudF8uTW9tZW50KTogbW9tZW50Xy5Nb21lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBKU09OIERhdGUgU3RyaW5nIGluIGVpbiBVVEMgRGF0ZVRpbWUgT2JqZWN0IGtvbnZlcnRpZXJlbiwgd2VsY2hlcyB2b20gQ29udHJvbCB2ZXJ3ZW5kZXRlIHdlcmRlbiBrYW5uXG4gICAgICovXG4gICAgcHVibGljIGdldERhdGUodGltZXN0YW1wKTogbW9tZW50Lk1vbWVudCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCBtb250aCA9IGRhdGUuZ2V0VVRDTW9udGgoKTtcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXRVVENEYXRlKCk7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gZGF0ZS5nZXRVVENNaW51dGVzKCk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBkYXRlLmdldFVUQ1NlY29uZHMoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tb21lbnQoRGF0ZS5VVEMoeWVhciwgbW9udGgsIGRheSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgb2YgdGhlIHRvb2x0aXBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGlja2VySGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwSGVpZ2h0KHRoaXMucGlja2VyY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgcGlja2VyXG4gICAgICovXG4gICAgcHVibGljIGdldFBpY2tlcldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcHVwSGVscGVyLmdldFBvcHVwV2lkdGgodGhpcy5waWNrZXJjb250YWluZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gUmVtb3ZlIFBpY2tlciBpZiBpcyB2aXNpYmxlXG4gICAgICAgIGlmICh0aGlzLl9zaG93c2VsZWN0b3IgJiYgdGhpcy5waWNrZXJjb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5waWNrZXJjb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdCBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuXG4gICAgICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0enQgZGFzIHZhbHVlIHZvbiB0eXAgc3RyaW5nIHp1IHByb3BlcnR5IHZhbHVlc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIHNldFZhbHVlU3RyaW5nKHY6IHN0cmluZykge1xuICAgICAgICB0aGlzLnZhbHVlc3RyaW5nID0gdjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3JcbiAgICAgKi9cbiAgICBwdWJsaWMgdmFsaWRhdGVEYXRhKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgbGV0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWVzdHJpbmcgIT09IG51bGwgJiYgdGhpcy52YWx1ZXN0cmluZy5pbmRleE9mKCdfJykgPj0gMCkge1xuICAgICAgICAgICAgZXJyb3IgPSBDcmVhdGVWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICAgICAgJ2ludmFsaWR0eXBlJyxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25tZXNzYWdlZGF0ZXRpbWVmb3JtYXQsXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZXJyb3IgPSBWYWxpZGF0aW9uLmlzVmFsaWREYXRlKFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0LFxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9ubWVzc2FnZWRhdGV0aW1lZm9ybWF0c3VtbWFyeVxuICAgICAgICApKGMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZCh0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZHN1bW1hcnkpKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE92ZXJ3cml0ZSBXcml0ZVZhbHVlIHRvIFNldCBjb3JyZWN0IERhdGUgT2JqZWN0XG4gICAgICovXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBSZXNldCBWYWx1ZSBTdHJpbmcsIGRhbWl0IGJlaW0gVXBkYXRlIGRlcyBNb2RlbHMgYXVjaCBkYXMgSW5wdXQgRmVsZCBnZWxlZXJ0IHdpcmQuXG4gICAgICAgICAgICB0aGlzLl92YWx1ZUFzU3RyaW5nID0gJyc7XG4gICAgICAgICAgICAvLyBTZXQgSW50ZXJuYWwgUHJvcGVydHlcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5nZXREYXRlKHZhbHVlKS50b0RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIE1ldGhvZHNcblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd0hlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJhcnJvdyA/IHRoaXMucGlja2VyYXJyb3cubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRBcnJvd1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlcmFycm93ID8gdGhpcy5waWNrZXJhcnJvdy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIGxpbmtzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFBvc2l0aW9uTGVmdCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucG9wdXBIZWxwZXIuZ2V0UG9zaXRpb25MZWZ0KFxuICAgICAgICAgICAgdGhpcy5waWNrZXJidXR0b24sXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd0hlaWdodCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgcG9wLXVwcyBuZXZlciBhcHBlYXIgb3V0c2lkZSB0aGUgdmlzaWJsZSBhcmVhIG9uIHRoZSBsZWZ0XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMucG9zUG9wdXBMZWZ0ID0gNTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9zUG9wdXBMZWZ0ID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0UGlja2VyUG9zaXRpb24oKSkge1xuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wOlxuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24uYm90dG9tOlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gdGhpcy5nZXRQaWNrZXJXaWR0aCgpIC8gMiAtIC10aGlzLmdldEFycm93V2lkdGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcGVuZDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZDpcbiAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UGlja2VyV2lkdGgoKSAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpIC8gMiAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wdXBIZWxwZXIuZ2V0Q29udGFpbmVyV2lkdGgodGhpcy5waWNrZXJidXR0b24sIGZhbHNlKSAvIDI7XG5cbiAgICAgICAgICAgICAgICAvLyBDb3JyZWN0aW9uIGJ5IEFycm93IGlmIHBvcHVwIGlzIG91dHNpZGUgdGhlIGxlZnQgbWFyZ2luXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc0Fycm93TGVmdCAtPSB2YWx1ZSAqIC0xICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dMZWZ0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b3BcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0UG9zaXRpb25Ub3AoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBvcHVwSGVscGVyLmdldFBvc2l0aW9uVG9wKFxuICAgICAgICAgICAgdGhpcy5waWNrZXJidXR0b24sXG4gICAgICAgICAgICB0aGlzLnBpY2tlcmNvbnRhaW5lcixcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgIHRoaXMuZ2V0QXJyb3dXaWR0aCgpLFxuICAgICAgICAgICAgdGhpcy5nZXRBcnJvd0hlaWdodCgpLFxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9zUG9wdXBUb3AgPSB2YWx1ZTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0UGlja2VyUG9zaXRpb24oKSkge1xuICAgICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24ubGVmdDpcbiAgICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxuICAgICAgICAgICAgICAgIHRoaXMucG9zQXJyb3dUb3AgPSB0aGlzLmdldFBpY2tlckhlaWdodCgpIC8gMiAtIDYuNTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NBcnJvd1RvcCA9IG51bGw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgTWV0aG9kc1xuXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIG1ldGhvZCBpZiBjb250ZW50IGhhcyBjaGFuZ2VkIGFuZCBwcm9wb3J0aW9ucyBuZWVkIHRvIGJlIHJlc2V0IGluIHRoZSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uQ29udGVudENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJsZVxuICAgICAgICBpZiAoIXRoaXMuX3Nob3dzZWxlY3Rvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldFBvc2l0aW9uTGVmdCgpO1xuICAgICAgICAgICAgdGhpcy5nZXRQb3NpdGlvblRvcCgpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzZXREYXRlVGltZUZvcm1hdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gSEFDSzogQWRkIGFkZGl0aW9uIHByb3BlcnR5IHRvIEZvcm1Db250cm9sLiBDYW4gYmUgZml4ZWQgaWYgc29sdXRpb24gZm9yIHRpY2tldDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTk2ODZcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICAodGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyBJRGF0ZVRpbWVDb250cm9sKS5kYXRldGltZWZvcm1hdHN0cmluZyA9IHRoaXMuR2V0RGF0ZVRpbWVGb3JtYXRTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiJrdG9DQWlJSTtBQUFBQSxjQUFBLFNBQUFBLENBQUEsU0FBQUMsY0FBQSxXQUFBQSxjQUFBLEVBQUFELGNBQUEsR0EvSEosT0FBU0UsZUFBZSxLQUFRLG9CQUFvQixDQUNwRCxPQUFTQyxXQUFXLEtBQVEsMEJBQTBCLENBQ3RELE9BQVNDLFVBQVUsS0FBUSxlQUFlLENBQzFDLE9BQVNDLHFCQUFxQixLQUFRLHNDQUFzQyxDQUM1RSxPQUFTQyxtQkFBbUIsS0FBUSxvQkFBb0IsQ0FDeEQsT0FBNEJDLFNBQVMsQ0FBd0JDLEtBQUssQ0FBcUJDLFNBQVMsS0FBUSxlQUFlLENBRXZILE9BQVNDLGNBQWMsS0FBUSxlQUFlLENBQzlDLE1BQU8sR0FBSyxDQUFBQyxPQUFPLEtBQU0sUUFBUSxDLGtGQUVqQzs7R0FJQSxNQUFNLE1BQWdCLENBQUFDLHNCQUF1QixRQUFRLENBQUFOLG1CQUF5QixDQStHMUU7QUFFQTtBQUVBOzs7OztPQU1BTyxZQUNJQyxVQUErQixDQUMvQkMsUUFBa0IsQ0FDUkMsVUFBc0IsQ0FDZkMsS0FBd0Is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
@@ -24,4 +24,4 @@ cov_2lmg11pv7g().s[9]++;if(this.allowedchars.indexOf(character)<0){cov_2lmg11pv7
24
24
  /**
25
25
  * Methode validiert wenn ein Drück-Event passiert
26
26
  */OnKeyPressValidation(position,character){cov_2lmg11pv7g().f[2]++;cov_2lmg11pv7g().s[14]++;return true;}}cov_2lmg11pv7g().s[15]++;SacInputBase.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacInputBase,deps:null,target:i0.ɵɵFactoryTarget.Directive});cov_2lmg11pv7g().s[16]++;SacInputBase.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacInputBase,inputs:{allowedchars:"allowedchars",disableautocomplete:"disableautocomplete",isrequired:"isrequired",placeholder:"placeholder",readonly:"readonly",regexvalidation:"regexvalidation"},usesInheritance:true,ngImport:i0});cov_2lmg11pv7g().s[17]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacInputBase,decorators:[{type:Directive}],propDecorators:{allowedchars:[{type:Input}],disableautocomplete:[{type:Input}],isrequired:[{type:Input}],placeholder:[{type:Input}],readonly:[{type:Input}],regexvalidation:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWlucHV0Y29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbW1vbi9iYXNlaW5wdXRjb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV6RDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsWUFBb0IsU0FBUSxtQkFBMEI7SUFENUU7O1FBRUUscUJBQXFCO1FBRXJCOztXQUVHO1FBQ2EsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUM7O1dBRUc7UUFDYSx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckQ7O1dBRUc7UUFDYSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBVyxJQUFJLENBQUM7UUFDM0M7O1dBRUc7UUFDYSxhQUFRLEdBQVksS0FBSyxDQUFDO0tBNkMzQztJQXZDQyx3QkFBd0I7SUFFeEIseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEtBQW9CO1FBQ3BDLHNDQUFzQztRQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsaUJBQWlCO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDNUIsbUVBQW1FO1FBQ25FLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtRQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBRXRELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUN0RSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsNEJBQTRCO0lBRTVCLDRCQUE0QjtJQUU1Qjs7T0FFRztJQUNPLG9CQUFvQixDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDaEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzt5R0FoRW1CLFlBQVk7NkZBQVosWUFBWTsyRkFBWixZQUFZO2tCQURqQyxTQUFTOzhCQU9RLFlBQVk7c0JBQTNCLEtBQUs7Z0JBSVUsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUlVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBSVUsV0FBVztzQkFBMUIsS0FBSztnQkFJVSxRQUFRO3NCQUF2QixLQUFLO2dCQUlVLGVBQWU7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNCYXNlTW9kZWxDb250cm9sIH0gZnJvbSAnLi9iYXNlbW9kZWxjb250cm9sJztcblxuLyoqXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNJbnB1dEJhc2UuIEV4dGVuZGVzIFNhY0Jhc2VNb2RlbENvbnRyb2xcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjSW5wdXRCYXNlPFZBTFVFPiBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8VkFMVUU+IHtcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIEVybGF1YnRlIFplaWNoZW4gYmVpIGRlciBFaW5nYWJlXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dlZGNoYXJzOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIEF1dG9maWxsIGFrdGl2aWVyZW4gb2RlciBkZWFrdGl2aWVyZW5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGFzIENvbnRyb2wgYWxzIFJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogVGV4dEJveCBQbGFjZWhvbGRlclxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuICAvKipcbiAgICogTWFjaHQgZGFzIElucHV0IHJlYWRvbmx5XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIERlZmluaWVydCBkYXMgRmVsZCBhbHMgdmFsaWQvaW52YWxpZCB2b24gZWluZ2VnZWJlbmVuIHJlZ2V4LXBhdHRlcm5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByZWdleHZhbGlkYXRpb246IHN0cmluZztcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IElucHV0IHdlbm4gS2V5UHJlc3MtRXZlbnQgcGFzc2llcnRcbiAgICovXG4gIHB1YmxpYyBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogQm9vbGVhbiB7XG4gICAgLy8gQ2FuY2VsIHdlbm4gX2FsbG93ZWRDaGFycyBsZWVyIGlzdC5cbiAgICBpZiAodGhpcy5hbGxvd2VkY2hhcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBJbnB1dFxuICAgIGNvbnN0IGNoYXJhY3RlciA9IGV2ZW50LmtleTtcbiAgICAvLyBaZWljaGVuIGluIEFsbG93ZWQgQ2hhcnMgbmljaHQgZ2VmdW5kZW4sIEV2ZW50IG5pY2h0IHdlaXRlcmdlYmVuXG4gICAgaWYgKHRoaXMuYWxsb3dlZGNoYXJzLmluZGV4T2YoY2hhcmFjdGVyKSA8IDApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRDb250cm9sID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuT25LZXlQcmVzc1ZhbGlkYXRpb24oaW5wdXRDb250cm9sLnNlbGVjdGlvblN0YXJ0LCBjaGFyYWN0ZXIpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IHdlbm4gZWluIERyw7xjay1FdmVudCBwYXNzaWVydFxuICAgKi9cbiAgcHJvdGVjdGVkIE9uS2V5UHJlc3NWYWxpZGF0aW9uKHBvc2l0aW9uOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG59XG4iXX0=
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXJlY3RpdmUiLCJJbnB1dCIsIlNhY0Jhc2VNb2RlbENvbnRyb2wiLCJTYWNJbnB1dEJhc2UiLCJjb25zdHJ1Y3RvciIsImNvdl8ybG1nMTFwdjdnIiwiZiIsInMiLCJhbGxvd2VkY2hhcnMiLCJkaXNhYmxlYXV0b2NvbXBsZXRlIiwiaXNyZXF1aXJlZCIsInBsYWNlaG9sZGVyIiwicmVhZG9ubHkiLCJvbktleVByZXNzIiwiZXZlbnQiLCJsZW5ndGgiLCJiIiwiY2hhcmFjdGVyIiwia2V5IiwiaW5kZXhPZiIsInByZXZlbnREZWZhdWx0IiwiaW5wdXRDb250cm9sIiwidGFyZ2V0IiwiT25LZXlQcmVzc1ZhbGlkYXRpb24iLCJzZWxlY3Rpb25TdGFydCIsInBvc2l0aW9uIiwiZGVwcyIsImkwIiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJyZWdleHZhbGlkYXRpb24iLCJ1c2VzSW5oZXJpdGFuY2UiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21tb24vYmFzZWlucHV0Y29udHJvbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNCYXNlTW9kZWxDb250cm9sIH0gZnJvbSAnLi9iYXNlbW9kZWxjb250cm9sJztcblxuLyoqXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNJbnB1dEJhc2UuIEV4dGVuZGVzIFNhY0Jhc2VNb2RlbENvbnRyb2xcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjSW5wdXRCYXNlPFZBTFVFPiBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8VkFMVUU+IHtcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIEVybGF1YnRlIFplaWNoZW4gYmVpIGRlciBFaW5nYWJlXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dlZGNoYXJzOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIEF1dG9maWxsIGFrdGl2aWVyZW4gb2RlciBkZWFrdGl2aWVyZW5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGFzIENvbnRyb2wgYWxzIFJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogVGV4dEJveCBQbGFjZWhvbGRlclxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuICAvKipcbiAgICogTWFjaHQgZGFzIElucHV0IHJlYWRvbmx5XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIERlZmluaWVydCBkYXMgRmVsZCBhbHMgdmFsaWQvaW52YWxpZCB2b24gZWluZ2VnZWJlbmVuIHJlZ2V4LXBhdHRlcm5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByZWdleHZhbGlkYXRpb246IHN0cmluZztcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IElucHV0IHdlbm4gS2V5UHJlc3MtRXZlbnQgcGFzc2llcnRcbiAgICovXG4gIHB1YmxpYyBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogQm9vbGVhbiB7XG4gICAgLy8gQ2FuY2VsIHdlbm4gX2FsbG93ZWRDaGFycyBsZWVyIGlzdC5cbiAgICBpZiAodGhpcy5hbGxvd2VkY2hhcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBJbnB1dFxuICAgIGNvbnN0IGNoYXJhY3RlciA9IGV2ZW50LmtleTtcbiAgICAvLyBaZWljaGVuIGluIEFsbG93ZWQgQ2hhcnMgbmljaHQgZ2VmdW5kZW4sIEV2ZW50IG5pY2h0IHdlaXRlcmdlYmVuXG4gICAgaWYgKHRoaXMuYWxsb3dlZGNoYXJzLmluZGV4T2YoY2hhcmFjdGVyKSA8IDApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRDb250cm9sID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuT25LZXlQcmVzc1ZhbGlkYXRpb24oaW5wdXRDb250cm9sLnNlbGVjdGlvblN0YXJ0LCBjaGFyYWN0ZXIpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IHdlbm4gZWluIERyw7xjay1FdmVudCBwYXNzaWVydFxuICAgKi9cbiAgcHJvdGVjdGVkIE9uS2V5UHJlc3NWYWxpZGF0aW9uKHBvc2l0aW9uOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiI7MkZBQUEsT0FBU0EsU0FBUyxDQUFFQyxLQUFLLEtBQVEsZUFBZSxDQUNoRCxPQUFTQyxtQkFBbUIsS0FBUSxvQkFBb0IsQyxpQ0FFeEQ7O0dBSUEsTUFBTSxNQUFnQixDQUFBQyxZQUFvQixRQUFRLENBQUFELG1CQUEwQixDQUQ1RUUsWUFBQSxFQUFBQyxjQUFBLEdBQUFDLENBQUEsTUFBQUQsY0FBQSxHQUFBRSxDQUFBLE0sb0JBRUU7QUFFQTs7V0FBQUYsY0FB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
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXJlY3RpdmUiLCJJbnB1dCIsIlNhY0Jhc2VNb2RlbENvbnRyb2wiLCJTYWNJbnB1dEJhc2UiLCJjb25zdHJ1Y3RvciIsImNvdl8ybG1nMTFwdjdnIiwiZiIsInMiLCJhbGxvd2VkY2hhcnMiLCJkaXNhYmxlYXV0b2NvbXBsZXRlIiwiaXNyZXF1aXJlZCIsInBsYWNlaG9sZGVyIiwicmVhZG9ubHkiLCJvbktleVByZXNzIiwiZXZlbnQiLCJsZW5ndGgiLCJiIiwiY2hhcmFjdGVyIiwia2V5IiwiaW5kZXhPZiIsInByZXZlbnREZWZhdWx0IiwiaW5wdXRDb250cm9sIiwidGFyZ2V0IiwiT25LZXlQcmVzc1ZhbGlkYXRpb24iLCJzZWxlY3Rpb25TdGFydCIsInBvc2l0aW9uIiwiZGVwcyIsImkwIiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJyZWdleHZhbGlkYXRpb24iLCJ1c2VzSW5oZXJpdGFuY2UiLCJuZ0ltcG9ydCIsImRlY29yYXRvcnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb21tb24vYmFzZWlucHV0Y29udHJvbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNCYXNlTW9kZWxDb250cm9sIH0gZnJvbSAnLi9iYXNlbW9kZWxjb250cm9sJztcblxuLyoqXG4gKiBBYnN0cmFjdCBLbGFzc2UgZsO8ciBTYWNJbnB1dEJhc2UuIEV4dGVuZGVzIFNhY0Jhc2VNb2RlbENvbnRyb2xcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjSW5wdXRCYXNlPFZBTFVFPiBleHRlbmRzIFNhY0Jhc2VNb2RlbENvbnRyb2w8VkFMVUU+IHtcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIEVybGF1YnRlIFplaWNoZW4gYmVpIGRlciBFaW5nYWJlXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dlZGNoYXJzOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIEF1dG9maWxsIGFrdGl2aWVyZW4gb2RlciBkZWFrdGl2aWVyZW5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGFzIENvbnRyb2wgYWxzIFJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogVGV4dEJveCBQbGFjZWhvbGRlclxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xuICAvKipcbiAgICogTWFjaHQgZGFzIElucHV0IHJlYWRvbmx5XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIERlZmluaWVydCBkYXMgRmVsZCBhbHMgdmFsaWQvaW52YWxpZCB2b24gZWluZ2VnZWJlbmVuIHJlZ2V4LXBhdHRlcm5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByZWdleHZhbGlkYXRpb246IHN0cmluZztcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IElucHV0IHdlbm4gS2V5UHJlc3MtRXZlbnQgcGFzc2llcnRcbiAgICovXG4gIHB1YmxpYyBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogQm9vbGVhbiB7XG4gICAgLy8gQ2FuY2VsIHdlbm4gX2FsbG93ZWRDaGFycyBsZWVyIGlzdC5cbiAgICBpZiAodGhpcy5hbGxvd2VkY2hhcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBJbnB1dFxuICAgIGNvbnN0IGNoYXJhY3RlciA9IGV2ZW50LmtleTtcbiAgICAvLyBaZWljaGVuIGluIEFsbG93ZWQgQ2hhcnMgbmljaHQgZ2VmdW5kZW4sIEV2ZW50IG5pY2h0IHdlaXRlcmdlYmVuXG4gICAgaWYgKHRoaXMuYWxsb3dlZGNoYXJzLmluZGV4T2YoY2hhcmFjdGVyKSA8IDApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRDb250cm9sID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuT25LZXlQcmVzc1ZhbGlkYXRpb24oaW5wdXRDb250cm9sLnNlbGVjdGlvblN0YXJ0LCBjaGFyYWN0ZXIpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgdmFsaWRpZXJ0IHdlbm4gZWluIERyw7xjay1FdmVudCBwYXNzaWVydFxuICAgKi9cbiAgcHJvdGVjdGVkIE9uS2V5UHJlc3NWYWxpZGF0aW9uKHBvc2l0aW9uOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG59XG4iXSwibWFwcGluZ3MiOiI7MkZBQUEsT0FBU0EsU0FBUyxDQUFFQyxLQUFLLEtBQVEsZUFBZSxDQUNoRCxPQUFTQyxtQkFBbUIsS0FBUSxvQkFBb0IsQyxpQ0FFeEQ7O0dBSUEsTUFBTSxNQUFnQixDQUFBQyxZQUFvQixRQUFRLENBQUFELG1CQUEwQixDQUQ1RUUsWUFBQSxFQUFBQyxjQUFBLEdBQUFDLENBQUEsS0FBQUQsQ0FBQSxpQkFBQUUsQ0FBQSxNLG9CQUVFO0FBRUE7O1dBQUFGLGNB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
@@ -16,4 +16,4 @@ cov_1xjmnuugiw=function(){return actualCoverage;};}return actualCoverage;}cov_1x
16
16
  */get options(){cov_1xjmnuugiw().f[1]++;cov_1xjmnuugiw().s[6]++;return this._options;}/**
17
17
  * setter für options
18
18
  */set options(val){cov_1xjmnuugiw().f[2]++;cov_1xjmnuugiw().s[7]++;this._options=val;}}cov_1xjmnuugiw().s[8]++;SacBaseListControl.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseListControl,deps:null,target:i0.ɵɵFactoryTarget.Directive});cov_1xjmnuugiw().s[9]++;SacBaseListControl.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacBaseListControl,inputs:{optionlabeltemplate:"optionlabeltemplate",optionlabel:"optionlabel",optionvalue:"optionvalue",optionenabled:"optionenabled",isrequired:"isrequired",width:"width",options:"options"},usesInheritance:true,ngImport:i0});cov_1xjmnuugiw().s[10]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacBaseListControl,decorators:[{type:Directive}],propDecorators:{optionlabeltemplate:[{type:Input}],optionlabel:[{type:Input}],optionvalue:[{type:Input}],optionenabled:[{type:Input}],isrequired:[{type:Input}],width:[{type:Input}],options:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWxpc3Rjb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tbW9uL2Jhc2VsaXN0Y29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFekQ7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGtCQUVwQixTQUFRLG1CQUEwQjtJQUhwQzs7UUFlRTs7V0FFRztRQUNNLGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBRXZDOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxPQUFPLENBQUM7UUFFdkM7O1dBRUc7UUFDTSxrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUVwQzs7V0FFRztRQUNNLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFckM7O1dBRUc7UUFDTSxVQUFLLEdBQVcsSUFBSSxDQUFDO0tBZS9CO0lBYkM7O09BRUc7SUFDSCxJQUFhLE9BQU87UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksT0FBTyxDQUFDLEdBQVU7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDdEIsQ0FBQzs7K0dBbkRtQixrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTOzhCQWFSLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuL2Jhc2Vtb2RlbGNvbnRyb2wnO1xuXG4vKipcbiAqIEFic3RyYWN0IEtsYXNzZSBmw7xyIFNhY0Jhc2VMaXN0Q29udHJvbC4gRXh0ZW5kZXMgU2FjQmFzZU1vZGVsQ29udHJvbFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNCYXNlTGlzdENvbnRyb2w8XG4gIFZBTFVFXG4+IGV4dGVuZHMgU2FjQmFzZU1vZGVsQ29udHJvbDxWQUxVRT4ge1xuICAvKipcbiAgICogb3B0aW9ucy4gVHlwOiBhbnlcbiAgICovXG4gIF9vcHRpb25zOiBhbnlbXTtcblxuICAvKipcbiAgICogVGVtcGxhdGUgZsO8ciBWYWx1ZSBFbGVtZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBvcHRpb25sYWJlbHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGFzIExhYmVsIGbDvHIgZGFzIE9wdGlvbiBFbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSBvcHRpb25sYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcblxuICAvKipcbiAgICogRGVmaW5pZXJ0IGRlbiBXZXJ0IGbDvHIgZGFzIE9wdGlvbiBFbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSBvcHRpb252YWx1ZTogc3RyaW5nID0gJ3ZhbHVlJztcblxuICAvKipcbiAgICogRGVmaW5pZXJ0LCBvYiBkYXMgT3B0aW9uIEVsZW1lbnQgYWt0aXYgaXN0XG4gICAqL1xuICBASW5wdXQoKSBvcHRpb25lbmFibGVkOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogRGVmaW5pZXJ0IGRhcyBDb250cm9sIGFscyBSZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KCkgaXNyZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTdHlsZSBCcmVpdGUgZsO8ciBMaXN0IENvbnRyb2wgRWxlbWVudFxuICAgKi9cbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9IG51bGw7XG5cbiAgLyoqXG4gICAqIElucHV0IHByb3BlcnR5IGbDvHIgb3B0aW9uc1xuICAgKi9cbiAgQElucHV0KCkgZ2V0IG9wdGlvbnMoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIHNldHRlciBmw7xyIG9wdGlvbnNcbiAgICovXG4gIHNldCBvcHRpb25zKHZhbDogYW55W10pIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsO1xuICB9XG59XG4iXX0=
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMXhqbW51dWdpdyIsImFjdHVhbENvdmVyYWdlIiwiRGlyZWN0aXZlIiwiSW5wdXQiLCJTYWNCYXNlTW9kZWxDb250cm9sIiwiU2FjQmFzZUxpc3RDb250cm9sIiwiY29uc3RydWN0b3IiLCJmIiwicyIsIm9wdGlvbmxhYmVsIiwib3B0aW9udmFsdWUiLCJvcHRpb25lbmFibGVkIiwiaXNyZXF1aXJlZCIsIndpZHRoIiwib3B0aW9ucyIsIl9vcHRpb25zIiwidmFsIiwiZGVwcyIsInRhcmdldCIsImkwIiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJvcHRpb25sYWJlbHRlbXBsYXRlIiwidXNlc0luaGVyaXRhbmNlIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tbW9uL2Jhc2VsaXN0Y29udHJvbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4vYmFzZW1vZGVsY29udHJvbCc7XG5cbi8qKlxuICogQWJzdHJhY3QgS2xhc3NlIGbDvHIgU2FjQmFzZUxpc3RDb250cm9sLiBFeHRlbmRlcyBTYWNCYXNlTW9kZWxDb250cm9sXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0Jhc2VMaXN0Q29udHJvbDxcbiAgVkFMVUVcbj4gZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPFZBTFVFPiB7XG4gIC8qKlxuICAgKiBvcHRpb25zLiBUeXA6IGFueVxuICAgKi9cbiAgX29wdGlvbnM6IGFueVtdO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBmw7xyIFZhbHVlIEVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIG9wdGlvbmxhYmVsdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIERlZmluaWVydCBkYXMgTGFiZWwgZsO8ciBkYXMgT3B0aW9uIEVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbmxhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGVuIFdlcnQgZsO8ciBkYXMgT3B0aW9uIEVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbnZhbHVlOiBzdHJpbmcgPSAndmFsdWUnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmllcnQsIG9iIGRhcyBPcHRpb24gRWxlbWVudCBha3RpdiBpc3RcbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbmVuYWJsZWQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGFzIENvbnRyb2wgYWxzIFJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKSBpc3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFN0eWxlIEJyZWl0ZSBmw7xyIExpc3QgQ29udHJvbCBFbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gbnVsbDtcblxuICAvKipcbiAgICogSW5wdXQgcHJvcGVydHkgZsO8ciBvcHRpb25zXG4gICAqL1xuICBASW5wdXQoKSBnZXQgb3B0aW9ucygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogc2V0dGVyIGbDvHIgb3B0aW9uc1xuICAgKi9cbiAgc2V0IG9wdGlvbnModmFsOiBhbnlbXSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWw7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ink2SEE0Qks7QUFBQUEsY0FBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxjQUFBLEdBNUJMLE9BQVNFLFNBQVMsQ0FBRUMsS0FBSyxLQUFxQixlQUFlLENBQzdELE9BQVNDLG1CQUFtQixLQUFRLG9CQUFvQixDLGlDQUV4RDs7R0FJQSxNQUFNLE1BQWdCLENBQUFDLGtCQUVwQixRQUFRLENBQUFELG1CQUEwQixDQUhwQ0UsWUFBQSxFQUFBTixjQUFBLEdBQUFPLENBQUEsTUFBQVAsY0FBQSxHQUFBUSxDQUFBLE0sb0JBZUU7O1dBQUFSLGNBQUEsR0FBQVEsQ0FBQSxNQUdTLEtBQUFDLFdBQVcsQ0FBVyxPQUFPLENBRXRDOztXQUFBVCxjQUFBLEdBQUFRLENBQUEsTUFHUyxLQUFBRSxXQUFXLENBQVcsT0FBTyxDQUV0Qzs7V0FBQVYsY0FBQSxHQUFBUSxDQUFBLE1BR1MsS0FBQUcsYUFBYSxDQUFXLEVBQUUsQ0FFbkM7O1dBQUFYLGNBQUEsR0FBQVEsQ0FBQSxNQUdTLEtBQUFJLFVBQVUsQ0FBWSxLQUFLLENBRXBDOztXQUFBWixjQUFBLEdBQUFRLENBQUEsTUFHUyxLQUFBSyxLQUFLLENBQVcsSUFBSSxDLENBRTdCOztPQUdBLEdBQWEsQ0FBQUMsT0FBT0EsQ0FBQSxFQUFBZCxjQUFBLEdBQUFPLENBQUEsTUFBQVAsY0FBQSxHQUFBUSxDQUFBLE1BQ2xCLE1BQU8sS0FBSSxDQUFDTyxRQUFRLENBQ3RCLENBRUE7O09BR0EsR0FBSSxDQUFBRCxPQUFPQSxDQUFDRSxHQUFVLEVBQUFoQixjQUFBLEdBQUFPLENBQUEsTUFBQVAsY0FBQSxHQUFBUSxDQUFBLE1BQ3BCLElBQUksQ0FBQ08sUUFBUSxDQUFHQyxHQUFHLENBQ3JCLEMsOEhBbkRvQlgsa0JBQWtCLENBQUFZLElBQUEsTUFBQUMsTUFBQSxDQUFBQyxFQUFBLENBQUFDLGVBQUEsQ0FBQWxCLFNBQUEsR0FBQUYsY0FBQSxHQUFBUSxDQUFBLE0sMkZBQWxCSCxrQkFBa0IsQ0FBQWdCLE1BQUEsRUFBQUMsbUJBQUEsdUJBQUFiLFdBQUEsZUFBQUMsV0FBQSxlQUFBQyxhQUFBLGlCQUFBQyxVQUFBLGNBQUFDLEtBQUEsU0FBQUMsT0FBQSxZQUFBUyxlQUFBLE1BQUFDLFFBQUEsQ0FBQUwsRUFBQSxHQUFBbkIsY0FBQSxHQUFBUSxDQUFBLE8sbUZBQWxCSCxrQkFBa0IsQ0FBQW9CLFVBQUEsRyxLQUR2Q3ZCLFMsbUJBYUNvQixtQkFBbUIsRyxLQURsQm5CLEssR0FNUU0sV0FBVyxHLEtBQW5CTixLLEdBS1FPLFdBQVcsRyxLQUFuQlAsSyxHQUtRUSxhQUFhLEcsS0FBckJSLEssR0FLUVMsVUFBVSxHLEtBQWxCVCxLLEdBS1FVLEtBQUssRyxLQUFiVixLLEdBS1lXLE9BQU8sRyxLQUFuQlgsSyIsImlnbm9yZUxpc3QiOltdfQ==
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMXhqbW51dWdpdyIsImFjdHVhbENvdmVyYWdlIiwiRGlyZWN0aXZlIiwiSW5wdXQiLCJTYWNCYXNlTW9kZWxDb250cm9sIiwiU2FjQmFzZUxpc3RDb250cm9sIiwiY29uc3RydWN0b3IiLCJmIiwicyIsIm9wdGlvbmxhYmVsIiwib3B0aW9udmFsdWUiLCJvcHRpb25lbmFibGVkIiwiaXNyZXF1aXJlZCIsIndpZHRoIiwib3B0aW9ucyIsIl9vcHRpb25zIiwidmFsIiwiZGVwcyIsInRhcmdldCIsImkwIiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJvcHRpb25sYWJlbHRlbXBsYXRlIiwidXNlc0luaGVyaXRhbmNlIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29tbW9uL2Jhc2VsaXN0Y29udHJvbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4vYmFzZW1vZGVsY29udHJvbCc7XG5cbi8qKlxuICogQWJzdHJhY3QgS2xhc3NlIGbDvHIgU2FjQmFzZUxpc3RDb250cm9sLiBFeHRlbmRlcyBTYWNCYXNlTW9kZWxDb250cm9sXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY0Jhc2VMaXN0Q29udHJvbDxcbiAgVkFMVUVcbj4gZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPFZBTFVFPiB7XG4gIC8qKlxuICAgKiBvcHRpb25zLiBUeXA6IGFueVxuICAgKi9cbiAgX29wdGlvbnM6IGFueVtdO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBmw7xyIFZhbHVlIEVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIG9wdGlvbmxhYmVsdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIERlZmluaWVydCBkYXMgTGFiZWwgZsO8ciBkYXMgT3B0aW9uIEVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbmxhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGVuIFdlcnQgZsO8ciBkYXMgT3B0aW9uIEVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbnZhbHVlOiBzdHJpbmcgPSAndmFsdWUnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmllcnQsIG9iIGRhcyBPcHRpb24gRWxlbWVudCBha3RpdiBpc3RcbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbmVuYWJsZWQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmllcnQgZGFzIENvbnRyb2wgYWxzIFJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKSBpc3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFN0eWxlIEJyZWl0ZSBmw7xyIExpc3QgQ29udHJvbCBFbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gbnVsbDtcblxuICAvKipcbiAgICogSW5wdXQgcHJvcGVydHkgZsO8ciBvcHRpb25zXG4gICAqL1xuICBASW5wdXQoKSBnZXQgb3B0aW9ucygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogc2V0dGVyIGbDvHIgb3B0aW9uc1xuICAgKi9cbiAgc2V0IG9wdGlvbnModmFsOiBhbnlbXSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWw7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ink2SEE0Qks7QUFBQUEsY0FBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxjQUFBLEdBNUJMLE9BQVNFLFNBQVMsQ0FBRUMsS0FBSyxLQUFxQixlQUFlLENBQzdELE9BQVNDLG1CQUFtQixLQUFRLG9CQUFvQixDLGlDQUV4RDs7R0FJQSxNQUFNLE1BQWdCLENBQUFDLGtCQUVwQixRQUFRLENBQUFELG1CQUEwQixDQUhwQ0UsWUFBQSxFQUFBTixjQUFBLEdBQUFPLENBQUEsS0FBQVAsQ0FBQSxpQkFBQVEsQ0FBQSxNLG9CQWVFOztXQUFBUixjQUFBLEdBQUFRLENBQUEsTUFHUyxLQUFBQyxXQUFXLENBQVcsT0FBTyxDQUV0Qzs7V0FBQVQsY0FBQSxHQUFBUSxDQUFBLE1BR1MsS0FBQUUsV0FBVyxDQUFXLE9BQU8sQ0FFdEM7O1dBQUFWLGNBQUEsR0FBQVEsQ0FBQSxNQUdTLEtBQUFHLGFBQWEsQ0FBVyxFQUFFLENBRW5DOztXQUFBWCxjQUFBLEdBQUFRLENBQUEsTUFHUyxLQUFBSSxVQUFVLENBQVksS0FBSyxDQUVwQzs7V0FBQVosY0FBQSxHQUFBUSxDQUFBLE1BR1MsS0FBQUssS0FBSyxDQUFXLElBQUksQyxDQUU3Qjs7T0FHQSxHQUFhLENBQUFDLE9BQU9BLENBQUEsRUFBQWQsY0FBQSxHQUFBTyxDQUFBLEtBQUFQLENBQUEsaUJBQUFRLENBQUEsTUFDbEIsTUFBTyxLQUFJLENBQUNPLFFBQVEsQ0FDdEIsQ0FFQTs7T0FHQSxHQUFJLENBQUFELE9BQU9BLENBQUNFLEdBQVUsRUFBQWhCLGNBQUEsR0FBQU8sQ0FBQSxLQUFBUCxDQUFBLGlCQUFBUSxDQUFBLE1BQ3BCLElBQUksQ0FBQ08sUUFBUSxDQUFHQyxHQUFHLENBQ3JCLEMsOEhBbkRvQlgsa0JBQWtCLENBQUFZLElBQUEsTUFBQUMsTUFBQSxDQUFBQyxFQUFBLENBQUFDLGVBQUEsQ0FBQWxCLFNBQUEsR0FBQUYsY0FBQSxHQUFBUSxDQUFBLE0sMkZBQWxCSCxrQkFBa0IsQ0FBQWdCLE1BQUEsRUFBQUMsbUJBQUEsdUJBQUFiLFdBQUEsZUFBQUMsV0FBQSxlQUFBQyxhQUFBLGlCQUFBQyxVQUFBLGNBQUFDLEtBQUEsU0FBQUMsT0FBQSxZQUFBUyxlQUFBLE1BQUFDLFFBQUEsQ0FBQUwsRUFBQSxHQUFBbkIsY0FBQSxHQUFBUSxDQUFBLE8sbUZBQWxCSCxrQkFBa0IsQ0FBQW9CLFVBQUEsRyxLQUR2Q3ZCLFMsbUJBYUNvQixtQkFBbUIsRyxLQURsQm5CLEssR0FNUU0sV0FBVyxHLEtBQW5CTixLLEdBS1FPLFdBQVcsRyxLQUFuQlAsSyxHQUtRUSxhQUFhLEcsS0FBckJSLEssR0FLUVMsVUFBVSxHLEtBQWxCVCxLLEdBS1FVLEtBQUssRyxLQUFiVixLLEdBS1lXLE9BQU8sRyxLQUFuQlgsSyIsImlnbm9yZUxpc3QiOltdfQ==