taon 18.0.18 → 18.0.20

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 (315) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
  3. package/browser/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
  4. package/browser/esm2022/lib/base-classes/base-injector.mjs +8 -1
  5. package/browser/esm2022/lib/base-classes/base.mjs +3 -3
  6. package/browser/esm2022/lib/create-context.mjs +10 -7
  7. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  8. package/browser/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
  9. package/browser/esm2022/lib/endpoint-context.mjs +49 -11
  10. package/browser/esm2022/lib/entity-process.mjs +1 -10
  11. package/browser/esm2022/lib/get-response-value.mjs +1 -15
  12. package/browser/esm2022/lib/index.mjs +2 -1
  13. package/browser/esm2022/lib/models.mjs +1 -1
  14. package/browser/esm2022/lib/ui/directives/index.mjs +6 -0
  15. package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  16. package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  17. package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  18. package/browser/esm2022/lib/ui/index.mjs +12 -0
  19. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  20. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  21. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  22. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  23. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  24. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  25. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  26. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  27. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  28. package/browser/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  29. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  30. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  31. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  32. package/browser/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  33. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  34. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  35. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  36. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  37. package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  38. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  39. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  40. package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  41. package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  42. package/browser/esm2022/lib/ui/taon-table/index.mjs +5 -0
  43. package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  44. package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  45. package/browser/fesm2022/taon.mjs +1463 -94
  46. package/browser/fesm2022/taon.mjs.map +1 -1
  47. package/browser/lib/base-classes/base-abstract-entity.d.ts +2 -1
  48. package/browser/lib/base-classes/base-context.d.ts +4 -1
  49. package/browser/lib/base-classes/base-crud-controller.d.ts +1 -1
  50. package/browser/lib/base-classes/base-injector.d.ts +5 -0
  51. package/browser/lib/base-classes/base.d.ts +7 -3
  52. package/browser/lib/create-context.d.ts +7 -4
  53. package/browser/lib/decorators/http/http-decorators.d.ts +2 -0
  54. package/browser/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  55. package/browser/lib/endpoint-context.d.ts +3 -2
  56. package/browser/lib/index.d.ts +13 -3
  57. package/browser/lib/models.d.ts +2 -4
  58. package/browser/lib/ui/directives/index.d.ts +4 -0
  59. package/browser/lib/ui/directives/safe.pipe.d.ts +11 -0
  60. package/browser/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  61. package/browser/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  62. package/browser/lib/ui/index.d.ts +10 -0
  63. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  64. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  65. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  66. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  67. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  68. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  69. package/browser/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  70. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  71. package/browser/lib/ui/taon-full-material.module.d.ts +47 -0
  72. package/browser/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  73. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  74. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  75. package/browser/lib/ui/taon-notifications/index.d.ts +5 -0
  76. package/browser/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  77. package/browser/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  78. package/browser/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  79. package/browser/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  80. package/browser/lib/ui/taon-progress-bar/index.d.ts +3 -0
  81. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  82. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  83. package/browser/lib/ui/taon-session-passcode/index.d.ts +2 -0
  84. package/browser/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  85. package/browser/lib/ui/taon-table/index.d.ts +3 -0
  86. package/browser/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  87. package/browser/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  88. package/client/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
  89. package/client/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
  90. package/client/esm2022/lib/base-classes/base-injector.mjs +8 -1
  91. package/client/esm2022/lib/base-classes/base.mjs +3 -3
  92. package/client/esm2022/lib/create-context.mjs +10 -7
  93. package/client/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  94. package/client/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
  95. package/client/esm2022/lib/endpoint-context.mjs +49 -11
  96. package/client/esm2022/lib/entity-process.mjs +1 -10
  97. package/client/esm2022/lib/get-response-value.mjs +1 -15
  98. package/client/esm2022/lib/index.mjs +2 -1
  99. package/client/esm2022/lib/models.mjs +1 -1
  100. package/client/esm2022/lib/ui/directives/index.mjs +6 -0
  101. package/client/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  102. package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  103. package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  104. package/client/esm2022/lib/ui/index.mjs +12 -0
  105. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  106. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  107. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  108. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  109. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  110. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  111. package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  112. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  113. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  114. package/client/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  115. package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  116. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  117. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  118. package/client/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  119. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  120. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  121. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  122. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  123. package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  124. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  125. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  126. package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  127. package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  128. package/client/esm2022/lib/ui/taon-table/index.mjs +5 -0
  129. package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  130. package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  131. package/client/fesm2022/taon.mjs +1463 -94
  132. package/client/fesm2022/taon.mjs.map +1 -1
  133. package/client/lib/base-classes/base-abstract-entity.d.ts +2 -1
  134. package/client/lib/base-classes/base-context.d.ts +4 -1
  135. package/client/lib/base-classes/base-crud-controller.d.ts +1 -1
  136. package/client/lib/base-classes/base-injector.d.ts +5 -0
  137. package/client/lib/base-classes/base.d.ts +7 -3
  138. package/client/lib/create-context.d.ts +7 -4
  139. package/client/lib/decorators/http/http-decorators.d.ts +2 -0
  140. package/client/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  141. package/client/lib/endpoint-context.d.ts +3 -2
  142. package/client/lib/index.d.ts +13 -3
  143. package/client/lib/models.d.ts +2 -4
  144. package/client/lib/ui/directives/index.d.ts +4 -0
  145. package/client/lib/ui/directives/safe.pipe.d.ts +11 -0
  146. package/client/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  147. package/client/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  148. package/client/lib/ui/index.d.ts +10 -0
  149. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  150. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  151. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  152. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  153. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  154. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  155. package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  156. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  157. package/client/lib/ui/taon-full-material.module.d.ts +47 -0
  158. package/client/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  159. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  160. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  161. package/client/lib/ui/taon-notifications/index.d.ts +5 -0
  162. package/client/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  163. package/client/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  164. package/client/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  165. package/client/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  166. package/client/lib/ui/taon-progress-bar/index.d.ts +3 -0
  167. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  168. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  169. package/client/lib/ui/taon-session-passcode/index.d.ts +2 -0
  170. package/client/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  171. package/client/lib/ui/taon-table/index.d.ts +3 -0
  172. package/client/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  173. package/client/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  174. package/lib/base-classes/base-abstract-entity.d.ts +1 -0
  175. package/lib/base-classes/base-context.d.ts +4 -1
  176. package/lib/base-classes/base-crud-controller.d.ts +1 -1
  177. package/lib/base-classes/base-injector.d.ts +5 -0
  178. package/lib/base-classes/base-injector.js +11 -0
  179. package/lib/base-classes/base-injector.js.map +1 -1
  180. package/lib/base-classes/base.d.ts +7 -3
  181. package/lib/base-classes/base.js +2 -2
  182. package/lib/base-classes/base.js.map +1 -1
  183. package/lib/create-context.d.ts +7 -4
  184. package/lib/create-context.js +19 -6
  185. package/lib/create-context.js.map +1 -1
  186. package/lib/decorators/http/http-decorators.d.ts +3 -1
  187. package/lib/decorators/http/http-decorators.js +2 -0
  188. package/lib/decorators/http/http-decorators.js.map +1 -1
  189. package/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  190. package/lib/decorators/http/http-methods-decorators.js.map +1 -1
  191. package/lib/endpoint-context.d.ts +3 -2
  192. package/lib/endpoint-context.js +165 -126
  193. package/lib/endpoint-context.js.map +1 -1
  194. package/lib/entity-process.js +0 -9
  195. package/lib/entity-process.js.map +1 -1
  196. package/lib/get-response-value.js +14 -37
  197. package/lib/get-response-value.js.map +1 -1
  198. package/lib/index.d.ts +13 -3
  199. package/lib/models.d.ts +2 -5
  200. package/lib/models.js.map +1 -1
  201. package/lib/ui/directives/index.d.ts +3 -4
  202. package/lib/ui/directives/index.js +2 -2
  203. package/lib/ui/index.d.ts +9 -0
  204. package/lib/ui/index.js +5 -0
  205. package/lib/ui/index.js.map +1 -0
  206. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +2 -2
  207. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +3 -5
  208. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +2 -2
  209. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +2 -3
  210. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +2 -2
  211. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +1 -2
  212. package/lib/ui/taon-admin-mode-configuration/index.d.ts +0 -1
  213. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  214. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  215. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  216. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  217. package/lib/ui/taon-progress-bar/index.js +2 -2
  218. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -0
  219. package/lib/ui/taon-session-passcode/index.js +2 -2
  220. package/lib/ui/taon-table/index.d.ts +2 -0
  221. package/lib/ui/taon-table/index.js +5 -0
  222. package/lib/ui/taon-table/index.js.map +1 -0
  223. package/lib/ui/taon-table/taon-table.component.d.ts +33 -0
  224. package/lib/ui/taon-table/taon-table.module.d.ts +2 -0
  225. package/package.json +7 -7
  226. package/tmp-environment.json +37 -31
  227. package/websql/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
  228. package/websql/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
  229. package/websql/esm2022/lib/base-classes/base-injector.mjs +8 -1
  230. package/websql/esm2022/lib/base-classes/base.mjs +3 -3
  231. package/websql/esm2022/lib/create-context.mjs +10 -7
  232. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  233. package/websql/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
  234. package/websql/esm2022/lib/endpoint-context.mjs +49 -11
  235. package/websql/esm2022/lib/entity-process.mjs +1 -10
  236. package/websql/esm2022/lib/get-response-value.mjs +4 -24
  237. package/websql/esm2022/lib/index.mjs +2 -1
  238. package/websql/esm2022/lib/models.mjs +1 -1
  239. package/websql/esm2022/lib/ui/directives/index.mjs +6 -0
  240. package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  241. package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  242. package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  243. package/websql/esm2022/lib/ui/index.mjs +12 -0
  244. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  245. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  246. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  247. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  248. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  249. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  250. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  251. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  252. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  253. package/websql/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  254. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  255. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  256. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  257. package/websql/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  258. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  259. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  260. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  261. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  262. package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  263. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +50 -0
  264. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  265. package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  266. package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  267. package/websql/esm2022/lib/ui/taon-table/index.mjs +5 -0
  268. package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  269. package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  270. package/websql/fesm2022/taon.mjs +1435 -120
  271. package/websql/fesm2022/taon.mjs.map +1 -1
  272. package/websql/lib/base-classes/base-abstract-entity.d.ts +2 -1
  273. package/websql/lib/base-classes/base-context.d.ts +4 -1
  274. package/websql/lib/base-classes/base-crud-controller.d.ts +1 -1
  275. package/websql/lib/base-classes/base-injector.d.ts +5 -0
  276. package/websql/lib/base-classes/base.d.ts +7 -3
  277. package/websql/lib/create-context.d.ts +7 -4
  278. package/websql/lib/decorators/http/http-decorators.d.ts +2 -0
  279. package/websql/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  280. package/websql/lib/endpoint-context.d.ts +3 -2
  281. package/websql/lib/index.d.ts +13 -3
  282. package/websql/lib/models.d.ts +2 -5
  283. package/websql/lib/ui/directives/index.d.ts +4 -0
  284. package/websql/lib/ui/directives/safe.pipe.d.ts +11 -0
  285. package/websql/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  286. package/websql/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  287. package/websql/lib/ui/index.d.ts +10 -0
  288. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  289. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  290. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  291. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  292. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  293. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  294. package/websql/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  295. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  296. package/websql/lib/ui/taon-full-material.module.d.ts +47 -0
  297. package/websql/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  298. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  299. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  300. package/websql/lib/ui/taon-notifications/index.d.ts +5 -0
  301. package/websql/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  302. package/websql/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  303. package/websql/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  304. package/websql/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  305. package/websql/lib/ui/taon-progress-bar/index.d.ts +3 -0
  306. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  307. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  308. package/websql/lib/ui/taon-session-passcode/index.d.ts +2 -0
  309. package/websql/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  310. package/websql/lib/ui/taon-table/index.d.ts +3 -0
  311. package/websql/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  312. package/websql/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  313. /package/lib/ui/directives/{firedev-inject-html.directive.d.ts → taon-inject-html.directive.d.ts} +0 -0
  314. /package/lib/ui/directives/{firedev-long-press.directive.d.ts → taon-long-press.directive.d.ts} +0 -0
  315. /package/lib/ui/{toan-full-material.module.d.ts → taon-full-material.module.d.ts} +0 -0
@@ -22,6 +22,17 @@ import { Subject, takeUntil } from 'rxjs';
22
22
  import { TaonAdminService } from './taon-admin-control.service';
23
23
  import * as i0 from "@angular/core";
24
24
  import * as i1 from "static-columns/browser";
25
+ import * as i2 from "@angular/common";
26
+ import * as i3 from "@angular/forms";
27
+ import * as i4 from "ngx-scrollbar";
28
+ import * as i5 from "@angular/cdk/drag-drop";
29
+ import * as i6 from "@angular/material/button";
30
+ import * as i7 from "@angular/material/card";
31
+ import * as i8 from "@angular/material/checkbox";
32
+ import * as i9 from "@angular/material/icon";
33
+ import * as i10 from "@angular/material/sidenav";
34
+ import * as i11 from "@angular/material/tabs";
35
+ import * as i12 from "../taon-session-passcode/taon-session-passcode.component";
25
36
  export class TaonAdminModeConfigurationComponent {
26
37
  get opened() {
27
38
  return !this.isIframe && this.admin.adminPanelIsOpen;
@@ -122,7 +133,7 @@ export class TaonAdminModeConfigurationComponent {
122
133
  return;
123
134
  }
124
135
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, selector: "app-taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode>\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }); }
136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, selector: "app-taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1.DirectiveGrow, selector: "[grow]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i10.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i12.TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
126
137
  }
127
138
  __decorate([
128
139
  Stor.property.in.localstorage
@@ -150,7 +161,7 @@ __decorate([
150
161
  ], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
151
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
152
163
  type: Component,
153
- args: [{ selector: 'app-taon-admin-mode-configuration', template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode>\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
164
+ args: [{ selector: 'app-taon-admin-mode-configuration', template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
154
165
  }], ctorParameters: () => [{ type: i1.BreakpointsService }], propDecorators: { tabGroup: [{
155
166
  type: ViewChild,
156
167
  args: ['tabGroup']
@@ -164,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
164
175
  }] } });
165
176
  ;
166
177
  ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUtBLE9BQU8sRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksWUFBWSxFQUFJLFlBQVksRUFBZ0IsS0FBSyxFQUFjLE1BQU0sRUFBSSxTQUFTLEVBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLENBQUEsS0FBSztBQUN2SyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBTyxNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4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Q0FBQztTQUN4QyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7OzBFQUNBO0FBUXRCO0lBSEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWTtTQUMzQixHQUFHLENBQUMsbUNBQW1DLENBQUM7U0FDeEMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDOztrRkFDSzsyRkFyRHBCLG1DQUFtQztrQkFQL0MsU0FBUzsrQkFFRSxtQ0FBbUM7dUZBb0R0QixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBUVgscUNBQXFDO3NCQUE5QyxNQUFNO2dCQUNFLDhCQUE4QjtzQkFBdEMsS0FBSztnQkE2RU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFrRDFDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUhBQWlIIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuXG5cbmltcG9ydCB7ICAgQ2hhbmdlRGV0ZWN0b3JSZWYsICAgQ29tcG9uZW50LCAgIEV2ZW50RW1pdHRlciwgICBIb3N0TGlzdGVuZXIsICAgSW5qZWN0b3IsICAgSW5wdXQsICAgT25Jbml0LCAgIE91dHB1dCwgICBWaWV3Q2hpbGQsICAgaW5qZWN0LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBIZWxwZXJzLCBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBUYW9uQWRtaW4gfSBmcm9tICcuL3Rhb24tYWRtaW4uc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yIH0gZnJvbSAndGFvbi1zdG9yYWdlL2Jyb3dzZXInO1xuaW1wb3J0IHsgICBDZGtEcmFnLCAgIENka0RyYWdFbmQsICAgQ2RrRHJhZ01vdmUsICAgQ2RrRHJhZ1JlbGVhc2UsICAgUG9pbnQsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCcmVha3BvaW50c1NlcnZpY2UgfSBmcm9tICdzdGF0aWMtY29sdW1ucy9icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYW9uQWRtaW5Nb2RlVGFiIH0gZnJvbSAnLi9tb2RlbHMvdGFvbi1hZG1pbi1tb2RlLXRhYnMnO1xuaW1wb3J0IHsgVGFvbkFkbWluU2VydmljZSB9IGZyb20gJy4vdGFvbi1hZG1pbi1jb250cm9sLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IEVOVjogYW55O1xuXG5cbkBDb21wb25lbnQoe1xuXG4gIHNlbGVjdG9yOiAnYXBwLXRhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcblxufSlcbmV4cG9ydCBjbGFzcyBUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgJGRlc3Ryb3kgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHVibGljIHJlYWRvbmx5IHRhb25BZG1pblNlcnZpY2UgPSBpbmplY3QoVGFvbkFkbWluU2VydmljZSk7XG4gIHB1YmxpYyByZWFkb25seSBpc0Rlc2t0b3A6IGJvb2xlYW47XG4gIHB1YmxpYyB0YWJzOiBUYW9uQWRtaW5Nb2RlVGFiW10gPSBbXTtcbiAgcHVibGljIGFkbWluOiBUYW9uQWRtaW4gPSB3aW5kb3dbJ3Rhb24nXSBhcyBUYW9uQWRtaW47XG4gIHB1YmxpYyBpc1dlYlNRTE1vZGU6IGJvb2xlYW4gPSBIZWxwZXJzLmlzV2ViU1FMO1xuICBwdWJsaWMgaGlkZVRhb25Ub29sc0luUHJvZHVjdGlvbjogYm9vbGVhbiA9XG4gICAgRU5WLmhpZGVUYW9uVG9vbHNJblByb2R1Y3Rpb24gJiYgRU5WLmFuZ3VsYXJQcm9kO1xuICBwdWJsaWMgaXNJZnJhbWU6IGJvb2xlYW4gPSB3aW5kb3cubG9jYXRpb24gIT09IHdpbmRvdy5wYXJlbnQubG9jYXRpb247XG4gIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDEwMDtcbiAgcHVibGljIG9wZW5lZE9uY2UgPSBmYWxzZTtcbiAgcHVibGljIHJlbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1Bhc3Njb2RlOiBib29sZWFuID1cbiAgICBfLmlzU3RyaW5nKEVOVi5wYXNzY29kZSkgfHwgXy5pc09iamVjdChFTlYucGFzc2NvZGUpO1xuICBwdWJsaWMgcGFzc2NvZGU6IHN0cmluZyA9IF8uaXNTdHJpbmcoRU5WLnBhc3Njb2RlKVxuICAgID8gRU5WLnBhc3Njb2RlXG4gICAgOiBfLmlzT2JqZWN0KEVOVi5wYXNzY29kZSlcbiAgICAgID8gRU5WLnBhc3Njb2RlLmNvZGVcbiAgICAgIDogJyc7XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgPSBfLmlzT2JqZWN0KEVOVi5wYXNzY29kZSlcbiAgICA/IEVOVi5wYXNzY29kZS5tZXNzYWdlXG4gICAgOiB2b2lkIDA7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2VcbiAgICAuZm9yKFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50KVxuICAgIC53aXRoRGVmYXVsdFZhbHVlKDApXG4gIGRyYWdQb3NpdGlvblg6IG51bWJlcjtcblxuICAvLyBAdHMtaWdub3JlXG4gIEBTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoMClcbiAgZHJhZ1Bvc2l0aW9uWTogbnVtYmVyO1xuXG4gIGRyYWdQb3NpdGlvblplcm8gPSB7IHg6IDAsIHk6IDAgfSBhcyBQb2ludDtcbiAgZHJhZ1Bvc2l0aW9uOiBQb2ludDtcblxuICAvLyBAdHMtaWdub3JlXG4gIEBTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoMClcbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJykgdGFiR3JvdXA7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2VcbiAgICAuZm9yKFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50KVxuICAgIC53aXRoRGVmYXVsdFZhbHVlKGZhbHNlKVxuICB3YXNPcGVuRHJhZ2dhYmxlUG9wdXA6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uRGF0YUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uRGF0YTogYW55ID0ge307XG4gIHB1YmxpYyBnZXQgb3BlbmVkKCkge1xuICAgIHJldHVybiAhdGhpcy5pc0lmcmFtZSAmJiB0aGlzLmFkbWluLmFkbWluUGFuZWxJc09wZW47XG4gIH1cbiAgcHVibGljIHNldCBvcGVuZWQodikge1xuICAgIGlmICh2ICYmICF0aGlzLm9wZW5lZE9uY2UpIHtcbiAgICAgIHRoaXMub3BlbmVkT25jZSA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLndhc09wZW5EcmFnZ2FibGVQb3B1cCkge1xuICAgICAgdGhpcy53YXNPcGVuRHJhZ2dhYmxlUG9wdXAgPSBmYWxzZTtcbiAgICAgIHRoaXMuYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5hZG1pbi5hZG1pblBhbmVsSXNPcGVuID0gdjtcbiAgfVxuXG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJyZWFrcG9pbnRzU2VydmljZTogQnJlYWtwb2ludHNTZXJ2aWNlKSB7XG4gICAgdGhpcy5hZG1pbi5jbXAgPSB0aGlzO1xuICAgIHRoaXMuYnJlYWtwb2ludHNTZXJ2aWNlXG4gICAgICAubGlzdGVuVG8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuJGRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZShicmVha3BvaW50ID0+IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLmlzRGVza3RvcCA9IGJyZWFrcG9pbnQgPT09ICdkZXNrdG9wJztcbiAgICAgIH0pO1xuICAgIHRoaXMudGFvbkFkbWluU2VydmljZS5pbml0KHRoaXMpO1xuICB9XG5cblxuICByZWxvYWRUYWJzKCkge1xuICAgIHRoaXMucmVsb2FkaW5nID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVsb2FkaW5nID0gZmFsc2U7XG4gICAgICBjb25zb2xlLmxvZygncmVsb2FkaW5nIGRvbmUnKTtcbiAgICB9KTtcbiAgfVxuXG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgU3Rvci5hd2FpdFBlbmRpbmdPcGVyYXRpb3MoKTtcblxuXG5cbiAgICB0aGlzLmRyYWdQb3NpdGlvbiA9IHsgeDogdGhpcy5kcmFnUG9zaXRpb25YLCB5OiB0aGlzLmRyYWdQb3NpdGlvblkgfTtcbiAgICB0aGlzLm9wZW5lZE9uY2UgPSB0aGlzLm9wZW5lZDtcblxuXG5cblxuXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgYWZ0ZXIgbmdBZnRlckNvbnRlbnRJbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQnIHRvIHRoZSBjbGFzcy5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG5cbiAgICAgIGlmICh0aGlzLmFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSkge1xuICAgICAgICB0aGlzLnJlbG9hZFRhYnMoKTtcbiAgICAgIH1cblxuXG5cblxuXG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRkZXN0cm95Lm5leHQodm9pZCAwKTtcbiAgICB0aGlzLiRkZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgb25SZXNpemUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gIH1cblxuXG5cblxuICBhc3luYyB0b29nbGUoKSB7XG5cbiAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcbiAgfVxuXG4gIGFzeW5jIHRvb2dsZUZ1bGxTY3JlZW4oKSB7XG4gICAgdGhpcy5hZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgPSB0cnVlO1xuICAgIHRoaXMuYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbiA9XG4gICAgICAhdGhpcy5hZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuO1xuICAgIHRoaXMucmVzZXREcmFnKCk7XG4gIH1cblxuICByZXNldERyYWcoKSB7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25YID0gMDtcbiAgICB0aGlzLmRyYWdQb3NpdGlvblkgPSAwO1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0geyB4OiB0aGlzLmRyYWdQb3NpdGlvblgsIHk6IHRoaXMuZHJhZ1Bvc2l0aW9uWSB9O1xuICB9XG5cbiAgbW92ZWQoYzogQ2RrRHJhZ0VuZCkge1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uWCArPSBjLmRpc3RhbmNlLng7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25ZICs9IGMuZGlzdGFuY2UueTtcbiAgfVxuXG4gIHNjcm9sbFRhYnMoZXZlbnQpIHtcbiAgICByZXR1cm47XG5cblxuXG5cblxuXG5cblxuXG5cbiAgfVxuXG5cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi91aS90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCI8IS0tICNyZWdpb24gYmFzaWMgZ2xvYmFsIGNvbXBvbmVudHMgIC0tPlxuPHRhb24tc2Vzc2lvbi1wYXNzY29kZVxuICAqbmdJZj1cInNob3dQYXNzY29kZVwiXG4gIFtwYXNzY29kZV09XCJwYXNzY29kZVwiXG4gIFttZXNzYWdlXT1cIm1lc3NhZ2VcIiAvPlxuPCEtLSA8dGFvbi1wcm9ncmVzcy1iYXIgW2lzRGVza3RvcF09XCJpc0Rlc2t0b3BcIj48L3Rhb24tcHJvZ3Jlc3MtYmFyPiAtLT5cbjwhLS0gPHRhb24tbm90aWZpY2F0aW9ucz48L3Rhb24tbm90aWZpY2F0aW9ucz4gLS0+XG48YnV0dG9uXG4gIG1hdC1mYWJcbiAgY2xhc3M9XCJmYWItYnV0dG9uXCJcbiAgY29sb3I9XCJhY2NlbnRcIlxuICBhcmlhLWxhYmVsPVwiVGFvbiBBZG1pbiBNb2RlXCJcbiAgKm5nSWY9XCJcbiAgICAhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlICYmXG4gICAgaXNEZXNrdG9wICYmXG4gICAgIWlzSWZyYW1lICYmXG4gICAgIWhpZGVUYW9uVG9vbHNJblByb2R1Y3Rpb25cbiAgXCJcbiAgKGNsaWNrKT1cInRvb2dsZSgpXCI+XG4gIDxtYXQtaWNvbj5idWlsZDwvbWF0LWljb24+XG48L2J1dHRvbj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPCEtLSAjcmVnaW9uIHNtYWxsIGhpZGRlbiBidXR0b24gLS0+XG48IS0tIDxidXR0b24gY2xhc3M9XCJhZG1pbi1zaG93LWJ1dHRvblwiXG4gICAgICAgICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSAmJiBpc0Rlc2t0b3BcIlxuICAgICAgICAoY2xpY2spPVwidG9vZ2xlKClcIj4gQWRtaW4gPC9idXR0b24+IC0tPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnROb1Njcm9sbD5cbiAgPG5nLWNvbnRlbnQ+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPG5nLXNjcm9sbGJhcj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnROb1Njcm9sbFwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXNjcm9sbGJhcj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gI3JlZ2lvbiBhZG1pbiB0YWJzIC0tPlxuPG5nLXRlbXBsYXRlICNhZG1pblRhYnM+XG4gIDxkaXYgY2xhc3M9XCJ0YW9uLWhlYWRlci1hZG1pbi13cmFwcGVyXCI+XG4gICAgPGNvbHVtbnMtY29udGFpbmVyXG4gICAgICBjbGFzcz1cInRhb24taGVhZGVyLWFkbWluXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2RyYWdnYWJsZS1jb2x1bW4nOiBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgfVwiPlxuICAgICAgPGNvbHVtbiB3aWR0aD1cIjIwMFwiIGNsYXNzPVwibG9nby1oZWFkZXJcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICpuZ0lmPVwib3BlbmVkT25jZVwiXG4gICAgICAgICAgc3JjPVwiYXNzZXRzL2Fzc2V0cy1mb3IvdGFvbi9zaGFyZWQvbG9nby1oZWFkZXItYWRtaW4tbW9kZS5wbmdcIiAvPlxuICAgICAgPC9jb2x1bW4+XG5cbiAgICAgIDxjb2x1bW4gZ3Jvdz5cbiAgICAgICAgPCEtLSA8c3Bhbj5TdXBlciBBZG1pbiBNb2RlPC9zcGFuPiAtLT5cbiAgICAgIDwvY29sdW1uPlxuXG4gICAgICA8Y29sdW1uXG4gICAgICAgIHdpZHRoPVwiNDBcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVcbiAgICAgICAgXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICBvcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHdhc09wZW5EcmFnZ2FibGVQb3B1cCA9IHRydWVcbiAgICAgICAgICBcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJ0b29nbGUoKVwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY29sdW1uPlxuXG4gICAgICA8Y29sdW1uIHdpZHRoPVwiNDBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW5cIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9vZ2xlRnVsbFNjcmVlbigpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlblwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJ0b29nbGVGdWxsU2NyZWVuKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2VfZnVsbHNjcmVlbjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9jb2x1bW4+XG5cbiAgICAgIDxjb2x1bW4gd2lkdGg9XCI0MFwiICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSA9IHRydWVcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmxhdW5jaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSA9IGZhbHNlOyByZXNldERyYWcoKVwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpXCI+bG9naW48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY29sdW1uPlxuICAgIDwvY29sdW1ucy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxjb2x1bW5zLWNvbnRhaW5lclxuICAgIFtuZ0NsYXNzXT1cInsgJ2RyYWdnYWJsZS1jb2x1bW4nOiBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgfVwiPlxuICAgIDxjb2x1bW4gZ3Jvdz5cbiAgICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICAgIGR5bmFtaWNIZWlnaHRcbiAgICAgICAgKHdoZWVsKT1cInNjcm9sbFRhYnMoJGV2ZW50KVwiXG4gICAgICAgICN0YWJHcm91cFxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleCA9ICRldmVudFwiPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkRCL0NhY2hlXCI+XG4gICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPldFQlNRTCBNT0RFPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNXZWJTUUxNb2RlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFkbWluLmtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZFwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBhZG1pbi5zZXRLZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQoJGV2ZW50LmNoZWNrZWQpXG4gICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICAgIERvbid0IHJlbW92ZSBkYXRhIHdoZW4gcmVsb2FkaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDx0YW9uLWRiLWFkbWluIC8+XG4gICAgICAgIDwvbWF0LXRhYj5cblxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkZpbGVzXCIgKm5nSWY9XCJhZG1pbi5lbmFibGVkVGFicy5pbmNsdWRlcygnZmlsZXMnKVwiPlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhZG1pbi5maWxlc0VkaXRNb2RlXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJhZG1pbi5zZXRFZGl0TW9kZSgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICAgICAgICA+RWRpdCBtb2RlPC9tYXQtY2hlY2tib3hcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPCEtLSBhZG1pbi5maWxlc0VkaXRNb2RlOiB7eyBhZG1pbi5maWxlc0VkaXRNb2RlIH19IC0tPlxuICAgICAgICAgIDx0YW9uLWFkbWluLWVkaXQtbW9kZSAqbmdJZj1cImFkbWluLmZpbGVzRWRpdE1vZGVcIj5cbiAgICAgICAgICA8L3Rhb24tYWRtaW4tZWRpdC1tb2RlPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDxociAqbmdJZj1cImFkbWluLmZpbGVzRWRpdE1vZGVcIiAvPlxuICAgICAgICAgIDwhLS0gPHNlY3Rpb24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uPltUT0RPXSBDbGVhciBGaWxlcyBmcm9tIGJyb3dzZXIgY2FjaGUgPC9idXR0b24+IDxicj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+W1RPRE9dIFN0YXJ0IGZpbGVzIGV4cG9ydCAoYXMgemlwKSA8L2J1dHRvbj4gPGJyPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5bVE9ET10gSW1wb3J0IHdob2xlIGRhdGFiYXNlIChmcm9tIHppcCkgPC9idXR0b24+PGJyPlxuICAgICAgICAgIDwvc2VjdGlvbj4gLS0+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCIgbGFiZWw9XCJ7eyB0YWIubmFtZSB9fVwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZnVsbC10YWJzXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0IC0gMTUwXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzSWZyYW1lXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzSWZyYW1lXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbWF0LXRhYj5cblxuICAgICAgICA8IS0tIDxtYXQtdGFiIGxhYmVsPVwiUG9ydGFsXCI+XG4gICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94PltUT0RPXSBNYWludGVuYW5jZSBNb2RlIGZvciB3aG9sZSBwb3J0YWw8L21hdC1jaGVja2JveD5cblxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgIFtUT0RPXSBBY3RpdmUgVXNlcjogODA0MzJcbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5bVE9ET10gU2VuZCBub3RpZmljYXRpb24gdG8gdXNlcnMgPC9idXR0b24+PGJyPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+W1RPRE9dIFNlbmQgZW1haWwgdG8gdXNlcnMgPC9idXR0b24+PGJyPlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgIFtUT0RPXSBFbmFibGUgZmVhdHVyZXNcbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveD5bVE9ET10gQUIgdGVzdGluZzwvbWF0LWNoZWNrYm94PiA8YnI+XG4gICAgICAgICAgICAgIDxtYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgW1RPRE9dIE5ld3NsZXR0ZXIgZW1haWwgcXVlc3Rpb24gcG9wdXBcbiAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+IDxicj5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICBbVE9ET10gUHJvbW90aW9uIHBvcHVwXG4gICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PiA8YnI+XG4gICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiVXNlclwiPlxuICAgICAgICAgIFdlbGNvbWUgaW4gdXNlciBtYW5hZ2VtZW50c1xuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiVHJhbnNsYXRpb25zXCI+XG4gICAgICAgICAgV2VsY29tZSBpbiB1c2VyIG1hbmFnZW1lbnRzXG4gICAgICAgIDwvbWF0LXRhYj4gLS0+XG4gICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgPC9jb2x1bW4+XG4gIDwvY29sdW1ucy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gc21hbGwvbW9iaWxlIGRyYWdnYWJsZSBwb3B1cCB3aW5kb3dzIC0tPlxuPGRpdlxuICBjbGFzcz1cImRyYWdnYWJsZS1wb3B1cC1tb2RlLXdpbmRvd1wiXG4gICpuZ0lmPVwiXG4gICAgYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlICYmICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmICFpc0lmcmFtZVxuICBcIlxuICBjZGtEcmFnXG4gIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25cIlxuICAoY2RrRHJhZ0VuZGVkKT1cIm1vdmVkKCRldmVudClcIj5cbiAgPG5nLXNjcm9sbGJhcj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkbWluVGFic1wiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXNjcm9sbGJhcj5cbjwvZGl2PlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gZnVsbHNjcmVlbiBkcmFnZ2FibGUgcG9wdXAgd2luZG93IC0tPlxuPGRpdlxuICBjbGFzcz1cImRyYWdnYWJsZS1wb3B1cC1tb2RlLXdpbmRvdy1mdWxsXCJcbiAgKm5nSWY9XCJcbiAgICBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgJiZcbiAgICBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmXG4gICAgIWlzSWZyYW1lICYmXG4gICAgIXJlbG9hZGluZ1xuICBcIlxuICBjZGtEcmFnXG4gIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25aZXJvXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPCEtLSAjcmVnaW9uIGNvbnRlbnQgd2hlbiBub3QgaW4gZHJhZ2dhYmxlIChvciBmdWxsc2NyZWVuIGRyYWdnYWJsZSkgcG9wdXAgLS0+XG48ZGl2XG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgKm5nSWY9XCJcbiAgICAoaXNJZnJhbWUgfHxcbiAgICAgICFpc0Rlc2t0b3AgfHxcbiAgICAgIGFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSB8fFxuICAgICAgYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbikgJiZcbiAgICAhcmVsb2FkaW5nXG4gIFwiXG4gIHN0eWxlPVwid2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrXCJcbiAgY2xhc3M9XCJjb250ZW50XCI+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgIGFkbWluLnNjcm9sbGFibGVFbmFibGVkID8gY29udGVudCA6IGNvbnRlbnROb1Njcm9sbFxuICAgIFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBkcmFnZ2FibGUgcG9wdXAgd2luZG93IC0tPlxuPG1hdC1kcmF3ZXItY29udGFpbmVyXG4gICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSAmJiBpc0Rlc2t0b3AgJiYgIWlzSWZyYW1lXCJcbiAgY2xhc3M9XCJleGFtcGxlLWNvbnRhaW5lclwiXG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFwiXG4gIChiYWNrZHJvcENsaWNrKT1cIm9wZW5lZCA9IGZhbHNlXCJcbiAgW2hhc0JhY2tkcm9wXT1cImZhbHNlXCI+XG4gIDxtYXQtZHJhd2VyICNkcmF3ZXIgc3R5bGU9XCJ3aWR0aDogNTgwcHhcIiBbb3BlbmVkXT1cIm9wZW5lZFwiIFttb2RlXT1cIidzaWRlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWRyYXdlcj5cbiAgPG1hdC1kcmF3ZXItY29udGVudCBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIiFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgJiYgIXJlbG9hZGluZ1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgYWRtaW4uc2Nyb2xsYWJsZUVuYWJsZWQgPyBjb250ZW50IDogY29udGVudE5vU2Nyb2xsXG4gICAgICBcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUtBLE9BQU8sRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksWUFBWSxFQUFJLFlBQVksRUFBZ0IsS0FBSyxFQUFjLE1BQU0sRUFBSSxTQUFTLEVBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLENBQUEsS0FBSztBQUN2SyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBTyxNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4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QUFDLG1DQUFtQyxDQUFDO1NBQ3hDLGdCQUFnQixDQUFDLENBQUMsQ0FBQzs7MEVBQ0E7QUFRdEI7SUFIQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZO1NBQzNCLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQztTQUN4QyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7O2tGQUNLOzJGQXJEcEIsbUNBQW1DO2tCQVAvQyxTQUFTOytCQUVFLG1DQUFtQzt1RkFvRHRCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFRWCxxQ0FBcUM7c0JBQTlDLE1BQU07Z0JBQ0UsOEJBQThCO3NCQUF0QyxLQUFLO2dCQTZFTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztBQWtEMUMsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpSEFBaUgiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5cblxuaW1wb3J0IHsgICBDaGFuZ2VEZXRlY3RvclJlZiwgICBDb21wb25lbnQsICAgRXZlbnRFbWl0dGVyLCAgIEhvc3RMaXN0ZW5lciwgICBJbmplY3RvciwgICBJbnB1dCwgICBPbkluaXQsICAgT3V0cHV0LCAgIFZpZXdDaGlsZCwgICBpbmplY3QsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEhlbHBlcnMsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFRhb25BZG1pbiB9IGZyb20gJy4vdGFvbi1hZG1pbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3IgfSBmcm9tICd0YW9uLXN0b3JhZ2UvYnJvd3Nlcic7XG5pbXBvcnQgeyAgIENka0RyYWcsICAgQ2RrRHJhZ0VuZCwgICBDZGtEcmFnTW92ZSwgICBDZGtEcmFnUmVsZWFzZSwgICBQb2ludCwgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEJyZWFrcG9pbnRzU2VydmljZSB9IGZyb20gJ3N0YXRpYy1jb2x1bW5zL2Jyb3dzZXInO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhb25BZG1pbk1vZGVUYWIgfSBmcm9tICcuL21vZGVscy90YW9uLWFkbWluLW1vZGUtdGFicyc7XG5pbXBvcnQgeyBUYW9uQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi90YW9uLWFkbWluLWNvbnRyb2wuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3QgRU5WOiBhbnk7XG5cblxuQENvbXBvbmVudCh7XG5cbiAgc2VsZWN0b3I6ICdhcHAtdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuXG59KVxuZXhwb3J0IGNsYXNzIFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAkZGVzdHJveSA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFvbkFkbWluU2VydmljZSA9IGluamVjdChUYW9uQWRtaW5TZXJ2aWNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzRGVza3RvcDogYm9vbGVhbjtcbiAgcHVibGljIHRhYnM6IFRhb25BZG1pbk1vZGVUYWJbXSA9IFtdO1xuICBwdWJsaWMgYWRtaW46IFRhb25BZG1pbiA9IHdpbmRvd1sndGFvbiddIGFzIFRhb25BZG1pbjtcbiAgcHVibGljIGlzV2ViU1FMTW9kZTogYm9vbGVhbiA9IEhlbHBlcnMuaXNXZWJTUUw7XG4gIHB1YmxpYyBoaWRlVGFvblRvb2xzSW5Qcm9kdWN0aW9uOiBib29sZWFuID1cbiAgICBFTlYuaGlkZVRhb25Ub29sc0luUHJvZHVjdGlvbiAmJiBFTlYuYW5ndWxhclByb2Q7XG4gIHB1YmxpYyBpc0lmcmFtZTogYm9vbGVhbiA9IHdpbmRvdy5sb2NhdGlvbiAhPT0gd2luZG93LnBhcmVudC5sb2NhdGlvbjtcbiAgcHVibGljIGhlaWdodDogbnVtYmVyID0gMTAwO1xuICBwdWJsaWMgb3BlbmVkT25jZSA9IGZhbHNlO1xuICBwdWJsaWMgcmVsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93UGFzc2NvZGU6IGJvb2xlYW4gPVxuICAgIF8uaXNTdHJpbmcoRU5WLnBhc3Njb2RlKSB8fCBfLmlzT2JqZWN0KEVOVi5wYXNzY29kZSk7XG4gIHB1YmxpYyBwYXNzY29kZTogc3RyaW5nID0gXy5pc1N0cmluZyhFTlYucGFzc2NvZGUpXG4gICAgPyBFTlYucGFzc2NvZGVcbiAgICA6IF8uaXNPYmplY3QoRU5WLnBhc3Njb2RlKVxuICAgICAgPyBFTlYucGFzc2NvZGUuY29kZVxuICAgICAgOiAnJztcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZyA9IF8uaXNPYmplY3QoRU5WLnBhc3Njb2RlKVxuICAgID8gRU5WLnBhc3Njb2RlLm1lc3NhZ2VcbiAgICA6IHZvaWQgMDtcblxuICAvLyBAdHMtaWdub3JlXG4gIEBTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoMClcbiAgZHJhZ1Bvc2l0aW9uWDogbnVtYmVyO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlXG4gICAgLmZvcihUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudClcbiAgICAud2l0aERlZmF1bHRWYWx1ZSgwKVxuICBkcmFnUG9zaXRpb25ZOiBudW1iZXI7XG5cbiAgZHJhZ1Bvc2l0aW9uWmVybyA9IHsgeDogMCwgeTogMCB9IGFzIFBvaW50O1xuICBkcmFnUG9zaXRpb246IFBvaW50O1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlXG4gICAgLmZvcihUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudClcbiAgICAud2l0aERlZmF1bHRWYWx1ZSgwKVxuICBzZWxlY3RlZEluZGV4OiBudW1iZXI7XG5cbiAgQFZpZXdDaGlsZCgndGFiR3JvdXAnKSB0YWJHcm91cDtcblxuICAvLyBAdHMtaWdub3JlXG4gIEBTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoZmFsc2UpXG4gIHdhc09wZW5EcmFnZ2FibGVQb3B1cDogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgdGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25EYXRhQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgdGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25EYXRhOiBhbnkgPSB7fTtcbiAgcHVibGljIGdldCBvcGVuZWQoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzSWZyYW1lICYmIHRoaXMuYWRtaW4uYWRtaW5QYW5lbElzT3BlbjtcbiAgfVxuICBwdWJsaWMgc2V0IG9wZW5lZCh2KSB7XG4gICAgaWYgKHYgJiYgIXRoaXMub3BlbmVkT25jZSkge1xuICAgICAgdGhpcy5vcGVuZWRPbmNlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMud2FzT3BlbkRyYWdnYWJsZVBvcHVwKSB7XG4gICAgICB0aGlzLndhc09wZW5EcmFnZ2FibGVQb3B1cCA9IGZhbHNlO1xuICAgICAgdGhpcy5hZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmFkbWluLmFkbWluUGFuZWxJc09wZW4gPSB2O1xuICB9XG5cblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnJlYWtwb2ludHNTZXJ2aWNlOiBCcmVha3BvaW50c1NlcnZpY2UpIHtcbiAgICB0aGlzLmFkbWluLmNtcCA9IHRoaXM7XG4gICAgdGhpcy5icmVha3BvaW50c1NlcnZpY2VcbiAgICAgIC5saXN0ZW5UbygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKGJyZWFrcG9pbnQgPT4ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMuaXNEZXNrdG9wID0gYnJlYWtwb2ludCA9PT0gJ2Rlc2t0b3AnO1xuICAgICAgfSk7XG4gICAgdGhpcy50YW9uQWRtaW5TZXJ2aWNlLmluaXQodGhpcyk7XG4gIH1cblxuXG4gIHJlbG9hZFRhYnMoKSB7XG4gICAgdGhpcy5yZWxvYWRpbmcgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZWxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIGNvbnNvbGUubG9nKCdyZWxvYWRpbmcgZG9uZScpO1xuICAgIH0pO1xuICB9XG5cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCBTdG9yLmF3YWl0UGVuZGluZ09wZXJhdGlvcygpO1xuXG5cblxuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0geyB4OiB0aGlzLmRyYWdQb3NpdGlvblgsIHk6IHRoaXMuZHJhZ1Bvc2l0aW9uWSB9O1xuICAgIHRoaXMub3BlbmVkT25jZSA9IHRoaXMub3BlbmVkO1xuXG5cblxuXG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvL0NhbGxlZCBhZnRlciBuZ0FmdGVyQ29udGVudEluaXQgd2hlbiB0aGUgY29tcG9uZW50J3MgdmlldyBoYXMgYmVlbiBpbml0aWFsaXplZC4gQXBwbGllcyB0byBjb21wb25lbnRzIG9ubHkuXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCcgdG8gdGhlIGNsYXNzLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cblxuICAgICAgaWYgKHRoaXMuYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlKSB7XG4gICAgICAgIHRoaXMucmVsb2FkVGFicygpO1xuICAgICAgfVxuXG5cblxuXG5cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJGRlc3Ryb3kubmV4dCh2b2lkIDApO1xuICAgIHRoaXMuJGRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgfVxuXG5cblxuXG4gIGFzeW5jIHRvb2dsZSgpIHtcblxuICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xuICB9XG5cbiAgYXN5bmMgdG9vZ2xlRnVsbFNjcmVlbigpIHtcbiAgICB0aGlzLmFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSA9IHRydWU7XG4gICAgdGhpcy5hZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuID1cbiAgICAgICF0aGlzLmFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW47XG4gICAgdGhpcy5yZXNldERyYWcoKTtcbiAgfVxuXG4gIHJlc2V0RHJhZygpIHtcbiAgICB0aGlzLmRyYWdQb3NpdGlvblggPSAwO1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uWSA9IDA7XG4gICAgdGhpcy5kcmFnUG9zaXRpb24gPSB7IHg6IHRoaXMuZHJhZ1Bvc2l0aW9uWCwgeTogdGhpcy5kcmFnUG9zaXRpb25ZIH07XG4gIH1cblxuICBtb3ZlZChjOiBDZGtEcmFnRW5kKSB7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25YICs9IGMuZGlzdGFuY2UueDtcbiAgICB0aGlzLmRyYWdQb3NpdGlvblkgKz0gYy5kaXN0YW5jZS55O1xuICB9XG5cbiAgc2Nyb2xsVGFicyhldmVudCkge1xuICAgIHJldHVybjtcblxuXG5cblxuXG5cblxuXG5cblxuICB9XG5cblxufVxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3VpL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIjwhLS0gI3JlZ2lvbiBiYXNpYyBnbG9iYWwgY29tcG9uZW50cyAgLS0+XG48dGFvbi1zZXNzaW9uLXBhc3Njb2RlXG4gICpuZ0lmPVwic2hvd1Bhc3Njb2RlXCJcbiAgW3Bhc3Njb2RlXT1cInBhc3Njb2RlXCJcbiAgW21lc3NhZ2VdPVwibWVzc2FnZVwiIC8+XG48IS0tIDx0YW9uLXByb2dyZXNzLWJhciBbaXNEZXNrdG9wXT1cImlzRGVza3RvcFwiPjwvdGFvbi1wcm9ncmVzcy1iYXI+IC0tPlxuPCEtLSA8dGFvbi1ub3RpZmljYXRpb25zPjwvdGFvbi1ub3RpZmljYXRpb25zPiAtLT5cbjxidXR0b25cbiAgbWF0LWZhYlxuICBjbGFzcz1cImZhYi1idXR0b25cIlxuICBjb2xvcj1cImFjY2VudFwiXG4gIGFyaWEtbGFiZWw9XCJUYW9uIEFkbWluIE1vZGVcIlxuICAqbmdJZj1cIlxuICAgICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgJiZcbiAgICBpc0Rlc2t0b3AgJiZcbiAgICAhaXNJZnJhbWUgJiZcbiAgICAhaGlkZVRhb25Ub29sc0luUHJvZHVjdGlvblxuICBcIlxuICAoY2xpY2spPVwidG9vZ2xlKClcIj5cbiAgPG1hdC1pY29uPmJ1aWxkPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gc21hbGwgaGlkZGVuIGJ1dHRvbiAtLT5cbjwhLS0gPGJ1dHRvbiBjbGFzcz1cImFkbWluLXNob3ctYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCIhYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlICYmIGlzRGVza3RvcFwiXG4gICAgICAgIChjbGljayk9XCJ0b29nbGUoKVwiPiBBZG1pbiA8L2J1dHRvbj4gLS0+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudE5vU2Nyb2xsPlxuICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctc2Nyb2xsYmFyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudE5vU2Nyb2xsXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctc2Nyb2xsYmFyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSAjcmVnaW9uIGFkbWluIHRhYnMgLS0+XG48bmctdGVtcGxhdGUgI2FkbWluVGFicz5cbiAgPGRpdiBjbGFzcz1cInRhb24taGVhZGVyLWFkbWluLXdyYXBwZXJcIj5cbiAgICA8Y29sdW1ucy1jb250YWluZXJcbiAgICAgIGNsYXNzPVwidGFvbi1oZWFkZXItYWRtaW5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnZHJhZ2dhYmxlLWNvbHVtbic6IGFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSB9XCI+XG4gICAgICA8Y29sdW1uIHdpZHRoPVwiMjAwXCIgY2xhc3M9XCJsb2dvLWhlYWRlclwiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgKm5nSWY9XCJvcGVuZWRPbmNlXCJcbiAgICAgICAgICBzcmM9XCIvVFRUVFRUVFRPT09PT09PT19fX19fX19fUlJSUlJSUlJFRUVFRUVFRU1NTU1NTU1NT09PT09PT09WVlZWVlZWVkVFRUVFRUVFYXNzZXRzL2Fzc2V0cy1mb3IvdGFvbi9zaGFyZWQvbG9nby1oZWFkZXItYWRtaW4tbW9kZS5wbmdcIiAvPlxuICAgICAgPC9jb2x1bW4+XG5cbiAgICAgIDxjb2x1bW4gZ3Jvdz5cbiAgICAgICAgPCEtLSA8c3Bhbj5TdXBlciBBZG1pbiBNb2RlPC9zcGFuPiAtLT5cbiAgICAgIDwvY29sdW1uPlxuXG4gICAgICA8Y29sdW1uXG4gICAgICAgIHdpZHRoPVwiNDBcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVcbiAgICAgICAgXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICBvcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHdhc09wZW5EcmFnZ2FibGVQb3B1cCA9IHRydWVcbiAgICAgICAgICBcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJ0b29nbGUoKVwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY29sdW1uPlxuXG4gICAgICA8Y29sdW1uIHdpZHRoPVwiNDBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW5cIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9vZ2xlRnVsbFNjcmVlbigpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlblwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJ0b29nbGVGdWxsU2NyZWVuKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2VfZnVsbHNjcmVlbjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9jb2x1bW4+XG5cbiAgICAgIDxjb2x1bW4gd2lkdGg9XCI0MFwiICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSA9IHRydWVcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmxhdW5jaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSA9IGZhbHNlOyByZXNldERyYWcoKVwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIj5cbiAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpXCI+bG9naW48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvY29sdW1uPlxuICAgIDwvY29sdW1ucy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxjb2x1bW5zLWNvbnRhaW5lclxuICAgIFtuZ0NsYXNzXT1cInsgJ2RyYWdnYWJsZS1jb2x1bW4nOiBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgfVwiPlxuICAgIDxjb2x1bW4gZ3Jvdz5cbiAgICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICAgIGR5bmFtaWNIZWlnaHRcbiAgICAgICAgKHdoZWVsKT1cInNjcm9sbFRhYnMoJGV2ZW50KVwiXG4gICAgICAgICN0YWJHcm91cFxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleCA9ICRldmVudFwiPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkRCL0NhY2hlXCI+XG4gICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPldFQlNRTCBNT0RFPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNXZWJTUUxNb2RlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFkbWluLmtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZFwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBhZG1pbi5zZXRLZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQoJGV2ZW50LmNoZWNrZWQpXG4gICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICAgIERvbid0IHJlbW92ZSBkYXRhIHdoZW4gcmVsb2FkaW5nXG4gICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDx0YW9uLWRiLWFkbWluIC8+XG4gICAgICAgIDwvbWF0LXRhYj5cblxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkZpbGVzXCIgKm5nSWY9XCJhZG1pbi5lbmFibGVkVGFicy5pbmNsdWRlcygnZmlsZXMnKVwiPlxuICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhZG1pbi5maWxlc0VkaXRNb2RlXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJhZG1pbi5zZXRFZGl0TW9kZSgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICAgICAgICA+RWRpdCBtb2RlPC9tYXQtY2hlY2tib3hcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPCEtLSBhZG1pbi5maWxlc0VkaXRNb2RlOiB7eyBhZG1pbi5maWxlc0VkaXRNb2RlIH19IC0tPlxuICAgICAgICAgIDwhLS0gPHRhb24tYWRtaW4tZWRpdC1tb2RlICpuZ0lmPVwiYWRtaW4uZmlsZXNFZGl0TW9kZVwiPlxuICAgICAgICAgIDwvdGFvbi1hZG1pbi1lZGl0LW1vZGU+IC0tPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDxociAqbmdJZj1cImFkbWluLmZpbGVzRWRpdE1vZGVcIiAvPlxuICAgICAgICAgIDwhLS0gPHNlY3Rpb24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uPltUT0RPXSBDbGVhciBGaWxlcyBmcm9tIGJyb3dzZXIgY2FjaGUgPC9idXR0b24+IDxicj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+W1RPRE9dIFN0YXJ0IGZpbGVzIGV4cG9ydCAoYXMgemlwKSA8L2J1dHRvbj4gPGJyPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5bVE9ET10gSW1wb3J0IHdob2xlIGRhdGFiYXNlIChmcm9tIHppcCkgPC9idXR0b24+PGJyPlxuICAgICAgICAgIDwvc2VjdGlvbj4gLS0+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCIgbGFiZWw9XCJ7eyB0YWIubmFtZSB9fVwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZnVsbC10YWJzXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0IC0gMTUwXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzSWZyYW1lXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzSWZyYW1lXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbWF0LXRhYj5cblxuICAgICAgICA8IS0tIDxtYXQtdGFiIGxhYmVsPVwiUG9ydGFsXCI+XG4gICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94PltUT0RPXSBNYWludGVuYW5jZSBNb2RlIGZvciB3aG9sZSBwb3J0YWw8L21hdC1jaGVja2JveD5cblxuICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWw+XG5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgIFtUT0RPXSBBY3RpdmUgVXNlcjogODA0MzJcbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5bVE9ET10gU2VuZCBub3RpZmljYXRpb24gdG8gdXNlcnMgPC9idXR0b24+PGJyPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+W1RPRE9dIFNlbmQgZW1haWwgdG8gdXNlcnMgPC9idXR0b24+PGJyPlxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgIFtUT0RPXSBFbmFibGUgZmVhdHVyZXNcbiAgICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveD5bVE9ET10gQUIgdGVzdGluZzwvbWF0LWNoZWNrYm94PiA8YnI+XG4gICAgICAgICAgICAgIDxtYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgW1RPRE9dIE5ld3NsZXR0ZXIgZW1haWwgcXVlc3Rpb24gcG9wdXBcbiAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+IDxicj5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICBbVE9ET10gUHJvbW90aW9uIHBvcHVwXG4gICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PiA8YnI+XG4gICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiVXNlclwiPlxuICAgICAgICAgIFdlbGNvbWUgaW4gdXNlciBtYW5hZ2VtZW50c1xuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiVHJhbnNsYXRpb25zXCI+XG4gICAgICAgICAgV2VsY29tZSBpbiB1c2VyIG1hbmFnZW1lbnRzXG4gICAgICAgIDwvbWF0LXRhYj4gLS0+XG4gICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgPC9jb2x1bW4+XG4gIDwvY29sdW1ucy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gc21hbGwvbW9iaWxlIGRyYWdnYWJsZSBwb3B1cCB3aW5kb3dzIC0tPlxuPGRpdlxuICBjbGFzcz1cImRyYWdnYWJsZS1wb3B1cC1tb2RlLXdpbmRvd1wiXG4gICpuZ0lmPVwiXG4gICAgYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlICYmICFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmICFpc0lmcmFtZVxuICBcIlxuICBjZGtEcmFnXG4gIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25cIlxuICAoY2RrRHJhZ0VuZGVkKT1cIm1vdmVkKCRldmVudClcIj5cbiAgPG5nLXNjcm9sbGJhcj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkbWluVGFic1wiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXNjcm9sbGJhcj5cbjwvZGl2PlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gZnVsbHNjcmVlbiBkcmFnZ2FibGUgcG9wdXAgd2luZG93IC0tPlxuPGRpdlxuICBjbGFzcz1cImRyYWdnYWJsZS1wb3B1cC1tb2RlLXdpbmRvdy1mdWxsXCJcbiAgKm5nSWY9XCJcbiAgICBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgJiZcbiAgICBhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmXG4gICAgIWlzSWZyYW1lICYmXG4gICAgIXJlbG9hZGluZ1xuICBcIlxuICBjZGtEcmFnXG4gIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25aZXJvXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPCEtLSAjcmVnaW9uIGNvbnRlbnQgd2hlbiBub3QgaW4gZHJhZ2dhYmxlIChvciBmdWxsc2NyZWVuIGRyYWdnYWJsZSkgcG9wdXAgLS0+XG48ZGl2XG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgKm5nSWY9XCJcbiAgICAoaXNJZnJhbWUgfHxcbiAgICAgICFpc0Rlc2t0b3AgfHxcbiAgICAgIGFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSB8fFxuICAgICAgYWRtaW4uZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbikgJiZcbiAgICAhcmVsb2FkaW5nXG4gIFwiXG4gIHN0eWxlPVwid2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrXCJcbiAgY2xhc3M9XCJjb250ZW50XCI+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgIGFkbWluLnNjcm9sbGFibGVFbmFibGVkID8gY29udGVudCA6IGNvbnRlbnROb1Njcm9sbFxuICAgIFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBkcmFnZ2FibGUgcG9wdXAgd2luZG93IC0tPlxuPG1hdC1kcmF3ZXItY29udGFpbmVyXG4gICpuZ0lmPVwiIWFkbWluLmRyYWdnYWJsZVBvcHVwTW9kZSAmJiBpc0Rlc2t0b3AgJiYgIWlzSWZyYW1lXCJcbiAgY2xhc3M9XCJleGFtcGxlLWNvbnRhaW5lclwiXG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFwiXG4gIChiYWNrZHJvcENsaWNrKT1cIm9wZW5lZCA9IGZhbHNlXCJcbiAgW2hhc0JhY2tkcm9wXT1cImZhbHNlXCI+XG4gIDxtYXQtZHJhd2VyICNkcmF3ZXIgc3R5bGU9XCJ3aWR0aDogNTgwcHhcIiBbb3BlbmVkXT1cIm9wZW5lZFwiIFttb2RlXT1cIidzaWRlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWRyYXdlcj5cbiAgPG1hdC1kcmF3ZXItY29udGVudCBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIiFhZG1pbi5kcmFnZ2FibGVQb3B1cE1vZGUgJiYgIXJlbG9hZGluZ1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgYWRtaW4uc2Nyb2xsYWJsZUVuYWJsZWQgPyBjb250ZW50IDogY29udGVudE5vU2Nyb2xsXG4gICAgICBcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuIl19
@@ -0,0 +1,54 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TaonAdminModeConfigurationComponent } from './taon-admin-mode-configuration.component';
4
+ import { TaonFullMaterialModule } from '../taon-full-material.module';
5
+ import { StaticColumnsModule } from 'static-columns/browser';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { TaonAdminEditModeModule } from './components/taon-admin-edit-mode';
8
+ import { NgScrollbarModule } from 'ngx-scrollbar';
9
+ import { TaonProgressBarModule } from '../taon-progress-bar';
10
+ import { TaonNotificationsModule } from '../taon-notifications';
11
+ import { TaonSessionPasscodeComponent } from '../taon-session-passcode';
12
+ import * as i0 from "@angular/core";
13
+ export class TaonAdminModeConfigurationModule {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, declarations: [TaonAdminModeConfigurationComponent], imports: [CommonModule,
16
+ StaticColumnsModule,
17
+ FormsModule,
18
+ NgScrollbarModule,
19
+ TaonAdminEditModeModule,
20
+ TaonProgressBarModule,
21
+ TaonNotificationsModule,
22
+ TaonFullMaterialModule, // TODO import only partial things
23
+ TaonSessionPasscodeComponent], exports: [TaonAdminModeConfigurationComponent] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, imports: [CommonModule,
25
+ StaticColumnsModule,
26
+ FormsModule,
27
+ NgScrollbarModule,
28
+ TaonAdminEditModeModule,
29
+ TaonProgressBarModule,
30
+ TaonNotificationsModule,
31
+ TaonFullMaterialModule, // TODO import only partial things
32
+ TaonSessionPasscodeComponent] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, decorators: [{
35
+ type: NgModule,
36
+ args: [{
37
+ imports: [
38
+ CommonModule,
39
+ StaticColumnsModule,
40
+ FormsModule,
41
+ NgScrollbarModule,
42
+ TaonAdminEditModeModule,
43
+ TaonProgressBarModule,
44
+ TaonNotificationsModule,
45
+ TaonFullMaterialModule, // TODO import only partial things
46
+ TaonSessionPasscodeComponent,
47
+ ],
48
+ declarations: [TaonAdminModeConfigurationComponent],
49
+ exports: [TaonAdminModeConfigurationComponent],
50
+ }]
51
+ }] });
52
+ ;
53
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.ts
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWtCeEUsTUFBTSxPQUFPLGdDQUFnQzs4R0FBaEMsZ0NBQWdDOytHQUFoQyxnQ0FBZ0MsaUJBSDVCLG1DQUFtQyxhQVhoRCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsc0JBQXNCLEVBQUUsa0NBQWtDO1lBRTFELDRCQUE0QixhQUdwQixtQ0FBbUM7K0dBRWxDLGdDQUFnQyxZQWR6QyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsc0JBQXNCLEVBQUUsa0NBQWtDO1lBRTFELDRCQUE0Qjs7MkZBS25CLGdDQUFnQztrQkFoQjVDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCLEVBQUUsa0NBQWtDO3dCQUUxRCw0QkFBNEI7cUJBQzdCO29CQUNELFlBQVksRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNuRCxPQUFPLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDL0M7O0FBSUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4R0FBOEciLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBJbmplY3RvciwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFRhb25GdWxsTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi90YW9uLWZ1bGwtbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IFN0YXRpY0NvbHVtbnNNb2R1bGUgfSBmcm9tICdzdGF0aWMtY29sdW1ucy9icm93c2VyJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGFvbkFkbWluRWRpdE1vZGVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFvbi1hZG1pbi1lZGl0LW1vZGUnO1xuaW1wb3J0IHsgTmdTY3JvbGxiYXJNb2R1bGUgfSBmcm9tICduZ3gtc2Nyb2xsYmFyJztcbmltcG9ydCB7IFRhb25Qcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJy4uL3Rhb24tcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IFRhb25Ob3RpZmljYXRpb25zTW9kdWxlIH0gZnJvbSAnLi4vdGFvbi1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XG5cbmltcG9ydCB7IFRhb25TZXNzaW9uUGFzc2NvZGVDb21wb25lbnQgfSBmcm9tICcuLi90YW9uLXNlc3Npb24tcGFzc2NvZGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0YXRpY0NvbHVtbnNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdTY3JvbGxiYXJNb2R1bGUsXG4gICAgVGFvbkFkbWluRWRpdE1vZGVNb2R1bGUsXG4gICAgVGFvblByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFRhb25Ob3RpZmljYXRpb25zTW9kdWxlLFxuICAgIFRhb25GdWxsTWF0ZXJpYWxNb2R1bGUsIC8vIFRPRE8gaW1wb3J0IG9ubHkgcGFydGlhbCB0aGluZ3NcblxuICAgIFRhb25TZXNzaW9uUGFzc2NvZGVDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1Rhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1Rhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Nb2R1bGUge31cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24ubW9kdWxlLnRzIl19
@@ -0,0 +1,179 @@
1
+ import { A11yModule } from '@angular/cdk/a11y';
2
+ import { DragDropModule } from '@angular/cdk/drag-drop';
3
+ import { ScrollingModule } from '@angular/cdk/scrolling';
4
+ import { CdkStepperModule } from '@angular/cdk/stepper';
5
+ import { CdkTableModule } from '@angular/cdk/table';
6
+ import { CdkTreeModule } from '@angular/cdk/tree';
7
+ import { NgModule } from '@angular/core';
8
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
9
+ import { MatBadgeModule } from '@angular/material/badge';
10
+ import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
11
+ import { MatButtonModule } from '@angular/material/button';
12
+ import { MatCardModule } from '@angular/material/card';
13
+ import { MatCheckboxModule } from '@angular/material/checkbox';
14
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
15
+ import { MatStepperModule } from '@angular/material/stepper';
16
+ import { MatDialogModule } from '@angular/material/dialog';
17
+ import { MatExpansionModule } from '@angular/material/expansion';
18
+ import { MatGridListModule } from '@angular/material/grid-list';
19
+ import { MatIconModule } from '@angular/material/icon';
20
+ import { MatListModule } from '@angular/material/list';
21
+ import { MatDatepickerModule } from '@angular/material/datepicker';
22
+ import { MatPaginatorModule } from '@angular/material/paginator';
23
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
24
+ import { MatChipsModule } from '@angular/material/chips';
25
+ import { MatDividerModule } from '@angular/material/divider';
26
+ import { MatInputModule } from '@angular/material/input';
27
+ import { MatMenuModule } from '@angular/material/menu';
28
+ import { MatNativeDateModule } from '@angular/material/core';
29
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
30
+ import { MatRadioModule } from '@angular/material/radio';
31
+ import { MatRippleModule } from '@angular/material/core';
32
+ import { MatSelectModule } from '@angular/material/select';
33
+ import { MatSidenavModule } from '@angular/material/sidenav';
34
+ import { MatSliderModule } from '@angular/material/slider';
35
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
36
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
37
+ import { MatSortModule } from '@angular/material/sort';
38
+ import { MatTableModule } from '@angular/material/table';
39
+ import { MatTabsModule } from '@angular/material/tabs';
40
+ import { MatToolbarModule } from '@angular/material/toolbar';
41
+ import { MatTooltipModule } from '@angular/material/tooltip';
42
+ import { MatTreeModule } from '@angular/material/tree';
43
+ import * as i0 from "@angular/core";
44
+ export class TaonFullMaterialModule {
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
46
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, exports: [A11yModule,
47
+ CdkStepperModule,
48
+ CdkTableModule,
49
+ CdkTreeModule,
50
+ DragDropModule,
51
+ MatAutocompleteModule,
52
+ MatBadgeModule,
53
+ MatBottomSheetModule,
54
+ MatButtonModule,
55
+ MatButtonToggleModule,
56
+ MatCardModule,
57
+ MatCheckboxModule,
58
+ MatChipsModule,
59
+ MatStepperModule,
60
+ MatDatepickerModule,
61
+ MatDialogModule,
62
+ MatDividerModule,
63
+ MatExpansionModule,
64
+ MatGridListModule,
65
+ MatIconModule,
66
+ MatInputModule,
67
+ MatListModule,
68
+ MatMenuModule,
69
+ MatNativeDateModule,
70
+ MatPaginatorModule,
71
+ MatProgressBarModule,
72
+ MatProgressSpinnerModule,
73
+ MatRadioModule,
74
+ MatRippleModule,
75
+ MatSelectModule,
76
+ MatSidenavModule,
77
+ MatSliderModule,
78
+ MatSlideToggleModule,
79
+ MatSnackBarModule,
80
+ MatSortModule,
81
+ MatTableModule,
82
+ MatTabsModule,
83
+ MatToolbarModule,
84
+ MatTooltipModule,
85
+ MatTreeModule,
86
+ ScrollingModule] }); }
87
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, imports: [A11yModule,
88
+ CdkStepperModule,
89
+ CdkTableModule,
90
+ CdkTreeModule,
91
+ DragDropModule,
92
+ MatAutocompleteModule,
93
+ MatBadgeModule,
94
+ MatBottomSheetModule,
95
+ MatButtonModule,
96
+ MatButtonToggleModule,
97
+ MatCardModule,
98
+ MatCheckboxModule,
99
+ MatChipsModule,
100
+ MatStepperModule,
101
+ MatDatepickerModule,
102
+ MatDialogModule,
103
+ MatDividerModule,
104
+ MatExpansionModule,
105
+ MatGridListModule,
106
+ MatIconModule,
107
+ MatInputModule,
108
+ MatListModule,
109
+ MatMenuModule,
110
+ MatNativeDateModule,
111
+ MatPaginatorModule,
112
+ MatProgressBarModule,
113
+ MatProgressSpinnerModule,
114
+ MatRadioModule,
115
+ MatRippleModule,
116
+ MatSelectModule,
117
+ MatSidenavModule,
118
+ MatSliderModule,
119
+ MatSlideToggleModule,
120
+ MatSnackBarModule,
121
+ MatSortModule,
122
+ MatTableModule,
123
+ MatTabsModule,
124
+ MatToolbarModule,
125
+ MatTooltipModule,
126
+ MatTreeModule,
127
+ ScrollingModule] }); }
128
+ }
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, decorators: [{
130
+ type: NgModule,
131
+ args: [{
132
+ exports: [
133
+ A11yModule,
134
+ CdkStepperModule,
135
+ CdkTableModule,
136
+ CdkTreeModule,
137
+ DragDropModule,
138
+ MatAutocompleteModule,
139
+ MatBadgeModule,
140
+ MatBottomSheetModule,
141
+ MatButtonModule,
142
+ MatButtonToggleModule,
143
+ MatCardModule,
144
+ MatCheckboxModule,
145
+ MatChipsModule,
146
+ MatStepperModule,
147
+ MatDatepickerModule,
148
+ MatDialogModule,
149
+ MatDividerModule,
150
+ MatExpansionModule,
151
+ MatGridListModule,
152
+ MatIconModule,
153
+ MatInputModule,
154
+ MatListModule,
155
+ MatMenuModule,
156
+ MatNativeDateModule,
157
+ MatPaginatorModule,
158
+ MatProgressBarModule,
159
+ MatProgressSpinnerModule,
160
+ MatRadioModule,
161
+ MatRippleModule,
162
+ MatSelectModule,
163
+ MatSidenavModule,
164
+ MatSliderModule,
165
+ MatSlideToggleModule,
166
+ MatSnackBarModule,
167
+ MatSortModule,
168
+ MatTableModule,
169
+ MatTabsModule,
170
+ MatToolbarModule,
171
+ MatTooltipModule,
172
+ MatTreeModule,
173
+ ScrollingModule,
174
+ ],
175
+ }]
176
+ }] });
177
+ ;
178
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-full-material.module.ts
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1mdWxsLW1hdGVyaWFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3VpL3Rhb24tZnVsbC1tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBK0N2RCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQTNDL0IsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixjQUFjO1lBQ2QsYUFBYTtZQUNiLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixjQUFjO1lBQ2QsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7K0dBR04sc0JBQXNCLFlBM0MvQixVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxhQUFhO1lBQ2IsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1lBQ2IsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLHdCQUF3QjtZQUN4QixjQUFjO1lBQ2QsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZUFBZTs7MkZBR04sc0JBQXNCO2tCQTdDbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixlQUFlO3FCQUNoQjtpQkFDRjs7QUFJQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFFQUFxRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDZGtTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xuaW1wb3J0IHsgQ2RrVGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IE1hdFN0ZXBwZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0R3JpZExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9ncmlkLWxpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0VHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xuXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbXG4gICAgQTExeU1vZHVsZSxcbiAgICBDZGtTdGVwcGVyTW9kdWxlLFxuICAgIENka1RhYmxlTW9kdWxlLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdEJhZGdlTW9kdWxlLFxuICAgIE1hdEJvdHRvbVNoZWV0TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRTdGVwcGVyTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxuICAgIE1hdEdyaWRMaXN0TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBNYXRSaXBwbGVNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0VHJlZU1vZHVsZSxcbiAgICBTY3JvbGxpbmdNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhb25GdWxsTWF0ZXJpYWxNb2R1bGUge31cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvdWkvdGFvbi1mdWxsLW1hdGVyaWFsLm1vZHVsZS50cyJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './taon-github-fork-me-corner.component';
2
+ export * from './taon-github-fork-me-corner.module';
3
+ ;
4
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/index.ts
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi91aS90YW9uLWdpdGh1Yi1mb3JrLW1lLWNvcm5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxjQUFjLHdDQUF3QyxDQUFDO0FBR3ZELGNBQWMscUNBQXFDLENBQUM7QUFFbkQsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0RUFBNEUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5leHBvcnQgKiBmcm9tICcuL3Rhb24tZ2l0aHViLWZvcmstbWUtY29ybmVyLmNvbXBvbmVudCc7XG5cblxuZXhwb3J0ICogZnJvbSAnLi90YW9uLWdpdGh1Yi1mb3JrLW1lLWNvcm5lci5tb2R1bGUnO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvdWkvdGFvbi1naXRodWItZm9yay1tZS1jb3JuZXIvaW5kZXgudHMiXX0=
@@ -0,0 +1,18 @@
1
+ import { Component, Input, } from '@angular/core'; /* */
2
+ import * as i0 from "@angular/core";
3
+ export class TaonGithubForkMeCornerComponent {
4
+ constructor() {
5
+ this.url = 'https://github.com';
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonGithubForkMeCornerComponent, selector: "taon-github-fork-me-corner", inputs: { url: "url" }, ngImport: i0, template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>\n", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'taon-github-fork-me-corner', template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>\n", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }]
13
+ }], propDecorators: { url: [{
14
+ type: Input
15
+ }] } });
16
+ ;
17
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.ts
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1naXRodWItZm9yay1tZS1jb3JuZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1naXRodWItZm9yay1tZS1jb3JuZXIvdGFvbi1naXRodWItZm9yay1tZS1jb3JuZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1naXRodWItZm9yay1tZS1jb3JuZXIvdGFvbi1naXRodWItZm9yay1tZS1jb3JuZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFJLFNBQVMsRUFBbUMsS0FBSyxHQUF1QixNQUFNLGVBQWUsQ0FBQyxDQUFBLEtBQUs7O0FBZTlHLE1BQU0sT0FBTywrQkFBK0I7SUFMNUM7UUFNVyxRQUFHLEdBQVcsb0JBQW9CLENBQUM7S0FDN0M7OEdBRlksK0JBQStCO2tHQUEvQiwrQkFBK0IsMEZDbEI1QywrMENBMEJBOzsyRkRSYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQUs3QixHQUFHO3NCQUFYLEtBQUs7O0FBR1AsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyR0FBMkciLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyAgIENvbXBvbmVudCwgICBFdmVudEVtaXR0ZXIsICAgSG9zdEJpbmRpbmcsICAgSW5wdXQsICAgT25Jbml0LCAgIE91dHB1dCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGFvbi1naXRodWItZm9yay1tZS1jb3JuZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFvbi1naXRodWItZm9yay1tZS1jb3JuZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YW9uLWdpdGh1Yi1mb3JrLW1lLWNvcm5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYW9uR2l0aHViRm9ya01lQ29ybmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdXJsOiBzdHJpbmcgPSAnaHR0cHM6Ly9naXRodWIuY29tJztcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3VpL3Rhb24tZ2l0aHViLWZvcmstbWUtY29ybmVyL3Rhb24tZ2l0aHViLWZvcmstbWUtY29ybmVyLmNvbXBvbmVudC50cyIsIjxhIGhyZWY9XCJ7eyB1cmwgfX1cIiBjbGFzcz1cImdpdGh1Yi1jb3JuZXJcIiBhcmlhLWxhYmVsPVwiVmlldyBzb3VyY2Ugb24gR2l0SHViXCJcbiAgPjxzdmdcbiAgICB3aWR0aD1cIjgwXCJcbiAgICBoZWlnaHQ9XCI4MFwiXG4gICAgdmlld0JveD1cIjAgMCAyNTAgMjUwXCJcbiAgICBzdHlsZT1cIlxuICAgICAgZmlsbDogIzE1MTUxMztcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8cGF0aCBkPVwiTTAsMCBMMTE1LDExNSBMMTMwLDExNSBMMTQyLDE0MiBMMjUwLDI1MCBMMjUwLDAgWlwiPjwvcGF0aD5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0xMjguMywxMDkuMCBDMTEzLjgsOTkuNyAxMTkuMCw4OS42IDExOS4wLDg5LjYgQzEyMi4wLDgyLjcgMTIwLjUsNzguNiAxMjAuNSw3OC42IEMxMTkuMiw3Mi4wIDEyMy40LDc2LjMgMTIzLjQsNzYuMyBDMTI3LjMsODAuOSAxMjUuNSw4Ny4zIDEyNS41LDg3LjMgQzEyMi45LDk3LjYgMTMwLjYsMTAxLjkgMTM0LjQsMTAzLjJcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICBzdHlsZT1cInRyYW5zZm9ybS1vcmlnaW46IDEzMHB4IDEwNnB4XCJcbiAgICAgIGNsYXNzPVwib2N0by1hcm1cIj48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTE1LjAsMTE1LjAgQzExNC45LDExNS4xIDExOC43LDExNi41IDExOS44LDExNS40IEwxMzMuNywxMDEuNiBDMTM2LjksOTkuMiAxMzkuOSw5OC40IDE0Mi4yLDk4LjYgQzEzMy44LDg4LjAgMTI3LjUsNzQuNCAxNDMuOCw1OC4wIEMxNDguNSw1My40IDE1NC4wLDUxLjIgMTU5LjcsNTEuMCBDMTYwLjMsNDkuNCAxNjMuMiw0My42IDE3MS40LDQwLjEgQzE3MS40LDQwLjEgMTc2LjEsNDIuNSAxNzguOCw1Ni4yIEMxODMuMSw1OC42IDE4Ny4yLDYxLjggMTkwLjksNjUuNCBDMTk0LjUsNjkuMCAxOTcuNyw3My4yIDIwMC4xLDc3LjYgQzIxMy44LDgwLjIgMjE2LjMsODQuOSAyMTYuMyw4NC45IEMyMTIuNyw5My4xIDIwNi45LDk2LjAgMjA1LjQsOTYuNiBDMjA1LjEsMTAyLjQgMjAzLjAsMTA3LjggMTk4LjMsMTEyLjUgQzE4MS45LDEyOC45IDE2OC4zLDEyMi41IDE1Ny43LDExNC4xIEMxNTcuOSwxMTYuOSAxNTYuNywxMjAuOSAxNTIuNywxMjQuOSBMMTQxLjAsMTM2LjUgQzEzOS44LDEzNy43IDE0MS42LDE0MS45IDE0MS44LDE0MS44IFpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICBjbGFzcz1cIm9jdG8tYm9keVwiPjwvcGF0aD5cbiAgPC9zdmc+XG48L2E+XG4iXX0=