tnx-shared 5.1.342 → 5.1.345

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 (106) hide show
  1. package/bundles/tnx-shared.umd.js +274 -67
  2. package/bundles/tnx-shared.umd.js.map +1 -1
  3. package/bundles/tnx-shared.umd.min.js +1 -1
  4. package/bundles/tnx-shared.umd.min.js.map +1 -1
  5. package/classes/base/list-base.d.ts.map +1 -1
  6. package/classes/form-schema.d.ts +4 -0
  7. package/classes/form-schema.d.ts.map +1 -1
  8. package/components/address/address.component.d.ts +1 -0
  9. package/components/address/address.component.d.ts.map +1 -1
  10. package/components/autocomplete-datasource/autocomplete-datasource.component.d.ts +1 -0
  11. package/components/autocomplete-datasource/autocomplete-datasource.component.d.ts.map +1 -1
  12. package/components/autocomplete-picker/autocomplete-picker.component.d.ts +2 -0
  13. package/components/autocomplete-picker/autocomplete-picker.component.d.ts.map +1 -1
  14. package/components/check-box-list/check-box-list.component.d.ts +1 -0
  15. package/components/check-box-list/check-box-list.component.d.ts.map +1 -1
  16. package/components/cocautochuc/cocautochuc-picker/cocautochuc-picker.component.d.ts +1 -0
  17. package/components/cocautochuc/cocautochuc-picker/cocautochuc-picker.component.d.ts.map +1 -1
  18. package/components/cocautochuc/cocautochuc-picker-list/cocautochuc-picker-list.component.d.ts +1 -0
  19. package/components/cocautochuc/cocautochuc-picker-list/cocautochuc-picker-list.component.d.ts.map +1 -1
  20. package/components/congviec-picker/congviec-picker.component.d.ts +1 -0
  21. package/components/congviec-picker/congviec-picker.component.d.ts.map +1 -1
  22. package/components/crud/crud-form/crud-form.component.d.ts +7 -0
  23. package/components/crud/crud-form/crud-form.component.d.ts.map +1 -1
  24. package/components/datetime-picker/datetime-picker.component.d.ts +1 -0
  25. package/components/datetime-picker/datetime-picker.component.d.ts.map +1 -1
  26. package/components/datetime-picker-range/datetime-picker-range.component.d.ts +1 -0
  27. package/components/datetime-picker-range/datetime-picker-range.component.d.ts.map +1 -1
  28. package/components/dropdown/dropdown.component.d.ts +1 -0
  29. package/components/dropdown/dropdown.component.d.ts.map +1 -1
  30. package/components/entity-picker/entity-picker.component.d.ts +1 -0
  31. package/components/entity-picker/entity-picker.component.d.ts.map +1 -1
  32. package/components/file-explorer/file-manager/file-manager.component.d.ts +1 -0
  33. package/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
  34. package/components/file-upload/file-upload.component.d.ts +1 -0
  35. package/components/file-upload/file-upload.component.d.ts.map +1 -1
  36. package/components/mask/mask.component.d.ts +1 -0
  37. package/components/mask/mask.component.d.ts.map +1 -1
  38. package/components/number-picker-range/number-picker-range.component.d.ts +1 -0
  39. package/components/number-picker-range/number-picker-range.component.d.ts.map +1 -1
  40. package/components/radio-button-list/radio-button-list.component.d.ts +1 -0
  41. package/components/radio-button-list/radio-button-list.component.d.ts.map +1 -1
  42. package/components/reference-textbox/reference-textbox.component.d.ts +2 -1
  43. package/components/reference-textbox/reference-textbox.component.d.ts.map +1 -1
  44. package/components/service-file-upload/service-file-upload.component.d.ts +1 -0
  45. package/components/service-file-upload/service-file-upload.component.d.ts.map +1 -1
  46. package/components/splash-component/splash-component-v1/splash-component-v1.component.d.ts.map +1 -1
  47. package/components/splash-component/splash-component-v2/splash-component-v2.component.d.ts.map +1 -1
  48. package/components/splash-component/splash-component.component.d.ts.map +1 -1
  49. package/components/statemachines/models/enums.d.ts +1 -0
  50. package/components/statemachines/models/enums.d.ts.map +1 -1
  51. package/components/tn-color-picker/tn-color-picker.component.d.ts +1 -0
  52. package/components/tn-color-picker/tn-color-picker.component.d.ts.map +1 -1
  53. package/components/tn-tabview/tn-tabview.component.d.ts +7 -1
  54. package/components/tn-tabview/tn-tabview.component.d.ts.map +1 -1
  55. package/components/tn-tinymce/tn-tinymce.component.d.ts +1 -0
  56. package/components/tn-tinymce/tn-tinymce.component.d.ts.map +1 -1
  57. package/components/user-picker/user-picker.component.d.ts +1 -0
  58. package/components/user-picker/user-picker.component.d.ts.map +1 -1
  59. package/components/vanban-picker/vanban-picker.component.d.ts +1 -0
  60. package/components/vanban-picker/vanban-picker.component.d.ts.map +1 -1
  61. package/esm2015/classes/base/list-base.js +13 -8
  62. package/esm2015/classes/form-schema.js +4 -1
  63. package/esm2015/components/address/address.component.js +4 -1
  64. package/esm2015/components/autocomplete-datasource/autocomplete-datasource.component.js +4 -1
  65. package/esm2015/components/autocomplete-picker/autocomplete-picker.component.js +13 -7
  66. package/esm2015/components/check-box-list/check-box-list.component.js +4 -1
  67. package/esm2015/components/cocautochuc/cocautochuc-picker/cocautochuc-picker.component.js +4 -1
  68. package/esm2015/components/cocautochuc/cocautochuc-picker-list/cocautochuc-picker-list.component.js +4 -1
  69. package/esm2015/components/congviec-picker/congviec-picker.component.js +4 -1
  70. package/esm2015/components/crud/crud-form/crud-form.component.js +67 -11
  71. package/esm2015/components/crud/crud-list/crud-list.component.js +2 -2
  72. package/esm2015/components/datetime-picker/datetime-picker.component.js +4 -1
  73. package/esm2015/components/datetime-picker-range/datetime-picker-range.component.js +5 -2
  74. package/esm2015/components/dropdown/dropdown.component.js +4 -1
  75. package/esm2015/components/entity-picker/entity-picker.component.js +4 -1
  76. package/esm2015/components/file-explorer/file-manager/file-manager.component.js +4 -1
  77. package/esm2015/components/file-upload/file-upload.component.js +4 -1
  78. package/esm2015/components/mask/mask.component.js +4 -1
  79. package/esm2015/components/number-picker-range/number-picker-range.component.js +5 -2
  80. package/esm2015/components/radio-button-list/radio-button-list.component.js +4 -1
  81. package/esm2015/components/reference-textbox/reference-textbox.component.js +6 -3
  82. package/esm2015/components/service-file-upload/service-file-upload.component.js +4 -1
  83. package/esm2015/components/splash-component/splash-component-v1/splash-component-v1.component.js +4 -1
  84. package/esm2015/components/splash-component/splash-component-v2/splash-component-v2.component.js +4 -1
  85. package/esm2015/components/splash-component/splash-component.component.js +4 -1
  86. package/esm2015/components/statemachines/models/constants.js +14 -14
  87. package/esm2015/components/statemachines/models/enums.js +2 -2
  88. package/esm2015/components/tn-color-picker/tn-color-picker.component.js +4 -2
  89. package/esm2015/components/tn-dialog/tn-dialog.component.js +2 -2
  90. package/esm2015/components/tn-tabview/tn-tabview.component.js +32 -5
  91. package/esm2015/components/tn-tinymce/tn-tinymce.component.js +4 -1
  92. package/esm2015/components/user-picker/user-picker.component.js +4 -1
  93. package/esm2015/components/vanban-picker/vanban-picker.component.js +4 -1
  94. package/esm2015/services/common.service.js +39 -32
  95. package/esm2015/services/menu.service.js +20 -1
  96. package/esm2015/services/permission.service.js +1 -1
  97. package/esm2015/services/user.service.js +1 -1
  98. package/fesm2015/tnx-shared.js +269 -75
  99. package/fesm2015/tnx-shared.js.map +1 -1
  100. package/package.json +2 -2
  101. package/services/common.service.d.ts.map +1 -1
  102. package/services/menu.service.d.ts +1 -0
  103. package/services/menu.service.d.ts.map +1 -1
  104. package/services/permission.service.d.ts.map +1 -1
  105. package/services/user.service.d.ts.map +1 -1
  106. package/tnx-shared.metadata.json +1 -1
@@ -14,32 +14,32 @@ export const DataSourceTargetType = [
14
14
  { id: ɵ4, ten: 'Đơn vị' },
15
15
  { id: ɵ5, ten: 'Nhóm người dùng' },
16
16
  ];
17
- const ɵ6 = EnumUserRule.CAP_TREN, ɵ7 = EnumUserRule.NGUOI_THAM_GIA_QUY_TRINH, ɵ8 = EnumUserRule.NGUOI_NHAN, ɵ9 = EnumUserRule.NGUOI_THEO_DOI, ɵ10 = EnumUserRule.NGUOI_THAO_TAC;
17
+ const ɵ6 = EnumUserRule.CAP_TREN, ɵ7 = EnumUserRule.NGUOI_CUOI_CUNG, ɵ8 = EnumUserRule.NGUOI_THAM_GIA_QUY_TRINH, ɵ9 = EnumUserRule.NGUOI_NHAN, ɵ10 = EnumUserRule.NGUOI_THEO_DOI, ɵ11 = EnumUserRule.NGUOI_THAO_TAC;
18
18
  export const DataSourceUserRule = [
19
19
  // { id: EnumUserRule.NGUOI_TAO, ten: 'Người tạo' },
20
20
  { id: ɵ6, ten: 'Cấp trên' },
21
21
  // { id: EnumUserRule.CAP_TREN, ten: 'Cấp dưới' },
22
22
  // { id: EnumUserRule.CAP_TREN_DA_GUI, ten: 'Cấp trên đã trình' },
23
- // { id: EnumUserRule.NGUOI_CUOI_CUNG, ten: 'Người cuối cùng' },
24
- { id: ɵ7, ten: 'Người tham gia quy trình' },
23
+ { id: ɵ7, ten: 'Người cuối cùng' },
24
+ { id: ɵ8, ten: 'Người tham gia quy trình' },
25
25
  // { id: EnumUserRule.NGUOI_DA_NHAN, ten: 'Người đã nhận', tooltip: 'Người đã từng nhận' },
26
- { id: ɵ8, ten: 'Người nhận' },
27
- { id: ɵ9, ten: 'Người theo dõi' },
28
- { id: ɵ10, ten: 'Người thực hiện thao tác' }
26
+ { id: ɵ9, ten: 'Người nhận' },
27
+ { id: ɵ10, ten: 'Người theo dõi' },
28
+ { id: ɵ11, ten: 'Người thực hiện thao tác' }
29
29
  ];
30
- const ɵ11 = EnumUserRule.CAP_TREN, ɵ12 = EnumUserRule.NGUOI_THAM_GIA_QUY_TRINH;
30
+ const ɵ12 = EnumUserRule.CAP_TREN, ɵ13 = EnumUserRule.NGUOI_THAM_GIA_QUY_TRINH;
31
31
  export const DataSourceUserSender = [
32
32
  // { id: EnumUserRule.NGUOI_TAO, ten: 'Người tạo' },
33
- { id: ɵ11, ten: 'Cấp trên' },
33
+ { id: ɵ12, ten: 'Cấp trên' },
34
34
  // { id: EnumUserRule.CAP_TREN_DA_GUI, ten: 'Cấp trên đã trình' },
35
35
  // { id: EnumUserRule.NGUOI_CUOI_CUNG, ten: 'Người cuối cùng' },
36
- { id: ɵ12, ten: 'Người tham gia quy trình' }
36
+ { id: ɵ13, ten: 'Người tham gia quy trình' }
37
37
  ];
38
- const ɵ13 = EnumWorkflowCheckboxOption.TAO_CONG_VIEC, ɵ14 = EnumWorkflowCheckboxOption.AUTO_START_TASK;
38
+ const ɵ14 = EnumWorkflowCheckboxOption.TAO_CONG_VIEC, ɵ15 = EnumWorkflowCheckboxOption.AUTO_START_TASK;
39
39
  export const DataSourceWorkflowCheckboxOption = [
40
- { id: ɵ13, ten: 'Tạo công việc' },
40
+ { id: ɵ14, ten: 'Tạo công việc' },
41
41
  // { id: EnumWorkflowCheckboxOption.AUTO_NEXT_STEP, ten: 'Tự động chuyển bước đầu tiên' },
42
- { id: ɵ14, ten: 'Bắt đầu nhanh công việc' }
42
+ { id: ɵ15, ten: 'Bắt đầu nhanh công việc' }
43
43
  ];
44
- export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14 };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3RhdGVtYWNoaW5lcy9tb2RlbHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixpQkFBaUIsRUFBRSxtQkFBbUI7Q0FDekMsQ0FBQztXQUVRLGFBQWEsQ0FBQyxLQUFLLE9BQ25CLGFBQWEsQ0FBQyxNQUFNLE9BQ3BCLGFBQWEsQ0FBQyxJQUFJO0FBSDVCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLEVBQUUsRUFBRSxJQUFxQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUU7SUFDM0MsRUFBRSxFQUFFLElBQXNCLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtJQUNqRCxFQUFFLEVBQUUsSUFBb0IsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO0NBQzlDLENBQUM7V0FFUSxjQUFjLENBQUMsSUFBSSxPQUNuQixjQUFjLENBQUMsVUFBVSxPQUN6QixjQUFjLENBQUMsS0FBSztBQUg5QixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNoQyxFQUFFLEVBQUUsSUFBcUIsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFO0lBQzlDLEVBQUUsRUFBRSxJQUEyQixFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUU7SUFDaEQsRUFBRSxFQUFFLElBQXNCLEVBQUUsR0FBRyxFQUFFLGlCQUFpQixFQUFFO0NBRXZELENBQUM7V0FHUSxZQUFZLENBQUMsUUFBUSxPQUlyQixZQUFZLENBQUMsd0JBQXdCLE9BRXJDLFlBQVksQ0FBQyxVQUFVLE9BQ3ZCLFlBQVksQ0FBQyxjQUFjLFFBQzNCLFlBQVksQ0FBQyxjQUFjO0FBVnJDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLG9EQUFvRDtJQUNwRCxFQUFFLEVBQUUsSUFBdUIsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO0lBQzlDLGtEQUFrRDtJQUNsRCxrRUFBa0U7SUFDbEUsZ0VBQWdFO0lBQ2hFLEVBQUUsRUFBRSxJQUF1QyxFQUFFLEdBQUcsRUFBRSwwQkFBMEIsRUFBRTtJQUM5RSwyRkFBMkY7SUFDM0YsRUFBRSxFQUFFLElBQXlCLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRTtJQUNsRCxFQUFFLEVBQUUsSUFBNkIsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUU7SUFDMUQsRUFBRSxFQUFFLEtBQTZCLEVBQUUsR0FBRyxFQUFFLDBCQUEwQixFQUFFO0NBQ3ZFLENBQUM7WUFHUSxZQUFZLENBQUMsUUFBUSxRQUdyQixZQUFZLENBQUMsd0JBQXdCO0FBTC9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLG9EQUFvRDtJQUNwRCxFQUFFLEVBQUUsS0FBdUIsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO0lBQzlDLGtFQUFrRTtJQUNsRSxnRUFBZ0U7SUFDaEUsRUFBRSxFQUFFLEtBQXVDLEVBQUUsR0FBRyxFQUFFLDBCQUEwQixFQUFFO0NBQ2pGLENBQUM7WUFFUSwwQkFBMEIsQ0FBQyxhQUFhLFFBRXhDLDBCQUEwQixDQUFDLGVBQWU7QUFIcEQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUc7SUFDNUMsRUFBRSxFQUFFLEtBQTBDLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRTtJQUN0RSwwRkFBMEY7SUFDMUYsRUFBRSxFQUFFLEtBQTRDLEVBQUUsR0FBRyxFQUFFLHlCQUF5QixFQUFFO0NBQ3JGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnVtU3RhdGVUeXBlLCBFbnVtVGFyZ2V0VHlwZSwgRW51bVVzZXJSdWxlLCBFbnVtV29ya2Zsb3dDaGVja2JveE9wdGlvbiB9IGZyb20gJy4vZW51bXMnO1xyXG5leHBvcnQgY29uc3QgU3RhdGVNYWNoaW5lVG9waWMgPSB7XHJcbiAgICBDT05ORUNUSU9OX0NIQU5HRTogJ0NPTk5FQ1RJT05fQ0hBTkdFJ1xyXG59O1xyXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVN0YXRlVHlwZSA9IFtcclxuICAgIHsgaWQ6IEVudW1TdGF0ZVR5cGUuU1RBUlQsIHRlbjogJ0Lhuq90IMSR4bqndScgfSxcclxuICAgIHsgaWQ6IEVudW1TdGF0ZVR5cGUuTk9STUFMLCB0ZW46ICdUaMO0bmcgdGjGsOG7nW5nJyB9LFxyXG4gICAgeyBpZDogRW51bVN0YXRlVHlwZS5TVE9QLCB0ZW46ICdL4bq/dCB0aMO6YycgfVxyXG5dO1xyXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVRhcmdldFR5cGUgPSBbXHJcbiAgICB7IGlkOiBFbnVtVGFyZ2V0VHlwZS5VU0VSLCB0ZW46ICdOZ8aw4budaSBkw7luZycgfSxcclxuICAgIHsgaWQ6IEVudW1UYXJnZXRUeXBlLkRFUEFSVE1FTlQsIHRlbjogJ8SQxqFuIHbhu4snIH0sXHJcbiAgICB7IGlkOiBFbnVtVGFyZ2V0VHlwZS5HUk9VUCwgdGVuOiAnTmjDs20gbmfGsOG7nWkgZMO5bmcnIH0sXHJcbiAgICAvLyB7IGlkOiBFbnVtVGFyZ2V0VHlwZS5ST0xFLCB0ZW46ICdDaOG7qWMgduG7pScgfVxyXG5dO1xyXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVVzZXJSdWxlID0gW1xyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLk5HVU9JX1RBTywgdGVuOiAnTmfGsOG7nWkgdOG6oW8nIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuQ0FQX1RSRU4sIHRlbjogJ0PhuqVwIHRyw6puJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLkNBUF9UUkVOLCB0ZW46ICdD4bqlcCBkxrDhu5tpJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLkNBUF9UUkVOX0RBX0dVSSwgdGVuOiAnQ+G6pXAgdHLDqm4gxJHDoyB0csOsbmgnIH0sXHJcbiAgICAvLyB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfQ1VPSV9DVU5HLCB0ZW46ICdOZ8aw4budaSBjdeG7kWkgY8O5bmcnIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfVEhBTV9HSUFfUVVZX1RSSU5ILCB0ZW46ICdOZ8aw4budaSB0aGFtIGdpYSBxdXkgdHLDrG5oJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLk5HVU9JX0RBX05IQU4sIHRlbjogJ05nxrDhu51pIMSRw6Mgbmjhuq1uJywgdG9vbHRpcDogJ05nxrDhu51pIMSRw6MgdOG7q25nIG5o4bqtbicgfSxcclxuICAgIHsgaWQ6IEVudW1Vc2VyUnVsZS5OR1VPSV9OSEFOLCB0ZW46ICdOZ8aw4budaSBuaOG6rW4nIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfVEhFT19ET0ksIHRlbjogJ05nxrDhu51pIHRoZW8gZMO1aScgfSxcclxuICAgIHsgaWQ6IEVudW1Vc2VyUnVsZS5OR1VPSV9USEFPX1RBQywgdGVuOiAnTmfGsOG7nWkgdGjhu7FjIGhp4buHbiB0aGFvIHTDoWMnIH1cclxuXTtcclxuZXhwb3J0IGNvbnN0IERhdGFTb3VyY2VVc2VyU2VuZGVyID0gW1xyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLk5HVU9JX1RBTywgdGVuOiAnTmfGsOG7nWkgdOG6oW8nIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuQ0FQX1RSRU4sIHRlbjogJ0PhuqVwIHRyw6puJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLkNBUF9UUkVOX0RBX0dVSSwgdGVuOiAnQ+G6pXAgdHLDqm4gxJHDoyB0csOsbmgnIH0sXHJcbiAgICAvLyB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfQ1VPSV9DVU5HLCB0ZW46ICdOZ8aw4budaSBjdeG7kWkgY8O5bmcnIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfVEhBTV9HSUFfUVVZX1RSSU5ILCB0ZW46ICdOZ8aw4budaSB0aGFtIGdpYSBxdXkgdHLDrG5oJyB9XHJcbl07XHJcbmV4cG9ydCBjb25zdCBEYXRhU291cmNlV29ya2Zsb3dDaGVja2JveE9wdGlvbiA9IFtcclxuICAgIHsgaWQ6IEVudW1Xb3JrZmxvd0NoZWNrYm94T3B0aW9uLlRBT19DT05HX1ZJRUMsIHRlbjogJ1ThuqFvIGPDtG5nIHZp4buHYycgfSxcclxuICAgIC8vIHsgaWQ6IEVudW1Xb3JrZmxvd0NoZWNrYm94T3B0aW9uLkFVVE9fTkVYVF9TVEVQLCB0ZW46ICdU4buxIMSR4buZbmcgY2h1eeG7g24gYsaw4bubYyDEkeG6p3UgdGnDqm4nIH0sXHJcbiAgICB7IGlkOiBFbnVtV29ya2Zsb3dDaGVja2JveE9wdGlvbi5BVVRPX1NUQVJUX1RBU0ssIHRlbjogJ0Lhuq90IMSR4bqndSBuaGFuaCBjw7RuZyB2aeG7h2MnIH1cclxuXTtcclxuIl19
44
+ export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14, ɵ15 };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3RhdGVtYWNoaW5lcy9tb2RlbHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixpQkFBaUIsRUFBRSxtQkFBbUI7Q0FDekMsQ0FBQztXQUVRLGFBQWEsQ0FBQyxLQUFLLE9BQ25CLGFBQWEsQ0FBQyxNQUFNLE9BQ3BCLGFBQWEsQ0FBQyxJQUFJO0FBSDVCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLEVBQUUsRUFBRSxJQUFxQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUU7SUFDM0MsRUFBRSxFQUFFLElBQXNCLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtJQUNqRCxFQUFFLEVBQUUsSUFBb0IsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO0NBQzlDLENBQUM7V0FFUSxjQUFjLENBQUMsSUFBSSxPQUNuQixjQUFjLENBQUMsVUFBVSxPQUN6QixjQUFjLENBQUMsS0FBSztBQUg5QixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNoQyxFQUFFLEVBQUUsSUFBcUIsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFO0lBQzlDLEVBQUUsRUFBRSxJQUEyQixFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUU7SUFDaEQsRUFBRSxFQUFFLElBQXNCLEVBQUUsR0FBRyxFQUFFLGlCQUFpQixFQUFFO0NBRXZELENBQUM7V0FHUSxZQUFZLENBQUMsUUFBUSxPQUdyQixZQUFZLENBQUMsZUFBZSxPQUM1QixZQUFZLENBQUMsd0JBQXdCLE9BRXJDLFlBQVksQ0FBQyxVQUFVLFFBQ3ZCLFlBQVksQ0FBQyxjQUFjLFFBQzNCLFlBQVksQ0FBQyxjQUFjO0FBVnJDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLG9EQUFvRDtJQUNwRCxFQUFFLEVBQUUsSUFBdUIsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO0lBQzlDLGtEQUFrRDtJQUNsRCxrRUFBa0U7SUFDbEUsRUFBRSxFQUFFLElBQThCLEVBQUUsR0FBRyxFQUFFLGlCQUFpQixFQUFFO0lBQzVELEVBQUUsRUFBRSxJQUF1QyxFQUFFLEdBQUcsRUFBRSwwQkFBMEIsRUFBRTtJQUM5RSwyRkFBMkY7SUFDM0YsRUFBRSxFQUFFLElBQXlCLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRTtJQUNsRCxFQUFFLEVBQUUsS0FBNkIsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUU7SUFDMUQsRUFBRSxFQUFFLEtBQTZCLEVBQUUsR0FBRyxFQUFFLDBCQUEwQixFQUFFO0NBQ3ZFLENBQUM7WUFHUSxZQUFZLENBQUMsUUFBUSxRQUdyQixZQUFZLENBQUMsd0JBQXdCO0FBTC9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLG9EQUFvRDtJQUNwRCxFQUFFLEVBQUUsS0FBdUIsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO0lBQzlDLGtFQUFrRTtJQUNsRSxnRUFBZ0U7SUFDaEUsRUFBRSxFQUFFLEtBQXVDLEVBQUUsR0FBRyxFQUFFLDBCQUEwQixFQUFFO0NBQ2pGLENBQUM7WUFFUSwwQkFBMEIsQ0FBQyxhQUFhLFFBRXhDLDBCQUEwQixDQUFDLGVBQWU7QUFIcEQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUc7SUFDNUMsRUFBRSxFQUFFLEtBQTBDLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRTtJQUN0RSwwRkFBMEY7SUFDMUYsRUFBRSxFQUFFLEtBQTRDLEVBQUUsR0FBRyxFQUFFLHlCQUF5QixFQUFFO0NBQ3JGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnVtU3RhdGVUeXBlLCBFbnVtVGFyZ2V0VHlwZSwgRW51bVVzZXJSdWxlLCBFbnVtV29ya2Zsb3dDaGVja2JveE9wdGlvbiB9IGZyb20gJy4vZW51bXMnO1xyXG5leHBvcnQgY29uc3QgU3RhdGVNYWNoaW5lVG9waWMgPSB7XHJcbiAgICBDT05ORUNUSU9OX0NIQU5HRTogJ0NPTk5FQ1RJT05fQ0hBTkdFJ1xyXG59O1xyXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVN0YXRlVHlwZSA9IFtcclxuICAgIHsgaWQ6IEVudW1TdGF0ZVR5cGUuU1RBUlQsIHRlbjogJ0Lhuq90IMSR4bqndScgfSxcclxuICAgIHsgaWQ6IEVudW1TdGF0ZVR5cGUuTk9STUFMLCB0ZW46ICdUaMO0bmcgdGjGsOG7nW5nJyB9LFxyXG4gICAgeyBpZDogRW51bVN0YXRlVHlwZS5TVE9QLCB0ZW46ICdL4bq/dCB0aMO6YycgfVxyXG5dO1xyXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVRhcmdldFR5cGUgPSBbXHJcbiAgICB7IGlkOiBFbnVtVGFyZ2V0VHlwZS5VU0VSLCB0ZW46ICdOZ8aw4budaSBkw7luZycgfSxcclxuICAgIHsgaWQ6IEVudW1UYXJnZXRUeXBlLkRFUEFSVE1FTlQsIHRlbjogJ8SQxqFuIHbhu4snIH0sXHJcbiAgICB7IGlkOiBFbnVtVGFyZ2V0VHlwZS5HUk9VUCwgdGVuOiAnTmjDs20gbmfGsOG7nWkgZMO5bmcnIH0sXHJcbiAgICAvLyB7IGlkOiBFbnVtVGFyZ2V0VHlwZS5ST0xFLCB0ZW46ICdDaOG7qWMgduG7pScgfVxyXG5dO1xyXG5leHBvcnQgY29uc3QgRGF0YVNvdXJjZVVzZXJSdWxlID0gW1xyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLk5HVU9JX1RBTywgdGVuOiAnTmfGsOG7nWkgdOG6oW8nIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuQ0FQX1RSRU4sIHRlbjogJ0PhuqVwIHRyw6puJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLkNBUF9UUkVOLCB0ZW46ICdD4bqlcCBkxrDhu5tpJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLkNBUF9UUkVOX0RBX0dVSSwgdGVuOiAnQ+G6pXAgdHLDqm4gxJHDoyB0csOsbmgnIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfQ1VPSV9DVU5HLCB0ZW46ICdOZ8aw4budaSBjdeG7kWkgY8O5bmcnIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfVEhBTV9HSUFfUVVZX1RSSU5ILCB0ZW46ICdOZ8aw4budaSB0aGFtIGdpYSBxdXkgdHLDrG5oJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLk5HVU9JX0RBX05IQU4sIHRlbjogJ05nxrDhu51pIMSRw6Mgbmjhuq1uJywgdG9vbHRpcDogJ05nxrDhu51pIMSRw6MgdOG7q25nIG5o4bqtbicgfSxcclxuICAgIHsgaWQ6IEVudW1Vc2VyUnVsZS5OR1VPSV9OSEFOLCB0ZW46ICdOZ8aw4budaSBuaOG6rW4nIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfVEhFT19ET0ksIHRlbjogJ05nxrDhu51pIHRoZW8gZMO1aScgfSxcclxuICAgIHsgaWQ6IEVudW1Vc2VyUnVsZS5OR1VPSV9USEFPX1RBQywgdGVuOiAnTmfGsOG7nWkgdGjhu7FjIGhp4buHbiB0aGFvIHTDoWMnIH1cclxuXTtcclxuZXhwb3J0IGNvbnN0IERhdGFTb3VyY2VVc2VyU2VuZGVyID0gW1xyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLk5HVU9JX1RBTywgdGVuOiAnTmfGsOG7nWkgdOG6oW8nIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuQ0FQX1RSRU4sIHRlbjogJ0PhuqVwIHRyw6puJyB9LFxyXG4gICAgLy8geyBpZDogRW51bVVzZXJSdWxlLkNBUF9UUkVOX0RBX0dVSSwgdGVuOiAnQ+G6pXAgdHLDqm4gxJHDoyB0csOsbmgnIH0sXHJcbiAgICAvLyB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfQ1VPSV9DVU5HLCB0ZW46ICdOZ8aw4budaSBjdeG7kWkgY8O5bmcnIH0sXHJcbiAgICB7IGlkOiBFbnVtVXNlclJ1bGUuTkdVT0lfVEhBTV9HSUFfUVVZX1RSSU5ILCB0ZW46ICdOZ8aw4budaSB0aGFtIGdpYSBxdXkgdHLDrG5oJyB9XHJcbl07XHJcbmV4cG9ydCBjb25zdCBEYXRhU291cmNlV29ya2Zsb3dDaGVja2JveE9wdGlvbiA9IFtcclxuICAgIHsgaWQ6IEVudW1Xb3JrZmxvd0NoZWNrYm94T3B0aW9uLlRBT19DT05HX1ZJRUMsIHRlbjogJ1ThuqFvIGPDtG5nIHZp4buHYycgfSxcclxuICAgIC8vIHsgaWQ6IEVudW1Xb3JrZmxvd0NoZWNrYm94T3B0aW9uLkFVVE9fTkVYVF9TVEVQLCB0ZW46ICdU4buxIMSR4buZbmcgY2h1eeG7g24gYsaw4bubYyDEkeG6p3UgdGnDqm4nIH0sXHJcbiAgICB7IGlkOiBFbnVtV29ya2Zsb3dDaGVja2JveE9wdGlvbi5BVVRPX1NUQVJUX1RBU0ssIHRlbjogJ0Lhuq90IMSR4bqndSBuaGFuaCBjw7RuZyB2aeG7h2MnIH1cclxuXTtcclxuIl19
@@ -17,7 +17,7 @@ export var EnumUserRule;
17
17
  (function (EnumUserRule) {
18
18
  // NGUOI_TAO = 1,
19
19
  EnumUserRule[EnumUserRule["CAP_TREN"] = 2] = "CAP_TREN";
20
- // NGUOI_CUOI_CUNG = 3,
20
+ EnumUserRule[EnumUserRule["NGUOI_CUOI_CUNG"] = 3] = "NGUOI_CUOI_CUNG";
21
21
  EnumUserRule[EnumUserRule["NGUOI_THAM_GIA_QUY_TRINH"] = 4] = "NGUOI_THAM_GIA_QUY_TRINH";
22
22
  // Cấp trên mà xử lý bản ghi đối tượng trình lên
23
23
  // CAP_TREN_DA_GUI = 5,
@@ -51,4 +51,4 @@ export var EnumProcessWorkflowType;
51
51
  EnumProcessWorkflowType[EnumProcessWorkflowType["EDIT"] = 1] = "EDIT";
52
52
  EnumProcessWorkflowType[EnumProcessWorkflowType["VIEW"] = 2] = "VIEW";
53
53
  })(EnumProcessWorkflowType || (EnumProcessWorkflowType = {}));
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zdGF0ZW1hY2hpbmVzL21vZGVscy9lbnVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3JCLG1EQUFTLENBQUE7SUFDVCxxREFBVSxDQUFBO0lBQ1YsdURBQVcsQ0FBQTtJQUNYLHVEQUFXLENBQUE7SUFDWCxpREFBUSxDQUFBO0FBQ1osQ0FBQyxFQU5XLGFBQWEsS0FBYixhQUFhLFFBTXhCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN0QixtREFBUSxDQUFBO0lBQ1IsK0RBQWMsQ0FBQTtJQUNkLHFEQUFTLENBQUE7SUFDVCxzQkFBc0I7QUFDMUIsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFXWDtBQVhELFdBQVksWUFBWTtJQUNwQixpQkFBaUI7SUFDakIsdURBQVksQ0FBQTtJQUNaLHVCQUF1QjtJQUN2Qix1RkFBNEIsQ0FBQTtJQUM1QixnREFBZ0Q7SUFDaEQsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQiwyREFBYyxDQUFBO0lBQ2QsbUVBQWtCLENBQUE7SUFDbEIsbUVBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQVhXLFlBQVksS0FBWixZQUFZLFFBV3ZCO0FBRUQsYUFBYTtBQUNiLHFCQUFxQjtBQUNyQixjQUFjO0FBQ2QsTUFBTSxDQUFOLElBQVkseUJBSVg7QUFKRCxXQUFZLHlCQUF5QjtJQUNqQyw2RkFBa0IsQ0FBQTtJQUNsQixxR0FBc0IsQ0FBQTtJQUN0QixpRkFBWSxDQUFBO0FBQ2hCLENBQUMsRUFKVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBSXBDO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUMxQiwyREFBUSxDQUFBO0lBQ1IsNkRBQVMsQ0FBQSxDQUFDLDRCQUE0QjtBQUMxQyxDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQUVELE1BQU0sQ0FBTixJQUFZLDBCQUlYO0FBSkQsV0FBWSwwQkFBMEI7SUFDbEMsNkZBQWlCLENBQUE7SUFDakIsK0ZBQWtCLENBQUE7SUFDbEIsaUdBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUpXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFJckM7QUFDRCxNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQy9CLHFFQUFRLENBQUE7SUFDUixxRUFBUSxDQUFBO0FBQ1osQ0FBQyxFQUhXLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFHbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0RmlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZWRpdC1maWxlLWNvbW1hbmQnO1xyXG5leHBvcnQgZW51bSBFbnVtU3RhdGVUeXBlIHtcclxuICAgIFNUQVJUID0gMSxcclxuICAgIE5PUk1BTCA9IDIsXHJcbiAgICBDVVJSRU5UID0gMyxcclxuICAgIERJU0FCTEUgPSA0LFxyXG4gICAgU1RPUCA9IDVcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRW51bVRhcmdldFR5cGUge1xyXG4gICAgVVNFUiA9IDEsXHJcbiAgICBERVBBUlRNRU5UID0gMiwgLy8gxJDGoW4gduG7i1xyXG4gICAgR1JPVVAgPSAzLCAvLyBOaMOzbSBuZ8aw4budaSBkw7luZ1xyXG4gICAgLy8gUk9MRSA9IDQgLy8gVmFpIHRyw7JcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRW51bVVzZXJSdWxlIHtcclxuICAgIC8vIE5HVU9JX1RBTyA9IDEsXHJcbiAgICBDQVBfVFJFTiA9IDIsXHJcbiAgICAvLyBOR1VPSV9DVU9JX0NVTkcgPSAzLFxyXG4gICAgTkdVT0lfVEhBTV9HSUFfUVVZX1RSSU5IID0gNCwgLy8gQ2jhu4kgdMOtbmggZGFuaCBzw6FjaCBuaOG7r25nIG5nxrDhu51pIMSRw6MgdOG7q25nIHRoYW8gdMOhYyB24bubaSBi4bqjbiBnaGlcclxuICAgIC8vIEPhuqVwIHRyw6puIG3DoCB44butIGzDvSBi4bqjbiBnaGkgxJHhu5FpIHTGsOG7o25nIHRyw6xuaCBsw6puXHJcbiAgICAvLyBDQVBfVFJFTl9EQV9HVUkgPSA1LFxyXG4gICAgLy8gTkdVT0lfREFfTkhBTiA9IDYsXHJcbiAgICBOR1VPSV9OSEFOID0gNywgLy8gVG/DoG4gYuG7mSBuaOG7r25nIG5nxrDhu51pLCDEkcahbiB24buLLCBuaMOzbSBuZ8aw4budaSBkw7luZywgdmFpIHRyw7IgbuG6sW0gdHJvbmcgZGFuaCBzw6FjaCBuaOG6rW5cclxuICAgIE5HVU9JX1RIRU9fRE9JID0gOCwgLy8gVG/DoG4gYuG7mSBuaOG7r25nIG5nxrDhu51pLCDEkcahbiB24buLLCBuaMOzbSBuZ8aw4budaSBkw7luZywgdmFpIHRyw7IgbuG6sW0gdHJvbmcgZGFuaCBzw6FjaCB0aGVvIGTDtWlcclxuICAgIE5HVU9JX1RIQU9fVEFDID0gOVxyXG59XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyDEkOG6t3QgdGhlbyBuaOG7iyBwaMOiblxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgZW51bSBFbnVtV29ya2Zsb3dIaXN0b3J5U3RhdHVzIHtcclxuICAgIElOX01BSU5fVEhSRUFEID0gMCwgLy8gUmnDqm5nIGPDoWkgbsOgeSDEkeG6t2MgYmnhu4d0IHRow6wgxJHhu4MgbMOgIDBcclxuICAgIE5PVF9JTl9NQUlOX1RIUkVBRCA9IDEsXHJcbiAgICBSRUNBTExFRCA9IDJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRW51bVBlcm1pc3Npb25UeXBlIHtcclxuICAgIE1BSU4gPSAwLCAvLyBC4bqjbiBnaGkgY2jDrW5oXHJcbiAgICBTSEFSRSA9IDEgLy8gQuG6o24gZ2hpIHThuqFvIHJhIMSR4buDIGNoaWEgc+G6u1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBFbnVtV29ya2Zsb3dDaGVja2JveE9wdGlvbiB7XHJcbiAgICBUQU9fQ09OR19WSUVDID0gMSxcclxuICAgIEFVVE9fTkVYVF9TVEVQID0gMixcclxuICAgIEFVVE9fU1RBUlRfVEFTSyA9IDNcclxufVxyXG5leHBvcnQgZW51bSBFbnVtUHJvY2Vzc1dvcmtmbG93VHlwZSB7XHJcbiAgICBFRElUID0gMSxcclxuICAgIFZJRVcgPSAyXHJcbn1cclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zdGF0ZW1hY2hpbmVzL21vZGVscy9lbnVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3JCLG1EQUFTLENBQUE7SUFDVCxxREFBVSxDQUFBO0lBQ1YsdURBQVcsQ0FBQTtJQUNYLHVEQUFXLENBQUE7SUFDWCxpREFBUSxDQUFBO0FBQ1osQ0FBQyxFQU5XLGFBQWEsS0FBYixhQUFhLFFBTXhCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN0QixtREFBUSxDQUFBO0lBQ1IsK0RBQWMsQ0FBQTtJQUNkLHFEQUFTLENBQUE7SUFDVCxzQkFBc0I7QUFDMUIsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFXWDtBQVhELFdBQVksWUFBWTtJQUNwQixpQkFBaUI7SUFDakIsdURBQVksQ0FBQTtJQUNaLHFFQUFtQixDQUFBO0lBQ25CLHVGQUE0QixDQUFBO0lBQzVCLGdEQUFnRDtJQUNoRCx1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLDJEQUFjLENBQUE7SUFDZCxtRUFBa0IsQ0FBQTtJQUNsQixtRUFBa0IsQ0FBQTtBQUN0QixDQUFDLEVBWFcsWUFBWSxLQUFaLFlBQVksUUFXdkI7QUFFRCxhQUFhO0FBQ2IscUJBQXFCO0FBQ3JCLGNBQWM7QUFDZCxNQUFNLENBQU4sSUFBWSx5QkFJWDtBQUpELFdBQVkseUJBQXlCO0lBQ2pDLDZGQUFrQixDQUFBO0lBQ2xCLHFHQUFzQixDQUFBO0lBQ3RCLGlGQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUpXLHlCQUF5QixLQUF6Qix5QkFBeUIsUUFJcEM7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzFCLDJEQUFRLENBQUE7SUFDUiw2REFBUyxDQUFBLENBQUMsNEJBQTRCO0FBQzFDLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCO0FBRUQsTUFBTSxDQUFOLElBQVksMEJBSVg7QUFKRCxXQUFZLDBCQUEwQjtJQUNsQyw2RkFBaUIsQ0FBQTtJQUNqQiwrRkFBa0IsQ0FBQTtJQUNsQixpR0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsMEJBQTBCLEtBQTFCLDBCQUEwQixRQUlyQztBQUNELE1BQU0sQ0FBTixJQUFZLHVCQUdYO0FBSEQsV0FBWSx1QkFBdUI7SUFDL0IscUVBQVEsQ0FBQTtJQUNSLHFFQUFRLENBQUE7QUFDWixDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRGaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lZGl0LWZpbGUtY29tbWFuZCc7XHJcbmV4cG9ydCBlbnVtIEVudW1TdGF0ZVR5cGUge1xyXG4gICAgU1RBUlQgPSAxLFxyXG4gICAgTk9STUFMID0gMixcclxuICAgIENVUlJFTlQgPSAzLFxyXG4gICAgRElTQUJMRSA9IDQsXHJcbiAgICBTVE9QID0gNVxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFbnVtVGFyZ2V0VHlwZSB7XHJcbiAgICBVU0VSID0gMSxcclxuICAgIERFUEFSVE1FTlQgPSAyLCAvLyDEkMahbiB24buLXHJcbiAgICBHUk9VUCA9IDMsIC8vIE5ow7NtIG5nxrDhu51pIGTDuW5nXHJcbiAgICAvLyBST0xFID0gNCAvLyBWYWkgdHLDslxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFbnVtVXNlclJ1bGUge1xyXG4gICAgLy8gTkdVT0lfVEFPID0gMSxcclxuICAgIENBUF9UUkVOID0gMixcclxuICAgIE5HVU9JX0NVT0lfQ1VORyA9IDMsXHJcbiAgICBOR1VPSV9USEFNX0dJQV9RVVlfVFJJTkggPSA0LCAvLyBDaOG7iSB0w61uaCBkYW5oIHPDoWNoIG5o4buvbmcgbmfGsOG7nWkgxJHDoyB04burbmcgdGhhbyB0w6FjIHbhu5tpIGLhuqNuIGdoaVxyXG4gICAgLy8gQ+G6pXAgdHLDqm4gbcOgIHjhu60gbMO9IGLhuqNuIGdoaSDEkeG7kWkgdMaw4bujbmcgdHLDrG5oIGzDqm5cclxuICAgIC8vIENBUF9UUkVOX0RBX0dVSSA9IDUsXHJcbiAgICAvLyBOR1VPSV9EQV9OSEFOID0gNixcclxuICAgIE5HVU9JX05IQU4gPSA3LCAvLyBUb8OgbiBi4buZIG5o4buvbmcgbmfGsOG7nWksIMSRxqFuIHbhu4ssIG5ow7NtIG5nxrDhu51pIGTDuW5nLCB2YWkgdHLDsiBu4bqxbSB0cm9uZyBkYW5oIHPDoWNoIG5o4bqtblxyXG4gICAgTkdVT0lfVEhFT19ET0kgPSA4LCAvLyBUb8OgbiBi4buZIG5o4buvbmcgbmfGsOG7nWksIMSRxqFuIHbhu4ssIG5ow7NtIG5nxrDhu51pIGTDuW5nLCB2YWkgdHLDsiBu4bqxbSB0cm9uZyBkYW5oIHPDoWNoIHRoZW8gZMO1aVxyXG4gICAgTkdVT0lfVEhBT19UQUMgPSA5XHJcbn1cclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIMSQ4bq3dCB0aGVvIG5o4buLIHBow6JuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBlbnVtIEVudW1Xb3JrZmxvd0hpc3RvcnlTdGF0dXMge1xyXG4gICAgSU5fTUFJTl9USFJFQUQgPSAwLCAvLyBSacOqbmcgY8OhaSBuw6B5IMSR4bq3YyBiaeG7h3QgdGjDrCDEkeG7gyBsw6AgMFxyXG4gICAgTk9UX0lOX01BSU5fVEhSRUFEID0gMSxcclxuICAgIFJFQ0FMTEVEID0gMlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFbnVtUGVybWlzc2lvblR5cGUge1xyXG4gICAgTUFJTiA9IDAsIC8vIELhuqNuIGdoaSBjaMOtbmhcclxuICAgIFNIQVJFID0gMSAvLyBC4bqjbiBnaGkgdOG6oW8gcmEgxJHhu4MgY2hpYSBz4bq7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVudW1Xb3JrZmxvd0NoZWNrYm94T3B0aW9uIHtcclxuICAgIFRBT19DT05HX1ZJRUMgPSAxLFxyXG4gICAgQVVUT19ORVhUX1NURVAgPSAyLFxyXG4gICAgQVVUT19TVEFSVF9UQVNLID0gM1xyXG59XHJcbmV4cG9ydCBlbnVtIEVudW1Qcm9jZXNzV29ya2Zsb3dUeXBlIHtcclxuICAgIEVESVQgPSAxLFxyXG4gICAgVklFVyA9IDJcclxufVxyXG4iXX0=
@@ -7,6 +7,7 @@ export class TnColorPickerComponent extends ComponentBase {
7
7
  super(injector);
8
8
  this.disabled = false;
9
9
  this.appendTo = 'body';
10
+ this.onInit = new EventEmitter();
10
11
  this.change = new EventEmitter();
11
12
  }
12
13
  writeValue(obj) {
@@ -28,7 +29,7 @@ export class TnColorPickerComponent extends ComponentBase {
28
29
  this.disabled = isDisabled;
29
30
  }
30
31
  ngOnInit() {
31
- // this.model.value = '#ffffff';
32
+ this.onInit.emit(this);
32
33
  }
33
34
  changePicker(evt) {
34
35
  this.model.inputValue = this.model.value;
@@ -62,6 +63,7 @@ TnColorPickerComponent.ctorParameters = () => [
62
63
  TnColorPickerComponent.propDecorators = {
63
64
  disabled: [{ type: Input }],
64
65
  appendTo: [{ type: Input }],
66
+ onInit: [{ type: Output }],
65
67
  change: [{ type: Output }]
66
68
  };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RuLWNvbG9yLXBpY2tlci90bi1jb2xvci1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBZWxFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBU3JELFlBQ0ksUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUFgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBTTNDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztTQUMvQjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osZ0NBQWdDO0lBQ3BDLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBRztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBRztRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQS9ESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsbWVBQStDO2dCQUUvQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDckQsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7b0JBQ0QsdUJBQXVCO2lCQUMxQjs7YUFDSjs7O1lBakJ1QyxRQUFROzs7dUJBdUIzQyxLQUFLO3VCQUNMLEtBQUs7cUJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBmb3J3YXJkUmVmLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndG4tY29sb3ItcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90bi1jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdG4tY29sb3ItcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUbkNvbG9yUGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIENvbXBvbmVudENvbnRleHRTZXJ2aWNlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbkNvbG9yUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIG9uQ2hhbmdlOiBGdW5jdGlvbjtcclxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb247XHJcblxyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGFwcGVuZFRvID0gJ2JvZHknO1xyXG4gICAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwudmFsdWUgPSBvYmo7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuaW5wdXRWYWx1ZSA9IG9iajtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsLnZhbHVlID0gJyNmZmZmZmYnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIC8vIHRoaXMubW9kZWwudmFsdWUgPSAnI2ZmZmZmZic7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlUGlja2VyKGV2dCkge1xyXG4gICAgICAgIHRoaXMubW9kZWwuaW5wdXRWYWx1ZSA9IHRoaXMubW9kZWwudmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLm1vZGVsLnZhbHVlKTtcclxuICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KHRoaXMubW9kZWwudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZUlucHV0KGV2dCkge1xyXG4gICAgICAgIHRoaXMubW9kZWwudmFsdWUgPSB0aGlzLm1vZGVsLmlucHV0VmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLm1vZGVsLnZhbHVlKTtcclxuICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KHRoaXMubW9kZWwudmFsdWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RuLWNvbG9yLXBpY2tlci90bi1jb2xvci1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBZWxFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBV3JELFlBQ0ksUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBVFgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsTUFBTSxDQUFDO1FBRWpCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBTTNDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztTQUMvQjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFHO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFHO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBakVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixtZUFBK0M7Z0JBRS9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO3dCQUNyRCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtvQkFDRCx1QkFBdUI7aUJBQzFCOzthQUNKOzs7WUFqQnVDLFFBQVE7Ozt1QkF1QjNDLEtBQUs7dUJBQ0wsS0FBSztxQkFFTCxNQUFNO3FCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgZm9yd2FyZFJlZiwgSW5qZWN0b3IsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UvY29tcG9uZW50LWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3RuLWNvbG9yLXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG4tY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RuLWNvbG9yLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVG5Db2xvclBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBDb21wb25lbnRDb250ZXh0U2VydmljZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG5Db2xvclBpY2tlckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICBvbkNoYW5nZTogRnVuY3Rpb247XHJcbiAgICBvblRvdWNoZWQ6IEZ1bmN0aW9uO1xyXG5cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBhcHBlbmRUbyA9ICdib2R5JztcclxuXHJcbiAgICBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChvYmopIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC52YWx1ZSA9IG9iajtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5pbnB1dFZhbHVlID0gb2JqO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwudmFsdWUgPSAnI2ZmZmZmZic7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5vbkluaXQuZW1pdCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VQaWNrZXIoZXZ0KSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5pbnB1dFZhbHVlID0gdGhpcy5tb2RlbC52YWx1ZTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMubW9kZWwudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLm5leHQodGhpcy5tb2RlbC52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlSW5wdXQoZXZ0KSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC52YWx1ZSA9IHRoaXMubW9kZWwuaW5wdXRWYWx1ZTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMubW9kZWwudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLm5leHQodGhpcy5tb2RlbC52YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -100,7 +100,7 @@ export class TnDialogComponent {
100
100
  TnDialogComponent.decorators = [
101
101
  { type: Component, args: [{
102
102
  selector: 'tn-dialog',
103
- template: "<p-dialog #dialog [closeOnEscape]=\"closeOnEscape\" [appendTo]=\"'body'\" [focusOnShow]=\"false\" [focusTrap]=\"false\"\r\n [header]=\"header | translate\" [(visible)]=\"visible\" [modal]=\"modal\" [responsive]=\"true\" [maximizable]=\"maximizable\"\r\n [autoZIndex]=\"true\" [styleClass]=\"styleClass\" [maskStyleClass]=\"maskClass\"\r\n [style]=\"{'width': popupSize.width + 'px', 'min-width': popupSize.width + 'px', 'height': popupSize.height + 'px', 'min-height': popupSize.height + 'px'}\"\r\n (onShow)=\"handleShowDialog($event)\" (onHide)=\"handleHideDialog($event)\">\r\n <tn-custom-scrollbar #scrollbar [useDefaultScrollBar]=\"useDefaultScrollBar\" [class]=\"scrollBarStyleClass\"\r\n [config]=\"scrollConfig\" [style]=\"scrollStyle\" class=\"tn-dialog-scrollbar\">\r\n <ng-content></ng-content>\r\n </tn-custom-scrollbar>\r\n <p-footer *ngIf=\"showFooter\">\r\n <p-footer *ngIf=\"formBase && formBase.buttonTemplate\">\r\n <ng-container *ngTemplateOutlet=\"formBase.buttonTemplate\">\r\n </ng-container>\r\n </p-footer>\r\n <p-footer *ngIf=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\r\n </p-footer>\r\n <p-footer *ngIf=\"!footer\">\r\n <button pButton preventTab type=\"button\" icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'FORM.CANCEL' | translate\" (click)=\"handleHideDialog($event)\"></button>\r\n </p-footer>\r\n </p-footer>\r\n</p-dialog>",
103
+ template: "<p-dialog #dialog [closeOnEscape]=\"closeOnEscape\" [appendTo]=\"'body'\" [focusOnShow]=\"false\" [focusTrap]=\"false\"\r\n [header]=\"header | translate\" [(visible)]=\"visible\" [modal]=\"modal\" [responsive]=\"true\" [maximizable]=\"maximizable\"\r\n [autoZIndex]=\"true\" [styleClass]=\"styleClass\" [maskStyleClass]=\"maskClass\"\r\n [style]=\"{'width': popupSize.width + 'px', 'min-width': popupSize.width + 'px', 'height': popupSize.height + 'px', 'min-height': popupSize.height + 'px'}\"\r\n (onShow)=\"handleShowDialog($event)\" (onHide)=\"handleHideDialog($event)\">\r\n <tn-custom-scrollbar #scrollbar [useDefaultScrollBar]=\"useDefaultScrollBar\" [class]=\"scrollBarStyleClass\"\r\n [config]=\"scrollConfig\" [style]=\"scrollStyle\" class=\"tn-dialog-scrollbar\">\r\n <ng-content></ng-content>\r\n </tn-custom-scrollbar>\r\n <p-footer *ngIf=\"showFooter\">\r\n <p-footer *ngIf=\"formBase && formBase.buttonTemplate\">\r\n <ng-container *ngTemplateOutlet=\"formBase.buttonTemplate\">\r\n </ng-container>\r\n </p-footer>\r\n <ng-container *ngIf=\"!formBase || !formBase.buttonTemplate\">\r\n <p-footer *ngIf=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\r\n </p-footer>\r\n <p-footer *ngIf=\"!footer\">\r\n <button pButton preventTab type=\"button\" icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'FORM.CANCEL' | translate\" (click)=\"handleHideDialog($event)\"></button>\r\n </p-footer>\r\n </ng-container>\r\n </p-footer>\r\n</p-dialog>",
104
104
  styles: [""]
105
105
  },] }
106
106
  ];
@@ -135,4 +135,4 @@ TnDialogComponent.propDecorators = {
135
135
  onHide: [{ type: Output }],
136
136
  onResize: [{ type: HostListener, args: ['window:resize',] }]
137
137
  };
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RuLWRpYWxvZy90bi1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFPbEcsTUFBTSxPQUFPLGlCQUFpQjtJQXlDM0IsWUFDVyxTQUFtQixFQUNuQixzQkFBNkM7UUFEN0MsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBekIvQyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUdiLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNs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MUIsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7d0JBQ3BDLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3VCQUV2QyxZQUFZLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtxQkFNMUMsWUFBWSxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBQ3ZDLGVBQWUsU0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO3dCQUVsRCxLQUFLO3lCQUNMLEtBQUs7a0NBQ0wsS0FBSztrQ0FDTCxLQUFLO3NCQUNMLEtBQUs7NkJBQ0wsS0FBSztvQkFDTCxLQUFLO3FCQUNMLEtBQUs7d0JBQ0wsS0FBSzs0QkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzttQkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSztxQkFDTCxNQUFNO3VCQUNOLE1BQU07cUJBQ04sTUFBTTtxQkFDTixNQUFNO3VCQXVETixZQUFZLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJ3RuLWN1c3RvbS1wcmltZW5nL2RpYWxvZyc7XHJcbmltcG9ydCB7IERhdGFGb3JtQmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWZvcm0tYmFzZSc7XHJcbmltcG9ydCB7IFBvcHVwU2l6ZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb21TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbkN1c3RvbVNjcm9sbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3RuLWN1c3RvbS1zY3JvbGxiYXIvdG4tY3VzdG9tLXNjcm9sbGJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgIHNlbGVjdG9yOiAndG4tZGlhbG9nJyxcclxuICAgdGVtcGxhdGVVcmw6ICcuL3RuLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgIHN0eWxlVXJsczogWycuL3RuLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICBAVmlld0NoaWxkKCdkaWFsb2cnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkaWFsb2c6IERpYWxvZztcclxuICAgQFZpZXdDaGlsZCgnc2Nyb2xsYmFyJywgeyBzdGF0aWM6IHRydWUgfSkgc2Nyb2xsYmFyOiBUbkN1c3RvbVNjcm9sbGJhckNvbXBvbmVudDtcclxuICAgX2Zvcm1CYXNlOiBEYXRhRm9ybUJhc2VcclxuICAgQENvbnRlbnRDaGlsZCgnZm9ybUJhc2UnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IGZvcm1CYXNlKHZhbHVlOiBEYXRhRm9ybUJhc2UpIHtcclxuICAgICAgdGhpcy5fZm9ybUJhc2UgPSB2YWx1ZTtcclxuICAgfVxyXG4gICBnZXQgZm9ybUJhc2UoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9mb3JtQmFzZTtcclxuICAgfVxyXG4gICBAQ29udGVudENoaWxkKCdmb290ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb290ZXI6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWYsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgY2hpbGRyZW46IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuXHJcbiAgIEBJbnB1dCgpIG1hc2tDbGFzczogc3RyaW5nO1xyXG4gICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XHJcbiAgIEBJbnB1dCgpIHNjcm9sbEJhclN0eWxlQ2xhc3M6IHN0cmluZztcclxuICAgQElucHV0KCkgdXNlRGVmYXVsdFNjcm9sbEJhcjogYm9vbGVhbjtcclxuICAgQElucHV0KCkgdmlzaWJsZSA9IHRydWU7XHJcbiAgIEBJbnB1dCgpIGRpc2FibGVkQnV0dG9uID0gZmFsc2U7XHJcbiAgIEBJbnB1dCgpIG1vZGFsID0gdHJ1ZTtcclxuICAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmc7XHJcbiAgIEBJbnB1dCgpIHBvcHVwU2l6ZTogUG9wdXBTaXplO1xyXG4gICBASW5wdXQoKSBjbG9zZU9uRXNjYXBlID0gdHJ1ZTtcclxuICAgQElucHV0KCkgc2hvd0Zvb3RlciA9IHRydWU7XHJcbiAgIEBJbnB1dCgpIHBvc2l0aW9uVG9wOiBudW1iZXI7XHJcbiAgIEBJbnB1dCgpIG1pblk6IG51bWJlcjtcclxuICAgQElucHV0KCkgaGlkZGVuU2F2ZSA9IHRydWU7XHJcbiAgIEBJbnB1dCgpIG1heGltaXphYmxlID0gdHJ1ZTtcclxuICAgQE91dHB1dCgpIG9uU2F2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgQE91dHB1dCgpIG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICBAT3V0cHV0KCkgb25TaG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICBAT3V0cHV0KCkgb25IaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgc2Nyb2xsQ29uZmlnID0geyBzdXBwcmVzc1Njcm9sbFg6IHRydWUsIHN1cHByZXNzU2Nyb2xsWTogZmFsc2UgfTtcclxuICAgc2Nyb2xsU3R5bGUgPSB7fTtcclxuICAgZGlhbG9nQ29udGVudERvbTogYW55O1xyXG4gICBpc09uTW9iaWxlO1xyXG5cclxuICAgcHJvdGVjdGVkIF9kb21TZXJ2aWNlOiBEb21TZXJ2aWNlO1xyXG4gICBwcm90ZWN0ZWQgX2NvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2U7XHJcbiAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgIHByaXZhdGUgX2RldmljZURldGVjdG9yU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlXHJcbiAgICkge1xyXG4gICAgICB0aGlzLl9kb21TZXJ2aWNlID0gdGhpcy5faW5qZWN0b3IuZ2V0KERvbVNlcnZpY2UpO1xyXG4gICAgICB0aGlzLl9jb21tb25TZXJ2aWNlID0gdGhpcy5faW5qZWN0b3IuZ2V0KENvbW1vblNlcnZpY2UpO1xyXG4gICB9XHJcblxyXG4gICBuZ09uSW5pdCgpIHtcclxuICAgICAgdGhpcy5pc09uTW9iaWxlID0gdGhpcy5fZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmlzTW9iaWxlKCk7XHJcbiAgICAgIGlmICghdGhpcy5wb3B1cFNpemUpIHRoaXMucG9wdXBTaXplID0gbmV3IFBvcHVwU2l6ZSgpO1xyXG4gICAgICBpZiAodGhpcy5wb3B1cFNpemUubWF4aW1pemUgfHwgdGhpcy5pc09uTW9iaWxlKSB7XHJcbiAgICAgICAgIHRoaXMucG9wdXBTaXplLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgICAgIHRoaXMucG9wdXBTaXplLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAgaWYgKCF0aGlzLnBvcHVwU2l6ZS53aWR0aCkgdGhpcy5wb3B1cFNpemUud2lkdGggPSA4MDA7XHJcbiAgICAgICAgIGlmICghdGhpcy5wb3B1cFNpemUuaGVpZ2h0KSB0aGlzLnBvcHVwU2l6ZS5oZWlnaHQgPSA1MDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0dXBTY3JvbGxTdHlsZSgpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgIHRoaXMuZ2V0Q29tcG9uZW50QnlUeXBlKCdidXR0b25UZW1wbGF0ZScpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgfVxyXG5cclxuICAgaGFuZGxlU2hvd0RpYWxvZyhldmVudCkge1xyXG4gICAgICB0aGlzLmRpYWxvZ0NvbnRlbnREb20gPSB0aGlzLmRpYWxvZy53cmFwcGVyO1xyXG4gICAgICBpZiAodGhpcy5fZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcclxuICAgICAgICAgdGhpcy5tYXhpbWl6ZSgpO1xyXG4gICAgICAgICB0aGlzLmRpYWxvZy5tYXhpbWl6YWJsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMucG9wdXBTaXplLm1heGltaXplKSB7XHJcbiAgICAgICAgIHRoaXMubWF4aW1pemUoKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25TaG93LmVtaXQoZXZlbnQpO1xyXG4gICB9XHJcblxyXG4gICBoYW5kbGVIaWRlRGlhbG9nKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMub25IaWRlLmVtaXQoZXZlbnQpO1xyXG4gICB9XHJcblxyXG4gICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICAgb25SZXNpemUoKSB7XHJcbiAgICAgIGlmICh0aGlzLnBvcHVwU2l6ZS53aWR0aCAmJiB0aGlzLl9kb21TZXJ2aWNlLm1heGltaXplRGlhbG9nKHRoaXMuZGlhbG9nQ29udGVudERvbSwgdGhpcy5wb3B1cFNpemUpKSB7XHJcbiAgICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IHRoaXMucG9wdXBTaXplLndpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9wdXBTaXplLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgaWYgKHdpbmRvdy5pbm5lckhlaWdodCA8IHRoaXMucG9wdXBTaXplLmhlaWdodCkge1xyXG4gICAgICAgICAgICB0aGlzLnBvcHVwU2l6ZS5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgdGhpcy5zZXR1cFNjcm9sbFN0eWxlKCk7XHJcbiAgICAgICAgIHRoaXMuZGlhbG9nLm1heGltaXphYmxlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgfVxyXG5cclxuICAgc2V0dXBTY3JvbGxTdHlsZSgpIHtcclxuICAgICAgaWYgKCF0aGlzLmlzT25Nb2JpbGUpIHtcclxuICAgICAgICAgdGhpcy5zY3JvbGxTdHlsZSA9IHsgbWluSGVpZ2h0OiAodGhpcy5wb3B1cFNpemUuaGVpZ2h0IC0gMTA0KSArICdweCcgfTtcclxuICAgICAgfVxyXG4gICB9XHJcblxyXG4gICBjZW50ZXIoKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nLmNlbnRlcigpO1xyXG4gICB9XHJcblxyXG4gICBtYXhpbWl6ZSgpIHtcclxuICAgICAgdGhpcy5kaWFsb2cubWF4aW1pemUoKTtcclxuICAgICAgLy8gVHJpY2sgZm9yIGJ1ZyBwcmltZW5nXHJcbiAgICAgIHRoaXMuZGlhbG9nLm1heGltaXplZCA9IHRydWU7XHJcbiAgIH1cclxuXHJcbiAgIGdldENvbXBvbmVudEJ5VHlwZShjb250cm9sVHlwZTogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9jb21tb25TZXJ2aWNlLmZpbmRUZW1wbGF0ZUZyb21MaXN0KHRoaXMuY2hpbGRyZW4sIGNvbnRyb2xUeXBlKTtcclxuICAgfVxyXG59XHJcbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RuLWRpYWxvZy90bi1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFPbEcsTUFBTSxPQUFPLGlCQUFpQjtJQXlDM0IsWUFDVyxTQUFtQixFQUNuQixzQkFBNkM7UUFEN0MsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBekIvQyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUdiLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNs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MUIsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7d0JBQ3BDLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3VCQUV2QyxZQUFZLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtxQkFNMUMsWUFBWSxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBQ3ZDLGVBQWUsU0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO3dCQUVsRCxLQUFLO3lCQUNMLEtBQUs7a0NBQ0wsS0FBSztrQ0FDTCxLQUFLO3NCQUNMLEtBQUs7NkJBQ0wsS0FBSztvQkFDTCxLQUFLO3FCQUNMLEtBQUs7d0JBQ0wsS0FBSzs0QkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzttQkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSztxQkFDTCxNQUFNO3VCQUNOLE1BQU07cUJBQ04sTUFBTTtxQkFDTixNQUFNO3VCQXVETixZQUFZLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJ3RuLWN1c3RvbS1wcmltZW5nL2RpYWxvZyc7XHJcbmltcG9ydCB7IERhdGFGb3JtQmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9kYXRhLWZvcm0tYmFzZSc7XHJcbmltcG9ydCB7IFBvcHVwU2l6ZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb21TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9tLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbkN1c3RvbVNjcm9sbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3RuLWN1c3RvbS1zY3JvbGxiYXIvdG4tY3VzdG9tLXNjcm9sbGJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgIHNlbGVjdG9yOiAndG4tZGlhbG9nJyxcclxuICAgdGVtcGxhdGVVcmw6ICcuL3RuLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgIHN0eWxlVXJsczogWycuL3RuLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICBAVmlld0NoaWxkKCdkaWFsb2cnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkaWFsb2c6IERpYWxvZztcclxuICAgQFZpZXdDaGlsZCgnc2Nyb2xsYmFyJywgeyBzdGF0aWM6IHRydWUgfSkgc2Nyb2xsYmFyOiBUbkN1c3RvbVNjcm9sbGJhckNvbXBvbmVudDtcclxuICAgX2Zvcm1CYXNlOiBEYXRhRm9ybUJhc2VcclxuICAgQENvbnRlbnRDaGlsZCgnZm9ybUJhc2UnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IGZvcm1CYXNlKHZhbHVlOiBEYXRhRm9ybUJhc2UpIHtcclxuICAgICAgdGhpcy5fZm9ybUJhc2UgPSB2YWx1ZTtcclxuICAgfVxyXG4gICBnZXQgZm9ybUJhc2UoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9mb3JtQmFzZTtcclxuICAgfVxyXG4gICBAQ29udGVudENoaWxkKCdmb290ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb290ZXI6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWYsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgY2hpbGRyZW46IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuXHJcbiAgIEBJbnB1dCgpIG1hc2tDbGFzczogc3RyaW5nO1xyXG4gICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmc7XHJcbiAgIEBJbnB1dCgpIHNjcm9sbEJhclN0eWxlQ2xhc3M6IHN0cmluZztcclxuICAgQElucHV0KCkgdXNlRGVmYXVsdFNjcm9sbEJhcjogYm9vbGVhbjtcclxuICAgQElucHV0KCkgdmlzaWJsZSA9IHRydWU7XHJcbiAgIEBJbnB1dCgpIGRpc2FibGVkQnV0dG9uID0gZmFsc2U7XHJcbiAgIEBJbnB1dCgpIG1vZGFsID0gdHJ1ZTtcclxuICAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmc7XHJcbiAgIEBJbnB1dCgpIHBvcHVwU2l6ZTogUG9wdXBTaXplO1xyXG4gICBASW5wdXQoKSBjbG9zZU9uRXNjYXBlID0gdHJ1ZTtcclxuICAgQElucHV0KCkgc2hvd0Zvb3RlciA9IHRydWU7XHJcbiAgIEBJbnB1dCgpIHBvc2l0aW9uVG9wOiBudW1iZXI7XHJcbiAgIEBJbnB1dCgpIG1pblk6IG51bWJlcjtcclxuICAgQElucHV0KCkgaGlkZGVuU2F2ZSA9IHRydWU7XHJcbiAgIEBJbnB1dCgpIG1heGltaXphYmxlID0gdHJ1ZTtcclxuICAgQE91dHB1dCgpIG9uU2F2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgQE91dHB1dCgpIG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICBAT3V0cHV0KCkgb25TaG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICBAT3V0cHV0KCkgb25IaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgc2Nyb2xsQ29uZmlnID0geyBzdXBwcmVzc1Njcm9sbFg6IHRydWUsIHN1cHByZXNzU2Nyb2xsWTogZmFsc2UgfTtcclxuICAgc2Nyb2xsU3R5bGUgPSB7fTtcclxuICAgZGlhbG9nQ29udGVudERvbTogYW55O1xyXG4gICBpc09uTW9iaWxlO1xyXG5cclxuICAgcHJvdGVjdGVkIF9kb21TZXJ2aWNlOiBEb21TZXJ2aWNlO1xyXG4gICBwcm90ZWN0ZWQgX2NvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2U7XHJcbiAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgIHByaXZhdGUgX2RldmljZURldGVjdG9yU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlXHJcbiAgICkge1xyXG4gICAgICB0aGlzLl9kb21TZXJ2aWNlID0gdGhpcy5faW5qZWN0b3IuZ2V0KERvbVNlcnZpY2UpO1xyXG4gICAgICB0aGlzLl9jb21tb25TZXJ2aWNlID0gdGhpcy5faW5qZWN0b3IuZ2V0KENvbW1vblNlcnZpY2UpO1xyXG4gICB9XHJcblxyXG4gICBuZ09uSW5pdCgpIHtcclxuICAgICAgdGhpcy5pc09uTW9iaWxlID0gdGhpcy5fZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmlzTW9iaWxlKCk7XHJcbiAgICAgIGlmICghdGhpcy5wb3B1cFNpemUpIHRoaXMucG9wdXBTaXplID0gbmV3IFBvcHVwU2l6ZSgpO1xyXG4gICAgICBpZiAodGhpcy5wb3B1cFNpemUubWF4aW1pemUgfHwgdGhpcy5pc09uTW9iaWxlKSB7XHJcbiAgICAgICAgIHRoaXMucG9wdXBTaXplLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgICAgIHRoaXMucG9wdXBTaXplLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAgaWYgKCF0aGlzLnBvcHVwU2l6ZS53aWR0aCkgdGhpcy5wb3B1cFNpemUud2lkdGggPSA4MDA7XHJcbiAgICAgICAgIGlmICghdGhpcy5wb3B1cFNpemUuaGVpZ2h0KSB0aGlzLnBvcHVwU2l6ZS5oZWlnaHQgPSA1MDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0dXBTY3JvbGxTdHlsZSgpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgIHRoaXMuZ2V0Q29tcG9uZW50QnlUeXBlKCdidXR0b25UZW1wbGF0ZScpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgfVxyXG5cclxuICAgaGFuZGxlU2hvd0RpYWxvZyhldmVudCkge1xyXG4gICAgICB0aGlzLmRpYWxvZ0NvbnRlbnREb20gPSB0aGlzLmRpYWxvZy53cmFwcGVyO1xyXG4gICAgICBpZiAodGhpcy5fZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcclxuICAgICAgICAgdGhpcy5tYXhpbWl6ZSgpO1xyXG4gICAgICAgICB0aGlzLmRpYWxvZy5tYXhpbWl6YWJsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMucG9wdXBTaXplLm1heGltaXplKSB7XHJcbiAgICAgICAgIHRoaXMubWF4aW1pemUoKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25TaG93LmVtaXQoZXZlbnQpO1xyXG4gICB9XHJcblxyXG4gICBoYW5kbGVIaWRlRGlhbG9nKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMub25IaWRlLmVtaXQoZXZlbnQpO1xyXG4gICB9XHJcblxyXG4gICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICAgb25SZXNpemUoKSB7XHJcbiAgICAgIGlmICh0aGlzLnBvcHVwU2l6ZS53aWR0aCAmJiB0aGlzLl9kb21TZXJ2aWNlLm1heGltaXplRGlhbG9nKHRoaXMuZGlhbG9nQ29udGVudERvbSwgdGhpcy5wb3B1cFNpemUpKSB7XHJcbiAgICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IHRoaXMucG9wdXBTaXplLndpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9wdXBTaXplLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgaWYgKHdpbmRvdy5pbm5lckhlaWdodCA8IHRoaXMucG9wdXBTaXplLmhlaWdodCkge1xyXG4gICAgICAgICAgICB0aGlzLnBvcHVwU2l6ZS5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgdGhpcy5zZXR1cFNjcm9sbFN0eWxlKCk7XHJcbiAgICAgICAgIHRoaXMuZGlhbG9nLm1heGltaXphYmxlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgfVxyXG5cclxuICAgc2V0dXBTY3JvbGxTdHlsZSgpIHtcclxuICAgICAgaWYgKCF0aGlzLmlzT25Nb2JpbGUpIHtcclxuICAgICAgICAgdGhpcy5zY3JvbGxTdHlsZSA9IHsgbWluSGVpZ2h0OiAodGhpcy5wb3B1cFNpemUuaGVpZ2h0IC0gMTA0KSArICdweCcgfTtcclxuICAgICAgfVxyXG4gICB9XHJcblxyXG4gICBjZW50ZXIoKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nLmNlbnRlcigpO1xyXG4gICB9XHJcblxyXG4gICBtYXhpbWl6ZSgpIHtcclxuICAgICAgdGhpcy5kaWFsb2cubWF4aW1pemUoKTtcclxuICAgICAgLy8gVHJpY2sgZm9yIGJ1ZyBwcmltZW5nXHJcbiAgICAgIHRoaXMuZGlhbG9nLm1heGltaXplZCA9IHRydWU7XHJcbiAgIH1cclxuXHJcbiAgIGdldENvbXBvbmVudEJ5VHlwZShjb250cm9sVHlwZTogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9jb21tb25TZXJ2aWNlLmZpbmRUZW1wbGF0ZUZyb21MaXN0KHRoaXMuY2hpbGRyZW4sIGNvbnRyb2xUeXBlKTtcclxuICAgfVxyXG59XHJcbiJdfQ==
@@ -4,21 +4,34 @@ export class TnTabViewComponent {
4
4
  constructor(_commonService) {
5
5
  this._commonService = _commonService;
6
6
  this.data = [];
7
+ this._hiddenTab = [];
8
+ this.hiddenInfo = {};
7
9
  this.allowViewAll = false;
8
10
  this.isDynamicHeight = false;
9
- this.useScrollbar = false;
10
11
  this.onTabChange = new EventEmitter();
11
12
  this.activeIndexChange = new EventEmitter();
12
13
  this.template = {};
13
14
  this.onlyIcon = false;
14
15
  this.styleClass = 'tn-tabview-beauty';
15
16
  this.height = '100%';
17
+ this.ready = false;
16
18
  }
17
19
  set vertical(value) {
18
20
  this._vertical = value;
19
21
  this.setStyleClass();
20
22
  }
21
23
  ;
24
+ set hiddenTab(value) {
25
+ if (value) {
26
+ this._hiddenTab = value;
27
+ }
28
+ else {
29
+ this._hiddenTab = [];
30
+ }
31
+ if (this.ready) {
32
+ this.setHiddenInfo();
33
+ }
34
+ }
22
35
  set activeIndex(value) {
23
36
  this.currentTabIndex = value;
24
37
  }
@@ -34,6 +47,8 @@ export class TnTabViewComponent {
34
47
  }
35
48
  this.currentTabIndex = currentTabIndex;
36
49
  }
50
+ this.ready = true;
51
+ this.setHiddenInfo();
37
52
  }
38
53
  ngAfterContentInit() {
39
54
  this.onlyIcon = true;
@@ -45,6 +60,12 @@ export class TnTabViewComponent {
45
60
  });
46
61
  this.setStyleClass();
47
62
  }
63
+ setHiddenInfo() {
64
+ this.hiddenInfo = {};
65
+ this._hiddenTab.forEach(tabCode => {
66
+ this.hiddenInfo[tabCode] = true;
67
+ });
68
+ }
48
69
  setStyleClass() {
49
70
  let result = 'tn-tabview-beauty';
50
71
  if (this._vertical) {
@@ -58,13 +79,19 @@ export class TnTabViewComponent {
58
79
  handleTabChange(evt) {
59
80
  this.currentTabIndex = evt.index;
60
81
  this.activeIndexChange.emit(this.currentTabIndex);
61
- this.onTabChange.emit(evt);
82
+ }
83
+ handleTabLoaded(item) {
84
+ this.currentTabCode = item.code;
85
+ this.onTabChange.emit({
86
+ index: this.currentTabIndex,
87
+ code: this.currentTabCode
88
+ });
62
89
  }
63
90
  }
64
91
  TnTabViewComponent.decorators = [
65
92
  { type: Component, args: [{
66
93
  selector: 'tn-tabview',
67
- template: "<div [style.height]=\"height\">\r\n <p-tabView #tab orientation=\"top\" [styleClass]=\"styleClass\" [activeIndex]=\"currentTabIndex\"\r\n (onChange)=\"handleTabChange($event)\">\r\n <ng-container *ngFor=\"let item of data; let i = index\">\r\n <p-tabPanel *ngIf=\"!item.hidden\" [leftIcon]=\"item.icon\" [header]=\"item.label\"\r\n [headerStyleClass]=\"item.headerStyleClass\">\r\n <ng-container *ngIf=\"allowViewAll || currentTabIndex == i\">\r\n <tn-custom-scrollbar *ngIf=\"useScrollbar\">\r\n <ng-container *ngTemplateOutlet=\"template[item.code]; context: {$implicit: item}\">\r\n </ng-container>\r\n </tn-custom-scrollbar>\r\n <ng-container *ngIf=\"!useScrollbar\">\r\n <ng-container *ngTemplateOutlet=\"template[item.code]; context: {$implicit: item}\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </p-tabPanel>\r\n </ng-container>\r\n </p-tabView>\r\n</div>",
94
+ template: "<div [style.height]=\"height\">\r\n <p-tabView #tab orientation=\"top\" [styleClass]=\"styleClass\" [activeIndex]=\"currentTabIndex\"\r\n (onChange)=\"handleTabChange($event)\">\r\n <ng-container *ngFor=\"let item of data; let i = index\">\r\n <p-tabPanel *ngIf=\"!item.hidden && !hiddenInfo[item.code]\" [leftIcon]=\"item.icon\" [header]=\"item.label\"\r\n [headerStyleClass]=\"item.headerStyleClass\">\r\n <ng-container *ngIf=\"allowViewAll || item.alwayRender || currentTabIndex == i\">\r\n <tn-custom-scrollbar *ngIf=\"item.useScrollbar\">\r\n <ng-container *ngTemplateOutlet=\"template[item.code]; context: {$implicit: item}\">\r\n </ng-container>\r\n </tn-custom-scrollbar>\r\n <ng-container *ngIf=\"!item.useScrollbar\">\r\n <ng-container *ngTemplateOutlet=\"template[item.code]; context: {$implicit: item}\">\r\n </ng-container>\r\n </ng-container>\r\n <after-view-checked (loaded)=\"handleTabLoaded(item)\"></after-view-checked>\r\n </ng-container>\r\n </p-tabPanel>\r\n </ng-container>\r\n </p-tabView>\r\n</div>",
68
95
  styles: [".accordion-link{flex:1 1;text-align:right}.accordion-link ul{list-style:none;margin-bottom:0;margin-top:0;padding-left:0}.accordion-link ul li{background-color:#a4a5a4;border-radius:4px;color:#fff;display:inline-block;line-height:20px;margin-bottom:.5rem;margin-left:.5rem;padding:6px 12px;transition:all .3s ease-out}.accordion-link ul li:hover{background-color:#3db762;cursor:pointer}.accordion-link ul li.tab-active{background-color:#23a349}.tn-l-toolbar{display:flex;padding:.5rem .5rem 0}.hoso-container{height:auto;max-height:none}.tab-number{align-items:center;background:#a4a5a4;border-radius:2px;color:#fff;display:inline-flex;font-size:.9em;height:20px;justify-content:center;margin-right:.5rem;padding-top:2px;width:20px}.tab-number.active{background:#23a349}::ng-deep tn-accordion-tab{display:flex;flex-direction:column;height:100%}::ng-deep tn-accordion-tab .p-accordion-header{position:-webkit-sticky;position:sticky;top:1px;z-index:6}::ng-deep tn-accordion-tab .tn-l-p-accordion-wrapper{border-radius:4px;display:flex;flex:1;margin-left:.5rem;margin-right:.5rem;overflow:auto}::ng-deep tn-accordion-tab .tn-l-p-accordion-wrapper tn-custom-scrollbar{width:100%}::ng-deep tn-accordion-tab .ps__rail-x,::ng-deep tn-accordion-tab .ps__rail-y{z-index:7}::ng-deep tn-accordion-tab .tn-l-toolbar .toolbar{flex:0 0 auto;padding-top:0}@media (max-width:640px){.accordion-link,.toolbar{overflow-x:auto;white-space:nowrap}.tn-l-custom-wrapper{display:block}.accordion-link ul{margin-top:0}.tn-l-toolbar{display:block}}"]
69
96
  },] }
70
97
  ];
@@ -75,11 +102,11 @@ TnTabViewComponent.propDecorators = {
75
102
  children: [{ type: ContentChildren, args: [TemplateRef,] }],
76
103
  vertical: [{ type: Input }],
77
104
  data: [{ type: Input }],
105
+ hiddenTab: [{ type: Input }],
78
106
  allowViewAll: [{ type: Input }],
79
107
  activeIndex: [{ type: Input }],
80
108
  isDynamicHeight: [{ type: Input }],
81
- useScrollbar: [{ type: Input }],
82
109
  onTabChange: [{ type: Output }],
83
110
  activeIndexChange: [{ type: Output }]
84
111
  };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tdGFidmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90bi10YWJ2aWV3L3RuLXRhYnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU85RCxNQUFNLE9BQU8sa0JBQWtCO0lBcUIzQixZQUNZLGNBQTZCO1FBQTdCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBZmhDLFNBQUksR0FBa0IsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSXJCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RELGFBQVEsR0FBd0MsRUFBRSxDQUFDO1FBRW5ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLG1CQUFtQixDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUM7SUFJaEIsQ0FBQztJQXJCRCxJQUFhLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQUEsQ0FBQztJQUdGLElBQWEsV0FBVyxDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUFBLENBQUM7SUFlRixRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUNyRSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6RCxJQUFJLGVBQWUsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDdkIsZUFBZSxHQUFHLENBQUMsQ0FBQzthQUN2QjtZQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUYsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsTUFBTSxJQUFJLFdBQVcsQ0FBQztTQUN6QjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE1BQU0sSUFBSSxZQUFZLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQUc7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7O1lBdEVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsdW9DQUEwQzs7YUFFN0M7OztZQU5RLGFBQWE7Ozt1QkFRakIsZUFBZSxTQUFDLFdBQVc7dUJBRTNCLEtBQUs7bUJBSUwsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBR0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLE1BQU07Z0NBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJWaWV3RGF0YSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3RuLXRhYnZpZXcnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RuLXRhYnZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdG4tdGFidmlldy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUblRhYlZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZikgY2hpbGRyZW46IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuICAgIF92ZXJ0aWNhbDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNldCB2ZXJ0aWNhbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3ZlcnRpY2FsID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5zZXRTdHlsZUNsYXNzKCk7XHJcbiAgICB9O1xyXG4gICAgQElucHV0KCkgZGF0YTogVGFiVmlld0RhdGFbXSA9IFtdO1xyXG4gICAgQElucHV0KCkgYWxsb3dWaWV3QWxsID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYkluZGV4ID0gdmFsdWU7XHJcbiAgICB9O1xyXG4gICAgQElucHV0KCkgaXNEeW5hbWljSGVpZ2h0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSB1c2VTY3JvbGxiYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBvblRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIGFjdGl2ZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICB0ZW1wbGF0ZTogeyBba2V5OiBzdHJpbmddOiBUZW1wbGF0ZVJlZjxhbnk+IH0gPSB7fTtcclxuICAgIGN1cnJlbnRUYWJJbmRleDogbnVtYmVyO1xyXG4gICAgb25seUljb24gPSBmYWxzZTtcclxuICAgIHN0eWxlQ2xhc3MgPSAndG4tdGFidmlldy1iZWF1dHknO1xyXG4gICAgaGVpZ2h0ID0gJzEwMCUnO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNEeW5hbWljSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFRhYkluZGV4ID09PSBudWxsIHx8IHRoaXMuY3VycmVudFRhYkluZGV4ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRUYWJJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgocSA9PiBxLmFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50VGFiSW5kZXggPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRUYWJJbmRleCA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VGFiSW5kZXggPSBjdXJyZW50VGFiSW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgICAgICB0aGlzLm9ubHlJY29uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVtpdGVtLmNvZGVdID0gdGhpcy5fY29tbW9uU2VydmljZS5maW5kVGVtcGxhdGVGcm9tTGlzdCh0aGlzLmNoaWxkcmVuLCBpdGVtLmNvZGUpO1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbmx5SWNvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXRTdHlsZUNsYXNzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3R5bGVDbGFzcygpIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gJ3RuLXRhYnZpZXctYmVhdXR5JztcclxuICAgICAgICBpZiAodGhpcy5fdmVydGljYWwpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9ICcgdmVydGljYWwnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5vbmx5SWNvbikge1xyXG4gICAgICAgICAgICByZXN1bHQgKz0gJyBvbmx5LWljb24nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0eWxlQ2xhc3MgPSByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlVGFiQ2hhbmdlKGV2dCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYkluZGV4ID0gZXZ0LmluZGV4O1xyXG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXhDaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnRUYWJJbmRleCk7XHJcbiAgICAgICAgdGhpcy5vblRhYkNoYW5nZS5lbWl0KGV2dCk7XHJcbiAgICB9XHJcbn1cclxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tdGFidmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90bi10YWJ2aWV3L3RuLXRhYnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU85RCxNQUFNLE9BQU8sa0JBQWtCO0lBbUMzQixZQUNZLGNBQTZCO1FBQTdCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBN0JoQyxTQUFJLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFZWixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNoQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0RCxhQUFRLEdBQXdDLEVBQUUsQ0FBQztRQUduRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxtQkFBbUIsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxLQUFLLENBQUM7SUFJZCxDQUFDO0lBbkNELElBQWEsUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFBQSxDQUFDO0lBSUYsSUFBYSxTQUFTLENBQUMsS0FBZTtRQUNsQyxJQUFJLEtB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QUUsWUFBWTtnQkFDdEIsbXlDQUEwQzs7YUFFN0M7OztZQU5RLGFBQWE7Ozt1QkFRakIsZUFBZSxTQUFDLFdBQVc7dUJBRTNCLEtBQUs7bUJBSUwsS0FBSzt3QkFHTCxLQUFLOzJCQVdMLEtBQUs7MEJBQ0wsS0FBSzs4QkFHTCxLQUFLOzBCQUNMLE1BQU07Z0NBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJWaWV3RGF0YSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3RuLXRhYnZpZXcnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RuLXRhYnZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdG4tdGFidmlldy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUblRhYlZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZikgY2hpbGRyZW46IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcclxuICAgIF92ZXJ0aWNhbDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNldCB2ZXJ0aWNhbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3ZlcnRpY2FsID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5zZXRTdHlsZUNsYXNzKCk7XHJcbiAgICB9O1xyXG4gICAgQElucHV0KCkgZGF0YTogVGFiVmlld0RhdGFbXSA9IFtdO1xyXG4gICAgX2hpZGRlblRhYjogc3RyaW5nW10gPSBbXTtcclxuICAgIGhpZGRlbkluZm86IGFueSA9IHt9O1xyXG4gICAgQElucHV0KCkgc2V0IGhpZGRlblRhYih2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5faGlkZGVuVGFiID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9oaWRkZW5UYWIgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucmVhZHkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRIaWRkZW5JbmZvKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQElucHV0KCkgYWxsb3dWaWV3QWxsID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYkluZGV4ID0gdmFsdWU7XHJcbiAgICB9O1xyXG4gICAgQElucHV0KCkgaXNEeW5hbWljSGVpZ2h0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBAT3V0cHV0KCkgb25UYWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBhY3RpdmVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgdGVtcGxhdGU6IHsgW2tleTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PiB9ID0ge307XHJcbiAgICBjdXJyZW50VGFiSW5kZXg6IG51bWJlcjtcclxuICAgIGN1cnJlbnRUYWJDb2RlOiBzdHJpbmc7XHJcbiAgICBvbmx5SWNvbiA9IGZhbHNlO1xyXG4gICAgc3R5bGVDbGFzcyA9ICd0bi10YWJ2aWV3LWJlYXV0eSc7XHJcbiAgICBoZWlnaHQgPSAnMTAwJSc7XHJcbiAgICByZWFkeSA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNEeW5hbWljSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFRhYkluZGV4ID09PSBudWxsIHx8IHRoaXMuY3VycmVudFRhYkluZGV4ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRUYWJJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgocSA9PiBxLmFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50VGFiSW5kZXggPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRUYWJJbmRleCA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50VGFiSW5kZXggPSBjdXJyZW50VGFiSW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2V0SGlkZGVuSW5mbygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgICAgICB0aGlzLm9ubHlJY29uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVtpdGVtLmNvZGVdID0gdGhpcy5fY29tbW9uU2VydmljZS5maW5kVGVtcGxhdGVGcm9tTGlzdCh0aGlzLmNoaWxkcmVuLCBpdGVtLmNvZGUpO1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbmx5SWNvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXRTdHlsZUNsYXNzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0SGlkZGVuSW5mbygpIHtcclxuICAgICAgICB0aGlzLmhpZGRlbkluZm8gPSB7fTtcclxuICAgICAgICB0aGlzLl9oaWRkZW5UYWIuZm9yRWFjaCh0YWJDb2RlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oaWRkZW5JbmZvW3RhYkNvZGVdID0gdHJ1ZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTdHlsZUNsYXNzKCkge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSAndG4tdGFidmlldy1iZWF1dHknO1xyXG4gICAgICAgIGlmICh0aGlzLl92ZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICByZXN1bHQgKz0gJyB2ZXJ0aWNhbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm9ubHlJY29uKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSAnIG9ubHktaWNvbic7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3R5bGVDbGFzcyA9IHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVUYWJDaGFuZ2UoZXZ0KSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiSW5kZXggPSBldnQuaW5kZXg7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleENoYW5nZS5lbWl0KHRoaXMuY3VycmVudFRhYkluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVUYWJMb2FkZWQoaXRlbTogVGFiVmlld0RhdGEpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJDb2RlID0gaXRlbS5jb2RlO1xyXG4gICAgICAgIHRoaXMub25UYWJDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICAgIGluZGV4OiB0aGlzLmN1cnJlbnRUYWJJbmRleCxcclxuICAgICAgICAgICAgY29kZTogdGhpcy5jdXJyZW50VGFiQ29kZVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -22,6 +22,7 @@ export class TnTinymceComponent extends ComponentBase {
22
22
  this.required = false;
23
23
  this.height = 200;
24
24
  this.field = '';
25
+ this.onInit = new EventEmitter();
25
26
  this.keydown = new EventEmitter();
26
27
  this.onBlur = new EventEmitter();
27
28
  this.onChanged = new EventEmitter();
@@ -49,6 +50,7 @@ export class TnTinymceComponent extends ComponentBase {
49
50
  }
50
51
  ngOnInit() {
51
52
  this.subscribeContentInsert();
53
+ this.onInit.emit(this);
52
54
  }
53
55
  ngAfterViewInit() {
54
56
  let mode = this.mode;
@@ -399,8 +401,9 @@ TnTinymceComponent.propDecorators = {
399
401
  height: [{ type: Input }],
400
402
  field: [{ type: Input }],
401
403
  languageCode: [{ type: Input }],
404
+ onInit: [{ type: Output }],
402
405
  keydown: [{ type: Output }],
403
406
  onBlur: [{ type: Output }],
404
407
  onChanged: [{ type: Output }]
405
408
  };
406
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tdGlueW1jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90bi10aW55bWNlL3RuLXRpbnltY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWlCdEYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFrQ2pELFlBQ0ksUUFBa0IsRUFDWCxzQkFBNkMsRUFDMUMsZ0JBQWlDLEVBQ2pDLFlBQWlDO1FBRTNDLEtBQUssQ0FBQyxRQUFRLENB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QUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQUc7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQUc7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQUc7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7WUFsYUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0Qix1Z0VBQTBDO2dCQUUxQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDakQsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7b0JBQ0QsdUJBQXVCO2lCQUMxQjs7YUFDSjs7O1lBM0I0RCxRQUFRO1lBRzVELHFCQUFxQjtZQU1yQixlQUFlO1lBRWYsbUJBQW1COzs7MkJBbUJ2QixTQUFTLFNBQUMsdUJBQXVCO21CQUVqQyxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSztxQkFDTCxLQUFLO29CQUNMLEtBQUs7MkJBQ0wsS0FBSztzQkFDTCxNQUFNO3FCQUNOLE1BQU07d0JBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IG5hbm9pZCB9IGZyb20gJ25hbm9pZCc7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xyXG5pbXBvcnQgeyBFTUZKUywgUlRGSlMsIFdNRkpTIH0gZnJvbSAncnRmLmpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XHJcbmltcG9ydCB7IFBvcHVwU2l6ZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDb21DdHhDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25maWdzL2NvbXBvbmVudC1jb250ZXh0LmNvbnN0YW50JztcclxuaW1wb3J0IHsgTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVxdWF0aW9uRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZXF1YXRpb24tZWRpdG9yL2VxdWF0aW9uLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlRXhwbG9yZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9maWxlLWV4cGxvcmVyLnNlcnZpY2UnO1xyXG5cclxuZGVjbGFyZSBsZXQgdGlueW1jZTogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3RuLXRpbnltY2UnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RuLXRpbnltY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdG4tdGlueW1jZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVG5UaW55bWNlQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIENvbXBvbmVudENvbnRleHRTZXJ2aWNlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUblRpbnltY2VDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBAVmlld0NoaWxkKEVxdWF0aW9uRWRpdG9yQ29tcG9uZW50KSBlcXVhdGlvbkZvcm06IEVxdWF0aW9uRWRpdG9yQ29tcG9uZW50O1xyXG5cclxuICAgIEBJbnB1dCgpIG1vZGU/OiAnYmFzaWMnIHwgJ21lZGl1bScgfCAnZnVsbCcgfCAnc2ltcGxlJyA9ICdiYXNpYyc7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGhlaWdodCA9IDIwMDtcclxuICAgIEBJbnB1dCgpIGZpZWxkID0gJyc7XHJcbiAgICBASW5wdXQoKSBsYW5ndWFnZUNvZGU7XHJcbiAgICBAT3V0cHV0KCkga2V5ZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIG1vZGVsOiBhbnkgPSAnJztcclxuICAgIG9uQ2hhbmdlOiBGdW5jdGlvbjtcclxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb247XHJcbiAgICBpZCA9IG5hbm9pZCg4KTtcclxuICAgIGVkaXRvcjogYW55O1xyXG4gICAgZGF0YUVxdWF0aW9uOiBhbnkgPSB7fTtcclxuXHJcbiAgICBpc1Nob3cgPSBmYWxzZTtcclxuICAgIGlzQWRkTmV3czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBtb2RlcyA9IHt9O1xyXG4gICAgaXNBZGRGaWxlID0gZmFsc2U7XHJcbiAgICBpcyA9IGZhbHNlO1xyXG4gICAgaGVhZGVyOiBzdHJpbmc7XHJcbiAgICBlcXVhdGlvbkZvcm1Nb2RlbDogYW55ID0geyBzaG93OiBmYWxzZSB9O1xyXG4gICAgcG9wdXBTaXplID0gbmV3IFBvcHVwU2l6ZSh7XHJcbiAgICAgICAgd2lkdGg6IDExMDAsXHJcbiAgICAgICAgaGVpZ2h0OiA2NTBcclxuICAgIH0pO1xyXG4gICAgc2hvd1RlbXBsYXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHB1YmxpYyBfZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9ub3RpZmllclNlcnZpY2U6IE5vdGlmaWVyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZpbGVTZXJ2aWNlOiBGaWxlRXhwbG9yZXJTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcblxyXG4gICAgICAgIFJURkpTLmxvZ2dpbmdFbmFibGVkKGZhbHNlKTtcclxuICAgICAgICBXTUZKUy5sb2dnaW5nRW5hYmxlZChmYWxzZSk7XHJcbiAgICAgICAgRU1GSlMubG9nZ2luZ0VuYWJsZWQoZmFsc2UpO1xyXG5cclxuICAgICAgICBjb25zdCBtID0gWydiYXNpYycsICdtZWRpdW0nLCAnZnVsbCcsICdzaW1wbGUnXTtcclxuICAgICAgICBtLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZXNbeF0gPSB0aGlzLmdldFRpbnlNY2VDb25maWdCeU1vZGUoeCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVDb250ZW50SW5zZXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBtb2RlID0gdGhpcy5tb2RlO1xyXG4gICAgICAgIGlmICghdGhpcy5fZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmlzRGVza3RvcCgpKSB7XHJcbiAgICAgICAgICAgIG1vZGUgPSAnc2ltcGxlJztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5tb2Rlc1ttb2RlXTtcclxuICAgICAgICBjb25maWcuaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRpbnltY2UuaW5pdChjb25maWcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAob2JqID09IG51bGwpIG9iaiA9ICcnO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSBvYmo7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLnNldENvbnRlbnQodGhpcy5tb2RlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5EaWFsb2coZGF0YSA9IHt9KSB7XHJcbiAgICAgICAgdGhpcy5lcXVhdGlvbkZvcm1Nb2RlbC5zaG93ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVxdWF0aW9uRm9ybU1vZGVsLmRhdGEgPSBkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRpbnlNY2VDb25maWdCeU1vZGUobW9kZSkge1xyXG4gICAgICAgIGNvbnN0ICR0aGlzID0gdGhpcztcclxuXHJcbiAgICAgICAgdGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgnYWRkTmV3cycsIGZ1bmN0aW9uIChlZGl0b3IpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3BlbkRpYWxvZyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICR0aGlzLmhlYWRlciA9ICdUaMOqbS9DaOG7jW4gdGluIGLDoGknO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuaXNBZGROZXdzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICR0aGlzLmlzQWRkRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMucG9wdXBTaXplID0geyB3aWR0aDogMTIwMCwgaGVpZ2h0OiA3MDAgfTtcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGVkaXRvci51aS5yZWdpc3RyeS5hZGRCdXR0b24oJ2FkZE5ld3MnLCB7XHJcbiAgICAgICAgICAgICAgICB0b29sdGlwOiAnVGjDqm0vQ2jDqG4gdGluIGLDoGkgdsOgbyBu4buZaSBkdW5nJyxcclxuICAgICAgICAgICAgICAgIGljb246ICdub24tYnJlYWtpbmcnLFxyXG4gICAgICAgICAgICAgICAgb25BY3Rpb246IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGVuRGlhbG9nKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgndGVtcGxhdGUnLCBmdW5jdGlvbiAoZWRpdG9yKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wZW5EaWFsb2cgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5oZWFkZXIgPSAnVGjDqm0vQ2jhu41uIHRlbXBsYXRlJztcclxuICAgICAgICAgICAgICAgICR0aGlzLnNob3dUZW1wbGF0ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5wb3B1cFNpemUgPSB7IHdpZHRoOiAxMjAwLCBoZWlnaHQ6IDcwMCB9O1xyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbigndGVtcGxhdGUnLCB7XHJcbiAgICAgICAgICAgICAgICB0b29sdGlwOiAnVGVtcGxhdGUnLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogJ25vbi1icmVha2luZycsXHJcbiAgICAgICAgICAgICAgICBvbkFjdGlvbjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wZW5EaWFsb2coKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRpbnltY2UuUGx1Z2luTWFuYWdlci5hZGQoJ2VkaXRGaWxlTmV3JywgZnVuY3Rpb24gKGVkaXRvcikge1xyXG4gICAgICAgICAgICBjb25zdCBvcGVuRGlhbG9nID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuaGVhZGVyID0gJ1Row6ptL0No4buJbmggc+G7rWEgZmlsZSBjw6EgbmjDom4nO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuaXNBZGROZXdzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5pc0FkZEZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMucG9wdXBTaXplID0geyB3aWR0aDogMTIwMCwgaGVpZ2h0OiA3MDAgfTtcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGVkaXRvci51aS5yZWdpc3RyeS5hZGRCdXR0b24oJ2VkaXRGaWxlTmV3Jywge1xyXG4gICAgICAgICAgICAgICAgdG9vbHRpcDogJ1Row6ptL0Now6huIOG6o25oLCB2aWRlbywgZmlsZSB2w6BvIG7hu5lpIGR1bmcnLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogJ2R1cGxpY2F0ZScsXHJcbiAgICAgICAgICAgICAgICBvbkFjdGlvbjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wZW5EaWFsb2coKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgY29uc3QgY2FsbGJhY2tGdW5jID0gZWRpdG9yID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0b3IgPSBlZGl0b3I7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICBlZGl0b3Iuc2V0TW9kZSgncmVhZG9ubHknKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBlZEJvZHkgPSBqUXVlcnkoZWRpdG9yLmlmcmFtZUVsZW1lbnQpLmNvbnRlbnRzKCkuZmluZCgnYm9keScpO1xyXG4gICAgICAgICAgICBjb25zdCBlZGl0b3JIb2xkZXIgPSBlZGl0b3IuaWZyYW1lRWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2RldmljZURldGVjdG9yU2VydmljZS5pc0Rlc2t0b3AoKSkge1xyXG4gICAgICAgICAgICAgICAgZWRCb2R5LmFkZENsYXNzKCdtb2JpbGUnKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZWRCb2R5Lm9uKCdibHVyJywgZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBlZGl0b3JIb2xkZXIuY2xhc3NMaXN0LnJlbW92ZSgndGlueW1jZS1mb2N1cycpO1xyXG4gICAgICAgICAgICB9KS5vbignZm9jdXMnLCBlID0+IHtcclxuICAgICAgICAgICAgICAgIGVkaXRvckhvbGRlci5jbGFzc0xpc3QuYWRkKCd0aW55bWNlLWZvY3VzJyk7XHJcbiAgICAgICAgICAgIH0pLm9uKCdwYXN0ZScsIChlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVzID0gZS5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEudHlwZXM7XHJcbiAgICAgICAgICAgICAgICBpZiAoKCh0eXBlcyBpbnN0YW5jZW9mIERPTVN0cmluZ0xpc3QpICYmIHR5cGVzLmNvbnRhaW5zKCd0ZXh0L2h0bWwnKSkgfHwgKHR5cGVzLmluZGV4T2YgJiYgdHlwZXMuaW5kZXhPZigndGV4dC9odG1sJykgIT09IC0xKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGUub3JpZ2luYWxFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICBlLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVBhc3RlKGUub3JpZ2luYWxFdmVudCkudGhlbigoY29udGVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50ID0gY29udGVudC5yZXBsYWNlKC88IVxcW2lmW1xcc1xcU10qPz4vZ20sICcnKS5yZXBsYWNlKC88IVxcW2VuZGlmW1xcc1xcU10qPz4vZ20sICcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLm5vcm1hbGl6ZUhUTUwoY29udGVudCwgJzwhW2lmICFzdXBwb3J0TGlzdHNdPicsICc8IVtlbmRpZl0+Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0gdGhpcy5ub3JtYWxpemVIVE1MKGNvbnRlbnQsICc8IVtpZiAhbXNFcXVhdGlvbl0+JywgJzwhW2VuZGlmXT4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvci5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0Q29udGVudCcsIGZhbHNlLCBjb250ZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkub24oJ2tleWRvd24nLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKFN0cmluZy5mcm9tQ2hhckNvZGUoZS53aGljaCkudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25LZXlEb3duKGUsIENvbUN0eENvbnN0YW50cy5ST09ULktFWV9ET1dOX0NUUkxfUyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChlLndoaWNoID09IDI3KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleURvd24oZSwgQ29tQ3R4Q29uc3RhbnRzLlJPT1QuS0VZX0RPV05fRVNDKTtcclxuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLm9uKCdkYmxjbGljaycsIChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZS50YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAnaW1nJyAmJiBlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2xhdGV4JykpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5EaWFsb2coeyBjb250ZW50OiBlLnRhcmdldC5nZXRBdHRyaWJ1dGUoJ2FsdCcpLCBzdHlsZTogZS50YXJnZXQuZ2V0QXR0cmlidXRlKCdzdHlsZScpLCBoZWlnaHQ6IGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnaGVpZ2h0JykgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZWRpdG9yLm9uKCdibHVyJywgKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQmx1cigpO1xyXG4gICAgICAgICAgICB9KS5vbignY2hhbmdlJywgKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBlZGl0b3IuZ2V0Q29udGVudCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShjb250ZW50KTtcclxuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoY29udGVudCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZWRpdG9yLnNldENvbnRlbnQodGhpcy5tb2RlbCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgY29uZmlnOiBhbnkgPSB7XHJcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnIycgKyB0aGlzLmlkLFxyXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxyXG4gICAgICAgICAgICBjb250ZW50X2NzczogW1xyXG4gICAgICAgICAgICAgICAgJy9hc3NldHMvdmVuZG9yL3RpbnltY2UvY3VzdG9tLmNzcydcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgaW1hZ2V0b29sc190b29sYmFyOiAncm90YXRlbGVmdCByb3RhdGVyaWdodCB8IGZsaXB2IGZsaXBoIHwgZWRpdGltYWdlIGltYWdlb3B0aW9ucycsXHJcbiAgICAgICAgICAgIGxhbmd1YWdlOiAndmlfVk4nLFxyXG4gICAgICAgICAgICBzdGF0dXNiYXI6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWxhdGl2ZV91cmxzOiBmYWxzZSxcclxuICAgICAgICAgICAgY29udmVydF91cmxzOiBmYWxzZSxcclxuICAgICAgICAgICAgdGFiZm9jdXNfZWxlbWVudHM6ICc6cHJldiw6bmV4dCcsXHJcbiAgICAgICAgICAgIGluaXRfaW5zdGFuY2VfY2FsbGJhY2s6IGNhbGxiYWNrRnVuYyxcclxuICAgICAgICAgICAgc2V0dXA6IGZ1bmN0aW9uIChlZGl0b3IpIHtcclxuICAgICAgICAgICAgICAgIGVkaXRvci5hZGRTaG9ydGN1dChcclxuICAgICAgICAgICAgICAgICAgJ2N0cmwrRScsICdDYW5HaXVhJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICBlZGl0b3IuZXhlY0NvbW1hbmQoJ0p1c3RpZnlDZW50ZXInLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGVkaXRvci5hZGRTaG9ydGN1dChcclxuICAgICAgICAgICAgICAgICAgJ2N0cmwrTCcsICdDYW5UcmFpJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICBlZGl0b3IuZXhlY0NvbW1hbmQoJ0p1c3RpZnlMZWZ0JywgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBlZGl0b3IuYWRkU2hvcnRjdXQoXHJcbiAgICAgICAgICAgICAgICAgICdjdHJsK1InLCAnQ2FuUGhhaScsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgZWRpdG9yLmV4ZWNDb21tYW5kKCdKdXN0aWZ5UmlnaHQnLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGVkaXRvci5hZGRTaG9ydGN1dChcclxuICAgICAgICAgICAgICAgICAgJ2N0cmwrSicsICdDYW5EZXUnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgIGVkaXRvci5leGVjQ29tbWFuZCgnSnVzdGlmeUZ1bGwnLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGVkaXRvci5hZGRTaG9ydGN1dChcclxuICAgICAgICAgICAgICAgICAgICAnQWx0K00nLCAnTHVpVmFvJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5leGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBlZGl0b3IuYWRkU2hvcnRjdXQoXHJcbiAgICAgICAgICAgICAgICAgICAgJ0FsdCtOJywgJ0x1aVJhJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgZWRpdG9yLmV4ZWNDb21tYW5kKCdvdXRkZW50JywgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgbW9iaWxlOiB7XHJcbiAgICAgICAgICAgICAgICB0aGVtZTogJ3NpbHZlcicsXHJcbiAgICAgICAgICAgICAgICBwbHVnaW5zOiBbJ2Fkdmxpc3QgYXV0b2xpbmsgbGlzdHMgbGluayBpbWFnZSBjaGFybWFwIHByaW50IHByZXZpZXcgYW5jaG9yIHRleHRjb2xvciBzZWFyY2hyZXBsYWNlIHZpc3VhbGJsb2NrcyBjb2RlIGZ1bGxzY3JlZW4gaW5zZXJ0ZGF0ZXRpbWUgbWVkaWEgdGFibGUgbWVkaWEgY29kZSBsaXN0cyBjb2xvcnBpY2tlciBpbWFnZXRvb2xzIHRhYmZvY3VzIHRleHRjb2xvciddLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAobW9kZSA9PSAnZnVsbCcpIHtcclxuICAgICAgICAgICAgY29uZmlnLnBsdWdpbnMgPSBbXHJcbiAgICAgICAgICAgICAgICAnYWR2bGlzdCBhdXRvbGluayBsaXN0cyBsaW5rIGltYWdlIGNoYXJtYXAgcHJpbnQgcHJldmlldyBhbmNob3IgdGV4dGNvbG9yIHNlYXJjaHJlcGxhY2UgdmlzdWFsYmxvY2tzIGNvZGUgZnVsbHNjcmVlbiBpbnNlcnRkYXRldGltZSBtZWRpYSB0YWJsZSBtZWRpYSBjb2RlIGxpc3RzIGNvbG9ycGlja2VyIGltYWdldG9vbHMgdGFiZm9jdXMgZWRpdEZpbGVOZXcgYWRkTmV3cydcclxuICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgY29uZmlnLnRvb2xiYXIgPSAnZm9ybWF0c2VsZWN0IHwgYm9sZCBpdGFsaWMgU3RyaWtldGhyb3VnaCBmb3JlY29sb3IgYmFja2NvbG9yIHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgYWxpZ25qdXN0aWZ5IHwgYnVsbGlzdCBudW1saXN0IG91dGRlbnQgaW5kZW50IHwgdGFibGUgbGluayBlZGl0RmlsZU5ldyBhZGROZXdzIHwgcHJpbnQgcmVtb3ZlZm9ybWF0IHVuZG8gcmVkbyB8IGZ1bGxzY3JlZW4gJztcclxuICAgICAgICAgICAgY29uZmlnLm1vYmlsZS50b29sYmFyID0gJ2JvbGQgaXRhbGljIFN0cmlrZXRocm91Z2ggZm9yZWNvbG9yIGJhY2tjb2xvciB8IGJ1bGxpc3QgbnVtbGlzdCB8IGZ1bGxzY3JlZW4nO1xyXG4gICAgICAgICAgICBjb25maWcucGFzdGVfZGF0YV9pbWFnZXMgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChtb2RlID09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgICAgIGNvbmZpZy5wbHVnaW5zID0gWydhZHZsaXN0IGF1dG9saW5rIGxpc3RzIGxpbmsgaW1hZ2UgY2hhcm1hcCBwcmludCBwcmV2aWV3IGFuY2hvciB0ZXh0Y29sb3Igc2VhcmNocmVwbGFjZSB2aXN1YWxibG9ja3MgY29kZSBmdWxsc2NyZWVuIGluc2VydGRhdGV0aW1lIG1lZGlhIHRhYmxlIG1lZGlhIGNvZGUgbGlzdHMgY29sb3JwaWNrZXIgaW1hZ2V0b29scyB0YWJmb2N1cyB0ZXh0Y29sb3InXTtcclxuICAgICAgICAgICAgY29uZmlnLnRvb2xiYXIgPSAnZm9ybWF0c2VsZWN0IHwgYm9sZCBpdGFsaWMgU3RyaWtldGhyb3VnaCBmb3JlY29sb3IgYmFja2NvbG9yIHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgYWxpZ25qdXN0aWZ5IHwgYnVsbGlzdCBudW1saXN0IG91dGRlbnQgaW5kZW50IHwgdGFibGUgbGluayAgfCBwcmludCByZW1vdmVmb3JtYXQgdW5kbyByZWRvIHwgZnVsbHNjcmVlbic7XHJcbiAgICAgICAgICAgIGNvbmZpZy5tb2JpbGUudG9vbGJhciA9ICdib2xkIGl0YWxpYyBTdHJpa2V0aHJvdWdoIGZvcmVjb2xvciBiYWNrY29sb3IgfCBidWxsaXN0IG51bWxpc3QgfCBmdWxsc2NyZWVuJztcclxuICAgICAgICAgICAgY29uZmlnLnBhc3RlX2RhdGFfaW1hZ2VzID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAobW9kZSA9PSAnc2ltcGxlJykge1xyXG4gICAgICAgICAgICBjb25maWcucGx1Z2lucyA9IFsnYWR2bGlzdCBhdXRvbGluayBsaXN0cyBsaW5rIGltYWdlIGNoYXJtYXAgcHJpbnQgcHJldmlldyBhbmNob3IgdGV4dGNvbG9yIHNlYXJjaHJlcGxhY2UgdmlzdWFsYmxvY2tzIGNvZGUgZnVsbHNjcmVlbiBpbnNlcnRkYXRldGltZSBtZWRpYSB0YWJsZSBtZWRpYSBjb2RlIGxpc3RzIGNvbG9ycGlja2VyIGltYWdldG9vbHMgdGFiZm9jdXMgdGV4dGNvbG9yJ107XHJcbiAgICAgICAgICAgIGNvbmZpZy50b29sYmFyID0gJ2JvbGQgaXRhbGljIFN0cmlrZXRocm91Z2ggZm9yZWNvbG9yIGJhY2tjb2xvciB8IGJ1bGxpc3QgbnVtbGlzdCB8IGZ1bGxzY3JlZW4nO1xyXG4gICAgICAgICAgICBjb25maWcubW9iaWxlLnRvb2xiYXIgPSAnZnVsbHNjcmVlbiB8IGJvbGQgaXRhbGljIFN0cmlrZXRocm91Z2ggZm9yZWNvbG9yIGJhY2tjb2xvciB8IGJ1bGxpc3QgbnVtbGlzdCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25maWcucGx1Z2lucyA9IFsnYWR2bGlzdCBhdXRvbGluayBsaXN0cyBsaW5rIGltYWdlIGNoYXJtYXAgcHJpbnQgcHJldmlldyBhbmNob3IgdGV4dGNvbG9yIHNlYXJjaHJlcGxhY2UgdmlzdWFsYmxvY2tzIGNvZGUgZnVsbHNjcmVlbiBpbnNlcnRkYXRldGltZSBtZWRpYSB0YWJsZSBtZWRpYSBjb2RlIGxpc3RzIGNvbG9ycGlja2VyIGltYWdldG9vbHMgdGFiZm9jdXMgdGV4dGNvbG9yJ107XHJcbiAgICAgICAgY29uZmlnLnRvb2xiYXIgPSAnZm9ybWF0c2VsZWN0IHwgYm9sZCBpdGFsaWMgU3RyaWtldGhyb3VnaCBmb3JlY29sb3IgYmFja2NvbG9yfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCBhbGlnbmp1c3RpZnkgfCBidWxsaXN0IG51bWxpc3QnO1xyXG4gICAgICAgIGNvbmZpZy50b29sYmFyID0gJ2JvbGQgaXRhbGljIFN0cmlrZXRocm91Z2ggZm9yZWNvbG9yIGJhY2tjb2xvciB8IGJ1bGxpc3QgbnVtbGlzdCB8IGZ1bGxzY3JlZW4nO1xyXG4gICAgICAgIGNvbmZpZy5wYXN0ZV9kYXRhX2ltYWdlcyA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIGNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBub3JtYWxpemVIVE1MKGNvbnRlbnQ6IHN0cmluZywgYmVnaW46IHN0cmluZywgZW5kOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBpbmRleCA9IGNvbnRlbnQuaW5kZXhPZihiZWdpbik7XHJcbiAgICAgICAgd2hpbGUgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXgyID0gY29udGVudC5pbmRleE9mKGVuZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoaW5kZXgyID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZygwLCBpbmRleDIpICsgY29udGVudC5zdWJzdHJpbmcoaW5kZXgyICsgZW5kLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZygwLCBpbmRleCkgKyBjb250ZW50LnN1YnN0cmluZyhpbmRleCArIGJlZ2luLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIGluZGV4ID0gY29udGVudC5pbmRleE9mKGJlZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlQmx1cigpIHtcclxuICAgICAgICB0aGlzLm9uQmx1ci5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25LZXlEb3duKGU6IGFueSwgdG9waWM6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMua2V5ZG93bi5uZXh0KHsgZXZlbnQ6IGUsIHRvcGljIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZU9rKGV2dCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmVxdWF0aW9uRm9ybS5wcmV2aWV3Lm5hdGl2ZUVsZW1lbnQub3V0ZXJIVE1MO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRDb250ZW50JywgdHJ1ZSwgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXNUcmFwKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLmlmcmFtZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0aW55bWNlLWZvY3VzJyk7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXN5bmMgaGFuZGxlUGFzdGUoZSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbWFnZXMgPSBbXTtcclxuICAgICAgICAgICAgbGV0IG9sZExlZ2FjeVZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNvbnN0IHNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICAgICAgb25QaWN0dXJlOiAoaXNMZWdhY3ksIGNyZWF0ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvbGRMZWdhY3lWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbGRMZWdhY3lWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkb20gPSBjcmVhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VzLnB1c2goZG9tLm91dGVySFRNTCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkb207XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFpc0xlZ2FjeSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkb20gPSBjcmVhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvbS50YWdOYW1lID09ICdJTUcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZXMucHVzaChkb20ub3V0ZXJIVE1MKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkb207XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRMZWdhY3lWYWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0eXBlcyA9IGUuY2xpcGJvYXJkRGF0YS50eXBlcztcclxuXHJcbiAgICAgICAgICAgIGlmICgoKHR5cGVzIGluc3RhbmNlb2YgRE9NU3RyaW5nTGlzdCkgJiYgdHlwZXMuY29udGFpbnMoJ3RleHQvaHRtbCcpKSB8fCAodHlwZXMuaW5kZXhPZiAmJiB0eXBlcy5pbmRleE9mKCd0ZXh0L2h0bWwnKSAhPT0gLTEpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGFzdGVkRGF0YSA9IGUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L2h0bWwnKTtcclxuICAgICAgICAgICAgICAgIGlmIChwYXN0ZWREYXRhLmluZGV4T2YoJzx2OmltYWdlZGF0YSAnKSA9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocGFzdGVkRGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoKCh0eXBlcyBpbnN0YW5jZW9mIERPTVN0cmluZ0xpc3QpICYmIHR5cGVzLmNvbnRhaW5zKCd0ZXh0L3J0ZicpKSB8fCAodHlwZXMuaW5kZXhPZiAmJiB0eXBlcy5pbmRleE9mKCd0ZXh0L3J0ZicpICE9PSAtMSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFzdGVkUnRmRGF0YSA9IGUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3J0ZicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkb2MgPSBuZXcgUlRGSlMuRG9jdW1lbnQodGhpcy5fY29tbW9uU2VydmljZS5zdHJpbmdUb0FycmF5QnVmZmVyKHBhc3RlZFJ0ZkRhdGEpLCBzZXR0aW5ncyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvYy5yZW5kZXIoKS50aGVuKChodG1sRWxlbWVudHMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IHBhc3RlZERhdGEuaW5kZXhPZignPHY6aW1hZ2VkYXRhICcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwMSA9IHBhc3RlZERhdGEuc3Vic3RyaW5nKDAsIGluZGV4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleDIgPSBwYXN0ZWREYXRhLmluZGV4T2YoJy8+JywgaW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PSAtMSkgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHAyID0gcGFzdGVkRGF0YS5zdWJzdHJpbmcoaW5kZXgyICsgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbWFnZVN0ciA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA+IGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlU3RyID0gaW1hZ2VzW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3RlZERhdGEgPSBwMSArIGltYWdlU3RyICsgcDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcGFzdGVkRGF0YS5pbmRleE9mKCc8djppbWFnZWRhdGEgJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkrKztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHBhc3RlZERhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5GaWxlTWFuYWdlcigpIHtcclxuICAgICAgICB0aGlzLmlzU2hvdyA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBzdWJzY3JpYmVDb250ZW50SW5zZXJ0KCkge1xyXG4gICAgICAgIHRoaXMucm9vdENvbnRleHQuc3Vic2NyaWJlKCdJTlNFUlRfQ09OVEVOVF9CT0RZJywgeCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLmluc2VydENvbnRlbnQoeC5jb250ZW50KTtcclxuICAgICAgICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRpbnltY2UuRWRpdG9yTWFuYWdlci5yZW1vdmUoJyMnICsgdGhpcy5pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlUkZDYW5jZWwoZXZ0KSB7XHJcbiAgICAgICAgdGhpcy5pc0FkZEZpbGUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93Q2hhbmdlZChldnQpIHtcclxuICAgICAgICB0aGlzLmlzQWRkRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNBZGROZXdzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lZGl0b3IuaW5zZXJ0Q29udGVudChldnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFRlbXBsYXRlKGV2dCkge1xyXG4gICAgICAgIHRoaXMuc2hvd1RlbXBsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lZGl0b3IuaW5zZXJ0Q29udGVudChldnQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
409
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tdGlueW1jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90bi10aW55bWNlL3RuLXRpbnltY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWlCdEYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFvQ2pELFlBQ0ksUUFBa0IsRUFDWCxzQkFBNkMsRUFDMUMsZ0JBQWlDLEVBQ2pDLFlBQWlDO1FBRTNDLEtBQUssQ0FBQyxRQUFRLENB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bnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbmltcG9ydCB7IEVNRkpTLCBSVEZKUywgV01GSlMgfSBmcm9tICdydGYuanMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9iYXNlL2NvbXBvbmVudC1iYXNlJztcclxuaW1wb3J0IHsgUG9wdXBTaXplIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLXNjaGVtYSc7XHJcbmltcG9ydCB7IENvbUN0eENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRleHQuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXF1YXRpb25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi9lcXVhdGlvbi1lZGl0b3IvZXF1YXRpb24tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVFeHBsb3JlclNlcnZpY2UgfSBmcm9tICcuLi9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2ZpbGUtZXhwbG9yZXIuc2VydmljZSc7XHJcblxyXG5kZWNsYXJlIGxldCB0aW55bWNlOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndG4tdGlueW1jZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG4tdGlueW1jZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90bi10aW55bWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUblRpbnltY2VDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgQ29tcG9uZW50Q29udGV4dFNlcnZpY2VcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRuVGlueW1jZUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoRXF1YXRpb25FZGl0b3JDb21wb25lbnQpIGVxdWF0aW9uRm9ybTogRXF1YXRpb25FZGl0b3JDb21wb25lbnQ7XHJcblxyXG4gICAgQElucHV0KCkgbW9kZT86ICdiYXNpYycgfCAnbWVkaXVtJyB8ICdmdWxsJyB8ICdzaW1wbGUnID0gJ2Jhc2ljJztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgaGVpZ2h0ID0gMjAwO1xyXG4gICAgQElucHV0KCkgZmllbGQgPSAnJztcclxuICAgIEBJbnB1dCgpIGxhbmd1YWdlQ29kZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkga2V5ZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIG1vZGVsOiBhbnkgPSAnJztcclxuICAgIG9uQ2hhbmdlOiBGdW5jdGlvbjtcclxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb247XHJcbiAgICBpZCA9IG5hbm9pZCg4KTtcclxuICAgIGVkaXRvcjogYW55O1xyXG4gICAgZGF0YUVxdWF0aW9uOiBhbnkgPSB7fTtcclxuXHJcbiAgICBpc1Nob3cgPSBmYWxzZTtcclxuICAgIGlzQWRkTmV3czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBtb2RlcyA9IHt9O1xyXG4gICAgaXNBZGRGaWxlID0gZmFsc2U7XHJcbiAgICBpcyA9IGZhbHNlO1xyXG4gICAgaGVhZGVyOiBzdHJpbmc7XHJcbiAgICBlcXVhdGlvbkZvcm1Nb2RlbDogYW55ID0geyBzaG93OiBmYWxzZSB9O1xyXG4gICAgcG9wdXBTaXplID0gbmV3IFBvcHVwU2l6ZSh7XHJcbiAgICAgICAgd2lkdGg6IDExMDAsXHJcbiAgICAgICAgaGVpZ2h0OiA2NTBcclxuICAgIH0pO1xyXG4gICAgc2hvd1RlbXBsYXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHB1YmxpYyBfZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9ub3RpZmllclNlcnZpY2U6IE5vdGlmaWVyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZpbGVTZXJ2aWNlOiBGaWxlRXhwbG9yZXJTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcblxyXG4gICAgICAgIFJURkpTLmxvZ2dpbmdFbmFibGVkKGZhbHNlKTtcclxuICAgICAgICBXTUZKUy5sb2dnaW5nRW5hYmxlZChmYWxzZSk7XHJcbiAgICAgICAgRU1GSlMubG9nZ2luZ0VuYWJsZWQoZmFsc2UpO1xyXG5cclxuICAgICAgICBjb25zdCBtID0gWydiYXNpYycsICdtZWRpdW0nLCAnZnVsbCcsICdzaW1wbGUnXTtcclxuICAgICAgICBtLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZXNbeF0gPSB0aGlzLmdldFRpbnlNY2VDb25maWdCeU1vZGUoeCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVDb250ZW50SW5zZXJ0KCk7XHJcbiAgICAgICAgdGhpcy5vbkluaXQuZW1pdCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG1vZGUgPSB0aGlzLm1vZGU7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9kZXZpY2VEZXRlY3RvclNlcnZpY2UuaXNEZXNrdG9wKCkpIHtcclxuICAgICAgICAgICAgbW9kZSA9ICdzaW1wbGUnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLm1vZGVzW21vZGVdO1xyXG4gICAgICAgIGNvbmZpZy5oZWlnaHQgPSB0aGlzLmhlaWdodDtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGlueW1jZS5pbml0KGNvbmZpZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChvYmogPT0gbnVsbCkgb2JqID0gJyc7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IG9iajtcclxuICAgICAgICBpZiAodGhpcy5lZGl0b3IpIHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0Q29udGVudCh0aGlzLm1vZGVsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlbkRpYWxvZyhkYXRhID0ge30pIHtcclxuICAgICAgICB0aGlzLmVxdWF0aW9uRm9ybU1vZGVsLnNob3cgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZXF1YXRpb25Gb3JtTW9kZWwuZGF0YSA9IGRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VGlueU1jZUNvbmZpZ0J5TW9kZShtb2RlKSB7XHJcbiAgICAgICAgY29uc3QgJHRoaXMgPSB0aGlzO1xyXG5cclxuICAgICAgICB0aW55bWNlLlBsdWdpbk1hbmFnZXIuYWRkKCdhZGROZXdzJywgZnVuY3Rpb24gKGVkaXRvcikge1xyXG4gICAgICAgICAgICBjb25zdCBvcGVuRGlhbG9nID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuaGVhZGVyID0gJ1Row6ptL0No4buNbiB0aW4gYsOgaSc7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5pc0FkZE5ld3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuaXNBZGRGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5wb3B1cFNpemUgPSB7IHdpZHRoOiAxMjAwLCBoZWlnaHQ6IDcwMCB9O1xyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbignYWRkTmV3cycsIHtcclxuICAgICAgICAgICAgICAgIHRvb2x0aXA6ICdUaMOqbS9DaMOobiB0aW4gYsOgaSB2w6BvIG7hu5lpIGR1bmcnLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogJ25vbi1icmVha2luZycsXHJcbiAgICAgICAgICAgICAgICBvbkFjdGlvbjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wZW5EaWFsb2coKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aW55bWNlLlBsdWdpbk1hbmFnZXIuYWRkKCd0ZW1wbGF0ZScsIGZ1bmN0aW9uIChlZGl0b3IpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3BlbkRpYWxvZyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICR0aGlzLmhlYWRlciA9ICdUaMOqbS9DaOG7jW4gdGVtcGxhdGUnO1xyXG4gICAgICAgICAgICAgICAgJHRoaXMuc2hvd1RlbXBsYXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICR0aGlzLnBvcHVwU2l6ZSA9IHsgd2lkdGg6IDEyMDAsIGhlaWdodDogNzAwIH07XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBlZGl0b3IudWkucmVnaXN0cnkuYWRkQnV0dG9uKCd0ZW1wbGF0ZScsIHtcclxuICAgICAgICAgICAgICAgIHRvb2x0aXA6ICdUZW1wbGF0ZScsXHJcbiAgICAgICAgICAgICAgICBpY29uOiAnbm9uLWJyZWFraW5nJyxcclxuICAgICAgICAgICAgICAgIG9uQWN0aW9uOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BlbkRpYWxvZygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGlueW1jZS5QbHVnaW5NYW5hZ2VyLmFkZCgnZWRpdEZpbGVOZXcnLCBmdW5jdGlvbiAoZWRpdG9yKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wZW5EaWFsb2cgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5oZWFkZXIgPSAnVGjDqm0vQ2jhu4luaCBz4butYSBmaWxlIGPDoSBuaMOibic7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5pc0FkZE5ld3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICR0aGlzLmlzQWRkRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5wb3B1cFNpemUgPSB7IHdpZHRoOiAxMjAwLCBoZWlnaHQ6IDcwMCB9O1xyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbignZWRpdEZpbGVOZXcnLCB7XHJcbiAgICAgICAgICAgICAgICB0b29sdGlwOiAnVGjDqm0vQ2jDqG4g4bqjbmgsIHZpZGVvLCBmaWxlIHbDoG8gbuG7mWkgZHVuZycsXHJcbiAgICAgICAgICAgICAgICBpY29uOiAnZHVwbGljYXRlJyxcclxuICAgICAgICAgICAgICAgIG9uQWN0aW9uOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BlbkRpYWxvZygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICBjb25zdCBjYWxsYmFja0Z1bmMgPSBlZGl0b3IgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGVkaXRvci5zZXRNb2RlKCdyZWFkb25seScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGVkQm9keSA9IGpRdWVyeShlZGl0b3IuaWZyYW1lRWxlbWVudCkuY29udGVudHMoKS5maW5kKCdib2R5Jyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGVkaXRvckhvbGRlciA9IGVkaXRvci5pZnJhbWVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5fZGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLmlzRGVza3RvcCgpKSB7XHJcbiAgICAgICAgICAgICAgICBlZEJvZHkuYWRkQ2xhc3MoJ21vYmlsZScpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlZEJvZHkub24oJ2JsdXInLCBlID0+IHtcclxuICAgICAgICAgICAgICAgIGVkaXRvckhvbGRlci5jbGFzc0xpc3QucmVtb3ZlKCd0aW55bWNlLWZvY3VzJyk7XHJcbiAgICAgICAgICAgIH0pLm9uKCdmb2N1cycsIGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgZWRpdG9ySG9sZGVyLmNsYXNzTGlzdC5hZGQoJ3RpbnltY2UtZm9jdXMnKTtcclxuICAgICAgICAgICAgfSkub24oJ3Bhc3RlJywgKGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZXMgPSBlLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YS50eXBlcztcclxuICAgICAgICAgICAgICAgIGlmICgoKHR5cGVzIGluc3RhbmNlb2YgRE9NU3RyaW5nTGlzdCkgJiYgdHlwZXMuY29udGFpbnMoJ3RleHQvaHRtbCcpKSB8fCAodHlwZXMuaW5kZXhPZiAmJiB0eXBlcy5pbmRleE9mKCd0ZXh0L2h0bWwnKSAhPT0gLTEpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZS5vcmlnaW5hbEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGUub3JpZ2luYWxFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUGFzdGUoZS5vcmlnaW5hbEV2ZW50KS50aGVuKChjb250ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnRlbnQgPSBjb250ZW50LnJlcGxhY2UoLzwhXFxbaWZbXFxzXFxTXSo/Pi9nbSwgJycpLnJlcGxhY2UoLzwhXFxbZW5kaWZbXFxzXFxTXSo/Pi9nbSwgJycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCA9IHRoaXMubm9ybWFsaXplSFRNTChjb250ZW50LCAnPCFbaWYgIXN1cHBvcnRMaXN0c10+JywgJzwhW2VuZGlmXT4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLm5vcm1hbGl6ZUhUTUwoY29udGVudCwgJzwhW2lmICFtc0VxdWF0aW9uXT4nLCAnPCFbZW5kaWZdPicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRDb250ZW50JywgZmFsc2UsIGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KS5vbigna2V5ZG93bicsIChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoU3RyaW5nLmZyb21DaGFyQ29kZShlLndoaWNoKS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3MnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleURvd24oZSwgQ29tQ3R4Q29uc3RhbnRzLlJPT1QuS0VZX0RPV05fQ1RSTF9TKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGUud2hpY2ggPT0gMjcpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5RG93bihlLCBDb21DdHhDb25zdGFudHMuUk9PVC5LRVlfRE9XTl9FU0MpO1xyXG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkub24oJ2RibGNsaWNrJywgKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09ICdpbWcnICYmIGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnbGF0ZXgnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkRpYWxvZyh7IGNvbnRlbnQ6IGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnYWx0JyksIHN0eWxlOiBlLnRhcmdldC5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyksIGhlaWdodDogZS50YXJnZXQuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBlZGl0b3Iub24oJ2JsdXInLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCbHVyKCk7XHJcbiAgICAgICAgICAgIH0pLm9uKCdjaGFuZ2UnLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGVkaXRvci5nZXRDb250ZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZWQuZW1pdChjb250ZW50KTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBlZGl0b3Iuc2V0Q29udGVudCh0aGlzLm1vZGVsKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBjb25maWc6IGFueSA9IHtcclxuICAgICAgICAgICAgc2VsZWN0b3I6ICcjJyArIHRoaXMuaWQsXHJcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgICAgICAgIGNvbnRlbnRfY3NzOiBbXHJcbiAgICAgICAgICAgICAgICAnL2Fzc2V0cy92ZW5kb3IvdGlueW1jZS9jdXN0b20uY3NzJ1xyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBpbWFnZXRvb2xzX3Rvb2xiYXI6ICdyb3RhdGVsZWZ0IHJvdGF0ZXJpZ2h0IHwgZmxpcHYgZmxpcGggfCBlZGl0aW1hZ2UgaW1hZ2VvcHRpb25zJyxcclxuICAgICAgICAgICAgbGFuZ3VhZ2U6ICd2aV9WTicsXHJcbiAgICAgICAgICAgIHN0YXR1c2JhcjogZmFsc2UsXHJcbiAgICAgICAgICAgIHJlbGF0aXZlX3VybHM6IGZhbHNlLFxyXG4gICAgICAgICAgICBjb252ZXJ0X3VybHM6IGZhbHNlLFxyXG4gICAgICAgICAgICB0YWJmb2N1c19lbGVtZW50czogJzpwcmV2LDpuZXh0JyxcclxuICAgICAgICAgICAgaW5pdF9pbnN0YW5jZV9jYWxsYmFjazogY2FsbGJhY2tGdW5jLFxyXG4gICAgICAgICAgICBzZXR1cDogZnVuY3Rpb24gKGVkaXRvcikge1xyXG4gICAgICAgICAgICAgICAgZWRpdG9yLmFkZFNob3J0Y3V0KFxyXG4gICAgICAgICAgICAgICAgICAnY3RybCtFJywgJ0NhbkdpdWEnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgIGVkaXRvci5leGVjQ29tbWFuZCgnSnVzdGlmeUNlbnRlcicsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgZWRpdG9yLmFkZFNob3J0Y3V0KFxyXG4gICAgICAgICAgICAgICAgICAnY3RybCtMJywgJ0NhblRyYWknLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgIGVkaXRvci5leGVjQ29tbWFuZCgnSnVzdGlmeUxlZnQnLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGVkaXRvci5hZGRTaG9ydGN1dChcclxuICAgICAgICAgICAgICAgICAgJ2N0cmwrUicsICdDYW5QaGFpJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICBlZGl0b3IuZXhlY0NvbW1hbmQoJ0p1c3RpZnlSaWdodCcsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgZWRpdG9yLmFkZFNob3J0Y3V0KFxyXG4gICAgICAgICAgICAgICAgICAnY3RybCtKJywgJ0NhbkRldScsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgZWRpdG9yLmV4ZWNDb21tYW5kKCdKdXN0aWZ5RnVsbCcsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgZWRpdG9yLmFkZFNob3J0Y3V0KFxyXG4gICAgICAgICAgICAgICAgICAgICdBbHQrTScsICdMdWlWYW8nLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGVkaXRvci5hZGRTaG9ydGN1dChcclxuICAgICAgICAgICAgICAgICAgICAnQWx0K04nLCAnTHVpUmEnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICBlZGl0b3IuZXhlY0NvbW1hbmQoJ291dGRlbnQnLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBtb2JpbGU6IHtcclxuICAgICAgICAgICAgICAgIHRoZW1lOiAnc2lsdmVyJyxcclxuICAgICAgICAgICAgICAgIHBsdWdpbnM6IFsnYWR2bGlzdCBhdXRvbGluayBsaXN0cyBsaW5rIGltYWdlIGNoYXJtYXAgcHJpbnQgcHJldmlldyBhbmNob3IgdGV4dGNvbG9yIHNlYXJjaHJlcGxhY2UgdmlzdWFsYmxvY2tzIGNvZGUgZnVsbHNjcmVlbiBpbnNlcnRkYXRldGltZSBtZWRpYSB0YWJsZSBtZWRpYSBjb2RlIGxpc3RzIGNvbG9ycGlja2VyIGltYWdldG9vbHMgdGFiZm9jdXMgdGV4dGNvbG9yJ10sXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChtb2RlID09ICdmdWxsJykge1xyXG4gICAgICAgICAgICBjb25maWcucGx1Z2lucyA9IFtcclxuICAgICAgICAgICAgICAgICdhZHZsaXN0IGF1dG9saW5rIGxpc3RzIGxpbmsgaW1hZ2UgY2hhcm1hcCBwcmludCBwcmV2aWV3IGFuY2hvciB0ZXh0Y29sb3Igc2VhcmNocmVwbGFjZSB2aXN1YWxibG9ja3MgY29kZSBmdWxsc2NyZWVuIGluc2VydGRhdGV0aW1lIG1lZGlhIHRhYmxlIG1lZGlhIGNvZGUgbGlzdHMgY29sb3JwaWNrZXIgaW1hZ2V0b29scyB0YWJmb2N1cyBlZGl0RmlsZU5ldyBhZGROZXdzJ1xyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICBjb25maWcudG9vbGJhciA9ICdmb3JtYXRzZWxlY3QgfCBib2xkIGl0YWxpYyBTdHJpa2V0aHJvdWdoIGZvcmVjb2xvciBiYWNrY29sb3IgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCBhbGlnbmp1c3RpZnkgfCBidWxsaXN0IG51bWxpc3Qgb3V0ZGVudCBpbmRlbnQgfCB0YWJsZSBsaW5rIGVkaXRGaWxlTmV3IGFkZE5ld3MgfCBwcmludCByZW1vdmVmb3JtYXQgdW5kbyByZWRvIHwgZnVsbHNjcmVlbiAnO1xyXG4gICAgICAgICAgICBjb25maWcubW9iaWxlLnRvb2xiYXIgPSAnYm9sZCBpdGFsaWMgU3RyaWtldGhyb3VnaCBmb3JlY29sb3IgYmFja2NvbG9yIHwgYnVsbGlzdCBudW1saXN0IHwgZnVsbHNjcmVlbic7XHJcbiAgICAgICAgICAgIGNvbmZpZy5wYXN0ZV9kYXRhX2ltYWdlcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiBjb25maWc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKG1vZGUgPT0gJ21lZGl1bScpIHtcclxuICAgICAgICAgICAgY29uZmlnLnBsdWdpbnMgPSBbJ2Fkdmxpc3QgYXV0b2xpbmsgbGlzdHMgbGluayBpbWFnZSBjaGFybWFwIHByaW50IHByZXZpZXcgYW5jaG9yIHRleHRjb2xvciBzZWFyY2hyZXBsYWNlIHZpc3VhbGJsb2NrcyBjb2RlIGZ1bGxzY3JlZW4gaW5zZXJ0ZGF0ZXRpbWUgbWVkaWEgdGFibGUgbWVkaWEgY29kZSBsaXN0cyBjb2xvcnBpY2tlciBpbWFnZXRvb2xzIHRhYmZvY3VzIHRleHRjb2xvciddO1xyXG4gICAgICAgICAgICBjb25maWcudG9vbGJhciA9ICdmb3JtYXRzZWxlY3QgfCBib2xkIGl0YWxpYyBTdHJpa2V0aHJvdWdoIGZvcmVjb2xvciBiYWNrY29sb3IgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCBhbGlnbmp1c3RpZnkgfCBidWxsaXN0IG51bWxpc3Qgb3V0ZGVudCBpbmRlbnQgfCB0YWJsZSBsaW5rICB8IHByaW50IHJlbW92ZWZvcm1hdCB1bmRvIHJlZG8gfCBmdWxsc2NyZWVuJztcclxuICAgICAgICAgICAgY29uZmlnLm1vYmlsZS50b29sYmFyID0gJ2JvbGQgaXRhbGljIFN0cmlrZXRocm91Z2ggZm9yZWNvbG9yIGJhY2tjb2xvciB8IGJ1bGxpc3QgbnVtbGlzdCB8IGZ1bGxzY3JlZW4nO1xyXG4gICAgICAgICAgICBjb25maWcucGFzdGVfZGF0YV9pbWFnZXMgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChtb2RlID09ICdzaW1wbGUnKSB7XHJcbiAgICAgICAgICAgIGNvbmZpZy5wbHVnaW5zID0gWydhZHZsaXN0IGF1dG9saW5rIGxpc3RzIGxpbmsgaW1hZ2UgY2hhcm1hcCBwcmludCBwcmV2aWV3IGFuY2hvciB0ZXh0Y29sb3Igc2VhcmNocmVwbGFjZSB2aXN1YWxibG9ja3MgY29kZSBmdWxsc2NyZWVuIGluc2VydGRhdGV0aW1lIG1lZGlhIHRhYmxlIG1lZGlhIGNvZGUgbGlzdHMgY29sb3JwaWNrZXIgaW1hZ2V0b29scyB0YWJmb2N1cyB0ZXh0Y29sb3InXTtcclxuICAgICAgICAgICAgY29uZmlnLnRvb2xiYXIgPSAnYm9sZCBpdGFsaWMgU3RyaWtldGhyb3VnaCBmb3JlY29sb3IgYmFja2NvbG9yIHwgYnVsbGlzdCBudW1saXN0IHwgZnVsbHNjcmVlbic7XHJcbiAgICAgICAgICAgIGNvbmZpZy5tb2JpbGUudG9vbGJhciA9ICdmdWxsc2NyZWVuIHwgYm9sZCBpdGFsaWMgU3RyaWtldGhyb3VnaCBmb3JlY29sb3IgYmFja2NvbG9yIHwgYnVsbGlzdCBudW1saXN0JztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbmZpZy5wbHVnaW5zID0gWydhZHZsaXN0IGF1dG9saW5rIGxpc3RzIGxpbmsgaW1hZ2UgY2hhcm1hcCBwcmludCBwcmV2aWV3IGFuY2hvciB0ZXh0Y29sb3Igc2VhcmNocmVwbGFjZSB2aXN1YWxibG9ja3MgY29kZSBmdWxsc2NyZWVuIGluc2VydGRhdGV0aW1lIG1lZGlhIHRhYmxlIG1lZGlhIGNvZGUgbGlzdHMgY29sb3JwaWNrZXIgaW1hZ2V0b29scyB0YWJmb2N1cyB0ZXh0Y29sb3InXTtcclxuICAgICAgICBjb25maWcudG9vbGJhciA9ICdmb3JtYXRzZWxlY3QgfCBib2xkIGl0YWxpYyBTdHJpa2V0aHJvdWdoIGZvcmVjb2xvciBiYWNrY29sb3J8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSB8IGJ1bGxpc3QgbnVtbGlzdCc7XHJcbiAgICAgICAgY29uZmlnLnRvb2xiYXIgPSAnYm9sZCBpdGFsaWMgU3RyaWtldGhyb3VnaCBmb3JlY29sb3IgYmFja2NvbG9yIHwgYnVsbGlzdCBudW1saXN0IHwgZnVsbHNjcmVlbic7XHJcbiAgICAgICAgY29uZmlnLnBhc3RlX2RhdGFfaW1hZ2VzID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gY29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIG5vcm1hbGl6ZUhUTUwoY29udGVudDogc3RyaW5nLCBiZWdpbjogc3RyaW5nLCBlbmQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gY29udGVudC5pbmRleE9mKGJlZ2luKTtcclxuICAgICAgICB3aGlsZSAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleDIgPSBjb250ZW50LmluZGV4T2YoZW5kLCBpbmRleCk7XHJcbiAgICAgICAgICAgIGlmIChpbmRleDIgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKDAsIGluZGV4MikgKyBjb250ZW50LnN1YnN0cmluZyhpbmRleDIgKyBlbmQubGVuZ3RoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKDAsIGluZGV4KSArIGNvbnRlbnQuc3Vic3RyaW5nKGluZGV4ICsgYmVnaW4ubGVuZ3RoKTtcclxuICAgICAgICAgICAgaW5kZXggPSBjb250ZW50LmluZGV4T2YoYmVnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVCbHVyKCkge1xyXG4gICAgICAgIHRoaXMub25CbHVyLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbktleURvd24oZTogYW55LCB0b3BpYzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5rZXlkb3duLm5leHQoeyBldmVudDogZSwgdG9waWMgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlT2soZXZ0KSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZXF1YXRpb25Gb3JtLnByZXZpZXcubmF0aXZlRWxlbWVudC5vdXRlckhUTUw7XHJcbiAgICAgICAgdGhpcy5lZGl0b3IuZXhlY0NvbW1hbmQoJ21jZUluc2VydENvbnRlbnQnLCB0cnVlLCBkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBmb2N1c1RyYXAoZXZlbnQpIHtcclxuICAgICAgICBpZiAodGhpcy5lZGl0b3IpIHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0b3IuaWZyYW1lRWxlbWVudC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3RpbnltY2UtZm9jdXMnKTtcclxuICAgICAgICAgICAgdGhpcy5lZGl0b3IuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhc3luYyBoYW5kbGVQYXN0ZShlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGltYWdlcyA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgb2xkTGVnYWN5VmFsdWUgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgICAgICBvblBpY3R1cmU6IChpc0xlZ2FjeSwgY3JlYXRlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9sZExlZ2FjeVZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9sZExlZ2FjeVZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvbSA9IGNyZWF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZXMucHVzaChkb20ub3V0ZXJIVE1MKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIWlzTGVnYWN5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvbSA9IGNyZWF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZG9tLnRhZ05hbWUgPT0gJ0lNRycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKGRvbS5vdXRlckhUTUwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZExlZ2FjeVZhbHVlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHR5cGVzID0gZS5jbGlwYm9hcmREYXRhLnR5cGVzO1xyXG5cclxuICAgICAgICAgICAgaWYgKCgodHlwZXMgaW5zdGFuY2VvZiBET01TdHJpbmdMaXN0KSAmJiB0eXBlcy5jb250YWlucygndGV4dC9odG1sJykpIHx8ICh0eXBlcy5pbmRleE9mICYmIHR5cGVzLmluZGV4T2YoJ3RleHQvaHRtbCcpICE9PSAtMSkpIHtcclxuICAgICAgICAgICAgICAgIGxldCBwYXN0ZWREYXRhID0gZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvaHRtbCcpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHBhc3RlZERhdGEuaW5kZXhPZignPHY6aW1hZ2VkYXRhICcpID09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShwYXN0ZWREYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgoKHR5cGVzIGluc3RhbmNlb2YgRE9NU3RyaW5nTGlzdCkgJiYgdHlwZXMuY29udGFpbnMoJ3RleHQvcnRmJykpIHx8ICh0eXBlcy5pbmRleE9mICYmIHR5cGVzLmluZGV4T2YoJ3RleHQvcnRmJykgIT09IC0xKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXN0ZWRSdGZEYXRhID0gZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcnRmJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvYyA9IG5ldyBSVEZKUy5Eb2N1bWVudCh0aGlzLl9jb21tb25TZXJ2aWNlLnN0cmluZ1RvQXJyYXlCdWZmZXIocGFzdGVkUnRmRGF0YSksIHNldHRpbmdzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jLnJlbmRlcigpLnRoZW4oKGh0bWxFbGVtZW50cykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gcGFzdGVkRGF0YS5pbmRleE9mKCc8djppbWFnZWRhdGEgJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHAxID0gcGFzdGVkRGF0YS5zdWJzdHJpbmcoMCwgaW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4MiA9IHBhc3RlZERhdGEuaW5kZXhPZignLz4nLCBpbmRleCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09IC0xKSBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcDIgPSBwYXN0ZWREYXRhLnN1YnN0cmluZyhpbmRleDIgKyAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGltYWdlU3RyID0gJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbWFnZXMubGVuZ3RoID4gaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VTdHIgPSBpbWFnZXNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGVkRGF0YSA9IHAxICsgaW1hZ2VTdHIgKyBwMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXN0ZWREYXRhLmluZGV4T2YoJzx2OmltYWdlZGF0YSAnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocGFzdGVkRGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlbkZpbGVNYW5hZ2VyKCkge1xyXG4gICAgICAgIHRoaXMuaXNTaG93ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHN1YnNjcmliZUNvbnRlbnRJbnNlcnQoKSB7XHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5zdWJzY3JpYmUoJ0lOU0VSVF9DT05URU5UX0JPRFknLCB4ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0b3IuaW5zZXJ0Q29udGVudCh4LmNvbnRlbnQpO1xyXG4gICAgICAgICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGlueW1jZS5FZGl0b3JNYW5hZ2VyLnJlbW92ZSgnIycgKyB0aGlzLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVSRkNhbmNlbChldnQpIHtcclxuICAgICAgICB0aGlzLmlzQWRkRmlsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dDaGFuZ2VkKGV2dCkge1xyXG4gICAgICAgIHRoaXMuaXNBZGRGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc0FkZE5ld3MgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmVkaXRvci5pbnNlcnRDb250ZW50KGV2dCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkVGVtcGxhdGUoZXZ0KSB7XHJcbiAgICAgICAgdGhpcy5zaG93VGVtcGxhdGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmVkaXRvci5pbnNlcnRDb250ZW50KGV2dCk7XHJcbiAgICB9XHJcbn1cclxuIl19