@kaspernj/api-maker 1.0.2159 → 1.0.2160

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 (197) hide show
  1. package/build/base-component.d.ts +2 -1
  2. package/build/base-component.d.ts.map +1 -1
  3. package/build/bootstrap/attribute-row.d.ts +2 -1
  4. package/build/bootstrap/attribute-row.d.ts.map +1 -1
  5. package/build/bootstrap/attribute-rows.d.ts +2 -1
  6. package/build/bootstrap/attribute-rows.d.ts.map +1 -1
  7. package/build/bootstrap/card.d.ts +2 -1
  8. package/build/bootstrap/card.d.ts.map +1 -1
  9. package/build/bootstrap/card.js +4 -4
  10. package/build/bootstrap/checkbox.d.ts +2 -1
  11. package/build/bootstrap/checkbox.d.ts.map +1 -1
  12. package/build/bootstrap/checkbox.js +4 -2
  13. package/build/bootstrap/checkboxes.d.ts +2 -1
  14. package/build/bootstrap/checkboxes.d.ts.map +1 -1
  15. package/build/bootstrap/checkboxes.js +16 -15
  16. package/build/bootstrap/paginate.d.ts +2 -1
  17. package/build/bootstrap/paginate.d.ts.map +1 -1
  18. package/build/bootstrap/sort-link.d.ts +2 -1
  19. package/build/bootstrap/sort-link.d.ts.map +1 -1
  20. package/build/bootstrap/sort-link.js +5 -7
  21. package/build/collection-loader.d.ts +4 -1
  22. package/build/draggable-sort/index.d.ts +2 -1
  23. package/build/draggable-sort/index.d.ts.map +1 -1
  24. package/build/draggable-sort/item.d.ts +2 -1
  25. package/build/draggable-sort/item.d.ts.map +1 -1
  26. package/build/draggable-sort/item.js +6 -6
  27. package/build/form.d.ts +1 -1
  28. package/build/form.d.ts.map +1 -1
  29. package/build/inputs/attachment.d.ts +2 -1
  30. package/build/inputs/attachment.d.ts.map +1 -1
  31. package/build/inputs/attachment.js +6 -5
  32. package/build/inputs/checkbox.d.ts +2 -1
  33. package/build/inputs/checkbox.d.ts.map +1 -1
  34. package/build/inputs/checkbox.js +4 -6
  35. package/build/inputs/input.d.ts +2 -1
  36. package/build/inputs/input.d.ts.map +1 -1
  37. package/build/inputs/input.js +4 -4
  38. package/build/inputs/money.d.ts +2 -1
  39. package/build/inputs/money.d.ts.map +1 -1
  40. package/build/inputs/select.d.ts +2 -1
  41. package/build/inputs/select.d.ts.map +1 -1
  42. package/build/link.d.ts +2 -1
  43. package/build/link.d.ts.map +1 -1
  44. package/build/modal.d.ts +2 -1
  45. package/build/modal.d.ts.map +1 -1
  46. package/build/resize-observer.d.ts +1 -1
  47. package/build/resize-observer.d.ts.map +1 -1
  48. package/build/router/route.d.ts +1 -1
  49. package/build/router/route.d.ts.map +1 -1
  50. package/build/router/route.js +10 -3
  51. package/build/router/switch.d.ts +1 -1
  52. package/build/router/switch.d.ts.map +1 -1
  53. package/build/router/switch.js +7 -8
  54. package/build/router.d.ts +1 -1
  55. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts +2 -1
  56. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
  57. package/build/super-admin/edit-page/edit-attribute-checkbox.js +7 -5
  58. package/build/super-admin/edit-page/edit-attribute-content.d.ts +1 -1
  59. package/build/super-admin/edit-page/edit-attribute-content.js +6 -6
  60. package/build/super-admin/edit-page/edit-attribute-input.d.ts +2 -1
  61. package/build/super-admin/edit-page/edit-attribute-input.d.ts.map +1 -1
  62. package/build/super-admin/edit-page/edit-attribute.d.ts +2 -1
  63. package/build/super-admin/edit-page/edit-attribute.d.ts.map +1 -1
  64. package/build/super-admin/edit-page.d.ts +2 -1
  65. package/build/super-admin/edit-page.d.ts.map +1 -1
  66. package/build/super-admin/index-page.d.ts +2 -1
  67. package/build/super-admin/index-page.d.ts.map +1 -1
  68. package/build/super-admin/index.d.ts +2 -1
  69. package/build/super-admin/index.d.ts.map +1 -1
  70. package/build/super-admin/index.js +5 -5
  71. package/build/super-admin/layout/header/index.d.ts +2 -1
  72. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  73. package/build/super-admin/layout/header/index.js +6 -5
  74. package/build/super-admin/layout/index.d.ts +2 -1
  75. package/build/super-admin/layout/index.d.ts.map +1 -1
  76. package/build/super-admin/layout/index.js +9 -3
  77. package/build/super-admin/layout/menu/index.d.ts +2 -1
  78. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  79. package/build/super-admin/layout/menu/index.js +6 -2
  80. package/build/super-admin/layout/menu/menu-content.d.ts +2 -1
  81. package/build/super-admin/layout/menu/menu-content.d.ts.map +1 -1
  82. package/build/super-admin/layout/menu/menu-item.d.ts +2 -1
  83. package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
  84. package/build/super-admin/layout/menu/menu-item.js +5 -6
  85. package/build/super-admin/layout/no-access.d.ts +2 -1
  86. package/build/super-admin/layout/no-access.d.ts.map +1 -1
  87. package/build/super-admin/model-class-table.d.ts +2 -1
  88. package/build/super-admin/model-class-table.d.ts.map +1 -1
  89. package/build/super-admin/show-nav.d.ts +2 -1
  90. package/build/super-admin/show-nav.d.ts.map +1 -1
  91. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts +2 -1
  92. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts.map +1 -1
  93. package/build/super-admin/show-page/index.d.ts +2 -1
  94. package/build/super-admin/show-page/index.d.ts.map +1 -1
  95. package/build/super-admin/show-page/index.js +3 -2
  96. package/build/super-admin/show-reflection-actions.d.ts +2 -1
  97. package/build/super-admin/show-reflection-actions.d.ts.map +1 -1
  98. package/build/super-admin/show-reflection-link.d.ts +2 -1
  99. package/build/super-admin/show-reflection-link.d.ts.map +1 -1
  100. package/build/super-admin/show-reflection-link.js +4 -2
  101. package/build/super-admin/show-reflection-page.d.ts +2 -1
  102. package/build/super-admin/show-reflection-page.d.ts.map +1 -1
  103. package/build/table/components/column.d.ts +2 -1
  104. package/build/table/components/column.d.ts.map +1 -1
  105. package/build/table/components/flat-list.d.ts +2 -1
  106. package/build/table/components/flat-list.d.ts.map +1 -1
  107. package/build/table/components/header.d.ts +2 -1
  108. package/build/table/components/header.d.ts.map +1 -1
  109. package/build/table/components/row.d.ts +2 -1
  110. package/build/table/components/row.d.ts.map +1 -1
  111. package/build/table/filters/attribute-element.d.ts +2 -1
  112. package/build/table/filters/attribute-element.d.ts.map +1 -1
  113. package/build/table/filters/filter-form.d.ts +2 -1
  114. package/build/table/filters/filter-form.d.ts.map +1 -1
  115. package/build/table/filters/filter-form.js +18 -20
  116. package/build/table/filters/filter.d.ts +2 -1
  117. package/build/table/filters/filter.d.ts.map +1 -1
  118. package/build/table/filters/index.d.ts +2 -1
  119. package/build/table/filters/index.d.ts.map +1 -1
  120. package/build/table/filters/index.js +6 -6
  121. package/build/table/filters/load-search-modal.d.ts +2 -1
  122. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  123. package/build/table/filters/load-search-modal.js +6 -6
  124. package/build/table/filters/reflection-element.d.ts +2 -1
  125. package/build/table/filters/reflection-element.d.ts.map +1 -1
  126. package/build/table/filters/save-search-modal.d.ts +2 -1
  127. package/build/table/filters/save-search-modal.d.ts.map +1 -1
  128. package/build/table/filters/save-search-modal.js +4 -2
  129. package/build/table/filters/scope-element.d.ts +2 -1
  130. package/build/table/filters/scope-element.d.ts.map +1 -1
  131. package/build/table/header-column-content.d.ts +2 -1
  132. package/build/table/header-column-content.d.ts.map +1 -1
  133. package/build/table/header-column.d.ts +2 -1
  134. package/build/table/header-column.d.ts.map +1 -1
  135. package/build/table/header-column.js +9 -7
  136. package/build/table/header-select.d.ts +2 -1
  137. package/build/table/header-select.d.ts.map +1 -1
  138. package/build/table/header-select.js +9 -5
  139. package/build/table/model-column.d.ts +2 -1
  140. package/build/table/model-column.d.ts.map +1 -1
  141. package/build/table/model-row.d.ts +2 -1
  142. package/build/table/model-row.d.ts.map +1 -1
  143. package/build/table/settings/column-row.d.ts +2 -1
  144. package/build/table/settings/column-row.d.ts.map +1 -1
  145. package/build/table/settings/download-action.d.ts +2 -1
  146. package/build/table/settings/download-action.d.ts.map +1 -1
  147. package/build/table/settings/index.d.ts +2 -1
  148. package/build/table/settings/index.d.ts.map +1 -1
  149. package/build/table/table-settings.d.ts.map +1 -1
  150. package/build/table/table-settings.js +2 -2
  151. package/build/table/table.d.ts +2 -1
  152. package/build/table/table.d.ts.map +1 -1
  153. package/build/table/table.js +44 -38
  154. package/build/table/worker-plugins-check-all-checkbox.d.ts +2 -1
  155. package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
  156. package/build/table/worker-plugins-check-all-checkbox.js +5 -5
  157. package/build/table/worker-plugins-checkbox.d.ts +2 -1
  158. package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
  159. package/build/table/worker-plugins-checkbox.js +5 -5
  160. package/build/use-can-can.d.ts +8 -0
  161. package/build/use-can-can.d.ts.map +1 -1
  162. package/build/use-can-can.js +15 -4
  163. package/build/use-collection.d.ts +11 -0
  164. package/build/use-collection.d.ts.map +1 -1
  165. package/build/use-collection.js +27 -14
  166. package/build/use-model.d.ts +4 -0
  167. package/build/use-model.d.ts.map +1 -1
  168. package/build/use-model.js +12 -6
  169. package/build/utils/button.d.ts +2 -1
  170. package/build/utils/button.d.ts.map +1 -1
  171. package/build/utils/button.js +4 -2
  172. package/build/utils/card.d.ts +2 -1
  173. package/build/utils/card.d.ts.map +1 -1
  174. package/build/utils/checkbox.d.ts +2 -1
  175. package/build/utils/checkbox.d.ts.map +1 -1
  176. package/build/utils/checkbox.js +5 -6
  177. package/build/utils/checkboxes.d.ts +2 -1
  178. package/build/utils/checkboxes.d.ts.map +1 -1
  179. package/build/utils/checkboxes.js +16 -15
  180. package/build/utils/default-style.d.ts +2 -1
  181. package/build/utils/default-style.d.ts.map +1 -1
  182. package/build/utils/icon.d.ts +2 -1
  183. package/build/utils/icon.d.ts.map +1 -1
  184. package/build/utils/invalid-feedback.d.ts +2 -1
  185. package/build/utils/invalid-feedback.d.ts.map +1 -1
  186. package/build/utils/modal.d.ts +2 -1
  187. package/build/utils/modal.d.ts.map +1 -1
  188. package/build/utils/modal.js +3 -3
  189. package/build/utils/text.d.ts +2 -1
  190. package/build/utils/text.d.ts.map +1 -1
  191. package/build/with-api-maker.d.ts +2 -1
  192. package/build/with-api-maker.d.ts.map +1 -1
  193. package/build/with-collection.d.ts +2 -1
  194. package/build/with-collection.d.ts.map +1 -1
  195. package/build/with-model.d.ts +2 -1
  196. package/build/with-model.d.ts.map +1 -1
  197. package/package.json +3 -3
@@ -26,11 +26,11 @@ export default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckAllCheck
26
26
  query: PropTypes.instanceOf(Collection),
27
27
  style: PropTypes.object
28
28
  });
29
+ state = {
30
+ checked: false,
31
+ indeterminate: false
32
+ };
29
33
  setup() {
30
- this.useStates({
31
- checked: false,
32
- indeterminate: false
33
- });
34
34
  useMemo(() => {
35
35
  this.updateAllChecked();
36
36
  }, []);
@@ -84,4 +84,4 @@ export default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckAllCheck
84
84
  }
85
85
  };
86
86
  }));
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLXBsdWdpbnMtY2hlY2stYWxsLWNoZWNrYm94LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS93b3JrZXItcGx1Z2lucy1jaGVjay1hbGwtY2hlY2tib3guanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUN2RCxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQTtBQUMzRSxPQUFPLGFBQWEsTUFBTSx1QkFBdUIsQ0FBQTtBQUVqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sUUFBUyxTQUFRLGFBQWE7SUFDdkUsTUFBTTtRQUNKLE1BQU0sRUFBQyxhQUFhLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVyQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ25ELENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxDQUNMLGdCQUFPLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLFVBQVUsS0FBSyxTQUFTLEdBQUksQ0FDM0QsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQTtBQUVILGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDBDQUEyQyxTQUFRLGFBQWE7SUFDdkcsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDbEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTtLQUN4QixDQUFDLENBQUE7SUFFRixLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLE9BQU8sRUFBRSxLQUFLO1lBQ2QsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQyxDQUFBO1FBRUYsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQ3pCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVOLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDN0YsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ25HLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFTO1FBQzFCLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDL0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUE7UUFFL0MsSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCO1FBQ3BCLE1BQU0sRUFBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzVDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDL0UsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsV0FBVyxDQUFBO1FBQ3JELE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLFlBQVksQ0FBQTtRQUV2RCxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osT0FBTyxFQUFFLFVBQVU7WUFDbkIsYUFBYSxFQUFFLFdBQVc7U0FDM0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDckMsTUFBTSxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXZDLE9BQU8sQ0FDTCxLQUFDLFFBQVEsSUFDUCxPQUFPLEVBQUUsT0FBTyxFQUNoQixTQUFTLEVBQUUsVUFBVSxDQUFDLHFEQUFxRCxFQUFFLFNBQVMsQ0FBQyxFQUN2RixhQUFhLEVBQUUsYUFBYSxFQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUMvQixLQUFLLEVBQUUsS0FBSyxHQUNaLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFBO0lBRTFFLGdCQUFnQixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM3QixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUE7UUFFbEIsTUFBTSxFQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDNUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUV6QixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixNQUFNLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDdkQsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVELGNBQWMsR0FBRyxDQUFDLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBRTtRQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUU7UUFDNUIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLXVucmVzb2x2ZWQsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSBcIi4uL2NvbGxlY3Rpb24uanNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3NpbXBsZU9iamVjdERpZmZlcmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL2RpZmYtdXRpbHMuanNcIlxuaW1wb3J0IHVzZU1vZGVsRXZlbnQgZnJvbSBcIi4uL3VzZS1tb2RlbC1ldmVudC5qc1wiXG5cbmNvbnN0IENoZWNrYm94ID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2luZGV0ZXJtaW5hdGUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY2hlY2tib3hSZWYgPSB1c2VSZWYodW5kZWZpbmVkKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNoZWNrYm94UmVmLmN1cnJlbnQuaW5kZXRlcm1pbmF0ZSA9IGluZGV0ZXJtaW5hdGVcbiAgICB9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxpbnB1dCByZWY9e2NoZWNrYm94UmVmfSB0eXBlPVwiY2hlY2tib3hcIiB7Li4ucmVzdFByb3BzfSAvPlxuICAgIClcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJUYWJsZVdvcmtlclBsdWdpbnNDaGVja0FsbENoZWNrYm94IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY3VycmVudFdvcmtwbGFjZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmluc3RhbmNlT2YoQ29sbGVjdGlvbiksXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgIGluZGV0ZXJtaW5hdGU6IGZhbHNlXG4gICAgfSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVBbGxDaGVja2VkKClcbiAgICB9LCBbXSlcblxuICAgIHVzZU1vZGVsRXZlbnQodGhpcy5wcm9wcy5jdXJyZW50V29ya3BsYWNlLCBcIndvcmtwbGFjZV9saW5rc19jcmVhdGVkXCIsIHRoaXMudHQub25MaW5rc0NyZWF0ZWQpXG4gICAgdXNlTW9kZWxFdmVudCh0aGlzLnByb3BzLmN1cnJlbnRXb3JrcGxhY2UsIFwid29ya3BsYWNlX2xpbmtzX2Rlc3Ryb3llZFwiLCB0aGlzLnR0Lm9uTGlua3NEZXN0cm95ZWQpXG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgcHJldmlvdXNQYXJhbXMgPSBwcmV2UHJvcHMucXVlcnkucGFyYW1zKClcbiAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gdGhpcy5wcm9wcy5xdWVyeS5wYXJhbXMoKVxuXG4gICAgaWYgKHNpbXBsZU9iamVjdERpZmZlcmVudChwcmV2aW91c1BhcmFtcywgY3VycmVudFBhcmFtcywgdHJ1ZSkpIHtcbiAgICAgIHRoaXMudXBkYXRlQWxsQ2hlY2tlZCgpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlQWxsQ2hlY2tlZCgpIHtcbiAgICBjb25zdCB7cXVlcnksIGN1cnJlbnRXb3JrcGxhY2V9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHF1ZXJ5TGlua3NTdGF0dXNSZXN1bHQgPSBhd2FpdCBjdXJyZW50V29ya3BsYWNlLnF1ZXJ5TGlua3NTdGF0dXMoe3F1ZXJ5fSlcbiAgICBjb25zdCBhbGxDaGVja2VkID0gcXVlcnlMaW5rc1N0YXR1c1Jlc3VsdC5hbGxfY2hlY2tlZFxuICAgIGNvbnN0IHNvbWVDaGVja2VkID0gcXVlcnlMaW5rc1N0YXR1c1Jlc3VsdC5zb21lX2NoZWNrZWRcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgY2hlY2tlZDogYWxsQ2hlY2tlZCxcbiAgICAgIGluZGV0ZXJtaW5hdGU6IHNvbWVDaGVja2VkXG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBzdHlsZX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2NoZWNrZWQsIGluZGV0ZXJtaW5hdGV9ID0gdGhpcy5zXG5cbiAgICByZXR1cm4gKFxuICAgICAgPENoZWNrYm94XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImFwaS1tYWtlci0tdGFibGUtLXdvcmtlci1wbHVnaW5zLWNoZWNrLWFsbC1jaGVja2JveFwiLCBjbGFzc05hbWUpfVxuICAgICAgICBpbmRldGVybWluYXRlPXtpbmRldGVybWluYXRlfVxuICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoZWNrZWRDaGFuZ2VkfVxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAvPlxuICAgIClcbiAgfVxuXG4gIG1vZGVsQ2xhc3NOYW1lID0gKCkgPT4gdGhpcy5wcm9wcy5xdWVyeS5tb2RlbENsYXNzKCkubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG5cbiAgb25DaGVja2VkQ2hhbmdlZCA9IGFzeW5jIChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICBjb25zdCB7Y3VycmVudFdvcmtwbGFjZSwgcXVlcnl9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGNoZWNrYm94ID0gZS50YXJnZXRcblxuICAgIGlmIChjaGVja2JveC5jaGVja2VkKSB7XG4gICAgICBhd2FpdCBjdXJyZW50V29ya3BsYWNlLmFkZFF1ZXJ5KHtxdWVyeX0pXG4gICAgICB0aGlzLnNldFN0YXRlKHtjaGVja2VkOiB0cnVlLCBpbmRldGVybWluYXRlOiBmYWxzZX0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGN1cnJlbnRXb3JrcGxhY2UucmVtb3ZlUXVlcnkoe3F1ZXJ5fSlcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6IGZhbHNlLCBpbmRldGVybWluYXRlOiBmYWxzZX0pXG4gICAgfVxuICB9XG5cbiAgb25MaW5rc0NyZWF0ZWQgPSAoe2FyZ3N9KSA9PiB7XG4gICAgaWYgKGFyZ3MuY3JlYXRlZFt0aGlzLm1vZGVsQ2xhc3NOYW1lKCldKSB7XG4gICAgICB0aGlzLnVwZGF0ZUFsbENoZWNrZWQoKVxuICAgIH1cbiAgfVxuXG4gIG9uTGlua3NEZXN0cm95ZWQgPSAoe2FyZ3N9KSA9PiB7XG4gICAgaWYgKGFyZ3MuZGVzdHJveWVkW3RoaXMubW9kZWxDbGFzc05hbWUoKV0pIHtcbiAgICAgIHRoaXMudXBkYXRlQWxsQ2hlY2tlZCgpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLXBsdWdpbnMtY2hlY2stYWxsLWNoZWNrYm94LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS93b3JrZXItcGx1Z2lucy1jaGVjay1hbGwtY2hlY2tib3guanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUN2RCxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQTtBQUMzRSxPQUFPLGFBQWEsTUFBTSx1QkFBdUIsQ0FBQTtBQUVqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sUUFBUyxTQUFRLGFBQWE7SUFDdkUsTUFBTTtRQUNKLE1BQU0sRUFBQyxhQUFhLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVyQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ25ELENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxDQUNMLGdCQUFPLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLFVBQVUsS0FBSyxTQUFT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TSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUV6QixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixNQUFNLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDdkQsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVELGNBQWMsR0FBRyxDQUFDLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBRTtRQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUU7UUFDNUIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLXVucmVzb2x2ZWQsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSBcIi4uL2NvbGxlY3Rpb24uanNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3NpbXBsZU9iamVjdERpZmZlcmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL2RpZmYtdXRpbHMuanNcIlxuaW1wb3J0IHVzZU1vZGVsRXZlbnQgZnJvbSBcIi4uL3VzZS1tb2RlbC1ldmVudC5qc1wiXG5cbmNvbnN0IENoZWNrYm94ID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2luZGV0ZXJtaW5hdGUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY2hlY2tib3hSZWYgPSB1c2VSZWYodW5kZWZpbmVkKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNoZWNrYm94UmVmLmN1cnJlbnQuaW5kZXRlcm1pbmF0ZSA9IGluZGV0ZXJtaW5hdGVcbiAgICB9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxpbnB1dCByZWY9e2NoZWNrYm94UmVmfSB0eXBlPVwiY2hlY2tib3hcIiB7Li4ucmVzdFByb3BzfSAvPlxuICAgIClcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJUYWJsZVdvcmtlclBsdWdpbnNDaGVja0FsbENoZWNrYm94IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY3VycmVudFdvcmtwbGFjZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmluc3RhbmNlT2YoQ29sbGVjdGlvbiksXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICBzdGF0ZSA9IHtcbiAgICBjaGVja2VkOiBmYWxzZSxcbiAgICBpbmRldGVybWluYXRlOiBmYWxzZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUFsbENoZWNrZWQoKVxuICAgIH0sIFtdKVxuXG4gICAgdXNlTW9kZWxFdmVudCh0aGlzLnByb3BzLmN1cnJlbnRXb3JrcGxhY2UsIFwid29ya3BsYWNlX2xpbmtzX2NyZWF0ZWRcIiwgdGhpcy50dC5vbkxpbmtzQ3JlYXRlZClcbiAgICB1c2VNb2RlbEV2ZW50KHRoaXMucHJvcHMuY3VycmVudFdvcmtwbGFjZSwgXCJ3b3JrcGxhY2VfbGlua3NfZGVzdHJveWVkXCIsIHRoaXMudHQub25MaW5rc0Rlc3Ryb3llZClcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCBwcmV2aW91c1BhcmFtcyA9IHByZXZQcm9wcy5xdWVyeS5wYXJhbXMoKVxuICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnByb3BzLnF1ZXJ5LnBhcmFtcygpXG5cbiAgICBpZiAoc2ltcGxlT2JqZWN0RGlmZmVyZW50KHByZXZpb3VzUGFyYW1zLCBjdXJyZW50UGFyYW1zLCB0cnVlKSkge1xuICAgICAgdGhpcy51cGRhdGVBbGxDaGVja2VkKClcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVBbGxDaGVja2VkKCkge1xuICAgIGNvbnN0IHtxdWVyeSwgY3VycmVudFdvcmtwbGFjZX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgcXVlcnlMaW5rc1N0YXR1c1Jlc3VsdCA9IGF3YWl0IGN1cnJlbnRXb3JrcGxhY2UucXVlcnlMaW5rc1N0YXR1cyh7cXVlcnl9KVxuICAgIGNvbnN0IGFsbENoZWNrZWQgPSBxdWVyeUxpbmtzU3RhdHVzUmVzdWx0LmFsbF9jaGVja2VkXG4gICAgY29uc3Qgc29tZUNoZWNrZWQgPSBxdWVyeUxpbmtzU3RhdHVzUmVzdWx0LnNvbWVfY2hlY2tlZFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBjaGVja2VkOiBhbGxDaGVja2VkLFxuICAgICAgaW5kZXRlcm1pbmF0ZTogc29tZUNoZWNrZWRcbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjbGFzc05hbWUsIHN0eWxlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7Y2hlY2tlZCwgaW5kZXRlcm1pbmF0ZX0gPSB0aGlzLnNcblxuICAgIHJldHVybiAoXG4gICAgICA8Q2hlY2tib3hcbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiYXBpLW1ha2VyLS10YWJsZS0td29ya2VyLXBsdWdpbnMtY2hlY2stYWxsLWNoZWNrYm94XCIsIGNsYXNzTmFtZSl9XG4gICAgICAgIGluZGV0ZXJtaW5hdGU9e2luZGV0ZXJtaW5hdGV9XG4gICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hlY2tlZENoYW5nZWR9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgIC8+XG4gICAgKVxuICB9XG5cbiAgbW9kZWxDbGFzc05hbWUgPSAoKSA9PiB0aGlzLnByb3BzLnF1ZXJ5Lm1vZGVsQ2xhc3MoKS5tb2RlbENsYXNzRGF0YSgpLm5hbWVcblxuICBvbkNoZWNrZWRDaGFuZ2VkID0gYXN5bmMgKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGNvbnN0IHtjdXJyZW50V29ya3BsYWNlLCBxdWVyeX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY2hlY2tib3ggPSBlLnRhcmdldFxuXG4gICAgaWYgKGNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgIGF3YWl0IGN1cnJlbnRXb3JrcGxhY2UuYWRkUXVlcnkoe3F1ZXJ5fSlcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6IHRydWUsIGluZGV0ZXJtaW5hdGU6IGZhbHNlfSlcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgY3VycmVudFdvcmtwbGFjZS5yZW1vdmVRdWVyeSh7cXVlcnl9KVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7Y2hlY2tlZDogZmFsc2UsIGluZGV0ZXJtaW5hdGU6IGZhbHNlfSlcbiAgICB9XG4gIH1cblxuICBvbkxpbmtzQ3JlYXRlZCA9ICh7YXJnc30pID0+IHtcbiAgICBpZiAoYXJncy5jcmVhdGVkW3RoaXMubW9kZWxDbGFzc05hbWUoKV0pIHtcbiAgICAgIHRoaXMudXBkYXRlQWxsQ2hlY2tlZCgpXG4gICAgfVxuICB9XG5cbiAgb25MaW5rc0Rlc3Ryb3llZCA9ICh7YXJnc30pID0+IHtcbiAgICBpZiAoYXJncy5kZXN0cm95ZWRbdGhpcy5tb2RlbENsYXNzTmFtZSgpXSkge1xuICAgICAgdGhpcy51cGRhdGVBbGxDaGVja2VkKClcbiAgICB9XG4gIH1cbn0pKVxuIl19
@@ -1,3 +1,4 @@
1
- declare const _default: any;
1
+ declare const _default: React.NamedExoticComponent<Record<string, any>>;
2
2
  export default _default;
3
+ import React from "react";
3
4
  //# sourceMappingURL=worker-plugins-checkbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-plugins-checkbox.d.ts","sourceRoot":"/src/","sources":["table/worker-plugins-checkbox.jsx"],"names":[],"mappings":""}
1
+ {"version":3,"file":"worker-plugins-checkbox.d.ts","sourceRoot":"/src/","sources":["table/worker-plugins-checkbox.jsx"],"names":[],"mappings":";;kBAC6B,OAAO"}
@@ -17,11 +17,11 @@ export default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckbox exte
17
17
  model: PropTypes.object.isRequired,
18
18
  style: PropTypes.object
19
19
  });
20
+ state = {
21
+ checked: false,
22
+ linkLoaded: false
23
+ };
20
24
  setup() {
21
- this.useStates({
22
- checked: false,
23
- linkLoaded: false
24
- });
25
25
  useMemo(() => {
26
26
  this.loadCurrentLink();
27
27
  }, []);
@@ -76,4 +76,4 @@ export default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckbox exte
76
76
  }
77
77
  };
78
78
  }));
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLXBsdWdpbnMtY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL3dvcmtlci1wbHVnaW5zLWNoZWNrYm94LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8saUJBQWlCLE1BQU0sMkJBQTJCLENBQUE7QUFDekQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLGFBQWEsTUFBTSx1QkFBdUIsQ0FBQTtBQUVqRCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUVoRCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxrQ0FBbUMsU0FBUSxhQUFhO0lBQy9GLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ2xDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ3hCLENBQUMsQ0FBQTtJQUVGLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsT0FBTyxFQUFFLEtBQUs7WUFDZCxVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUE7UUFFRixPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFB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QUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUNoQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUU7UUFDNUIsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdEIsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBQ3JCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUE7UUFFbEQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQ2pDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby11bnJlc29sdmVkLCBuZXctY2FwLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB1c2VNb2RlbEV2ZW50IGZyb20gXCIuLi91c2UtbW9kZWwtZXZlbnQuanNcIlxuXG5jb25zdCBXb3JrcGxhY2UgPSBtb2RlbENsYXNzUmVxdWlyZShcIldvcmtwbGFjZVwiKVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVXb3JrZXJQbHVnaW5zQ2hlY2tib3ggZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBjdXJyZW50V29ya3BsYWNlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgIGxpbmtMb2FkZWQ6IGZhbHNlXG4gICAgfSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkQ3VycmVudExpbmsoKVxuICAgIH0sIFtdKVxuXG4gICAgdXNlTW9kZWxFdmVudCh0aGlzLnAuY3VycmVudFdvcmtwbGFjZSwgXCJ3b3JrcGxhY2VfbGlua3NfY3JlYXRlZFwiLCB0aGlzLnR0Lm9uTGlua3NDcmVhdGVkKVxuICAgIHVzZU1vZGVsRXZlbnQodGhpcy5wLmN1cnJlbnRXb3JrcGxhY2UsIFwid29ya3BsYWNlX2xpbmtzX2Rlc3Ryb3llZFwiLCB0aGlzLnR0Lm9uTGlua3NEZXN0cm95ZWQpXG4gIH1cblxuICBhc3luYyBsb2FkQ3VycmVudExpbmsoKSB7XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFdvcmtwbGFjZS5saW5rRm9yKHttb2RlbF9jbGFzczogbW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCBtb2RlbF9pZDogbW9kZWwuaWQoKX0pXG4gICAgY29uc3QgbGluayA9IGRpZ2cocmVzcG9uc2UsIFwibGlua1wiKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBjaGVja2VkOiBCb29sZWFuKGxpbmspLFxuICAgICAgbGlua0xvYWRlZDogdHJ1ZVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NsYXNzTmFtZSwgbW9kZWwsIHN0eWxlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7Y2hlY2tlZCwgbGlua0xvYWRlZH0gPSB0aGlzLnNcblxuICAgIGlmICghbGlua0xvYWRlZCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGlucHV0XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImFwaS1tYWtlci0tdGFibGUtLXdvcmtlci1wbHVnaW5zLWNoZWNrYm94XCIsIGNsYXNzTmFtZSl9XG4gICAgICAgIGRhdGEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGF0YS1tb2RlbC1pZD17bW9kZWwuaWQoKX1cbiAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25DaGVja2VkQ2hhbmdlZH1cbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgLz5cbiAgICApXG4gIH1cblxuICBvbkNoZWNrZWRDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY2hlY2tlZCA9IGUudGFyZ2V0LmNoZWNrZWRcblxuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICBXb3JrcGxhY2UuY3JlYXRlTGluayh7bW9kZWxfY2xhc3M6IG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZSwgbW9kZWxfaWQ6IG1vZGVsLmlkKCl9KVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuICAgICAgY29uc3QgcGFyYW1zID0ge21vZGVsczoge319XG5cbiAgICAgIHBhcmFtcy5tb2RlbHNbbW9kZWxDbGFzc05hbWVdID0gW21vZGVsLmlkKCldXG5cbiAgICAgIFdvcmtwbGFjZS5kZXN0cm95TGlua3MocGFyYW1zKVxuICAgIH1cbiAgfVxuXG4gIG9uTGlua3NDcmVhdGVkID0gKHthcmdzfSkgPT4ge1xuICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnBcbiAgICBjb25zdCBpZCA9IG1vZGVsLmlkKClcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuXG4gICAgaWYgKGFyZ3MuY3JlYXRlZFttb2RlbENsYXNzTmFtZV0gJiYgYXJncy5jcmVhdGVkW21vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhpZCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6IHRydWV9KVxuICAgIH1cbiAgfVxuXG4gIG9uTGlua3NEZXN0cm95ZWQgPSAoe2FyZ3N9KSA9PiB7XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IGlkID0gbW9kZWwuaWQoKVxuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gbW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG5cbiAgICBpZiAoYXJncy5kZXN0cm95ZWRbbW9kZWxDbGFzc05hbWVdICYmIGFyZ3MuZGVzdHJveWVkW21vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhpZCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6IGZhbHNlfSlcbiAgICB9XG4gIH1cbn0pKVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLXBsdWdpbnMtY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL3dvcmtlci1wbHVnaW5zLWNoZWNrYm94LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0VBQWdFO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8saUJBQWlCLE1BQU0sMkJBQTJCLENBQUE7QUFDekQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLGFBQWEsTUFBTSx1QkFBdUIsQ0FBQTtBQUVqRCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUVoRCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxrQ0FBbUMsU0FBUSxhQUFhO0lBQy9GLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ2xDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ3hCLENBQUMsQ0FBQTtJQUVGLEtBQUssR0FBRztRQUNOLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBQTtJQUVELEtBQUs7UUFDSCxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVOLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDekYsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQy9GLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNuQixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQTtRQUMxRyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBRW5DLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN0QixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDNUMsTUFBTSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXBDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxPQUFPLENBQ0wsZ0JBQ0UsT0FBTyxFQUFFLE9BQU8sRUFDaEIsU0FBUyxFQUFFLFVBQVUsQ0FBQywyQ0FBMkMsRUFBRSxTQUFTLENBQUMsa0JBQy9ELE9BQU8sbUJBQ04sS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFDbEMsS0FBSyxFQUFFLEtBQUssRUFDWixJQUFJLEVBQUMsVUFBVSxHQUNmLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUVsQixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMxQixNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQTtRQUVoQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBQ3hGLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQTtZQUNsRCxNQUFNLE1BQU0sR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQTtZQUUzQixNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFFNUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsY0FBYyxHQUFHLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFO1FBQzFCLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQTtRQUNyQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUNoQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUU7UUFDNUIsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdEIsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBQ3JCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUE7UUFFbEQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQ2pDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby11bnJlc29sdmVkLCBuZXctY2FwLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB1c2VNb2RlbEV2ZW50IGZyb20gXCIuLi91c2UtbW9kZWwtZXZlbnQuanNcIlxuXG5jb25zdCBXb3JrcGxhY2UgPSBtb2RlbENsYXNzUmVxdWlyZShcIldvcmtwbGFjZVwiKVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVXb3JrZXJQbHVnaW5zQ2hlY2tib3ggZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBjdXJyZW50V29ya3BsYWNlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICBzdGF0ZSA9IHtcbiAgICBjaGVja2VkOiBmYWxzZSxcbiAgICBsaW5rTG9hZGVkOiBmYWxzZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRDdXJyZW50TGluaygpXG4gICAgfSwgW10pXG5cbiAgICB1c2VNb2RlbEV2ZW50KHRoaXMucC5jdXJyZW50V29ya3BsYWNlLCBcIndvcmtwbGFjZV9saW5rc19jcmVhdGVkXCIsIHRoaXMudHQub25MaW5rc0NyZWF0ZWQpXG4gICAgdXNlTW9kZWxFdmVudCh0aGlzLnAuY3VycmVudFdvcmtwbGFjZSwgXCJ3b3JrcGxhY2VfbGlua3NfZGVzdHJveWVkXCIsIHRoaXMudHQub25MaW5rc0Rlc3Ryb3llZClcbiAgfVxuXG4gIGFzeW5jIGxvYWRDdXJyZW50TGluaygpIHtcbiAgICBjb25zdCB7bW9kZWx9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgV29ya3BsYWNlLmxpbmtGb3Ioe21vZGVsX2NsYXNzOiBtb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWUsIG1vZGVsX2lkOiBtb2RlbC5pZCgpfSlcbiAgICBjb25zdCBsaW5rID0gZGlnZyhyZXNwb25zZSwgXCJsaW5rXCIpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGNoZWNrZWQ6IEJvb2xlYW4obGluayksXG4gICAgICBsaW5rTG9hZGVkOiB0cnVlXG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBtb2RlbCwgc3R5bGV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtjaGVja2VkLCBsaW5rTG9hZGVkfSA9IHRoaXMuc1xuXG4gICAgaWYgKCFsaW5rTG9hZGVkKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8aW5wdXRcbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiYXBpLW1ha2VyLS10YWJsZS0td29ya2VyLXBsdWdpbnMtY2hlY2tib3hcIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgZGF0YS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkYXRhLW1vZGVsLWlkPXttb2RlbC5pZCgpfVxuICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vbkNoZWNrZWRDaGFuZ2VkfVxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAvPlxuICAgIClcbiAgfVxuXG4gIG9uQ2hlY2tlZENoYW5nZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBjaGVja2VkID0gZS50YXJnZXQuY2hlY2tlZFxuXG4gICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgIFdvcmtwbGFjZS5jcmVhdGVMaW5rKHttb2RlbF9jbGFzczogbW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCBtb2RlbF9pZDogbW9kZWwuaWQoKX0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gbW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG4gICAgICBjb25zdCBwYXJhbXMgPSB7bW9kZWxzOiB7fX1cblxuICAgICAgcGFyYW1zLm1vZGVsc1ttb2RlbENsYXNzTmFtZV0gPSBbbW9kZWwuaWQoKV1cblxuICAgICAgV29ya3BsYWNlLmRlc3Ryb3lMaW5rcyhwYXJhbXMpXG4gICAgfVxuICB9XG5cbiAgb25MaW5rc0NyZWF0ZWQgPSAoe2FyZ3N9KSA9PiB7XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IGlkID0gbW9kZWwuaWQoKVxuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gbW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG5cbiAgICBpZiAoYXJncy5jcmVhdGVkW21vZGVsQ2xhc3NOYW1lXSAmJiBhcmdzLmNyZWF0ZWRbbW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKGlkKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7Y2hlY2tlZDogdHJ1ZX0pXG4gICAgfVxuICB9XG5cbiAgb25MaW5rc0Rlc3Ryb3llZCA9ICh7YXJnc30pID0+IHtcbiAgICBjb25zdCB7bW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3QgaWQgPSBtb2RlbC5pZCgpXG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBtb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWVcblxuICAgIGlmIChhcmdzLmRlc3Ryb3llZFttb2RlbENsYXNzTmFtZV0gJiYgYXJncy5kZXN0cm95ZWRbbW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKGlkKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7Y2hlY2tlZDogZmFsc2V9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
@@ -8,5 +8,13 @@
8
8
  export default function useCanCan(abilitiesCallback: () => any[], dependencies?: any[], options?: {
9
9
  debug?: boolean;
10
10
  }): CanCan;
11
+ export type UseCanCanProps = {
12
+ abilitiesCallback: () => any[];
13
+ debug: boolean;
14
+ dependencies: any[] | undefined;
15
+ };
16
+ export type UseCanCanState = {
17
+ lastUpdate: Date;
18
+ };
11
19
  import CanCan from "./can-can.js";
12
20
  //# sourceMappingURL=use-can-can.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-can-can.d.ts","sourceRoot":"/src/","sources":["use-can-can.js"],"names":[],"mappings":"AAsJA;;;;;;GAMG;AACH,qDANW,WAAkB,kCAG1B;IAA0B,KAAK,GAAvB,OAAO;CACf,GAAU,MAAM,CAalB;mBAtKkB,cAAc"}
1
+ {"version":3,"file":"use-can-can.d.ts","sourceRoot":"/src/","sources":["use-can-can.js"],"names":[],"mappings":"AAmKA;;;;;;GAMG;AACH,qDANW,WAAkB,kCAG1B;IAA0B,KAAK,GAAvB,OAAO;CACf,GAAU,MAAM,CAalB;;uBA7Ka,WAAW;WACX,OAAO;kBACP,GAAG,EAAE,GAAG,SAAS;;;gBAKjB,IAAI;;mBAbC,cAAc"}
@@ -3,8 +3,22 @@ import { useEffect, useMemo } from "react";
3
3
  import CanCan from "./can-can.js";
4
4
  import Devise from "./devise.js";
5
5
  import useEventEmitter from "ya-use-event-emitter";
6
+ /**
7
+ * @typedef {object} UseCanCanProps
8
+ * @property {() => Array} abilitiesCallback
9
+ * @property {boolean} debug
10
+ * @property {any[] | undefined} dependencies
11
+ */
12
+ /**
13
+ * @typedef {object} UseCanCanState
14
+ * @property {Date} lastUpdate
15
+ */
6
16
  /** UseCanCanClass. */
17
+ /** @augments {ShapeHook<UseCanCanProps, UseCanCanState>} */
7
18
  class UseCanCanClass extends ShapeHook {
19
+ state = /** @type {UseCanCanState} */ ({
20
+ lastUpdate: new Date()
21
+ });
8
22
  /** Constructor. */
9
23
  constructor(props) {
10
24
  super(props);
@@ -81,9 +95,6 @@ class UseCanCanClass extends ShapeHook {
81
95
  };
82
96
  /** setup. */
83
97
  setup() {
84
- this.useStates({
85
- lastUpdate: () => new Date()
86
- });
87
98
  const { debug, dependencies } = this.p;
88
99
  const dependencyList = dependencies ?? [];
89
100
  const dependencyKey = useMemo(() => this.dependencyListKey(dependencyList), dependencyList);
@@ -141,4 +152,4 @@ export default function useCanCan(abilitiesCallback, dependencies = undefined, o
141
152
  const shapeHook = useShapeHook(UseCanCanClass, { abilitiesCallback, debug, dependencies });
142
153
  return shapeHook.canCan;
143
154
  }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNhbi1jYW4uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1jYW4tY2FuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDeEMsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRCxzQkFBc0I7QUFDdEIsTUFBTSxjQUFlLFNBQVEsU0FBUztJQUNwQyxtQkFBbUI7SUFDbkIsWUFBWSxLQUFLO1FBQ2YsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBQzdDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFBO1FBQzFCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLENBQUE7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDckMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUFFLE9BQU8sTUFBTSxDQUFBO1FBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPLFdBQVcsQ0FBQTtRQUUzQyxNQUFNLFNBQVMsR0FB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aEYsQ0FBQztDQUNGO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxTQUFTLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxHQUFHLFNBQVMsRUFBRSxPQUFPLEdBQUcsRUFBRTtJQUN6RixNQUFNLEVBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFHLFFBQVEsRUFBQyxHQUFHLE9BQU8sQ0FBQTtJQUM1QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRTFDLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNuRixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGNBQWMsRUFBRSxFQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFBO0lBRXhGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQTtBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTaGFwZUhvb2ssIHVzZVNoYXBlSG9va30gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlXCJcbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IENhbkNhbiBmcm9tIFwiLi9jYW4tY2FuLmpzXCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCB1c2VFdmVudEVtaXR0ZXIgZnJvbSBcInlhLXVzZS1ldmVudC1lbWl0dGVyXCJcblxuLyoqIFVzZUNhbkNhbkNsYXNzLiAqL1xuY2xhc3MgVXNlQ2FuQ2FuQ2xhc3MgZXh0ZW5kcyBTaGFwZUhvb2sge1xuICAvKiogQ29uc3RydWN0b3IuICovXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gICAgdGhpcy5hYmlsaXRpZXNSZXF1ZXN0SWQgPSAwXG4gICAgdGhpcy5jYW5DYW4gPSBDYW5DYW4uY3VycmVudCgpXG4gICAgdGhpcy5kZWJ1Z1Rva2VuID0gU3ltYm9sKFwidXNlLWNhbi1jYW4tZGVidWdcIilcbiAgICB0aGlzLmRldmlzZVJlbG9hZEtleSA9IDBcbiAgICB0aGlzLmlzSG9va01vdW50ZWQgPSBmYWxzZVxuICAgIHRoaXMubG9hZGVkV2l0aEN1c3RvbURlcGVuZGVuY2llcyA9IGZhbHNlXG4gICAgdGhpcy5kZXBlbmRlbmN5S2V5TWFwID0gbmV3IFdlYWtNYXAoKVxuICAgIHRoaXMuZGVwZW5kZW5jeUtleU5leHRJZCA9IDFcbiAgfVxuXG4gIC8qKiBkZXBlbmRlbmN5S2V5Rm9yLiAqL1xuICBkZXBlbmRlbmN5S2V5Rm9yKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gXCJudWxsXCJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIFwidW5kZWZpbmVkXCJcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHR5cGVvZiB2YWx1ZVxuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gXCJvYmplY3RcIiAmJiB2YWx1ZVR5cGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIGAke3ZhbHVlVHlwZX06JHtTdHJpbmcodmFsdWUpfWBcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGVwZW5kZW5jeUtleU1hcC5oYXModmFsdWUpKSB7XG4gICAgICB0aGlzLmRlcGVuZGVuY3lLZXlNYXAuc2V0KHZhbHVlLCB0aGlzLmRlcGVuZGVuY3lLZXlOZXh0SWQpXG4gICAgICB0aGlzLmRlcGVuZGVuY3lLZXlOZXh0SWQgKz0gMVxuICAgIH1cblxuICAgIHJldHVybiBgJHt2YWx1ZVR5cGV9OnJlZjoke3RoaXMuZGVwZW5kZW5jeUtleU1hcC5nZXQodmFsdWUpfWBcbiAgfVxuXG4gIC8qKiBkZXBlbmRlbmN5TGlzdEtleS4gKi9cbiAgZGVwZW5kZW5jeUxpc3RLZXkobGlzdCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShsaXN0KSkgcmV0dXJuIHRoaXMuZGVwZW5kZW5jeUtleUZvcihsaXN0KVxuXG4gICAgcmV0dXJuIGxpc3QubWFwKCh2YWx1ZSkgPT4gdGhpcy5kZXBlbmRlbmN5S2V5Rm9yKHZhbHVlKSkuam9pbihcInxcIilcbiAgfVxuXG4gIC8qKiBsb2FkQWJpbGl0aWVzLiAqL1xuICBsb2FkQWJpbGl0aWVzID0gYXN5bmMgKHJlbG9hZEtleSkgPT4ge1xuICAgIC8vIERyb3AgbGF0ZSBhYmlsaXR5IHJlbG9hZCBjb21wbGV0aW9ucyBhZnRlciBkZXBlbmRlbmN5IGNoYW5nZXMgb3IgdW5tb3VudHMuXG4gICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5hYmlsaXRpZXNSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmFiaWxpdGllc1JlcXVlc3RJZCA9IHJlcXVlc3RJZFxuICAgIGNvbnN0IGFiaWxpdGllcyA9IHRoaXMucC5hYmlsaXRpZXNDYWxsYmFjaygpXG5cbiAgICBpZiAocmVsb2FkS2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuY2FuQ2FuLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLmNhbkNhbi5yZWxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzLCByZWxvYWRLZXkpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzSG9va01vdW50ZWQgfHwgcmVxdWVzdElkICE9IHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkKSByZXR1cm5cblxuICAgIHRoaXMuc2V0U3RhdGUoe2xhc3RVcGRhdGU6IG5ldyBEYXRlKCl9KVxuICB9XG5cbiAgLyoqIG9uRGV2aXNlQ2hhbmdlLiAqL1xuICBvbkRldmlzZUNoYW5nZSA9ICgpID0+IHtcbiAgICB0aGlzLmRldmlzZVJlbG9hZEtleSArPSAxXG5cbiAgICBpZiAodGhpcy5wLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyhgW3VzZUNhbkNhbl0gZGV2aXNlLWNoYW5nZSByZWxvYWRLZXk9ZGV2aXNlOiR7dGhpcy5kZXZpc2VSZWxvYWRLZXl9YClcbiAgICB9XG5cbiAgICB0aGlzLmxvYWRBYmlsaXRpZXMoYGRldmlzZToke3RoaXMuZGV2aXNlUmVsb2FkS2V5fWApXG4gIH1cblxuICAvKiogb25SZXNldEFiaWxpdGllcy4gKi9cbiAgb25SZXNldEFiaWxpdGllcyA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIlt1c2VDYW5DYW5dIG9uUmVzZXRBYmlsaXRpZXMgLT4gbG9hZEFiaWxpdGllcygpXCIpXG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgfVxuXG4gIC8qKiBvbkFiaWxpdGllc0xvYWRlZC4gKi9cbiAgb25BYmlsaXRpZXNMb2FkZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucC5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbdXNlQ2FuQ2FuXSBvbkFiaWxpdGllc0xvYWRlZFwiKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0hvb2tNb3VudGVkKSByZXR1cm5cblxuICAgIHRoaXMuc2V0U3RhdGUoe2xhc3RVcGRhdGU6IG5ldyBEYXRlKCl9KVxuICB9XG5cbiAgLyoqIHNldHVwLiAqL1xuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBsYXN0VXBkYXRlOiAoKSA9PiBuZXcgRGF0ZSgpXG4gICAgfSlcblxuICAgIGNvbnN0IHtkZWJ1ZywgZGVwZW5kZW5jaWVzfSA9IHRoaXMucFxuICAgIGNvbnN0IGRlcGVuZGVuY3lMaXN0ID0gZGVwZW5kZW5jaWVzID8/IFtdXG4gICAgY29uc3QgZGVwZW5kZW5jeUtleSA9IHVzZU1lbW8oKCkgPT4gdGhpcy5kZXBlbmRlbmN5TGlzdEtleShkZXBlbmRlbmN5TGlzdCksIGRlcGVuZGVuY3lMaXN0KVxuICAgIGNvbnN0IGhhc0N1c3RvbURlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcyAhPT0gdW5kZWZpbmVkXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5pc0hvb2tNb3VudGVkID0gdHJ1ZVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLmlzSG9va01vdW50ZWQgPSBmYWxzZVxuICAgICAgICB0aGlzLmFiaWxpdGllc1JlcXVlc3RJZCArPSAxXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5jYW5DYW4uc2V0RGVidWcodGhpcy5kZWJ1Z1Rva2VuLCBkZWJ1ZylcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdGhpcy5jYW5DYW4uc2V0RGVidWcodGhpcy5kZWJ1Z1Rva2VuLCBmYWxzZSlcbiAgICAgIH1cbiAgICB9LCBbZGVidWddKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChkZWJ1Zykge1xuICAgICAgICBjb25zb2xlLmxvZyhgW3VzZUNhbkNhbl0gZWZmZWN0IGhhc0N1c3RvbURlcGVuZGVuY2llcz0ke1N0cmluZyhoYXNDdXN0b21EZXBlbmRlbmNpZXMpfTsgZGVwZW5kZW5jeUtleT0ke2RlcGVuZGVuY3lLZXl9YClcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0N1c3RvbURlcGVuZGVuY2llcykge1xuICAgICAgICBpZiAodGhpcy5sb2FkZWRXaXRoQ3VzdG9tRGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKGRlcGVuZGVuY3lLZXkpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2FkZWRXaXRoQ3VzdG9tRGVwZW5kZW5jaWVzID0gdHJ1ZVxuICAgICAgICAgIHRoaXMubG9hZEFiaWxpdGllcygpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9hZGVkV2l0aEN1c3RvbURlcGVuZGVuY2llcyA9IGZhbHNlXG4gICAgICAgIHRoaXMubG9hZEFiaWxpdGllcygpXG4gICAgICB9XG4gICAgfSwgW2RlcGVuZGVuY3lLZXksIGhhc0N1c3RvbURlcGVuZGVuY2llc10pXG5cbiAgICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbkluXCIsIHRoaXMub25EZXZpc2VDaGFuZ2UpXG4gICAgdXNlRXZlbnRFbWl0dGVyKERldmlzZS5ldmVudHMoKSwgXCJvbkRldmlzZVNpZ25PdXRcIiwgdGhpcy5vbkRldmlzZUNoYW5nZSlcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jYW5DYW4uZXZlbnRzLCBcIm9uQWJpbGl0aWVzTG9hZGVkXCIsIHRoaXMub25BYmlsaXRpZXNMb2FkZWQpXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY2FuQ2FuLmV2ZW50cywgXCJvblJlc2V0QWJpbGl0aWVzXCIsIHRoaXMub25SZXNldEFiaWxpdGllcylcbiAgfVxufVxuXG4vKipcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKSA6IEFycmF5fSBhYmlsaXRpZXNDYWxsYmFja1xuICogQHBhcmFtIHtBcnJheX0gW2RlcGVuZGVuY2llc11cbiAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc11cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuZGVidWddXG4gKiBAcmV0dXJucyB7Q2FuQ2FufVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VDYW5DYW4oYWJpbGl0aWVzQ2FsbGJhY2ssIGRlcGVuZGVuY2llcyA9IHVuZGVmaW5lZCwgb3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHtkZWJ1ZyA9IGZhbHNlLCAuLi5yZXN0QXJnc30gPSBvcHRpb25zXG4gIGNvbnN0IHJlc3RBcmdzS2V5cyA9IE9iamVjdC5rZXlzKHJlc3RBcmdzKVxuXG4gIGlmIChyZXN0QXJnc0tleXMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBvcHRpb25zIGdpdmVuIHRvIHVzZUNhbkNhbjogJHtyZXN0QXJnc0tleXMuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBjb25zdCBzaGFwZUhvb2sgPSB1c2VTaGFwZUhvb2soVXNlQ2FuQ2FuQ2xhc3MsIHthYmlsaXRpZXNDYWxsYmFjaywgZGVidWcsIGRlcGVuZGVuY2llc30pXG5cbiAgcmV0dXJuIHNoYXBlSG9vay5jYW5DYW5cbn1cbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNhbi1jYW4uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1jYW4tY2FuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDeEMsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRDs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILHNCQUFzQjtBQUN0Qiw0REFBNEQ7QUFDNUQsTUFBTSxjQUFlLFNBQVEsU0FBUztJQUNwQyxLQUFLLEdBQUcsNkJBQTZCLENBQUMsQ0FBQztRQUNyQyxVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUU7S0FDdkIsQ0FBQyxDQUFBO0lBRUYsbUJBQW1CO0lBQ25CLFlBQVksS0FBSztRQUNmLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUE7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtRQUMxQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixnQkFBZ0IsQ0FB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RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUNoRixDQUFDO0NBQ0Y7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsT0FBTyxVQUFVLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEdBQUcsU0FBUyxFQUFFLE9BQU8sR0FBRyxFQUFFO0lBQ3pGLE1BQU0sRUFBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQUcsUUFBUSxFQUFDLEdBQUcsT0FBTyxDQUFBO0lBQzVDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFMUMsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ25GLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUE7SUFFeEYsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFBO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NoYXBlSG9vaywgdXNlU2hhcGVIb29rfSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmVcIlxuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQ2FuQ2FuIGZyb20gXCIuL2Nhbi1jYW4uanNcIlxuaW1wb3J0IERldmlzZSBmcm9tIFwiLi9kZXZpc2UuanNcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFVzZUNhbkNhblByb3BzXG4gKiBAcHJvcGVydHkgeygpID0+IEFycmF5fSBhYmlsaXRpZXNDYWxsYmFja1xuICogQHByb3BlcnR5IHtib29sZWFufSBkZWJ1Z1xuICogQHByb3BlcnR5IHthbnlbXSB8IHVuZGVmaW5lZH0gZGVwZW5kZW5jaWVzXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBVc2VDYW5DYW5TdGF0ZVxuICogQHByb3BlcnR5IHtEYXRlfSBsYXN0VXBkYXRlXG4gKi9cblxuLyoqIFVzZUNhbkNhbkNsYXNzLiAqL1xuLyoqIEBhdWdtZW50cyB7U2hhcGVIb29rPFVzZUNhbkNhblByb3BzLCBVc2VDYW5DYW5TdGF0ZT59ICovXG5jbGFzcyBVc2VDYW5DYW5DbGFzcyBleHRlbmRzIFNoYXBlSG9vayB7XG4gIHN0YXRlID0gLyoqIEB0eXBlIHtVc2VDYW5DYW5TdGF0ZX0gKi8gKHtcbiAgICBsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpXG4gIH0pXG5cbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkID0gMFxuICAgIHRoaXMuY2FuQ2FuID0gQ2FuQ2FuLmN1cnJlbnQoKVxuICAgIHRoaXMuZGVidWdUb2tlbiA9IFN5bWJvbChcInVzZS1jYW4tY2FuLWRlYnVnXCIpXG4gICAgdGhpcy5kZXZpc2VSZWxvYWRLZXkgPSAwXG4gICAgdGhpcy5pc0hvb2tNb3VudGVkID0gZmFsc2VcbiAgICB0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMgPSBmYWxzZVxuICAgIHRoaXMuZGVwZW5kZW5jeUtleU1hcCA9IG5ldyBXZWFrTWFwKClcbiAgICB0aGlzLmRlcGVuZGVuY3lLZXlOZXh0SWQgPSAxXG4gIH1cblxuICAvKiogZGVwZW5kZW5jeUtleUZvci4gKi9cbiAgZGVwZW5kZW5jeUtleUZvcih2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIFwibnVsbFwiXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiBcInVuZGVmaW5lZFwiXG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB0eXBlb2YgdmFsdWVcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IFwib2JqZWN0XCIgJiYgdmFsdWVUeXBlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBgJHt2YWx1ZVR5cGV9OiR7U3RyaW5nKHZhbHVlKX1gXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRlcGVuZGVuY3lLZXlNYXAuaGFzKHZhbHVlKSkge1xuICAgICAgdGhpcy5kZXBlbmRlbmN5S2V5TWFwLnNldCh2YWx1ZSwgdGhpcy5kZXBlbmRlbmN5S2V5TmV4dElkKVxuICAgICAgdGhpcy5kZXBlbmRlbmN5S2V5TmV4dElkICs9IDFcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dmFsdWVUeXBlfTpyZWY6JHt0aGlzLmRlcGVuZGVuY3lLZXlNYXAuZ2V0KHZhbHVlKX1gXG4gIH1cblxuICAvKiogZGVwZW5kZW5jeUxpc3RLZXkuICovXG4gIGRlcGVuZGVuY3lMaXN0S2V5KGxpc3QpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlzdCkpIHJldHVybiB0aGlzLmRlcGVuZGVuY3lLZXlGb3IobGlzdClcblxuICAgIHJldHVybiBsaXN0Lm1hcCgodmFsdWUpID0+IHRoaXMuZGVwZW5kZW5jeUtleUZvcih2YWx1ZSkpLmpvaW4oXCJ8XCIpXG4gIH1cblxuICAvKiogbG9hZEFiaWxpdGllcy4gKi9cbiAgbG9hZEFiaWxpdGllcyA9IGFzeW5jIChyZWxvYWRLZXkpID0+IHtcbiAgICAvLyBEcm9wIGxhdGUgYWJpbGl0eSByZWxvYWQgY29tcGxldGlvbnMgYWZ0ZXIgZGVwZW5kZW5jeSBjaGFuZ2VzIG9yIHVubW91bnRzLlxuICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkICsgMVxuXG4gICAgdGhpcy5hYmlsaXRpZXNSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhYmlsaXRpZXMgPSB0aGlzLnAuYWJpbGl0aWVzQ2FsbGJhY2soKVxuXG4gICAgaWYgKHJlbG9hZEtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmNhbkNhbi5sb2FkQWJpbGl0aWVzKGFiaWxpdGllcylcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5jYW5DYW4ucmVsb2FkQWJpbGl0aWVzKGFiaWxpdGllcywgcmVsb2FkS2V5KVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0hvb2tNb3VudGVkIHx8IHJlcXVlc3RJZCAhPSB0aGlzLmFiaWxpdGllc1JlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpfSlcbiAgfVxuXG4gIC8qKiBvbkRldmlzZUNoYW5nZS4gKi9cbiAgb25EZXZpc2VDaGFuZ2UgPSAoKSA9PiB7XG4gICAgdGhpcy5kZXZpc2VSZWxvYWRLZXkgKz0gMVxuXG4gICAgaWYgKHRoaXMucC5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coYFt1c2VDYW5DYW5dIGRldmlzZS1jaGFuZ2UgcmVsb2FkS2V5PWRldmlzZToke3RoaXMuZGV2aXNlUmVsb2FkS2V5fWApXG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQWJpbGl0aWVzKGBkZXZpc2U6JHt0aGlzLmRldmlzZVJlbG9hZEtleX1gKVxuICB9XG5cbiAgLyoqIG9uUmVzZXRBYmlsaXRpZXMuICovXG4gIG9uUmVzZXRBYmlsaXRpZXMgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucC5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbdXNlQ2FuQ2FuXSBvblJlc2V0QWJpbGl0aWVzIC0+IGxvYWRBYmlsaXRpZXMoKVwiKVxuICAgIH1cblxuICAgIHRoaXMubG9hZEFiaWxpdGllcygpXG4gIH1cblxuICAvKiogb25BYmlsaXRpZXNMb2FkZWQuICovXG4gIG9uQWJpbGl0aWVzTG9hZGVkID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnAuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiW3VzZUNhbkNhbl0gb25BYmlsaXRpZXNMb2FkZWRcIilcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNIb29rTW91bnRlZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpfSlcbiAgfVxuXG4gIC8qKiBzZXR1cC4gKi9cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2RlYnVnLCBkZXBlbmRlbmNpZXN9ID0gdGhpcy5wXG4gICAgY29uc3QgZGVwZW5kZW5jeUxpc3QgPSBkZXBlbmRlbmNpZXMgPz8gW11cbiAgICBjb25zdCBkZXBlbmRlbmN5S2V5ID0gdXNlTWVtbygoKSA9PiB0aGlzLmRlcGVuZGVuY3lMaXN0S2V5KGRlcGVuZGVuY3lMaXN0KSwgZGVwZW5kZW5jeUxpc3QpXG4gICAgY29uc3QgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzICE9PSB1bmRlZmluZWRcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmlzSG9va01vdW50ZWQgPSB0cnVlXG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNIb29rTW91bnRlZCA9IGZhbHNlXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzUmVxdWVzdElkICs9IDFcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmNhbkNhbi5zZXREZWJ1Zyh0aGlzLmRlYnVnVG9rZW4sIGRlYnVnKVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbkNhbi5zZXREZWJ1Zyh0aGlzLmRlYnVnVG9rZW4sIGZhbHNlKVxuICAgICAgfVxuICAgIH0sIFtkZWJ1Z10pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBbdXNlQ2FuQ2FuXSBlZmZlY3QgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzPSR7U3RyaW5nKGhhc0N1c3RvbURlcGVuZGVuY2llcyl9OyBkZXBlbmRlbmN5S2V5PSR7ZGVwZW5kZW5jeUtleX1gKVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzQ3VzdG9tRGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgICB0aGlzLmxvYWRBYmlsaXRpZXMoZGVwZW5kZW5jeUtleSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvYWRlZFdpdGhDdXN0b21EZXBlbmRlbmNpZXMgPSB0cnVlXG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2FkZWRXaXRoQ3VzdG9tRGVwZW5kZW5jaWVzID0gZmFsc2VcbiAgICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKClcbiAgICAgIH1cbiAgICB9LCBbZGVwZW5kZW5jeUtleSwgaGFzQ3VzdG9tRGVwZW5kZW5jaWVzXSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcihEZXZpc2UuZXZlbnRzKCksIFwib25EZXZpc2VTaWduSW5cIiwgdGhpcy5vbkRldmlzZUNoYW5nZSlcbiAgICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbk91dFwiLCB0aGlzLm9uRGV2aXNlQ2hhbmdlKVxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLmNhbkNhbi5ldmVudHMsIFwib25BYmlsaXRpZXNMb2FkZWRcIiwgdGhpcy5vbkFiaWxpdGllc0xvYWRlZClcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jYW5DYW4uZXZlbnRzLCBcIm9uUmVzZXRBYmlsaXRpZXNcIiwgdGhpcy5vblJlc2V0QWJpbGl0aWVzKVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbigpIDogQXJyYXl9IGFiaWxpdGllc0NhbGxiYWNrXG4gKiBAcGFyYW0ge0FycmF5fSBbZGVwZW5kZW5jaWVzXVxuICogQHBhcmFtIHtvYmplY3R9IFtvcHRpb25zXVxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5kZWJ1Z11cbiAqIEByZXR1cm5zIHtDYW5DYW59XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUNhbkNhbihhYmlsaXRpZXNDYWxsYmFjaywgZGVwZW5kZW5jaWVzID0gdW5kZWZpbmVkLCBvcHRpb25zID0ge30pIHtcbiAgY29uc3Qge2RlYnVnID0gZmFsc2UsIC4uLnJlc3RBcmdzfSA9IG9wdGlvbnNcbiAgY29uc3QgcmVzdEFyZ3NLZXlzID0gT2JqZWN0LmtleXMocmVzdEFyZ3MpXG5cbiAgaWYgKHJlc3RBcmdzS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG9wdGlvbnMgZ2l2ZW4gdG8gdXNlQ2FuQ2FuOiAke3Jlc3RBcmdzS2V5cy5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGNvbnN0IHNoYXBlSG9vayA9IHVzZVNoYXBlSG9vayhVc2VDYW5DYW5DbGFzcywge2FiaWxpdGllc0NhbGxiYWNrLCBkZWJ1ZywgZGVwZW5kZW5jaWVzfSlcblxuICByZXR1cm4gc2hhcGVIb29rLmNhbkNhblxufVxuIl19
@@ -125,5 +125,16 @@ export type UseCollectionResult = {
125
125
  showNoRecordsAvailableContent: false | import("react").ReactNode;
126
126
  showNoRecordsFoundContent: false | import("react").ReactNode;
127
127
  };
128
+ export type UseCollectionState = {
129
+ models: any[] | undefined;
130
+ overallCount: number | undefined;
131
+ qParams: Record<string, any>;
132
+ query: import("./collection.js").default<any> | undefined;
133
+ readyToLoad: boolean;
134
+ result: import("./result.js").default | undefined;
135
+ searchParams: string[] | undefined;
136
+ showNoRecordsAvailableContent: false | import("react").ReactNode;
137
+ showNoRecordsFoundContent: false | import("react").ReactNode;
138
+ };
128
139
  declare function useCollection(props: any, cacheKeys?: any[]): UseCollectionResult & Record<string, any>;
129
140
  //# sourceMappingURL=use-collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-collection.d.ts","sourceRoot":"/src/","sources":["use-collection.js"],"names":[],"mappings":";;YAYc,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAmb8jU,CAAC;;;;;;;;oBAA2iB,CAAC;;;;;6BAAypE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAnbpuZ,CAAC;yBACxC,MAAM;kBACN,MAAM;;eAEN,MAAM;iBACN,MAAM;gBACN,MAAM;gBACN,MAAM;mBACN,MAAM;YACN,OAAO,aAAa,EAAE,OAAO;kBAC7B,MAAM,EAAE;mCACR,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;+BACjC,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;;AA0W/C,yGA0DC"}
1
+ {"version":3,"file":"use-collection.d.ts","sourceRoot":"/src/","sources":["use-collection.js"],"names":[],"mappings":";;YAYc,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAmci8S,CAAC;;;;;;;;oBAA2iB,CAAC;;;;;6BAAypE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAncvmY,CAAC;yBACxC,MAAM;kBACN,MAAM;;eAEN,MAAM;iBACN,MAAM;gBACN,MAAM;gBACN,MAAM;mBACN,MAAM;YACN,OAAO,aAAa,EAAE,OAAO;kBAC7B,MAAM,EAAE;mCACR,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;+BACjC,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;;;YA4BjC,GAAG,EAAE,GAAG,SAAS;kBACjB,MAAM,GAAG,SAAS;aAClB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WACnB,sCAAiC,GAAG,SAAS;iBAC7C,OAAO;YACP,OAAO,aAAa,EAAE,OAAO,GAAG,SAAS;kBACzC,MAAM,EAAE,GAAG,SAAS;mCACpB,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;+BACjC,KAAK,GAAG,OAAO,OAAO,EAAE,SAAS;;AAsV/C,yGA0DC"}
@@ -45,8 +45,32 @@ import useQueryParams from "on-location-changed/build/use-query-params.js";
45
45
  * @param {any[]} cacheKeys
46
46
  * @returns {UseCollectionResult & Record<string, any>}
47
47
  */
48
+ /**
49
+ * @typedef {object} UseCollectionState
50
+ * @property {any[] | undefined} models
51
+ * @property {number | undefined} overallCount
52
+ * @property {Record<string, any>} qParams
53
+ * @property {import("./collection.js").default | undefined} query
54
+ * @property {boolean} readyToLoad
55
+ * @property {import("./result.js").default | undefined} result
56
+ * @property {string[] | undefined} searchParams
57
+ * @property {false | import("react").ReactNode} showNoRecordsAvailableContent
58
+ * @property {false | import("react").ReactNode} showNoRecordsFoundContent
59
+ */
48
60
  /** Hook state container for useCollection. */
61
+ /** @augments {ShapeHook<Record<string, any>, UseCollectionState>} */
49
62
  class UseCollectionShapeHook extends ShapeHook {
63
+ state = /** @type {UseCollectionState} */ ({
64
+ models: undefined,
65
+ overallCount: undefined,
66
+ qParams: {},
67
+ query: undefined,
68
+ readyToLoad: false,
69
+ result: undefined,
70
+ searchParams: undefined,
71
+ showNoRecordsAvailableContent: false,
72
+ showNoRecordsFoundContent: false
73
+ });
50
74
  /** Constructor. */
51
75
  constructor(props) {
52
76
  super(props);
@@ -275,18 +299,7 @@ class UseCollectionShapeHook extends ShapeHook {
275
299
  }
276
300
  /** @returns {void} */
277
301
  setup() {
278
- this.useStates({
279
- models: undefined,
280
- overallCount: undefined,
281
- qParams: {},
282
- query: undefined,
283
- readyToLoad: false,
284
- result: undefined,
285
- searchParams: undefined,
286
- showNoRecordsAvailableContent: false,
287
- showNoRecordsFoundContent: false
288
- });
289
- this.setInstance({ queryParams: useQueryParams() });
302
+ this.queryParams = useQueryParams();
290
303
  // Wait until componentDidMount has flipped readyToLoad so the first load runs after useShapeHook has marked the hook mounted.
291
304
  useEffect(() => {
292
305
  if (!this.s.readyToLoad)
@@ -371,7 +384,7 @@ const useCollection = (props, cacheKeys = []) => {
371
384
  select,
372
385
  selectColumns
373
386
  });
374
- const result = /** @type {UseCollectionResult & Record<string, any>} */ (Object.assign({}, shapeHook.state));
387
+ const result = /** @type {UseCollectionResult & Record<string, any>} */ ( /** @type {unknown} */(Object.assign({}, shapeHook.state)));
375
388
  const modelVariableName = inflection.pluralize(inflection.camelize(shapeHook.p.modelClass.modelClassData().name, true));
376
389
  result.modelIdsCacheString = shapeHook.modelIdsCacheString();
377
390
  result.queryName = shapeHook.queryName();
@@ -383,4 +396,4 @@ const useCollection = (props, cacheKeys = []) => {
383
396
  return result;
384
397
  };
385
398
  export default useCollection;
386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1jb2xsZWN0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZGQUE2RjtBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3pELE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQTtBQUMvQixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sV0FBVyxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDL0IsT0FBTyxlQUFlLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFFMUU7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILDhDQUE4QztBQUM5QyxNQUFNLHNCQUF1QixTQUFRLFNBQVM7SUFDNUMsbUJBQW1CO0lBQ25CLFlBQVksS0FBSztRQUNmLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNaLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUE7UUFDN0IsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQTtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLFdBQVc7UUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNB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QyxDQUFBO0FBRUQsZUFBZSxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycywgbm8tdXNlLWJlZm9yZS1kZWZpbmUsIHByZWZlci1vYmplY3Qtc3ByZWFkLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7U2hhcGVIb29rLCB1c2VTaGFwZUhvb2t9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZVwiXG5pbXBvcnQgZGVib3VuY2UgZnJvbSBcImRlYm91bmNlXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IHt1c2VFZmZlY3R9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlQ3JlYXRlZEV2ZW50IGZyb20gXCIuL3VzZS1jcmVhdGVkLWV2ZW50LmpzXCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9idWlsZC91c2UtcXVlcnktcGFyYW1zLmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBVc2VDb2xsZWN0aW9uUmVzdWx0XG4gKiBAcHJvcGVydHkge0FycmF5PGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0Pn0gbW9kZWxzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbW9kZWxJZHNDYWNoZVN0cmluZ1xuICogQHByb3BlcnR5IHtudW1iZXJ9IG92ZXJhbGxDb3VudFxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2NvbGxlY3Rpb24uanNcIikuZGVmYXVsdH0gcXVlcnlcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWVyeU5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWVyeVBlcktleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHF1ZXJ5UU5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWVyeVNOYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcXVlcnlQYWdlTmFtZVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3Jlc3VsdC5qc1wiKS5kZWZhdWx0fSByZXN1bHRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IHNlYXJjaFBhcmFtc1xuICogQHByb3BlcnR5IHtmYWxzZSB8IGltcG9ydChcInJlYWN0XCIpLlJlYWN0Tm9kZX0gc2hvd05vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnRcbiAqIEBwcm9wZXJ0eSB7ZmFsc2UgfCBpbXBvcnQoXCJyZWFjdFwiKS5SZWFjdE5vZGV9IHNob3dOb1JlY29yZHNGb3VuZENvbnRlbnRcbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT59IHByb3BzLmFiaWxpdGllc1xuICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbGxlY3Rpb24uanNcIikuZGVmYXVsdH0gcHJvcHMuY29sbGVjdGlvblxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBwcm9wcy5kZWZhdWx0UGFyYW1zXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwcm9wcy5ncm91cEJ5XG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCkgOiBib29sZWFufSBwcm9wcy5pZkNvbmRpdGlvblxuICogQHBhcmFtIHtudW1iZXJ9IHByb3BzLmxpbWl0XG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gcHJvcHMubW9kZWxDbGFzc1xuICogQHBhcmFtIHtmdW5jdGlvbigpIDogaW1wb3J0KFwicmVhY3RcIikuUmVhY3ROb2RlfSBwcm9wcy5ub1JlY29yZHNBdmFpbGFibGVDb250ZW50XG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCkgOiBpbXBvcnQoXCJyZWFjdFwiKS5SZWFjdE5vZGV9IHByb3BzLm5vUmVjb3Jkc0ZvdW5kQ29udGVudFxuICogQHBhcmFtIHtmdW5jdGlvbigpIDogdm9pZH0gcHJvcHMub25Nb2RlbHNMb2FkZWRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcHJvcHMucGFnaW5hdGlvblxuICogQHBhcmFtIHtzdHJpbmdbXX0gcHJvcHMucHJlbG9hZHNcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oe3F1ZXJ5OiBpbXBvcnQoXCIuL2NvbGxlY3Rpb24uanNcIikuZGVmYXVsdH0pIDogaW1wb3J0KFwiLi9jb2xsZWN0aW9uLmpzXCIpLmRlZmF1bHR9IHByb3BzLnF1ZXJ5TWV0aG9kXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcHMucXVlcnlOYW1lXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IHByb3BzLnJhbnNhY2tcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBwcm9wcy5zZWxlY3RcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBwcm9wcy5zZWxlY3RDb2x1bW5zXG4gKiBAcGFyYW0ge2FueVtdfSBjYWNoZUtleXNcbiAqIEByZXR1cm5zIHtVc2VDb2xsZWN0aW9uUmVzdWx0ICYgUmVjb3JkPHN0cmluZywgYW55Pn1cbiAqL1xuLyoqIEhvb2sgc3RhdGUgY29udGFpbmVyIGZvciB1c2VDb2xsZWN0aW9uLiAqL1xuY2xhc3MgVXNlQ29sbGVjdGlvblNoYXBlSG9vayBleHRlbmRzIFNoYXBlSG9vayB7XG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcylcbiAgICB0aGlzLmxvYWRNb2RlbHNHZW5lcmF0aW9uID0gMFxuICAgIHRoaXMubG9hZE92ZXJhbGxDb3VudEdlbmVyYXRpb24gPSAwXG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIHF1ZXJ5TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wLnF1ZXJ5TmFtZSB8fCBkaWdnKHRoaXMucC5tb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwiY29sbGVjdGlvbktleVwiKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIHF1ZXJ5UGVyS2V5KCkge1xuICAgIHJldHVybiBgJHt0aGlzLnF1ZXJ5TmFtZSgpfV9wZXJgXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgcXVlcnlRTmFtZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5xdWVyeU5hbWUoKX1fcWBcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBxdWVyeVNOYW1lKCkge1xuICAgIHJldHVybiBgJHt0aGlzLnF1ZXJ5TmFtZSgpfV9zYFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIHF1ZXJ5UGFnZU5hbWUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMucXVlcnlOYW1lKCl9X3BhZ2VgXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgbW9kZWxJZHNDYWNoZVN0cmluZygpIHtcbiAgICBpZiAodGhpcy5zLm1vZGVscyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gXCJtb2RlbHMtdW5kZWZpbmVkXCJcbiAgICB9IGVsc2UgaWYgKHRoaXMucy5tb2RlbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gXCJuby1tb2RlbHNcIlxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zLm1vZGVscy5tYXAoKG1vZGVsKSA9PiBtb2RlbC5jYWNoZUtleSgpKT8uam9pbihcIi0tLVwiKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7RnVuY3Rpb24gJiB7Y2xlYXI/OiAoKSA9PiB2b2lkfX0gKi9cbiAgbG9hZE1vZGVsc0RlYm91bmNlKCkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlKFwibG9hZE1vZGVsc0RlYm91bmNlXCIsICgpID0+IGRlYm91bmNlKCgpID0+IHRoaXMubG9hZE1vZGVscygpKSlcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGFyZ3MgKi9cbiAgc2hvd05vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQoYXJncykge1xuICAgIGxldCBtb2RlbHMsIG92ZXJhbGxDb3VudFxuXG4gICAgaWYgKGFyZ3MubW9kZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1vZGVscyA9IGFyZ3MubW9kZWxzXG4gICAgfSBlbHNlIGlmICh0aGlzLnMubW9kZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1vZGVscyA9IHRoaXMucy5tb2RlbHNcbiAgICB9XG5cbiAgICBpZiAoYXJncy5vdmVyYWxsQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3ZlcmFsbENvdW50ID0gYXJncy5vdmVyYWxsQ291bnRcbiAgICB9IGVsc2UgaWYgKHRoaXMucy5vdmVyYWxsQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3ZlcmFsbENvdW50ID0gdGhpcy5zLm92ZXJhbGxDb3VudFxuICAgIH1cblxuICAgIGlmIChtb2RlbHMgPT09IHVuZGVmaW5lZCB8fCBvdmVyYWxsQ291bnQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnAubm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2VcbiAgICBpZiAobW9kZWxzLmxlbmd0aCA9PT0gMCAmJiBvdmVyYWxsQ291bnQgPT09IDAgJiYgdGhpcy5wLm5vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQpIHJldHVybiB0cnVlXG4gIH1cblxuICAvKiogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBhcmdzICovXG4gIHNob3dOb1JlY29yZHNGb3VuZENvbnRlbnQoYXJncykge1xuICAgIGxldCBtb2RlbHMsIG92ZXJhbGxDb3VudFxuXG4gICAgaWYgKGFyZ3MubW9kZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1vZGVscyA9IGFyZ3MubW9kZWxzXG4gICAgfSBlbHNlIGlmICh0aGlzLnMubW9kZWxzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1vZGVscyA9IHRoaXMucy5tb2RlbHNcbiAgICB9XG5cbiAgICBpZiAoYXJncy5vdmVyYWxsQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3ZlcmFsbENvdW50ID0gYXJncy5vdmVyYWxsQ291bnRcbiAgICB9IGVsc2UgaWYgKHRoaXMucy5vdmVyYWxsQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3ZlcmFsbENvdW50ID0gdGhpcy5zLm92ZXJhbGxDb3VudFxuICAgIH1cblxuICAgIGlmIChtb2RlbHMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnAubm9SZWNvcmRzRm91bmRDb250ZW50ID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZVxuXG4gICAgLy8gRG9udCBzaG93IG5vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQgdG9nZXRoZXIgd2l0aCBub1JlY29yZHNBdmFpbGFibGVDb250ZW50XG4gICAgaWYgKG1vZGVscy5sZW5ndGggPT09IDAgJiYgb3ZlcmFsbENvdW50ID09PSAwICYmIHRoaXMucC5ub1JlY29yZHNBdmFpbGFibGVDb250ZW50KSByZXR1cm4gZmFsc2VcbiAgICBpZiAobW9kZWxzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnAubm9SZWNvcmRzRm91bmRDb250ZW50KSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAqL1xuICBsb2FkT3ZlcmFsbENvdW50ID0gYXN5bmMgKCkgPT4ge1xuICAgIC8vIElnbm9yZSBsYXRlIG92ZXJhbGwtY291bnQgcmVzcG9uc2VzIG9uY2UgYSBuZXdlciBsb2FkIGN5Y2xlIGhhcyBzdGFydGVkIG9yIHRoZSBob29rIHVubW91bnRlZC5cbiAgICBjb25zdCBsb2FkT3ZlcmFsbENvdW50R2VuZXJhdGlvbiA9IHRoaXMubG9hZE92ZXJhbGxDb3VudEdlbmVyYXRpb24gKyAxXG5cbiAgICB0aGlzLmxvYWRPdmVyYWxsQ291bnRHZW5lcmF0aW9uID0gbG9hZE92ZXJhbGxDb3VudEdlbmVyYXRpb25cblxuICAgIGNvbnN0IGJhc2VRdWVyeSA9IHRoaXMucC5jb2xsZWN0aW9uIHx8IHRoaXMucC5tb2RlbENsYXNzLmFsbCgpXG4gICAgY29uc3Qgb3ZlcmFsbENvdW50ID0gYXdhaXQgYmFzZVF1ZXJ5LmNvdW50KClcblxuICAgIGlmIChsb2FkT3ZlcmFsbENvdW50R2VuZXJhdGlvbiAhPSB0aGlzLmxvYWRPdmVyYWxsQ291bnRHZW5lcmF0aW9uKSByZXR1cm5cblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgb3ZlcmFsbENvdW50LFxuICAgICAgc2hvd05vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQ6IHRoaXMuc2hvd05vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQoe292ZXJhbGxDb3VudH0pLFxuICAgICAgc2hvd05vUmVjb3Jkc0ZvdW5kQ29udGVudDogdGhpcy5zaG93Tm9SZWNvcmRzRm91bmRDb250ZW50KHtvdmVyYWxsQ291bnR9KVxuICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3txUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBzZWFyY2hQYXJhbXM6IHN0cmluZ1tdfX0gKi9cbiAgbG9hZFFQYXJhbXMoKSB7XG4gICAgbGV0IHFQYXJhbXNUb1NldCA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucC5kZWZhdWx0UGFyYW1zKVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IFtdXG5cbiAgICBpZiAodGhpcy5xdWVyeVBhcmFtcyAmJiB0aGlzLnF1ZXJ5UU5hbWUoKSBpbiB0aGlzLnF1ZXJ5UGFyYW1zKSB7XG4gICAgICBxUGFyYW1zVG9TZXQgPSBKU09OLnBhcnNlKGRpZ2codGhpcy5xdWVyeVBhcmFtcywgdGhpcy5xdWVyeVFOYW1lKCkpKVxuICAgIH1cblxuICAgIGlmICh0aGlzLnF1ZXJ5UGFyYW1zPy5bdGhpcy5xdWVyeVNOYW1lKCldKSB7XG4gICAgICBmb3IgKGNvbnN0IHJhd1NlYXJjaFBhcmFtIG9mIHRoaXMucXVlcnlQYXJhbXNbdGhpcy5xdWVyeVNOYW1lKCldKSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFBhcmFtID0gSlNPTi5wYXJzZShyYXdTZWFyY2hQYXJhbSlcblxuICAgICAgICBzZWFyY2hQYXJhbXMucHVzaChwYXJzZWRTZWFyY2hQYXJhbSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHFQYXJhbXM6IHFQYXJhbXNUb1NldCxcbiAgICAgIHNlYXJjaFBhcmFtc1xuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgcVBhcmFtczogcVBhcmFtc1RvU2V0LFxuICAgICAgc2VhcmNoUGFyYW1zXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc11cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbYXJncy5xUGFyYW1zXVxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbYXJncy5zZWFyY2hQYXJhbXNdXG4gICAqIEByZXR1cm5zIHt7cVBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Piwgc2VhcmNoUGFyYW1zOiBzdHJpbmdbXX19XG4gICAqL1xuICBsb2FkTW9kZWxzQXJncyhhcmdzID0ge30pIHtcbiAgICByZXR1cm4ge1xuICAgICAgcVBhcmFtczogYXJncy5xUGFyYW1zID8/IHRoaXMucy5xUGFyYW1zLFxuICAgICAgc2VhcmNoUGFyYW1zOiBhcmdzLnNlYXJjaFBhcmFtcyA/PyB0aGlzLnMuc2VhcmNoUGFyYW1zXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc11cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbYXJncy5xUGFyYW1zXVxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbYXJncy5zZWFyY2hQYXJhbXNdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgbG9hZE1vZGVscyA9IGFzeW5jIChhcmdzID0ge30pID0+IHtcbiAgICAvLyBPbmx5IHRoZSBuZXdlc3QgY29sbGVjdGlvbiByZXF1ZXN0IGlzIGFsbG93ZWQgdG8gdXBkYXRlIHN0YXRlIGFmdGVyIG5hdmlnYXRpb24vZmlsdGVyIGNoYW5nZXMuXG4gICAgY29uc3QgbG9hZE1vZGVsc0dlbmVyYXRpb24gPSB0aGlzLmxvYWRNb2RlbHNHZW5lcmF0aW9uICsgMVxuICAgIGNvbnN0IHtxUGFyYW1zLCBzZWFyY2hQYXJhbXN9ID0gdGhpcy5sb2FkTW9kZWxzQXJncyhhcmdzKVxuXG4gICAgdGhpcy5sb2FkTW9kZWxzR2VuZXJhdGlvbiA9IGxvYWRNb2RlbHNHZW5lcmF0aW9uXG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5wLmNvbGxlY3Rpb24/LmNsb25lKCkgfHwgdGhpcy5wLm1vZGVsQ2xhc3MucmFuc2FjaygpXG5cbiAgICBpZiAodGhpcy5wLnBhZ2luYXRpb24pIHtcbiAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnF1ZXJ5UGFyYW1zPy5bdGhpcy5xdWVyeVBhZ2VOYW1lKCldIHx8IDFcbiAgICAgIGxldCBwZXIgPSB0aGlzLnF1ZXJ5UGFyYW1zPy5bdGhpcy5xdWVyeVBlcktleSgpXSB8fCAzMFxuXG4gICAgICBpZiAocGVyID09IFwiYWxsXCIpIHtcbiAgICAgICAgcGVyID0gOTk5Xzk5OV85OTlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBlciA9IE51bWJlcihwZXIpXG4gICAgICB9XG5cbiAgICAgIHF1ZXJ5LnBhZ2UocGFnZSkucGVyKHBlcilcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wLmdyb3VwQnkpIHF1ZXJ5ID0gcXVlcnkuZ3JvdXBCeSguLi50aGlzLnAuZ3JvdXBCeSlcblxuICAgIHF1ZXJ5ID0gcXVlcnlcbiAgICAgIC5yYW5zYWNrKHFQYXJhbXMpXG4gICAgICAuc2VhcmNoKHNlYXJjaFBhcmFtcylcbiAgICAgIC5zZWFyY2hLZXkodGhpcy5xdWVyeVFOYW1lKCkpXG4gICAgICAucGFnZUtleSh0aGlzLnF1ZXJ5UGFnZU5hbWUoKSlcbiAgICAgIC5wZXJLZXkodGhpcy5xdWVyeVBlcktleSgpKVxuXG4gICAgaWYgKHRoaXMucC5hYmlsaXRpZXMpIHF1ZXJ5LmFiaWxpdGllcyh0aGlzLnAuYWJpbGl0aWVzKVxuICAgIGlmICh0aGlzLnAubGltaXQgIT09IHVuZGVmaW5lZCkgcXVlcnkubGltaXQodGhpcy5wLmxpbWl0KVxuICAgIGlmICh0aGlzLnAucHJlbG9hZHMpIHF1ZXJ5LnByZWxvYWQodGhpcy5wLnByZWxvYWRzKVxuICAgIGlmICh0aGlzLnAucmFuc2FjaykgcXVlcnkucmFuc2Fjayh0aGlzLnAucmFuc2FjaylcbiAgICBpZiAodGhpcy5wLnNlbGVjdCkgcXVlcnkuc2VsZWN0KHRoaXMucC5zZWxlY3QpXG4gICAgaWYgKHRoaXMucC5zZWxlY3RDb2x1bW5zKSBxdWVyeS5zZWxlY3RDb2x1bW5zKHRoaXMucC5zZWxlY3RDb2x1bW5zKVxuXG4gICAgbGV0IHJlc3VsdFxuXG4gICAgaWYgKHRoaXMucC5xdWVyeU1ldGhvZCkge1xuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5wLnF1ZXJ5TWV0aG9kKHtxdWVyeX0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHF1ZXJ5LnJlc3VsdCgpXG4gICAgfVxuXG4gICAgY29uc3QgbW9kZWxzID0gcmVzdWx0Lm1vZGVscygpXG5cbiAgICBpZiAobG9hZE1vZGVsc0dlbmVyYXRpb24gIT0gdGhpcy5sb2FkTW9kZWxzR2VuZXJhdGlvbikgcmV0dXJuXG5cbiAgICBpZiAodGhpcy5wLm9uTW9kZWxzTG9hZGVkKSB7XG4gICAgICB0aGlzLnAub25Nb2RlbHNMb2FkZWQoe1xuICAgICAgICBtb2RlbHMsXG4gICAgICAgIHFQYXJhbXM6IHRoaXMucy5xUGFyYW1zLFxuICAgICAgICBxdWVyeSxcbiAgICAgICAgcmVzdWx0XG4gICAgICB9KVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbW9kZWxzLFxuICAgICAgcXVlcnksXG4gICAgICByZXN1bHQsXG4gICAgICBzaG93Tm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudDogdGhpcy5zaG93Tm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCh7bW9kZWxzfSksXG4gICAgICBzaG93Tm9SZWNvcmRzRm91bmRDb250ZW50OiB0aGlzLnNob3dOb1JlY29yZHNGb3VuZENvbnRlbnQoe21vZGVsc30pXG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge3ttb2RlbDogaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9fSBhcmdzICovXG4gIG9uTW9kZWxEZXN0cm95ZWQoYXJncykge1xuICAgIGNvbnN0IGRlc3Ryb3llZE1vZGVsID0gZGlnZyhhcmdzLCBcIm1vZGVsXCIpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIG1vZGVsczogdGhpcy5zLm1vZGVscy5maWx0ZXIoKG1vZGVsKSA9PiBtb2RlbC5pZCgpICE9IGRlc3Ryb3llZE1vZGVsLmlkKCkpXG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge3ttb2RlbDogaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9fSBhcmdzICovXG4gIG9uTW9kZWxVcGRhdGVkKGFyZ3MpIHtcbiAgICBjb25zdCB1cGRhdGVkTW9kZWwgPSBkaWdnKGFyZ3MsIFwibW9kZWxcIilcbiAgICBjb25zdCBmb3VuZE1vZGVsID0gdGhpcy5zLm1vZGVscy5maW5kKChtb2RlbCkgPT4gbW9kZWwuaWQoKSA9PSB1cGRhdGVkTW9kZWwuaWQoKSlcblxuICAgIGlmIChmb3VuZE1vZGVsKSB0aGlzLmxvYWRNb2RlbHNEZWJvdW5jZSgpKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25DcmVhdGVkKCkge1xuICAgIHRoaXMubG9hZE1vZGVsc0RlYm91bmNlKCkoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtyZWFkeVRvTG9hZDogdHJ1ZX0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHNldHVwKCkge1xuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIG1vZGVsczogdW5kZWZpbmVkLFxuICAgICAgb3ZlcmFsbENvdW50OiB1bmRlZmluZWQsXG4gICAgICBxUGFyYW1zOiB7fSxcbiAgICAgIHF1ZXJ5OiB1bmRlZmluZWQsXG4gICAgICByZWFkeVRvTG9hZDogZmFsc2UsXG4gICAgICByZXN1bHQ6IHVuZGVmaW5lZCxcbiAgICAgIHNlYXJjaFBhcmFtczogdW5kZWZpbmVkLFxuICAgICAgc2hvd05vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQ6IGZhbHNlLFxuICAgICAgc2hvd05vUmVjb3Jkc0ZvdW5kQ29udGVudDogZmFsc2VcbiAgICB9KVxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe3F1ZXJ5UGFyYW1zOiB1c2VRdWVyeVBhcmFtcygpfSlcblxuICAgIC8vIFdhaXQgdW50aWwgY29tcG9uZW50RGlkTW91bnQgaGFzIGZsaXBwZWQgcmVhZHlUb0xvYWQgc28gdGhlIGZpcnN0IGxvYWQgcnVucyBhZnRlciB1c2VTaGFwZUhvb2sgaGFzIG1hcmtlZCB0aGUgaG9vayBtb3VudGVkLlxuICAgIHVzZUVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnMucmVhZHlUb0xvYWQpIHJldHVyblxuICAgICAgICBsZXQgaWZDb25kaXRpb25NZXRcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucC5pZkNvbmRpdGlvbiA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICBpZkNvbmRpdGlvbk1ldCA9IHRoaXMucC5pZkNvbmRpdGlvbigpXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5wLmlmQ29uZGl0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZkNvbmRpdGlvbk1ldCA9IHRydWVcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZkNvbmRpdGlvbk1ldCA9IHRoaXMucC5pZkNvbmRpdGlvblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlmQ29uZGl0aW9uTWV0KSB7XG4gICAgICAgICAgY29uc3Qge3FQYXJhbXMsIHNlYXJjaFBhcmFtc30gPSB0aGlzLmxvYWRRUGFyYW1zKClcblxuICAgICAgICAgIHRoaXMubG9hZE1vZGVscyh7cVBhcmFtcywgc2VhcmNoUGFyYW1zfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgdGhpcy5wLm1vZGVsQ2xhc3MsXG4gICAgICAgIHRoaXMucC5pZkNvbmRpdGlvbixcbiAgICAgICAgdGhpcy5xdWVyeU5hbWUoKSxcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcz8uW3RoaXMucXVlcnlRTmFtZSgpXSxcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcz8uW3RoaXMucXVlcnlQYWdlTmFtZSgpXSxcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcz8uW3RoaXMucXVlcnlQZXJLZXkoKV0sXG4gICAgICAgIHRoaXMucXVlcnlQYXJhbXM/Llt0aGlzLnF1ZXJ5U05hbWUoKV0sXG4gICAgICAgIHRoaXMucy5yZWFkeVRvTG9hZCxcbiAgICAgICAgdGhpcy5wLmNvbGxlY3Rpb25cbiAgICAgIF0uY29uY2F0KHRoaXMucC5jYWNoZUtleXMpXG4gICAgKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zLnJlYWR5VG9Mb2FkKSByZXR1cm5cbiAgICAgIGlmICh0aGlzLnAubm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCkge1xuICAgICAgICB0aGlzLmxvYWRPdmVyYWxsQ291bnQoKVxuICAgICAgfVxuICAgIH0sIFt0aGlzLnAubW9kZWxDbGFzcywgdGhpcy5zLnJlYWR5VG9Mb2FkXSlcblxuICAgIHVzZUNyZWF0ZWRFdmVudCh0aGlzLnAubW9kZWxDbGFzcywgKCkgPT4gdGhpcy5vbkNyZWF0ZWQoKSlcblxuICAgIC8vIEludmFsaWRhdGUgYW55IGluLWZsaWdodCBhc3luYyByZXNwb25zZXMgc28gdW5tb3VudGVkIGhvb2tzIGNhbm5vdCB3cml0ZSBzdGFsZSBzdGF0ZS5cbiAgICB1c2VFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTW9kZWxzR2VuZXJhdGlvbiArPSAxXG4gICAgICB0aGlzLmxvYWRPdmVyYWxsQ291bnRHZW5lcmF0aW9uICs9IDFcbiAgICAgIHRoaXMubG9hZE1vZGVsc0RlYm91bmNlKCkuY2xlYXI/LigpXG4gICAgfSwgW10pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY29ubmVjdGlvbnMgPSBbXVxuXG4gICAgICBpZiAodGhpcy5zLm1vZGVscykge1xuICAgICAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIHRoaXMucy5tb2RlbHMpIHtcbiAgICAgICAgICBjb25uZWN0aW9ucy5wdXNoKE1vZGVsRXZlbnRzLmNvbm5lY3RVcGRhdGVkKG1vZGVsLCAoYXJncykgPT4gdGhpcy5vbk1vZGVsVXBkYXRlZChhcmdzKSkpXG4gICAgICAgICAgY29ubmVjdGlvbnMucHVzaChNb2RlbEV2ZW50cy5jb25uZWN0RGVzdHJveWVkKG1vZGVsLCAoYXJncykgPT4gdGhpcy5vbk1vZGVsRGVzdHJveWVkKGFyZ3MpKSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGNvbm5lY3Rpb24gb2YgY29ubmVjdGlvbnMpIHtcbiAgICAgICAgICBjb25uZWN0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFt0aGlzLm1vZGVsSWRzQ2FjaGVTdHJpbmcoKV0pXG4gIH1cbn1cblxuY29uc3QgdXNlQ29sbGVjdGlvbiA9IChwcm9wcywgY2FjaGVLZXlzID0gW10pID0+IHtcbiAgY29uc3Qge1xuICAgIGFiaWxpdGllcyxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGRlZmF1bHRQYXJhbXMsXG4gICAgZ3JvdXBCeSxcbiAgICBpZkNvbmRpdGlvbixcbiAgICBsaW1pdCxcbiAgICBtb2RlbENsYXNzLFxuICAgIG5vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQgPSB1bmRlZmluZWQsXG4gICAgbm9SZWNvcmRzRm91bmRDb250ZW50ID0gdW5kZWZpbmVkLFxuICAgIG9uTW9kZWxzTG9hZGVkLFxuICAgIHBhZ2luYXRpb24gPSBmYWxzZSxcbiAgICBwcmVsb2FkcyA9IFtdLFxuICAgIHF1ZXJ5TWV0aG9kLFxuICAgIHF1ZXJ5TmFtZSxcbiAgICByYW5zYWNrLFxuICAgIHNlbGVjdCA9IHt9LFxuICAgIHNlbGVjdENvbHVtbnMsXG4gICAgLi4ucmVzdFByb3BzXG4gIH0gPSBwcm9wc1xuXG4gIGlmIChPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlQ29sbGVjdGlvbjogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3Qgc2hhcGVIb29rID0gdXNlU2hhcGVIb29rKFVzZUNvbGxlY3Rpb25TaGFwZUhvb2ssIHtcbiAgICBhYmlsaXRpZXMsXG4gICAgY2FjaGVLZXlzLFxuICAgIGNvbGxlY3Rpb24sXG4gICAgZGVmYXVsdFBhcmFtcyxcbiAgICBncm91cEJ5LFxuICAgIGlmQ29uZGl0aW9uLFxuICAgIGxpbWl0LFxuICAgIG1vZGVsQ2xhc3MsXG4gICAgbm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCxcbiAgICBub1JlY29yZHNGb3VuZENvbnRlbnQsXG4gICAgb25Nb2RlbHNMb2FkZWQsXG4gICAgcGFnaW5hdGlvbixcbiAgICBwcmVsb2FkcyxcbiAgICBxdWVyeU1ldGhvZCxcbiAgICBxdWVyeU5hbWUsXG4gICAgcmFuc2FjayxcbiAgICBzZWxlY3QsXG4gICAgc2VsZWN0Q29sdW1uc1xuICB9KVxuICBjb25zdCByZXN1bHQgPSAvKiogQHR5cGUge1VzZUNvbGxlY3Rpb25SZXN1bHQgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqLyAoT2JqZWN0LmFzc2lnbih7fSwgc2hhcGVIb29rLnN0YXRlKSlcbiAgY29uc3QgbW9kZWxWYXJpYWJsZU5hbWUgPSBpbmZsZWN0aW9uLnBsdXJhbGl6ZShpbmZsZWN0aW9uLmNhbWVsaXplKHNoYXBlSG9vay5wLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKSlcblxuICByZXN1bHQubW9kZWxJZHNDYWNoZVN0cmluZyA9IHNoYXBlSG9vay5tb2RlbElkc0NhY2hlU3RyaW5nKClcbiAgcmVzdWx0LnF1ZXJ5TmFtZSA9IHNoYXBlSG9vay5xdWVyeU5hbWUoKVxuICByZXN1bHQucXVlcnlQZXJLZXkgPSBzaGFwZUhvb2sucXVlcnlQZXJLZXkoKVxuICByZXN1bHQucXVlcnlRTmFtZSA9IHNoYXBlSG9vay5xdWVyeVFOYW1lKClcbiAgcmVzdWx0LnF1ZXJ5U05hbWUgPSBzaGFwZUhvb2sucXVlcnlTTmFtZSgpXG4gIHJlc3VsdC5xdWVyeVBhZ2VOYW1lID0gc2hhcGVIb29rLnF1ZXJ5UGFnZU5hbWUoKVxuICByZXN1bHRbbW9kZWxWYXJpYWJsZU5hbWVdID0gc2hhcGVIb29rLnMubW9kZWxzXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VDb2xsZWN0aW9uXG4iXX0=
399
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1jb2xsZWN0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZGQUE2RjtBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3pELE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQTtBQUMvQixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sV0FBVyxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDL0IsT0FBTyxlQUFlLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFFMUU7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUVIOzs7Ozs7Ozs7OztHQVdHO0FBRUgsOENBQThDO0FBQzlDLHFFQUFxRTtBQUNyRSxNQUFNLHNCQUF1QixTQUFRLFNBQVM7SUFDNUMsS0FBSyxHQUFHLGlDQUFpQyxDQUFDLENBQUM7UUFDekMsTUFBTSxFQUFFLFNBQVM7UUFDakIsWUFBWSxFQUFFLFNBQVM7UUFDdkIsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixXQUFXLEVBQUUsS0FBSztRQUNsQixNQUFNLEVBQUUsU0FBUztRQUNqQixZQUFZLEVBQUUsU0FBUztRQUN2Qiw2QkFBNkIsRUFBRSxLQUFLO1FBQ3BDLHlCQUF5QixFQUFFLEtBQUs7S0FDakMsQ0FBQyxDQUFBO0lBRUYsbUJBQW1CO0lBQ25CLFlBQVksS0FBSztRQUNmLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNaLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUE7UUFDN0Is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QUFBO0lBRTlDLE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsZUFBZSxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycywgbm8tdXNlLWJlZm9yZS1kZWZpbmUsIHByZWZlci1vYmplY3Qtc3ByZWFkLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7U2hhcGVIb29rLCB1c2VTaGFwZUhvb2t9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZVwiXG5pbXBvcnQgZGVib3VuY2UgZnJvbSBcImRlYm91bmNlXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IHt1c2VFZmZlY3R9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlQ3JlYXRlZEV2ZW50IGZyb20gXCIuL3VzZS1jcmVhdGVkLWV2ZW50LmpzXCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9idWlsZC91c2UtcXVlcnktcGFyYW1zLmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBVc2VDb2xsZWN0aW9uUmVzdWx0XG4gKiBAcHJvcGVydHkge0FycmF5PGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0Pn0gbW9kZWxzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbW9kZWxJZHNDYWNoZVN0cmluZ1xuICogQHByb3BlcnR5IHtudW1iZXJ9IG92ZXJhbGxDb3VudFxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2NvbGxlY3Rpb24uanNcIikuZGVmYXVsdH0gcXVlcnlcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWVyeU5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWVyeVBlcktleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHF1ZXJ5UU5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWVyeVNOYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcXVlcnlQYWdlTmFtZVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3Jlc3VsdC5qc1wiKS5kZWZhdWx0fSByZXN1bHRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IHNlYXJjaFBhcmFtc1xuICogQHByb3BlcnR5IHtmYWxzZSB8IGltcG9ydChcInJlYWN0XCIpLlJlYWN0Tm9kZX0gc2hvd05vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnRcbiAqIEBwcm9wZXJ0eSB7ZmFsc2UgfCBpbXBvcnQoXCJyZWFjdFwiKS5SZWFjdE5vZGV9IHNob3dOb1JlY29yZHNGb3VuZENvbnRlbnRcbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT59IHByb3BzLmFiaWxpdGllc1xuICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbGxlY3Rpb24uanNcIikuZGVmYXVsdH0gcHJvcHMuY29sbGVjdGlvblxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBwcm9wcy5kZWZhdWx0UGFyYW1zXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwcm9wcy5ncm91cEJ5XG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCkgOiBib29sZWFufSBwcm9wcy5pZkNvbmRpdGlvblxuICogQHBhcmFtIHtudW1iZXJ9IHByb3BzLmxpbWl0XG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gcHJvcHMubW9kZWxDbGFzc1xuICogQHBhcmFtIHtmdW5jdGlvbigpIDogaW1wb3J0KFwicmVhY3RcIikuUmVhY3ROb2RlfSBwcm9wcy5ub1JlY29yZHNBdmFpbGFibGVDb250ZW50XG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCkgOiBpbXBvcnQoXCJyZWFjdFwiKS5SZWFjdE5vZGV9IHByb3BzLm5vUmVjb3Jkc0ZvdW5kQ29udGVudFxuICogQHBhcmFtIHtmdW5jdGlvbigpIDogdm9pZH0gcHJvcHMub25Nb2RlbHNMb2FkZWRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcHJvcHMucGFnaW5hdGlvblxuICogQHBhcmFtIHtzdHJpbmdbXX0gcHJvcHMucHJlbG9hZHNcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oe3F1ZXJ5OiBpbXBvcnQoXCIuL2NvbGxlY3Rpb24uanNcIikuZGVmYXVsdH0pIDogaW1wb3J0KFwiLi9jb2xsZWN0aW9uLmpzXCIpLmRlZmF1bHR9IHByb3BzLnF1ZXJ5TWV0aG9kXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcHMucXVlcnlOYW1lXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IHByb3BzLnJhbnNhY2tcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBwcm9wcy5zZWxlY3RcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBwcm9wcy5zZWxlY3RDb2x1bW5zXG4gKiBAcGFyYW0ge2FueVtdfSBjYWNoZUtleXNcbiAqIEByZXR1cm5zIHtVc2VDb2xsZWN0aW9uUmVzdWx0ICYgUmVjb3JkPHN0cmluZywgYW55Pn1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFVzZUNvbGxlY3Rpb25TdGF0ZVxuICogQHByb3BlcnR5IHthbnlbXSB8IHVuZGVmaW5lZH0gbW9kZWxzXG4gKiBAcHJvcGVydHkge251bWJlciB8IHVuZGVmaW5lZH0gb3ZlcmFsbENvdW50XG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGFueT59IHFQYXJhbXNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9jb2xsZWN0aW9uLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IHF1ZXJ5XG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHJlYWR5VG9Mb2FkXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vcmVzdWx0LmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IHJlc3VsdFxuICogQHByb3BlcnR5IHtzdHJpbmdbXSB8IHVuZGVmaW5lZH0gc2VhcmNoUGFyYW1zXG4gKiBAcHJvcGVydHkge2ZhbHNlIHwgaW1wb3J0KFwicmVhY3RcIikuUmVhY3ROb2RlfSBzaG93Tm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudFxuICogQHByb3BlcnR5IHtmYWxzZSB8IGltcG9ydChcInJlYWN0XCIpLlJlYWN0Tm9kZX0gc2hvd05vUmVjb3Jkc0ZvdW5kQ29udGVudFxuICovXG5cbi8qKiBIb29rIHN0YXRlIGNvbnRhaW5lciBmb3IgdXNlQ29sbGVjdGlvbi4gKi9cbi8qKiBAYXVnbWVudHMge1NoYXBlSG9vazxSZWNvcmQ8c3RyaW5nLCBhbnk+LCBVc2VDb2xsZWN0aW9uU3RhdGU+fSAqL1xuY2xhc3MgVXNlQ29sbGVjdGlvblNoYXBlSG9vayBleHRlbmRzIFNoYXBlSG9vayB7XG4gIHN0YXRlID0gLyoqIEB0eXBlIHtVc2VDb2xsZWN0aW9uU3RhdGV9ICovICh7XG4gICAgbW9kZWxzOiB1bmRlZmluZWQsXG4gICAgb3ZlcmFsbENvdW50OiB1bmRlZmluZWQsXG4gICAgcVBhcmFtczoge30sXG4gICAgcXVlcnk6IHVuZGVmaW5lZCxcbiAgICByZWFkeVRvTG9hZDogZmFsc2UsXG4gICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgc2VhcmNoUGFyYW1zOiB1bmRlZmluZWQsXG4gICAgc2hvd05vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQ6IGZhbHNlLFxuICAgIHNob3dOb1JlY29yZHNGb3VuZENvbnRlbnQ6IGZhbHNlXG4gIH0pXG5cbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMubG9hZE1vZGVsc0dlbmVyYXRpb24gPSAwXG4gICAgdGhpcy5sb2FkT3ZlcmFsbENvdW50R2VuZXJhdGlvbiA9IDBcbiAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgcXVlcnlOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnAucXVlcnlOYW1lIHx8IGRpZ2codGhpcy5wLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJjb2xsZWN0aW9uS2V5XCIpXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgcXVlcnlQZXJLZXkoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMucXVlcnlOYW1lKCl9X3BlcmBcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBxdWVyeVFOYW1lKCkge1xuICAgIHJldHVybiBgJHt0aGlzLnF1ZXJ5TmFtZSgpfV9xYFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIHF1ZXJ5U05hbWUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMucXVlcnlOYW1lKCl9X3NgXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgcXVlcnlQYWdlTmFtZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5xdWVyeU5hbWUoKX1fcGFnZWBcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBtb2RlbElkc0NhY2hlU3RyaW5nKCkge1xuICAgIGlmICh0aGlzLnMubW9kZWxzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBcIm1vZGVscy11bmRlZmluZWRcIlxuICAgIH0gZWxzZSBpZiAodGhpcy5zLm1vZGVscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBcIm5vLW1vZGVsc1wiXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnMubW9kZWxzLm1hcCgobW9kZWwpID0+IG1vZGVsLmNhY2hlS2V5KCkpPy5qb2luKFwiLS0tXCIpXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtGdW5jdGlvbiAmIHtjbGVhcj86ICgpID0+IHZvaWR9fSAqL1xuICBsb2FkTW9kZWxzRGVib3VuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUoXCJsb2FkTW9kZWxzRGVib3VuY2VcIiwgKCkgPT4gZGVib3VuY2UoKCkgPT4gdGhpcy5sb2FkTW9kZWxzKCkpKVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gYXJncyAqL1xuICBzaG93Tm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudChhcmdzKSB7XG4gICAgbGV0IG1vZGVscywgb3ZlcmFsbENvdW50XG5cbiAgICBpZiAoYXJncy5tb2RlbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbW9kZWxzID0gYXJncy5tb2RlbHNcbiAgICB9IGVsc2UgaWYgKHRoaXMucy5tb2RlbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbW9kZWxzID0gdGhpcy5zLm1vZGVsc1xuICAgIH1cblxuICAgIGlmIChhcmdzLm92ZXJhbGxDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvdmVyYWxsQ291bnQgPSBhcmdzLm92ZXJhbGxDb3VudFxuICAgIH0gZWxzZSBpZiAodGhpcy5zLm92ZXJhbGxDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvdmVyYWxsQ291bnQgPSB0aGlzLnMub3ZlcmFsbENvdW50XG4gICAgfVxuXG4gICAgaWYgKG1vZGVscyA9PT0gdW5kZWZpbmVkIHx8IG92ZXJhbGxDb3VudCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucC5ub1JlY29yZHNBdmFpbGFibGVDb250ZW50ID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZVxuICAgIGlmIChtb2RlbHMubGVuZ3RoID09PSAwICYmIG92ZXJhbGxDb3VudCA9PT0gMCAmJiB0aGlzLnAubm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCkgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGFyZ3MgKi9cbiAgc2hvd05vUmVjb3Jkc0ZvdW5kQ29udGVudChhcmdzKSB7XG4gICAgbGV0IG1vZGVscywgb3ZlcmFsbENvdW50XG5cbiAgICBpZiAoYXJncy5tb2RlbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbW9kZWxzID0gYXJncy5tb2RlbHNcbiAgICB9IGVsc2UgaWYgKHRoaXMucy5tb2RlbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbW9kZWxzID0gdGhpcy5zLm1vZGVsc1xuICAgIH1cblxuICAgIGlmIChhcmdzLm92ZXJhbGxDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvdmVyYWxsQ291bnQgPSBhcmdzLm92ZXJhbGxDb3VudFxuICAgIH0gZWxzZSBpZiAodGhpcy5zLm92ZXJhbGxDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvdmVyYWxsQ291bnQgPSB0aGlzLnMub3ZlcmFsbENvdW50XG4gICAgfVxuXG4gICAgaWYgKG1vZGVscyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucC5ub1JlY29yZHNGb3VuZENvbnRlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlXG5cbiAgICAvLyBEb250IHNob3cgbm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCB0b2dldGhlciB3aXRoIG5vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnRcbiAgICBpZiAobW9kZWxzLmxlbmd0aCA9PT0gMCAmJiBvdmVyYWxsQ291bnQgPT09IDAgJiYgdGhpcy5wLm5vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQpIHJldHVybiBmYWxzZVxuICAgIGlmIChtb2RlbHMubGVuZ3RoID09PSAwICYmIHRoaXMucC5ub1JlY29yZHNGb3VuZENvbnRlbnQpIHJldHVybiB0cnVlXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59ICovXG4gIGxvYWRPdmVyYWxsQ291bnQgPSBhc3luYyAoKSA9PiB7XG4gICAgLy8gSWdub3JlIGxhdGUgb3ZlcmFsbC1jb3VudCByZXNwb25zZXMgb25jZSBhIG5ld2VyIGxvYWQgY3ljbGUgaGFzIHN0YXJ0ZWQgb3IgdGhlIGhvb2sgdW5tb3VudGVkLlxuICAgIGNvbnN0IGxvYWRPdmVyYWxsQ291bnRHZW5lcmF0aW9uID0gdGhpcy5sb2FkT3ZlcmFsbENvdW50R2VuZXJhdGlvbiArIDFcblxuICAgIHRoaXMubG9hZE92ZXJhbGxDb3VudEdlbmVyYXRpb24gPSBsb2FkT3ZlcmFsbENvdW50R2VuZXJhdGlvblxuXG4gICAgY29uc3QgYmFzZVF1ZXJ5ID0gdGhpcy5wLmNvbGxlY3Rpb24gfHwgdGhpcy5wLm1vZGVsQ2xhc3MuYWxsKClcbiAgICBjb25zdCBvdmVyYWxsQ291bnQgPSBhd2FpdCBiYXNlUXVlcnkuY291bnQoKVxuXG4gICAgaWYgKGxvYWRPdmVyYWxsQ291bnRHZW5lcmF0aW9uICE9IHRoaXMubG9hZE92ZXJhbGxDb3VudEdlbmVyYXRpb24pIHJldHVyblxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBvdmVyYWxsQ291bnQsXG4gICAgICBzaG93Tm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudDogdGhpcy5zaG93Tm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCh7b3ZlcmFsbENvdW50fSksXG4gICAgICBzaG93Tm9SZWNvcmRzRm91bmRDb250ZW50OiB0aGlzLnNob3dOb1JlY29yZHNGb3VuZENvbnRlbnQoe292ZXJhbGxDb3VudH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7e3FQYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIHNlYXJjaFBhcmFtczogc3RyaW5nW119fSAqL1xuICBsb2FkUVBhcmFtcygpIHtcbiAgICBsZXQgcVBhcmFtc1RvU2V0ID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5wLmRlZmF1bHRQYXJhbXMpXG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gW11cblxuICAgIGlmICh0aGlzLnF1ZXJ5UGFyYW1zICYmIHRoaXMucXVlcnlRTmFtZSgpIGluIHRoaXMucXVlcnlQYXJhbXMpIHtcbiAgICAgIHFQYXJhbXNUb1NldCA9IEpTT04ucGFyc2UoZGlnZyh0aGlzLnF1ZXJ5UGFyYW1zLCB0aGlzLnF1ZXJ5UU5hbWUoKSkpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucXVlcnlQYXJhbXM/Llt0aGlzLnF1ZXJ5U05hbWUoKV0pIHtcbiAgICAgIGZvciAoY29uc3QgcmF3U2VhcmNoUGFyYW0gb2YgdGhpcy5xdWVyeVBhcmFtc1t0aGlzLnF1ZXJ5U05hbWUoKV0pIHtcbiAgICAgICAgY29uc3QgcGFyc2VkU2VhcmNoUGFyYW0gPSBKU09OLnBhcnNlKHJhd1NlYXJjaFBhcmFtKVxuXG4gICAgICAgIHNlYXJjaFBhcmFtcy5wdXNoKHBhcnNlZFNlYXJjaFBhcmFtKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgcVBhcmFtczogcVBhcmFtc1RvU2V0LFxuICAgICAgc2VhcmNoUGFyYW1zXG4gICAgfSlcblxuICAgIHJldHVybiB7XG4gICAgICBxUGFyYW1zOiBxUGFyYW1zVG9TZXQsXG4gICAgICBzZWFyY2hQYXJhbXNcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLnFQYXJhbXNdXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IFthcmdzLnNlYXJjaFBhcmFtc11cbiAgICogQHJldHVybnMge3txUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBzZWFyY2hQYXJhbXM6IHN0cmluZ1tdfX1cbiAgICovXG4gIGxvYWRNb2RlbHNBcmdzKGFyZ3MgPSB7fSkge1xuICAgIHJldHVybiB7XG4gICAgICBxUGFyYW1zOiBhcmdzLnFQYXJhbXMgPz8gdGhpcy5zLnFQYXJhbXMsXG4gICAgICBzZWFyY2hQYXJhbXM6IGFyZ3Muc2VhcmNoUGFyYW1zID8/IHRoaXMucy5zZWFyY2hQYXJhbXNcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthcmdzLnFQYXJhbXNdXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IFthcmdzLnNlYXJjaFBhcmFtc11cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBsb2FkTW9kZWxzID0gYXN5bmMgKGFyZ3MgPSB7fSkgPT4ge1xuICAgIC8vIE9ubHkgdGhlIG5ld2VzdCBjb2xsZWN0aW9uIHJlcXVlc3QgaXMgYWxsb3dlZCB0byB1cGRhdGUgc3RhdGUgYWZ0ZXIgbmF2aWdhdGlvbi9maWx0ZXIgY2hhbmdlcy5cbiAgICBjb25zdCBsb2FkTW9kZWxzR2VuZXJhdGlvbiA9IHRoaXMubG9hZE1vZGVsc0dlbmVyYXRpb24gKyAxXG4gICAgY29uc3Qge3FQYXJhbXMsIHNlYXJjaFBhcmFtc30gPSB0aGlzLmxvYWRNb2RlbHNBcmdzKGFyZ3MpXG5cbiAgICB0aGlzLmxvYWRNb2RlbHNHZW5lcmF0aW9uID0gbG9hZE1vZGVsc0dlbmVyYXRpb25cbiAgICBsZXQgcXVlcnkgPSB0aGlzLnAuY29sbGVjdGlvbj8uY2xvbmUoKSB8fCB0aGlzLnAubW9kZWxDbGFzcy5yYW5zYWNrKClcblxuICAgIGlmICh0aGlzLnAucGFnaW5hdGlvbikge1xuICAgICAgY29uc3QgcGFnZSA9IHRoaXMucXVlcnlQYXJhbXM/Llt0aGlzLnF1ZXJ5UGFnZU5hbWUoKV0gfHwgMVxuICAgICAgbGV0IHBlciA9IHRoaXMucXVlcnlQYXJhbXM/Llt0aGlzLnF1ZXJ5UGVyS2V5KCldIHx8IDMwXG5cbiAgICAgIGlmIChwZXIgPT0gXCJhbGxcIikge1xuICAgICAgICBwZXIgPSA5OTlfOTk5Xzk5OVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGVyID0gTnVtYmVyKHBlcilcbiAgICAgIH1cblxuICAgICAgcXVlcnkucGFnZShwYWdlKS5wZXIocGVyKVxuICAgIH1cblxuICAgIGlmICh0aGlzLnAuZ3JvdXBCeSkgcXVlcnkgPSBxdWVyeS5ncm91cEJ5KC4uLnRoaXMucC5ncm91cEJ5KVxuXG4gICAgcXVlcnkgPSBxdWVyeVxuICAgICAgLnJhbnNhY2socVBhcmFtcylcbiAgICAgIC5zZWFyY2goc2VhcmNoUGFyYW1zKVxuICAgICAgLnNlYXJjaEtleSh0aGlzLnF1ZXJ5UU5hbWUoKSlcbiAgICAgIC5wYWdlS2V5KHRoaXMucXVlcnlQYWdlTmFtZSgpKVxuICAgICAgLnBlcktleSh0aGlzLnF1ZXJ5UGVyS2V5KCkpXG5cbiAgICBpZiAodGhpcy5wLmFiaWxpdGllcykgcXVlcnkuYWJpbGl0aWVzKHRoaXMucC5hYmlsaXRpZXMpXG4gICAgaWYgKHRoaXMucC5saW1pdCAhPT0gdW5kZWZpbmVkKSBxdWVyeS5saW1pdCh0aGlzLnAubGltaXQpXG4gICAgaWYgKHRoaXMucC5wcmVsb2FkcykgcXVlcnkucHJlbG9hZCh0aGlzLnAucHJlbG9hZHMpXG4gICAgaWYgKHRoaXMucC5yYW5zYWNrKSBxdWVyeS5yYW5zYWNrKHRoaXMucC5yYW5zYWNrKVxuICAgIGlmICh0aGlzLnAuc2VsZWN0KSBxdWVyeS5zZWxlY3QodGhpcy5wLnNlbGVjdClcbiAgICBpZiAodGhpcy5wLnNlbGVjdENvbHVtbnMpIHF1ZXJ5LnNlbGVjdENvbHVtbnModGhpcy5wLnNlbGVjdENvbHVtbnMpXG5cbiAgICBsZXQgcmVzdWx0XG5cbiAgICBpZiAodGhpcy5wLnF1ZXJ5TWV0aG9kKSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnAucXVlcnlNZXRob2Qoe3F1ZXJ5fSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYXdhaXQgcXVlcnkucmVzdWx0KClcbiAgICB9XG5cbiAgICBjb25zdCBtb2RlbHMgPSByZXN1bHQubW9kZWxzKClcblxuICAgIGlmIChsb2FkTW9kZWxzR2VuZXJhdGlvbiAhPSB0aGlzLmxvYWRNb2RlbHNHZW5lcmF0aW9uKSByZXR1cm5cblxuICAgIGlmICh0aGlzLnAub25Nb2RlbHNMb2FkZWQpIHtcbiAgICAgIHRoaXMucC5vbk1vZGVsc0xvYWRlZCh7XG4gICAgICAgIG1vZGVscyxcbiAgICAgICAgcVBhcmFtczogdGhpcy5zLnFQYXJhbXMsXG4gICAgICAgIHF1ZXJ5LFxuICAgICAgICByZXN1bHRcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBtb2RlbHMsXG4gICAgICBxdWVyeSxcbiAgICAgIHJlc3VsdCxcbiAgICAgIHNob3dOb1JlY29yZHNBdmFpbGFibGVDb250ZW50OiB0aGlzLnNob3dOb1JlY29yZHNBdmFpbGFibGVDb250ZW50KHttb2RlbHN9KSxcbiAgICAgIHNob3dOb1JlY29yZHNGb3VuZENvbnRlbnQ6IHRoaXMuc2hvd05vUmVjb3Jkc0ZvdW5kQ29udGVudCh7bW9kZWxzfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7e21vZGVsOiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH19IGFyZ3MgKi9cbiAgb25Nb2RlbERlc3Ryb3llZChhcmdzKSB7XG4gICAgY29uc3QgZGVzdHJveWVkTW9kZWwgPSBkaWdnKGFyZ3MsIFwibW9kZWxcIilcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbW9kZWxzOiB0aGlzLnMubW9kZWxzLmZpbHRlcigobW9kZWwpID0+IG1vZGVsLmlkKCkgIT0gZGVzdHJveWVkTW9kZWwuaWQoKSlcbiAgICB9KVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7e21vZGVsOiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH19IGFyZ3MgKi9cbiAgb25Nb2RlbFVwZGF0ZWQoYXJncykge1xuICAgIGNvbnN0IHVwZGF0ZWRNb2RlbCA9IGRpZ2coYXJncywgXCJtb2RlbFwiKVxuICAgIGNvbnN0IGZvdW5kTW9kZWwgPSB0aGlzLnMubW9kZWxzLmZpbmQoKG1vZGVsKSA9PiBtb2RlbC5pZCgpID09IHVwZGF0ZWRNb2RlbC5pZCgpKVxuXG4gICAgaWYgKGZvdW5kTW9kZWwpIHRoaXMubG9hZE1vZGVsc0RlYm91bmNlKCkoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBvbkNyZWF0ZWQoKSB7XG4gICAgdGhpcy5sb2FkTW9kZWxzRGVib3VuY2UoKSgpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe3JlYWR5VG9Mb2FkOiB0cnVlfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHVzZVF1ZXJ5UGFyYW1zKClcblxuICAgIC8vIFdhaXQgdW50aWwgY29tcG9uZW50RGlkTW91bnQgaGFzIGZsaXBwZWQgcmVhZHlUb0xvYWQgc28gdGhlIGZpcnN0IGxvYWQgcnVucyBhZnRlciB1c2VTaGFwZUhvb2sgaGFzIG1hcmtlZCB0aGUgaG9vayBtb3VudGVkLlxuICAgIHVzZUVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnMucmVhZHlUb0xvYWQpIHJldHVyblxuICAgICAgICBsZXQgaWZDb25kaXRpb25NZXRcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucC5pZkNvbmRpdGlvbiA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICBpZkNvbmRpdGlvbk1ldCA9IHRoaXMucC5pZkNvbmRpdGlvbigpXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5wLmlmQ29uZGl0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZkNvbmRpdGlvbk1ldCA9IHRydWVcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZkNvbmRpdGlvbk1ldCA9IHRoaXMucC5pZkNvbmRpdGlvblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlmQ29uZGl0aW9uTWV0KSB7XG4gICAgICAgICAgY29uc3Qge3FQYXJhbXMsIHNlYXJjaFBhcmFtc30gPSB0aGlzLmxvYWRRUGFyYW1zKClcblxuICAgICAgICAgIHRoaXMubG9hZE1vZGVscyh7cVBhcmFtcywgc2VhcmNoUGFyYW1zfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgdGhpcy5wLm1vZGVsQ2xhc3MsXG4gICAgICAgIHRoaXMucC5pZkNvbmRpdGlvbixcbiAgICAgICAgdGhpcy5xdWVyeU5hbWUoKSxcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcz8uW3RoaXMucXVlcnlRTmFtZSgpXSxcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcz8uW3RoaXMucXVlcnlQYWdlTmFtZSgpXSxcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcz8uW3RoaXMucXVlcnlQZXJLZXkoKV0sXG4gICAgICAgIHRoaXMucXVlcnlQYXJhbXM/Llt0aGlzLnF1ZXJ5U05hbWUoKV0sXG4gICAgICAgIHRoaXMucy5yZWFkeVRvTG9hZCxcbiAgICAgICAgdGhpcy5wLmNvbGxlY3Rpb25cbiAgICAgIF0uY29uY2F0KHRoaXMucC5jYWNoZUtleXMpXG4gICAgKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zLnJlYWR5VG9Mb2FkKSByZXR1cm5cbiAgICAgIGlmICh0aGlzLnAubm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCkge1xuICAgICAgICB0aGlzLmxvYWRPdmVyYWxsQ291bnQoKVxuICAgICAgfVxuICAgIH0sIFt0aGlzLnAubW9kZWxDbGFzcywgdGhpcy5zLnJlYWR5VG9Mb2FkXSlcblxuICAgIHVzZUNyZWF0ZWRFdmVudCh0aGlzLnAubW9kZWxDbGFzcywgKCkgPT4gdGhpcy5vbkNyZWF0ZWQoKSlcblxuICAgIC8vIEludmFsaWRhdGUgYW55IGluLWZsaWdodCBhc3luYyByZXNwb25zZXMgc28gdW5tb3VudGVkIGhvb2tzIGNhbm5vdCB3cml0ZSBzdGFsZSBzdGF0ZS5cbiAgICB1c2VFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTW9kZWxzR2VuZXJhdGlvbiArPSAxXG4gICAgICB0aGlzLmxvYWRPdmVyYWxsQ291bnRHZW5lcmF0aW9uICs9IDFcbiAgICAgIHRoaXMubG9hZE1vZGVsc0RlYm91bmNlKCkuY2xlYXI/LigpXG4gICAgfSwgW10pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY29ubmVjdGlvbnMgPSBbXVxuXG4gICAgICBpZiAodGhpcy5zLm1vZGVscykge1xuICAgICAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIHRoaXMucy5tb2RlbHMpIHtcbiAgICAgICAgICBjb25uZWN0aW9ucy5wdXNoKE1vZGVsRXZlbnRzLmNvbm5lY3RVcGRhdGVkKG1vZGVsLCAoYXJncykgPT4gdGhpcy5vbk1vZGVsVXBkYXRlZChhcmdzKSkpXG4gICAgICAgICAgY29ubmVjdGlvbnMucHVzaChNb2RlbEV2ZW50cy5jb25uZWN0RGVzdHJveWVkKG1vZGVsLCAoYXJncykgPT4gdGhpcy5vbk1vZGVsRGVzdHJveWVkKGFyZ3MpKSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGNvbm5lY3Rpb24gb2YgY29ubmVjdGlvbnMpIHtcbiAgICAgICAgICBjb25uZWN0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFt0aGlzLm1vZGVsSWRzQ2FjaGVTdHJpbmcoKV0pXG4gIH1cbn1cblxuY29uc3QgdXNlQ29sbGVjdGlvbiA9IChwcm9wcywgY2FjaGVLZXlzID0gW10pID0+IHtcbiAgY29uc3Qge1xuICAgIGFiaWxpdGllcyxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGRlZmF1bHRQYXJhbXMsXG4gICAgZ3JvdXBCeSxcbiAgICBpZkNvbmRpdGlvbixcbiAgICBsaW1pdCxcbiAgICBtb2RlbENsYXNzLFxuICAgIG5vUmVjb3Jkc0F2YWlsYWJsZUNvbnRlbnQgPSB1bmRlZmluZWQsXG4gICAgbm9SZWNvcmRzRm91bmRDb250ZW50ID0gdW5kZWZpbmVkLFxuICAgIG9uTW9kZWxzTG9hZGVkLFxuICAgIHBhZ2luYXRpb24gPSBmYWxzZSxcbiAgICBwcmVsb2FkcyA9IFtdLFxuICAgIHF1ZXJ5TWV0aG9kLFxuICAgIHF1ZXJ5TmFtZSxcbiAgICByYW5zYWNrLFxuICAgIHNlbGVjdCA9IHt9LFxuICAgIHNlbGVjdENvbHVtbnMsXG4gICAgLi4ucmVzdFByb3BzXG4gIH0gPSBwcm9wc1xuXG4gIGlmIChPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlQ29sbGVjdGlvbjogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3Qgc2hhcGVIb29rID0gdXNlU2hhcGVIb29rKFVzZUNvbGxlY3Rpb25TaGFwZUhvb2ssIHtcbiAgICBhYmlsaXRpZXMsXG4gICAgY2FjaGVLZXlzLFxuICAgIGNvbGxlY3Rpb24sXG4gICAgZGVmYXVsdFBhcmFtcyxcbiAgICBncm91cEJ5LFxuICAgIGlmQ29uZGl0aW9uLFxuICAgIGxpbWl0LFxuICAgIG1vZGVsQ2xhc3MsXG4gICAgbm9SZWNvcmRzQXZhaWxhYmxlQ29udGVudCxcbiAgICBub1JlY29yZHNGb3VuZENvbnRlbnQsXG4gICAgb25Nb2RlbHNMb2FkZWQsXG4gICAgcGFnaW5hdGlvbixcbiAgICBwcmVsb2FkcyxcbiAgICBxdWVyeU1ldGhvZCxcbiAgICBxdWVyeU5hbWUsXG4gICAgcmFuc2FjayxcbiAgICBzZWxlY3QsXG4gICAgc2VsZWN0Q29sdW1uc1xuICB9KVxuICBjb25zdCByZXN1bHQgPSAvKiogQHR5cGUge1VzZUNvbGxlY3Rpb25SZXN1bHQgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqLyAoLyoqIEB0eXBlIHt1bmtub3dufSAqLyAoT2JqZWN0LmFzc2lnbih7fSwgc2hhcGVIb29rLnN0YXRlKSkpXG4gIGNvbnN0IG1vZGVsVmFyaWFibGVOYW1lID0gaW5mbGVjdGlvbi5wbHVyYWxpemUoaW5mbGVjdGlvbi5jYW1lbGl6ZShzaGFwZUhvb2sucC5tb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZSwgdHJ1ZSkpXG5cbiAgcmVzdWx0Lm1vZGVsSWRzQ2FjaGVTdHJpbmcgPSBzaGFwZUhvb2subW9kZWxJZHNDYWNoZVN0cmluZygpXG4gIHJlc3VsdC5xdWVyeU5hbWUgPSBzaGFwZUhvb2sucXVlcnlOYW1lKClcbiAgcmVzdWx0LnF1ZXJ5UGVyS2V5ID0gc2hhcGVIb29rLnF1ZXJ5UGVyS2V5KClcbiAgcmVzdWx0LnF1ZXJ5UU5hbWUgPSBzaGFwZUhvb2sucXVlcnlRTmFtZSgpXG4gIHJlc3VsdC5xdWVyeVNOYW1lID0gc2hhcGVIb29rLnF1ZXJ5U05hbWUoKVxuICByZXN1bHQucXVlcnlQYWdlTmFtZSA9IHNoYXBlSG9vay5xdWVyeVBhZ2VOYW1lKClcbiAgcmVzdWx0W21vZGVsVmFyaWFibGVOYW1lXSA9IHNoYXBlSG9vay5zLm1vZGVsc1xuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlQ29sbGVjdGlvblxuIl19
@@ -125,6 +125,10 @@ export type useModelArgs = {
125
125
  }) => void;
126
126
  query?: import("./collection.js").default<any>;
127
127
  };
128
+ export type UseModelState = {
129
+ model: any | undefined;
130
+ notFound: boolean | undefined;
131
+ };
128
132
  /**
129
133
  * @param {Function|object} modelClassArg
130
134
  * @param {object | ((args: {modelClass: typeof import("./base-model.js").default}) => useModelArgs)} [argsArg]
@@ -1 +1 @@
1
- {"version":3,"file":"use-model.d.ts","sourceRoot":"/src/","sources":["use-model.js"],"names":[],"mappings":";;eAWc,CAAC,GAAG,EAAE,MAAM,aAAa;WACzB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;uBACvB,CAAC,IAAI,EAAE;QAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;KAAC,KAAK,MAAM,GAAC,MAAM;gBACvE,GAAG,EAAE;YACL;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;kBAChB,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA6Y8xX,CAAC;;;;;;;;wBAA2iB,CAAC;;;;;iCAAypE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA7Yp8c,CAAA;KAAE,KAAK,IAAI;;;AAmXzE;;;;GAIG;AACH,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAoB2zX,CAAC;;;;;;;;oBAA2iB,CAAC;;;;;6BAAypE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAHjgd"}
1
+ {"version":3,"file":"use-model.d.ts","sourceRoot":"/src/","sources":["use-model.js"],"names":[],"mappings":";;eAWc,CAAC,GAAG,EAAE,MAAM,aAAa;WACzB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;uBACvB,CAAC,IAAI,EAAE;QAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;KAAC,KAAK,MAAM,GAAC,MAAM;gBACvE,GAAG,EAAE;YACL;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;kBAChB,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqZ8lX,CAAC;;;;;;;;wBAA2iB,CAAC;;;;;iCAAypE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SArZpwc,CAAA;KAAE,KAAK,IAAI;;;;WAO3D,GAAG,GAAG,SAAS;cACf,OAAO,GAAG,SAAS;;AAmXjC;;;;GAIG;AACH,gBAAgB;AAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAoB2nX,CAAC;;;;;;;;oBAA2iB,CAAC;;;;;6BAAypE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAHj0c"}