bbj-screen-widget 2.4.45 → 2.4.46

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 (717) hide show
  1. package/core/package.json +2 -10
  2. package/core/src/service/baidu-map.service.ts +107 -0
  3. package/karma.conf.js +32 -0
  4. package/ng-package.json +59 -0
  5. package/package.json +4 -13
  6. package/src/lib/announcement/announcement.component.html +3 -0
  7. package/src/lib/announcement/announcement.component.less +5 -0
  8. package/src/lib/announcement/announcement.component.spec.ts +25 -0
  9. package/src/lib/announcement/announcement.component.ts +55 -0
  10. package/src/lib/announcement/announcement.module.ts +19 -0
  11. package/src/lib/audio/audio.component.html +6 -0
  12. package/src/lib/audio/audio.component.less +12 -0
  13. package/src/lib/audio/audio.component.spec.ts +25 -0
  14. package/src/lib/audio/audio.component.ts +167 -0
  15. package/src/lib/audio/audio.module.ts +15 -0
  16. package/src/lib/background/background.component.html +1 -0
  17. package/src/lib/background/background.component.less +6 -0
  18. package/src/lib/background/background.component.spec.ts +25 -0
  19. package/src/lib/background/background.component.ts +33 -0
  20. package/src/lib/background/background.module.ts +14 -0
  21. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.html +1 -0
  22. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.less +8 -0
  23. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.spec.ts +25 -0
  24. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.ts +271 -0
  25. package/src/lib/bar-chart-three-d/bar-chart-three-d.module.ts +15 -0
  26. package/src/lib/basic-bar-chart/basic-bar-chart.component.html +7 -0
  27. package/src/lib/basic-bar-chart/basic-bar-chart.component.less +5 -0
  28. package/src/lib/basic-bar-chart/basic-bar-chart.component.spec.ts +25 -0
  29. package/src/lib/basic-bar-chart/basic-bar-chart.component.ts +493 -0
  30. package/src/lib/basic-bar-chart/basic-bar-chart.module.ts +21 -0
  31. package/src/lib/basic-line-chart/basic-line-chart.component.html +7 -0
  32. package/src/lib/basic-line-chart/basic-line-chart.component.less +8 -0
  33. package/src/lib/basic-line-chart/basic-line-chart.component.spec.ts +25 -0
  34. package/src/lib/basic-line-chart/basic-line-chart.component.ts +654 -0
  35. package/src/lib/basic-line-chart/basic-line-chart.module.ts +15 -0
  36. package/src/lib/basic-pie-chart/basic-pie-chart.component.html +7 -0
  37. package/src/lib/basic-pie-chart/basic-pie-chart.component.less +8 -0
  38. package/src/lib/basic-pie-chart/basic-pie-chart.component.spec.ts +25 -0
  39. package/src/lib/basic-pie-chart/basic-pie-chart.component.ts +439 -0
  40. package/src/lib/basic-pie-chart/basic-pie-chart.module.ts +15 -0
  41. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.html +2 -0
  42. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.less +9 -0
  43. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.spec.ts +25 -0
  44. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.ts +211 -0
  45. package/src/lib/basic-planimetric-map/basic-planimetric-map.module.ts +16 -0
  46. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.css +0 -0
  47. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.html +1 -0
  48. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.spec.ts +25 -0
  49. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.ts +487 -0
  50. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.module.ts +14 -0
  51. package/src/lib/bubble-chart/bubble-chart.component.html +7 -0
  52. package/src/lib/bubble-chart/bubble-chart.component.less +8 -0
  53. package/src/lib/bubble-chart/bubble-chart.component.spec.ts +25 -0
  54. package/src/lib/bubble-chart/bubble-chart.component.ts +307 -0
  55. package/src/lib/bubble-chart/bubble-chart.module.ts +15 -0
  56. package/src/lib/bulletin-board/bulletin-board.component.html +15 -0
  57. package/src/lib/bulletin-board/bulletin-board.component.less +27 -0
  58. package/src/lib/bulletin-board/bulletin-board.component.spec.ts +25 -0
  59. package/src/lib/bulletin-board/bulletin-board.component.ts +127 -0
  60. package/src/lib/bulletin-board/bulletin-board.module.ts +20 -0
  61. package/src/lib/button/button.component.html +1 -0
  62. package/src/lib/button/button.component.less +17 -0
  63. package/src/lib/button/button.component.spec.ts +25 -0
  64. package/src/lib/button/button.component.ts +137 -0
  65. package/src/lib/button/button.module.ts +16 -0
  66. package/src/lib/calendar/calendar.component.html +1 -0
  67. package/src/lib/calendar/calendar.component.less +14 -0
  68. package/src/lib/calendar/calendar.component.spec.ts +25 -0
  69. package/src/lib/calendar/calendar.component.ts +75 -0
  70. package/src/lib/calendar/calendar.module.ts +23 -0
  71. package/src/lib/checkbox/checkbox.component.html +61 -0
  72. package/src/lib/checkbox/checkbox.component.less +104 -0
  73. package/src/lib/checkbox/checkbox.component.spec.ts +25 -0
  74. package/src/lib/checkbox/checkbox.component.ts +292 -0
  75. package/src/lib/checkbox/checkbox.module.ts +16 -0
  76. package/src/lib/cross-table/cross-table.component.html +16 -0
  77. package/src/lib/cross-table/cross-table.component.less +75 -0
  78. package/src/lib/cross-table/cross-table.component.spec.ts +25 -0
  79. package/src/lib/cross-table/cross-table.component.ts +257 -0
  80. package/src/lib/cross-table/cross-table.module.ts +18 -0
  81. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.html +32 -0
  82. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.less +11 -0
  83. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.spec.ts +25 -0
  84. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.ts +638 -0
  85. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.html +0 -0
  86. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.less +0 -0
  87. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.spec.ts +25 -0
  88. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.ts +248 -0
  89. package/src/lib/custom-baidu-map/base-layer.ts +50 -0
  90. package/src/lib/custom-baidu-map/custom-baidu-map.component.html +15 -0
  91. package/src/lib/custom-baidu-map/custom-baidu-map.component.less +68 -0
  92. package/src/lib/custom-baidu-map/custom-baidu-map.component.spec.ts +25 -0
  93. package/src/lib/custom-baidu-map/custom-baidu-map.component.ts +636 -0
  94. package/src/lib/custom-baidu-map/custom-baidu-map.module.ts +41 -0
  95. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.html +0 -0
  96. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.less +0 -0
  97. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.spec.ts +25 -0
  98. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.ts +99 -0
  99. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.html +0 -0
  100. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.less +0 -0
  101. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.spec.ts +25 -0
  102. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.ts +404 -0
  103. package/src/lib/data-map/data-map.component.html +9 -0
  104. package/src/lib/data-map/data-map.component.less +0 -0
  105. package/src/lib/data-map/data-map.component.spec.ts +25 -0
  106. package/src/lib/data-map/data-map.component.ts +105 -0
  107. package/src/lib/data-map/data-map.module.ts +15 -0
  108. package/src/lib/date-picker/date-picker.component.html +32 -0
  109. package/src/lib/date-picker/date-picker.component.less +20 -0
  110. package/src/lib/date-picker/date-picker.component.spec.ts +25 -0
  111. package/src/lib/date-picker/date-picker.component.ts +389 -0
  112. package/src/lib/date-picker/date-picker.module.ts +18 -0
  113. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.html +25 -0
  114. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.less +35 -0
  115. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.spec.ts +25 -0
  116. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.ts +117 -0
  117. package/src/lib/drop-down-detail-list/drop-down-detail-list.module.ts +15 -0
  118. package/src/lib/dynamic-list/dynamic-list.component.html +15 -0
  119. package/src/lib/dynamic-list/dynamic-list.component.less +31 -0
  120. package/src/lib/dynamic-list/dynamic-list.component.spec.ts +25 -0
  121. package/src/lib/dynamic-list/dynamic-list.component.ts +57 -0
  122. package/src/lib/dynamic-list/dynamic-list.module.ts +15 -0
  123. package/src/lib/funnel-chart/funnel-chart.component.html +7 -0
  124. package/src/lib/funnel-chart/funnel-chart.component.less +8 -0
  125. package/src/lib/funnel-chart/funnel-chart.component.spec.ts +25 -0
  126. package/src/lib/funnel-chart/funnel-chart.component.ts +198 -0
  127. package/src/lib/funnel-chart/funnel-chart.module.ts +15 -0
  128. package/src/lib/gantt/gantt.component.html +10 -0
  129. package/src/lib/gantt/gantt.component.less +76 -0
  130. package/src/lib/gantt/gantt.component.spec.ts +25 -0
  131. package/src/lib/gantt/gantt.component.ts +213 -0
  132. package/src/lib/gantt/gantt.module.ts +37 -0
  133. package/src/lib/gauge/gauge.component.html +1 -0
  134. package/src/lib/gauge/gauge.component.less +8 -0
  135. package/src/lib/gauge/gauge.component.spec.ts +25 -0
  136. package/src/lib/gauge/gauge.component.ts +268 -0
  137. package/src/lib/gauge/gauge.module.ts +15 -0
  138. package/src/lib/gauge-progress/gauge-progress.component.html +29 -0
  139. package/src/lib/gauge-progress/gauge-progress.component.less +51 -0
  140. package/src/lib/gauge-progress/gauge-progress.component.ts +288 -0
  141. package/src/lib/gauge-progress/gauge.module.ts +16 -0
  142. package/src/lib/general-text/general-text.component.html +7 -0
  143. package/src/lib/general-text/general-text.component.less +8 -0
  144. package/src/lib/general-text/general-text.component.spec.ts +25 -0
  145. package/src/lib/general-text/general-text.component.ts +114 -0
  146. package/src/lib/general-text/general-text.module.ts +15 -0
  147. package/src/lib/iconfont/icon.ts +198 -0
  148. package/src/lib/iconfont/iconfont.component.html +4 -0
  149. package/src/lib/iconfont/iconfont.component.less +5 -0
  150. package/src/lib/iconfont/iconfont.component.spec.ts +25 -0
  151. package/src/lib/iconfont/iconfont.component.ts +42 -0
  152. package/src/lib/iconfont/iconfont.module.ts +15 -0
  153. package/src/lib/iframe/iframe.component.html +1 -0
  154. package/src/lib/iframe/iframe.component.less +13 -0
  155. package/src/lib/iframe/iframe.component.spec.ts +25 -0
  156. package/src/lib/iframe/iframe.component.ts +34 -0
  157. package/src/lib/iframe/iframe.module.ts +15 -0
  158. package/src/lib/image/image.component.html +2 -0
  159. package/src/lib/image/image.component.less +13 -0
  160. package/src/lib/image/image.component.spec.ts +25 -0
  161. package/src/lib/image/image.component.ts +79 -0
  162. package/src/lib/image/image.module.ts +14 -0
  163. package/src/lib/item-swiper/item-swiper.component.html +48 -0
  164. package/src/lib/item-swiper/item-swiper.component.less +75 -0
  165. package/src/lib/item-swiper/item-swiper.component.spec.ts +25 -0
  166. package/src/lib/item-swiper/item-swiper.component.ts +284 -0
  167. package/src/lib/item-swiper/item-swiper.module.ts +24 -0
  168. package/src/lib/line-bar-chart/line-bar-chart.component.html +7 -0
  169. package/src/lib/line-bar-chart/line-bar-chart.component.less +3 -0
  170. package/src/lib/line-bar-chart/line-bar-chart.component.spec.ts +25 -0
  171. package/src/lib/line-bar-chart/line-bar-chart.component.ts +346 -0
  172. package/src/lib/line-bar-chart/line-bar-chart.module.ts +15 -0
  173. package/src/lib/line-light-flow/line-light-flow.component.css +0 -0
  174. package/src/lib/line-light-flow/line-light-flow.component.html +3 -0
  175. package/src/lib/line-light-flow/line-light-flow.component.spec.ts +25 -0
  176. package/src/lib/line-light-flow/line-light-flow.component.ts +274 -0
  177. package/src/lib/line-light-flow/line-light-flow.module.ts +21 -0
  178. package/src/lib/liquid-fill/liquid-fill.component.html +1 -0
  179. package/src/lib/liquid-fill/liquid-fill.component.less +8 -0
  180. package/src/lib/liquid-fill/liquid-fill.component.spec.ts +25 -0
  181. package/src/lib/liquid-fill/liquid-fill.component.ts +127 -0
  182. package/src/lib/liquid-fill/liquid-fill.module.ts +15 -0
  183. package/src/lib/marquee/marquee.component.html +5 -0
  184. package/src/lib/marquee/marquee.component.less +9 -0
  185. package/src/lib/marquee/marquee.component.spec.ts +25 -0
  186. package/src/lib/marquee/marquee.component.ts +84 -0
  187. package/src/lib/marquee/marquee.module.ts +14 -0
  188. package/src/lib/mip-anim/mip-anim.component.html +1 -0
  189. package/src/lib/mip-anim/mip-anim.component.less +7 -0
  190. package/src/lib/mip-anim/mip-anim.component.spec.ts +25 -0
  191. package/src/lib/mip-anim/mip-anim.component.ts +18 -0
  192. package/src/lib/mip-anim/mip-anim.module.ts +14 -0
  193. package/src/lib/multi-title-gauge/multi-title-gauge.component.html +1 -0
  194. package/src/lib/multi-title-gauge/multi-title-gauge.component.less +9 -0
  195. package/src/lib/multi-title-gauge/multi-title-gauge.component.spec.ts +25 -0
  196. package/src/lib/multi-title-gauge/multi-title-gauge.component.ts +231 -0
  197. package/src/lib/multi-title-gauge/multi-title-gauge.module.ts +19 -0
  198. package/src/lib/number-flop/number-flop.component.html +31 -0
  199. package/src/lib/number-flop/number-flop.component.less +155 -0
  200. package/src/lib/number-flop/number-flop.component.spec.ts +25 -0
  201. package/src/lib/number-flop/number-flop.component.ts +96 -0
  202. package/src/lib/number-flop/number-flop.module.ts +14 -0
  203. package/src/lib/parent-container/parent-container.component.html +0 -0
  204. package/src/lib/parent-container/parent-container.component.less +0 -0
  205. package/src/lib/parent-container/parent-container.component.spec.ts +25 -0
  206. package/src/lib/parent-container/parent-container.component.ts +21 -0
  207. package/src/lib/parent-container/parent-container.module.ts +14 -0
  208. package/src/lib/percent-pie-chart/percent-pie-chart.component.html +8 -0
  209. package/src/lib/percent-pie-chart/percent-pie-chart.component.less +8 -0
  210. package/src/lib/percent-pie-chart/percent-pie-chart.component.spec.ts +25 -0
  211. package/src/lib/percent-pie-chart/percent-pie-chart.component.ts +213 -0
  212. package/src/lib/percent-pie-chart/percent-pie-chart.module.ts +15 -0
  213. package/src/lib/pie3d-chart/pie3d-chart.component.html +1 -0
  214. package/src/lib/pie3d-chart/pie3d-chart.component.less +9 -0
  215. package/src/lib/pie3d-chart/pie3d-chart.component.spec.ts +25 -0
  216. package/src/lib/pie3d-chart/pie3d-chart.component.ts +278 -0
  217. package/src/lib/pie3d-chart/pie3d-chart.module.ts +16 -0
  218. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.html +0 -0
  219. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.less +0 -0
  220. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.spec.ts +25 -0
  221. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.ts +411 -0
  222. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.ts +13 -0
  223. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.html +1 -0
  224. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.less +0 -0
  225. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.spec.ts +25 -0
  226. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.ts +235 -0
  227. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.ts +16 -0
  228. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.html +0 -0
  229. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.less +0 -0
  230. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.spec.ts +25 -0
  231. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.ts +107 -0
  232. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.ts +17 -0
  233. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.html +0 -0
  234. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.less +0 -0
  235. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.spec.ts +25 -0
  236. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.ts +337 -0
  237. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.ts +18 -0
  238. package/src/lib/planimetric-map2d/planimetric-map2d.component.html +3 -0
  239. package/src/lib/planimetric-map2d/planimetric-map2d.component.less +9 -0
  240. package/src/lib/planimetric-map2d/planimetric-map2d.component.spec.ts +25 -0
  241. package/src/lib/planimetric-map2d/planimetric-map2d.component.ts +649 -0
  242. package/src/lib/planimetric-map2d/planimetric-map2d.module.ts +29 -0
  243. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.html +0 -0
  244. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.less +0 -0
  245. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.spec.ts +25 -0
  246. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.ts +123 -0
  247. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.ts +14 -0
  248. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.html +0 -0
  249. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.less +0 -0
  250. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.spec.ts +25 -0
  251. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.ts +229 -0
  252. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.ts +14 -0
  253. package/src/lib/planimetric-map3d/planimetric-map3d.component.html +2 -0
  254. package/src/lib/planimetric-map3d/planimetric-map3d.component.less +10 -0
  255. package/src/lib/planimetric-map3d/planimetric-map3d.component.spec.ts +25 -0
  256. package/src/lib/planimetric-map3d/planimetric-map3d.component.ts +227 -0
  257. package/src/lib/planimetric-map3d/planimetric-map3d.module.ts +17 -0
  258. package/src/lib/radar-chart/radar-chart.component.html +7 -0
  259. package/src/lib/radar-chart/radar-chart.component.less +8 -0
  260. package/src/lib/radar-chart/radar-chart.component.spec.ts +25 -0
  261. package/src/lib/radar-chart/radar-chart.component.ts +203 -0
  262. package/src/lib/radar-chart/radar-chart.module.ts +15 -0
  263. package/src/lib/radio/radio.component.html +18 -0
  264. package/src/lib/radio/radio.component.less +61 -0
  265. package/src/lib/radio/radio.component.spec.ts +25 -0
  266. package/src/lib/radio/radio.component.ts +116 -0
  267. package/src/lib/radio/radio.module.ts +16 -0
  268. package/src/lib/rate/rate.component.html +16 -0
  269. package/src/lib/rate/rate.component.less +39 -0
  270. package/src/lib/rate/rate.component.spec.ts +25 -0
  271. package/src/lib/rate/rate.component.ts +40 -0
  272. package/src/lib/rate/rate.module.ts +18 -0
  273. package/src/lib/scatter3d/scatter3d.component.html +1 -0
  274. package/src/lib/scatter3d/scatter3d.component.less +8 -0
  275. package/src/lib/scatter3d/scatter3d.component.spec.ts +25 -0
  276. package/src/lib/scatter3d/scatter3d.component.ts +129 -0
  277. package/src/lib/scatter3d/scatter3d.module.ts +15 -0
  278. package/src/lib/screen-widget.module.ts +592 -0
  279. package/src/lib/search/search.component.html +30 -0
  280. package/src/lib/search/search.component.less +30 -0
  281. package/src/lib/search/search.component.spec.ts +25 -0
  282. package/src/lib/search/search.component.ts +103 -0
  283. package/src/lib/search/search.module.ts +22 -0
  284. package/src/lib/select/select.component.html +27 -0
  285. package/src/lib/select/select.component.less +112 -0
  286. package/src/lib/select/select.component.spec.ts +25 -0
  287. package/src/lib/select/select.component.ts +287 -0
  288. package/src/lib/select/select.module.ts +16 -0
  289. package/src/lib/shape/shape.component.html +39 -0
  290. package/src/lib/shape/shape.component.less +8 -0
  291. package/src/lib/shape/shape.component.spec.ts +25 -0
  292. package/src/lib/shape/shape.component.ts +207 -0
  293. package/src/lib/shape/shape.module.ts +14 -0
  294. package/src/lib/shared/component/video-player/video-player.component.html +2 -0
  295. package/src/lib/shared/component/video-player/video-player.component.less +15 -0
  296. package/src/lib/shared/component/video-player/video-player.component.spec.ts +25 -0
  297. package/src/lib/shared/component/video-player/video-player.component.ts +132 -0
  298. package/src/lib/shared/component/video-player/video-player.module.ts +11 -0
  299. package/src/lib/shared/model/scale.token.ts +8 -0
  300. package/src/lib/shared/service/common.service.ts +28 -0
  301. package/src/lib/shared/service/file-url.service.ts +8 -0
  302. package/src/lib/shared/service/gaode-map.service.ts +37 -0
  303. package/src/lib/shared/service/highcharts.service.ts +29 -0
  304. package/src/lib/shared/service/http.service.ts +15 -0
  305. package/src/lib/shared/util/base.util.ts +4 -0
  306. package/src/lib/shared/util/echarts.util.ts +11 -0
  307. package/src/lib/shared/util/style.util.ts +12 -0
  308. package/src/lib/shuffling-list/color.pipe.ts +21 -0
  309. package/src/lib/shuffling-list/shuffling-list.component.html +37 -0
  310. package/src/lib/shuffling-list/shuffling-list.component.less +55 -0
  311. package/src/lib/shuffling-list/shuffling-list.component.spec.ts +25 -0
  312. package/src/lib/shuffling-list/shuffling-list.component.ts +534 -0
  313. package/src/lib/shuffling-list/shuffling-list.module.ts +17 -0
  314. package/src/lib/table/table.component.html +123 -0
  315. package/src/lib/table/table.component.less +76 -0
  316. package/src/lib/table/table.component.spec.ts +25 -0
  317. package/src/lib/table/table.component.ts +608 -0
  318. package/src/lib/table/table.module.ts +33 -0
  319. package/src/lib/tabs/tab/tab.component.html +1 -0
  320. package/src/lib/tabs/tab/tab.component.less +5 -0
  321. package/src/lib/tabs/tab/tab.component.spec.ts +25 -0
  322. package/src/lib/tabs/tab/tab.component.ts +18 -0
  323. package/src/lib/tabs/tabs.component.html +13 -0
  324. package/src/lib/tabs/tabs.component.less +40 -0
  325. package/src/lib/tabs/tabs.component.spec.ts +25 -0
  326. package/src/lib/tabs/tabs.component.ts +68 -0
  327. package/src/lib/tabs/tabs.module.ts +17 -0
  328. package/src/lib/temporary-data/temporary-data.component.html +1 -0
  329. package/src/lib/temporary-data/temporary-data.component.less +4 -0
  330. package/src/lib/temporary-data/temporary-data.component.spec.ts +25 -0
  331. package/src/lib/temporary-data/temporary-data.component.ts +46 -0
  332. package/src/lib/temporary-data/temporary-data.module.ts +15 -0
  333. package/src/lib/text/text.component.css +0 -0
  334. package/src/lib/text/text.component.html +3 -0
  335. package/src/lib/text/text.component.spec.ts +25 -0
  336. package/src/lib/text/text.component.ts +22 -0
  337. package/src/lib/text/text.module.ts +14 -0
  338. package/src/lib/time-picker/time-picker.component.html +1 -0
  339. package/src/lib/time-picker/time-picker.component.less +14 -0
  340. package/src/lib/time-picker/time-picker.component.spec.ts +25 -0
  341. package/src/lib/time-picker/time-picker.component.ts +86 -0
  342. package/src/lib/time-picker/time-picker.module.ts +19 -0
  343. package/src/lib/timer/timer.component.html +7 -0
  344. package/src/lib/timer/timer.component.less +24 -0
  345. package/src/lib/timer/timer.component.spec.ts +25 -0
  346. package/src/lib/timer/timer.component.ts +74 -0
  347. package/src/lib/timer/timer.module.ts +15 -0
  348. package/src/lib/tree-control/tree-control.component.html +97 -0
  349. package/src/lib/tree-control/tree-control.component.less +111 -0
  350. package/src/lib/tree-control/tree-control.component.spec.ts +25 -0
  351. package/src/lib/tree-control/tree-control.component.ts +363 -0
  352. package/src/lib/tree-control/tree-control.module.ts +18 -0
  353. package/src/lib/tree-ring-chart/tree-ring-chart.component.html +7 -0
  354. package/src/lib/tree-ring-chart/tree-ring-chart.component.less +8 -0
  355. package/src/lib/tree-ring-chart/tree-ring-chart.component.spec.ts +25 -0
  356. package/src/lib/tree-ring-chart/tree-ring-chart.component.ts +192 -0
  357. package/src/lib/tree-ring-chart/tree-ring-chart.module.ts +15 -0
  358. package/src/lib/upload/upload.component.html +32 -0
  359. package/src/lib/upload/upload.component.less +14 -0
  360. package/src/lib/upload/upload.component.spec.ts +25 -0
  361. package/src/lib/upload/upload.component.ts +109 -0
  362. package/src/lib/upload/upload.module.ts +19 -0
  363. package/src/lib/video-grid/video-grid.component.html +33 -0
  364. package/src/lib/video-grid/video-grid.component.less +68 -0
  365. package/src/lib/video-grid/video-grid.component.spec.ts +25 -0
  366. package/src/lib/video-grid/video-grid.component.ts +114 -0
  367. package/src/lib/video-grid/video-grid.module.ts +17 -0
  368. package/src/lib/visual-map-chart/visual-map-chart.component.html +8 -0
  369. package/src/lib/visual-map-chart/visual-map-chart.component.less +21 -0
  370. package/src/lib/visual-map-chart/visual-map-chart.component.spec.ts +25 -0
  371. package/src/lib/visual-map-chart/visual-map-chart.component.ts +365 -0
  372. package/src/lib/visual-map-chart/visual-map-chart.module.ts +18 -0
  373. package/src/lib/vote/vote.component.html +6 -0
  374. package/src/lib/vote/vote.component.less +41 -0
  375. package/src/lib/vote/vote.component.spec.ts +25 -0
  376. package/src/lib/vote/vote.component.ts +71 -0
  377. package/src/lib/vote/vote.module.ts +16 -0
  378. package/src/lib/weather/weather.component.html +27 -0
  379. package/src/lib/weather/weather.component.less +67 -0
  380. package/src/lib/weather/weather.component.spec.ts +25 -0
  381. package/src/lib/weather/weather.component.ts +78 -0
  382. package/src/lib/weather/weather.module.ts +16 -0
  383. package/src/lib/wordart/wordart.component.html +2 -0
  384. package/src/lib/wordart/wordart.component.less +12 -0
  385. package/src/lib/wordart/wordart.component.spec.ts +25 -0
  386. package/src/lib/wordart/wordart.component.ts +56 -0
  387. package/src/lib/wordart/wordart.module.ts +14 -0
  388. package/src/lib/workbench-widget.module.ts +675 -0
  389. package/{public-api.d.ts → src/public-api.ts} +46 -34
  390. package/src/test.ts +22 -0
  391. package/tsconfig.lib.json +37 -0
  392. package/tsconfig.lib.prod.json +9 -0
  393. package/tsconfig.spec.json +17 -0
  394. package/tslint.json +17 -0
  395. package/bbj-screen-widget.d.ts +0 -117
  396. package/bbj-screen-widget.metadata.json +0 -1
  397. package/bundles/bbj-screen-widget-core.umd.js +0 -606
  398. package/bundles/bbj-screen-widget-core.umd.js.map +0 -1
  399. package/bundles/bbj-screen-widget-core.umd.min.js +0 -2
  400. package/bundles/bbj-screen-widget-core.umd.min.js.map +0 -1
  401. package/bundles/bbj-screen-widget.umd.js +0 -21301
  402. package/bundles/bbj-screen-widget.umd.js.map +0 -1
  403. package/bundles/bbj-screen-widget.umd.min.js +0 -2
  404. package/bundles/bbj-screen-widget.umd.min.js.map +0 -1
  405. package/core/bbj-screen-widget-core.d.ts +0 -4
  406. package/core/bbj-screen-widget-core.metadata.json +0 -1
  407. package/core/service/baidu-map.service.d.ts +0 -16
  408. package/esm2015/bbj-screen-widget.js +0 -118
  409. package/esm2015/core/bbj-screen-widget-core.js +0 -5
  410. package/esm2015/core/public_api.js +0 -2
  411. package/esm2015/core/service/baidu-map.service.js +0 -101
  412. package/esm2015/lib/announcement/announcement.component.js +0 -80
  413. package/esm2015/lib/announcement/announcement.module.js +0 -25
  414. package/esm2015/lib/audio/audio.component.js +0 -167
  415. package/esm2015/lib/audio/audio.module.js +0 -20
  416. package/esm2015/lib/background/background.component.js +0 -52
  417. package/esm2015/lib/background/background.module.js +0 -19
  418. package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.component.js +0 -323
  419. package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.module.js +0 -20
  420. package/esm2015/lib/basic-bar-chart/basic-bar-chart.component.js +0 -604
  421. package/esm2015/lib/basic-bar-chart/basic-bar-chart.module.js +0 -27
  422. package/esm2015/lib/basic-line-chart/basic-line-chart.component.js +0 -782
  423. package/esm2015/lib/basic-line-chart/basic-line-chart.module.js +0 -20
  424. package/esm2015/lib/basic-pie-chart/basic-pie-chart.component.js +0 -471
  425. package/esm2015/lib/basic-pie-chart/basic-pie-chart.module.js +0 -20
  426. package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.component.js +0 -233
  427. package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.module.js +0 -21
  428. package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.component.js +0 -503
  429. package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.module.js +0 -19
  430. package/esm2015/lib/bubble-chart/bubble-chart.component.js +0 -348
  431. package/esm2015/lib/bubble-chart/bubble-chart.module.js +0 -20
  432. package/esm2015/lib/bulletin-board/bulletin-board.component.js +0 -160
  433. package/esm2015/lib/bulletin-board/bulletin-board.module.js +0 -23
  434. package/esm2015/lib/button/button.component.js +0 -186
  435. package/esm2015/lib/button/button.module.js +0 -21
  436. package/esm2015/lib/calendar/calendar.component.js +0 -96
  437. package/esm2015/lib/calendar/calendar.module.js +0 -28
  438. package/esm2015/lib/checkbox/checkbox.component.js +0 -333
  439. package/esm2015/lib/checkbox/checkbox.module.js +0 -21
  440. package/esm2015/lib/cross-table/cross-table.component.js +0 -291
  441. package/esm2015/lib/cross-table/cross-table.module.js +0 -20
  442. package/esm2015/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.js +0 -685
  443. package/esm2015/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.js +0 -278
  444. package/esm2015/lib/custom-baidu-map/base-layer.js +0 -53
  445. package/esm2015/lib/custom-baidu-map/custom-baidu-map.component.js +0 -655
  446. package/esm2015/lib/custom-baidu-map/custom-baidu-map.module.js +0 -46
  447. package/esm2015/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.js +0 -116
  448. package/esm2015/lib/custom-baidu-map/wind-layer/wind-layer.component.js +0 -331
  449. package/esm2015/lib/date-picker/date-picker.component.js +0 -447
  450. package/esm2015/lib/date-picker/date-picker.module.js +0 -22
  451. package/esm2015/lib/funnel-chart/funnel-chart.component.js +0 -241
  452. package/esm2015/lib/funnel-chart/funnel-chart.module.js +0 -20
  453. package/esm2015/lib/gantt/gantt.component.js +0 -222
  454. package/esm2015/lib/gantt/gantt.module.js +0 -39
  455. package/esm2015/lib/gauge/gauge.component.js +0 -324
  456. package/esm2015/lib/gauge/gauge.module.js +0 -20
  457. package/esm2015/lib/gauge-progress/gauge-progress.component.js +0 -348
  458. package/esm2015/lib/gauge-progress/gauge.module.js +0 -21
  459. package/esm2015/lib/general-text/general-text.component.js +0 -144
  460. package/esm2015/lib/general-text/general-text.module.js +0 -20
  461. package/esm2015/lib/iconfont/icon.js +0 -199
  462. package/esm2015/lib/iconfont/iconfont.component.js +0 -56
  463. package/esm2015/lib/iconfont/iconfont.module.js +0 -20
  464. package/esm2015/lib/iframe/iframe.component.js +0 -46
  465. package/esm2015/lib/iframe/iframe.module.js +0 -20
  466. package/esm2015/lib/image/image.component.js +0 -98
  467. package/esm2015/lib/image/image.module.js +0 -19
  468. package/esm2015/lib/item-swiper/item-swiper.component.js +0 -334
  469. package/esm2015/lib/item-swiper/item-swiper.module.js +0 -28
  470. package/esm2015/lib/line-bar-chart/line-bar-chart.component.js +0 -398
  471. package/esm2015/lib/line-bar-chart/line-bar-chart.module.js +0 -20
  472. package/esm2015/lib/line-light-flow/line-light-flow.component.js +0 -241
  473. package/esm2015/lib/line-light-flow/line-light-flow.module.js +0 -24
  474. package/esm2015/lib/liquid-fill/liquid-fill.component.js +0 -158
  475. package/esm2015/lib/liquid-fill/liquid-fill.module.js +0 -20
  476. package/esm2015/lib/marquee/marquee.component.js +0 -110
  477. package/esm2015/lib/marquee/marquee.module.js +0 -19
  478. package/esm2015/lib/mip-anim/mip-anim.component.js +0 -26
  479. package/esm2015/lib/mip-anim/mip-anim.module.js +0 -19
  480. package/esm2015/lib/multi-title-gauge/multi-title-gauge.component.js +0 -277
  481. package/esm2015/lib/multi-title-gauge/multi-title-gauge.module.js +0 -22
  482. package/esm2015/lib/number-flop/number-flop.component.js +0 -124
  483. package/esm2015/lib/number-flop/number-flop.module.js +0 -19
  484. package/esm2015/lib/parent-container/parent-container.component.js +0 -21
  485. package/esm2015/lib/parent-container/parent-container.module.js +0 -19
  486. package/esm2015/lib/percent-pie-chart/percent-pie-chart.component.js +0 -248
  487. package/esm2015/lib/percent-pie-chart/percent-pie-chart.module.js +0 -20
  488. package/esm2015/lib/pie3d-chart/pie3d-chart.component.js +0 -303
  489. package/esm2015/lib/pie3d-chart/pie3d-chart.module.js +0 -19
  490. package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.js +0 -431
  491. package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.js +0 -19
  492. package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.js +0 -252
  493. package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.js +0 -19
  494. package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.js +0 -124
  495. package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.js +0 -19
  496. package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.js +0 -359
  497. package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.js +0 -21
  498. package/esm2015/lib/planimetric-map2d/planimetric-map2d.component.js +0 -712
  499. package/esm2015/lib/planimetric-map2d/planimetric-map2d.module.js +0 -34
  500. package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.js +0 -128
  501. package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.js +0 -19
  502. package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.js +0 -242
  503. package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.js +0 -19
  504. package/esm2015/lib/planimetric-map3d/planimetric-map3d.component.js +0 -265
  505. package/esm2015/lib/planimetric-map3d/planimetric-map3d.module.js +0 -22
  506. package/esm2015/lib/radar-chart/radar-chart.component.js +0 -236
  507. package/esm2015/lib/radar-chart/radar-chart.module.js +0 -20
  508. package/esm2015/lib/radio/radio.component.js +0 -148
  509. package/esm2015/lib/radio/radio.module.js +0 -21
  510. package/esm2015/lib/rate/rate.component.js +0 -57
  511. package/esm2015/lib/rate/rate.module.js +0 -23
  512. package/esm2015/lib/scatter3d/scatter3d.component.js +0 -166
  513. package/esm2015/lib/scatter3d/scatter3d.module.js +0 -20
  514. package/esm2015/lib/screen-widget.module.js +0 -536
  515. package/esm2015/lib/search/search.component.js +0 -130
  516. package/esm2015/lib/search/search.module.js +0 -29
  517. package/esm2015/lib/select/select.component.js +0 -343
  518. package/esm2015/lib/select/select.module.js +0 -21
  519. package/esm2015/lib/shape/shape.component.js +0 -248
  520. package/esm2015/lib/shape/shape.module.js +0 -19
  521. package/esm2015/lib/shared/component/video-player/video-player.component.js +0 -114
  522. package/esm2015/lib/shared/component/video-player/video-player.module.js +0 -14
  523. package/esm2015/lib/shared/service/common.service.js +0 -39
  524. package/esm2015/lib/shared/service/file-url.service.js +0 -12
  525. package/esm2015/lib/shared/service/gaode-map.service.js +0 -36
  526. package/esm2015/lib/shared/service/highcharts.service.js +0 -36
  527. package/esm2015/lib/shared/service/http.service.js +0 -20
  528. package/esm2015/lib/shared/util/base.util.js +0 -5
  529. package/esm2015/lib/shared/util/echarts.util.js +0 -12
  530. package/esm2015/lib/shared/util/style.util.js +0 -19
  531. package/esm2015/lib/shuffling-list/color.pipe.js +0 -23
  532. package/esm2015/lib/shuffling-list/shuffling-list.component.js +0 -600
  533. package/esm2015/lib/shuffling-list/shuffling-list.module.js +0 -22
  534. package/esm2015/lib/table/table.component.js +0 -657
  535. package/esm2015/lib/table/table.module.js +0 -38
  536. package/esm2015/lib/tabs/tab/tab.component.js +0 -27
  537. package/esm2015/lib/tabs/tabs.component.js +0 -85
  538. package/esm2015/lib/tabs/tabs.module.js +0 -22
  539. package/esm2015/lib/temporary-data/temporary-data.component.js +0 -49
  540. package/esm2015/lib/temporary-data/temporary-data.module.js +0 -20
  541. package/esm2015/lib/time-picker/time-picker.component.js +0 -112
  542. package/esm2015/lib/time-picker/time-picker.module.js +0 -21
  543. package/esm2015/lib/timer/timer.component.js +0 -108
  544. package/esm2015/lib/timer/timer.module.js +0 -20
  545. package/esm2015/lib/tree-control/tree-control.component.js +0 -435
  546. package/esm2015/lib/tree-control/tree-control.module.js +0 -24
  547. package/esm2015/lib/tree-ring-chart/tree-ring-chart.component.js +0 -215
  548. package/esm2015/lib/tree-ring-chart/tree-ring-chart.module.js +0 -20
  549. package/esm2015/lib/upload/upload.component.js +0 -127
  550. package/esm2015/lib/upload/upload.module.js +0 -22
  551. package/esm2015/lib/video-grid/video-grid.component.js +0 -133
  552. package/esm2015/lib/video-grid/video-grid.module.js +0 -22
  553. package/esm2015/lib/visual-map-chart/visual-map-chart.component.js +0 -395
  554. package/esm2015/lib/visual-map-chart/visual-map-chart.module.js +0 -20
  555. package/esm2015/lib/vote/vote.component.js +0 -100
  556. package/esm2015/lib/vote/vote.module.js +0 -21
  557. package/esm2015/lib/weather/weather.component.js +0 -92
  558. package/esm2015/lib/weather/weather.module.js +0 -21
  559. package/esm2015/lib/wordart/wordart.component.js +0 -84
  560. package/esm2015/lib/wordart/wordart.module.js +0 -19
  561. package/esm2015/lib/workbench-widget.module.js +0 -620
  562. package/esm2015/public-api.js +0 -39
  563. package/fesm2015/bbj-screen-widget-core.js +0 -107
  564. package/fesm2015/bbj-screen-widget-core.js.map +0 -1
  565. package/fesm2015/bbj-screen-widget.js +0 -20222
  566. package/fesm2015/bbj-screen-widget.js.map +0 -1
  567. package/lib/announcement/announcement.component.d.ts +0 -13
  568. package/lib/announcement/announcement.module.d.ts +0 -5
  569. package/lib/audio/audio.component.d.ts +0 -22
  570. package/lib/audio/audio.module.d.ts +0 -4
  571. package/lib/background/background.component.d.ts +0 -12
  572. package/lib/background/background.module.d.ts +0 -4
  573. package/lib/bar-chart-three-d/bar-chart-three-d.component.d.ts +0 -30
  574. package/lib/bar-chart-three-d/bar-chart-three-d.module.d.ts +0 -4
  575. package/lib/basic-bar-chart/basic-bar-chart.component.d.ts +0 -105
  576. package/lib/basic-bar-chart/basic-bar-chart.module.d.ts +0 -5
  577. package/lib/basic-line-chart/basic-line-chart.component.d.ts +0 -102
  578. package/lib/basic-line-chart/basic-line-chart.module.d.ts +0 -4
  579. package/lib/basic-pie-chart/basic-pie-chart.component.d.ts +0 -56
  580. package/lib/basic-pie-chart/basic-pie-chart.module.d.ts +0 -4
  581. package/lib/basic-planimetric-map/basic-planimetric-map.component.d.ts +0 -18
  582. package/lib/basic-planimetric-map/basic-planimetric-map.module.d.ts +0 -4
  583. package/lib/breathing-bubble-layer/breathing-bubble-layer.component.d.ts +0 -210
  584. package/lib/breathing-bubble-layer/breathing-bubble-layer.module.d.ts +0 -4
  585. package/lib/bubble-chart/bubble-chart.component.d.ts +0 -75
  586. package/lib/bubble-chart/bubble-chart.module.d.ts +0 -4
  587. package/lib/bulletin-board/bulletin-board.component.d.ts +0 -25
  588. package/lib/bulletin-board/bulletin-board.module.d.ts +0 -4
  589. package/lib/button/button.component.d.ts +0 -25
  590. package/lib/button/button.module.d.ts +0 -4
  591. package/lib/calendar/calendar.component.d.ts +0 -14
  592. package/lib/calendar/calendar.module.d.ts +0 -4
  593. package/lib/checkbox/checkbox.component.d.ts +0 -45
  594. package/lib/checkbox/checkbox.module.d.ts +0 -4
  595. package/lib/cross-table/cross-table.component.d.ts +0 -30
  596. package/lib/cross-table/cross-table.module.d.ts +0 -4
  597. package/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.d.ts +0 -67
  598. package/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.d.ts +0 -23
  599. package/lib/custom-baidu-map/base-layer.d.ts +0 -16
  600. package/lib/custom-baidu-map/custom-baidu-map.component.d.ts +0 -92
  601. package/lib/custom-baidu-map/custom-baidu-map.module.d.ts +0 -4
  602. package/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.d.ts +0 -16
  603. package/lib/custom-baidu-map/wind-layer/wind-layer.component.d.ts +0 -28
  604. package/lib/date-picker/date-picker.component.d.ts +0 -63
  605. package/lib/date-picker/date-picker.module.d.ts +0 -4
  606. package/lib/funnel-chart/funnel-chart.component.d.ts +0 -24
  607. package/lib/funnel-chart/funnel-chart.module.d.ts +0 -4
  608. package/lib/gantt/gantt.component.d.ts +0 -25
  609. package/lib/gantt/gantt.module.d.ts +0 -4
  610. package/lib/gauge/gauge.component.d.ts +0 -37
  611. package/lib/gauge/gauge.module.d.ts +0 -4
  612. package/lib/gauge-progress/gauge-progress.component.d.ts +0 -46
  613. package/lib/gauge-progress/gauge.module.d.ts +0 -4
  614. package/lib/general-text/general-text.component.d.ts +0 -21
  615. package/lib/general-text/general-text.module.d.ts +0 -4
  616. package/lib/iconfont/icon.d.ts +0 -1
  617. package/lib/iconfont/iconfont.component.d.ts +0 -11
  618. package/lib/iconfont/iconfont.module.d.ts +0 -4
  619. package/lib/iframe/iframe.component.d.ts +0 -10
  620. package/lib/iframe/iframe.module.d.ts +0 -4
  621. package/lib/image/image.component.d.ts +0 -21
  622. package/lib/image/image.module.d.ts +0 -4
  623. package/lib/item-swiper/item-swiper.component.d.ts +0 -41
  624. package/lib/item-swiper/item-swiper.module.d.ts +0 -4
  625. package/lib/line-bar-chart/line-bar-chart.component.d.ts +0 -63
  626. package/lib/line-bar-chart/line-bar-chart.module.d.ts +0 -4
  627. package/lib/line-light-flow/line-light-flow.component.d.ts +0 -26
  628. package/lib/line-light-flow/line-light-flow.module.d.ts +0 -4
  629. package/lib/liquid-fill/liquid-fill.component.d.ts +0 -18
  630. package/lib/liquid-fill/liquid-fill.module.d.ts +0 -4
  631. package/lib/marquee/marquee.component.d.ts +0 -20
  632. package/lib/marquee/marquee.module.d.ts +0 -4
  633. package/lib/mip-anim/mip-anim.component.d.ts +0 -6
  634. package/lib/mip-anim/mip-anim.module.d.ts +0 -4
  635. package/lib/multi-title-gauge/multi-title-gauge.component.d.ts +0 -26
  636. package/lib/multi-title-gauge/multi-title-gauge.module.d.ts +0 -4
  637. package/lib/number-flop/number-flop.component.d.ts +0 -22
  638. package/lib/number-flop/number-flop.module.d.ts +0 -4
  639. package/lib/parent-container/parent-container.component.d.ts +0 -9
  640. package/lib/parent-container/parent-container.module.d.ts +0 -4
  641. package/lib/percent-pie-chart/percent-pie-chart.component.d.ts +0 -24
  642. package/lib/percent-pie-chart/percent-pie-chart.module.d.ts +0 -4
  643. package/lib/pie3d-chart/pie3d-chart.component.d.ts +0 -30
  644. package/lib/pie3d-chart/pie3d-chart.module.d.ts +0 -4
  645. package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.d.ts +0 -206
  646. package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.d.ts +0 -4
  647. package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.d.ts +0 -15
  648. package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.d.ts +0 -4
  649. package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.d.ts +0 -15
  650. package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.d.ts +0 -4
  651. package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.d.ts +0 -49
  652. package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.d.ts +0 -4
  653. package/lib/planimetric-map2d/planimetric-map2d.component.d.ts +0 -48
  654. package/lib/planimetric-map2d/planimetric-map2d.module.d.ts +0 -4
  655. package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.d.ts +0 -14
  656. package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.d.ts +0 -4
  657. package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.d.ts +0 -41
  658. package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.d.ts +0 -4
  659. package/lib/planimetric-map3d/planimetric-map3d.component.d.ts +0 -29
  660. package/lib/planimetric-map3d/planimetric-map3d.module.d.ts +0 -4
  661. package/lib/radar-chart/radar-chart.component.d.ts +0 -23
  662. package/lib/radar-chart/radar-chart.module.d.ts +0 -4
  663. package/lib/radio/radio.component.d.ts +0 -21
  664. package/lib/radio/radio.module.d.ts +0 -4
  665. package/lib/rate/rate.component.d.ts +0 -13
  666. package/lib/rate/rate.module.d.ts +0 -4
  667. package/lib/scatter3d/scatter3d.component.d.ts +0 -25
  668. package/lib/scatter3d/scatter3d.module.d.ts +0 -4
  669. package/lib/screen-widget.module.d.ts +0 -4
  670. package/lib/search/search.component.d.ts +0 -21
  671. package/lib/search/search.module.d.ts +0 -6
  672. package/lib/select/select.component.d.ts +0 -34
  673. package/lib/select/select.module.d.ts +0 -4
  674. package/lib/shape/shape.component.d.ts +0 -50
  675. package/lib/shape/shape.module.d.ts +0 -4
  676. package/lib/shared/component/video-player/video-player.component.d.ts +0 -28
  677. package/lib/shared/component/video-player/video-player.module.d.ts +0 -2
  678. package/lib/shared/service/common.service.d.ts +0 -21
  679. package/lib/shared/service/file-url.service.d.ts +0 -3
  680. package/lib/shared/service/gaode-map.service.d.ts +0 -10
  681. package/lib/shared/service/highcharts.service.d.ts +0 -9
  682. package/lib/shared/service/http.service.d.ts +0 -7
  683. package/lib/shared/util/base.util.d.ts +0 -1
  684. package/lib/shared/util/echarts.util.d.ts +0 -1
  685. package/lib/shared/util/style.util.d.ts +0 -1
  686. package/lib/shuffling-list/color.pipe.d.ts +0 -4
  687. package/lib/shuffling-list/shuffling-list.component.d.ts +0 -76
  688. package/lib/shuffling-list/shuffling-list.module.d.ts +0 -4
  689. package/lib/table/table.component.d.ts +0 -65
  690. package/lib/table/table.module.d.ts +0 -4
  691. package/lib/tabs/tab/tab.component.d.ts +0 -7
  692. package/lib/tabs/tabs.component.d.ts +0 -13
  693. package/lib/tabs/tabs.module.d.ts +0 -4
  694. package/lib/temporary-data/temporary-data.component.d.ts +0 -13
  695. package/lib/temporary-data/temporary-data.module.d.ts +0 -4
  696. package/lib/time-picker/time-picker.component.d.ts +0 -17
  697. package/lib/time-picker/time-picker.module.d.ts +0 -4
  698. package/lib/timer/timer.component.d.ts +0 -21
  699. package/lib/timer/timer.module.d.ts +0 -4
  700. package/lib/tree-control/tree-control.component.d.ts +0 -62
  701. package/lib/tree-control/tree-control.module.d.ts +0 -4
  702. package/lib/tree-ring-chart/tree-ring-chart.component.d.ts +0 -24
  703. package/lib/tree-ring-chart/tree-ring-chart.module.d.ts +0 -4
  704. package/lib/upload/upload.component.d.ts +0 -21
  705. package/lib/upload/upload.module.d.ts +0 -4
  706. package/lib/video-grid/video-grid.component.d.ts +0 -23
  707. package/lib/video-grid/video-grid.module.d.ts +0 -4
  708. package/lib/visual-map-chart/visual-map-chart.component.d.ts +0 -49
  709. package/lib/visual-map-chart/visual-map-chart.module.d.ts +0 -4
  710. package/lib/vote/vote.component.d.ts +0 -15
  711. package/lib/vote/vote.module.d.ts +0 -4
  712. package/lib/weather/weather.component.d.ts +0 -26
  713. package/lib/weather/weather.module.d.ts +0 -4
  714. package/lib/wordart/wordart.component.d.ts +0 -14
  715. package/lib/wordart/wordart.module.d.ts +0 -4
  716. package/lib/workbench-widget.module.d.ts +0 -4
  717. /package/core/{public_api.d.ts → src/public_api.ts} +0 -0
@@ -1,712 +0,0 @@
1
- var PlanimetricMap2dComponent_1;
2
- import { __awaiter, __decorate, __metadata } from "tslib";
3
- import { Component, forwardRef, ViewChild, EventEmitter, } from '@angular/core';
4
- import { Widget, Property, Data, DataOutput, Event } from 'bbj-widget-base';
5
- import { ParentContainerComponent } from '../parent-container/parent-container.component';
6
- import { HttpClient } from '@angular/common/http';
7
- import * as echarts from 'echarts';
8
- import { NgxEchartsDirective } from 'ngx-echarts';
9
- import { getEchartsTextStyle } from '../shared/util/echarts.util';
10
- let PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = class PlanimetricMap2dComponent extends ParentContainerComponent {
11
- constructor(http) {
12
- super();
13
- this.http = http;
14
- this.mapStyle = 'china';
15
- this.zoom = 1;
16
- this.areaColor = '#323c48';
17
- this.borderColor = '#404a59';
18
- this._areaColor = '#2a333d';
19
- this.areaNamefont = {
20
- family: '',
21
- color: '#FFFFFF',
22
- weight: 'normal',
23
- size: 12,
24
- space: 0,
25
- lineHeight: 12,
26
- };
27
- this.showAreaName = true;
28
- this.triggerType = 'mousemove';
29
- this.selectedMode = '';
30
- this.zoomSwitch = 'false';
31
- this._borderColor = '';
32
- this.shadowColor = '#2a333d';
33
- this.shadowWidth = 20;
34
- this.mapColorStart = '#2a333d';
35
- this.mapColorEnd = '#2a333d';
36
- this.selectColorStart = '#2a333d';
37
- this.selectColorEnd = '#2a333d';
38
- this.hasMap = false;
39
- this.data = [];
40
- this.areaClick = new EventEmitter();
41
- this.nameMap = {
42
- Afghanistan: '阿富汗',
43
- Albania: '阿尔巴尼亚',
44
- Algeria: '阿尔及利亚',
45
- Angola: '安哥拉',
46
- Argentina: '阿根廷',
47
- Armenia: '亚美尼亚',
48
- Australia: '澳大利亚',
49
- Austria: '奥地利',
50
- Azerbaijan: '阿塞拜疆',
51
- Bangladesh: '孟加拉国',
52
- Belarus: '白俄罗斯',
53
- Belgium: '比利时',
54
- Belize: '伯利兹',
55
- Benin: '贝宁',
56
- Bermuda: '百慕大',
57
- Bhutan: '不丹',
58
- Bolivia: '玻利维亚',
59
- 'Bosnia and Herzegovina': '波斯尼亚和黑塞哥维那',
60
- Botswana: '博茨瓦纳',
61
- Brazil: '巴西',
62
- Brunei: '文莱',
63
- Bulgaria: '保加利亚',
64
- 'Burkina Faso': '布基纳法索',
65
- Burundi: '布隆迪',
66
- Cambodia: '柬埔寨',
67
- Cameroon: '喀麦隆',
68
- Canada: '加拿大',
69
- 'Central African Republic': '中非共和国',
70
- Chad: '乍得',
71
- Chile: '智利',
72
- China: '中国',
73
- Colombia: '哥伦比亚',
74
- 'Costa Rica': '哥斯达黎加',
75
- Croatia: '克罗地亚',
76
- Cuba: '古巴',
77
- Cyprus: '塞浦路斯',
78
- 'Czech Republic': '捷克共和国',
79
- 'Democratic Republic of the Congo': '刚果民主共和国',
80
- Denmark: '丹麦',
81
- Djibouti: '吉布提',
82
- 'Dominican Republic': '多明尼加共和国',
83
- 'East Timor': '东帝汶',
84
- Ecuador: '厄瓜多尔',
85
- Egypt: '埃及',
86
- 'El Salvador': '萨尔瓦多',
87
- 'Equatorial Guinea': '赤道几内亚',
88
- Eritrea: '厄立特里亚',
89
- Estonia: '爱沙尼亚',
90
- Ethiopia: '埃塞俄比亚',
91
- 'Falkland Islands': '福克兰群岛',
92
- Fiji: '斐',
93
- Finland: '芬兰',
94
- France: '法国',
95
- 'French Guiana': '法属圭亚那',
96
- 'French Southern and Antarctic Lands': '法属南半球和南极领地',
97
- Gabon: '加蓬',
98
- Gambia: '冈比亚',
99
- Georgia: '格鲁吉亚',
100
- Germany: '德国',
101
- Ghana: '加纳',
102
- Greece: '希腊',
103
- Greenland: '格陵兰',
104
- Guatemala: '危地马拉',
105
- Guinea: '几内亚',
106
- 'Guinea Bissau': '几内亚比绍',
107
- Guyana: '圭亚那',
108
- Haiti: '海地',
109
- Honduras: '洪都拉斯',
110
- Hungary: '匈牙利',
111
- Iceland: '冰岛',
112
- India: '印度',
113
- Indonesia: '印尼',
114
- Iran: '伊朗',
115
- Iraq: '伊拉克',
116
- Ireland: '爱尔兰',
117
- Israel: '以色列',
118
- Italy: '意大利',
119
- 'Ivory Coast': '象牙海岸',
120
- Jamaica: '牙买加',
121
- Japan: '日本',
122
- Jordan: '约旦',
123
- Kazakhstan: '哈萨克斯坦',
124
- Kenya: '肯尼亚',
125
- Kosovo: '科索沃',
126
- Kuwait: '科威特',
127
- Kyrgyzstan: '吉尔吉斯斯坦',
128
- Laos: '老挝',
129
- Latvia: '拉脱维亚',
130
- Lebanon: '黎巴嫩',
131
- Lesotho: '莱索托',
132
- Liberia: '利比里亚',
133
- Libya: '利比亚',
134
- Lithuania: '立陶宛',
135
- Luxembourg: '卢森堡',
136
- Macedonia: '马其顿',
137
- Madagascar: '马达加斯加',
138
- Malawi: '马拉维',
139
- Malaysia: '马来西亚',
140
- Mali: '马里',
141
- Mauritania: '毛里塔尼亚',
142
- Mexico: '墨西哥',
143
- Moldova: '摩尔多瓦',
144
- Mongolia: '蒙古',
145
- Montenegro: '黑山',
146
- Morocco: '摩洛哥',
147
- Mozambique: '莫桑比克',
148
- Myanmar: '缅甸',
149
- Namibia: '纳米比亚',
150
- Nepal: '尼泊尔',
151
- Netherlands: '荷兰',
152
- 'New Caledonia': '新喀里多尼亚',
153
- 'New Zealand': '新西兰',
154
- Nicaragua: '尼加拉瓜',
155
- Niger: '尼日尔',
156
- Nigeria: '尼日利亚',
157
- 'North Korea': '北朝鲜',
158
- 'Northern Cyprus': '北塞浦路斯',
159
- Norway: '挪威',
160
- Oman: '阿曼',
161
- Pakistan: '巴基斯坦',
162
- Panama: '巴拿马',
163
- 'Papua New Guinea': '巴布亚新几内亚',
164
- Paraguay: '巴拉圭',
165
- Peru: '秘鲁',
166
- Philippines: '菲律宾',
167
- Poland: '波兰',
168
- Portugal: '葡萄牙',
169
- 'Puerto Rico': '波多黎各',
170
- Qatar: '卡塔尔',
171
- 'Republic of Serbia': '塞尔维亚',
172
- 'Republic of the Congo': '刚果共和国',
173
- Romania: '罗马尼亚',
174
- Russia: '俄罗斯',
175
- Rwanda: '卢旺达',
176
- 'Saudi Arabia': '沙特阿拉伯',
177
- Senegal: '塞内加尔',
178
- 'Sierra Leone': '塞拉利昂',
179
- Singapore: '新加坡',
180
- Slovakia: '斯洛伐克',
181
- Slovenia: '斯洛文尼亚',
182
- 'Solomon Islands': '所罗门群岛',
183
- Somalia: '索马里',
184
- Somaliland: '索马里兰',
185
- 'South Africa': '南非',
186
- 'South Korea': '韩国',
187
- 'South Sudan': '南苏丹',
188
- Spain: '西班牙',
189
- 'Sri Lanka': '斯里兰卡',
190
- Sudan: '苏丹',
191
- Suriname: '苏里南',
192
- Swaziland: '斯威士兰',
193
- Sweden: '瑞典',
194
- Switzerland: '瑞士',
195
- Syria: '叙利亚',
196
- Tajikistan: '塔吉克斯坦',
197
- Thailand: '泰国',
198
- 'The Bahamas': '巴哈马',
199
- Togo: '多哥',
200
- 'Trinidad and Tobago': '特里尼达和多巴哥',
201
- Tunisia: '突尼斯',
202
- Turkey: '土耳其',
203
- Turkmenistan: '土库曼斯坦',
204
- Uganda: '乌干达',
205
- Ukraine: '乌克兰',
206
- 'United Arab Emirates': '阿联酋',
207
- 'United Kingdom': '英国',
208
- 'United Republic of Tanzania': '坦桑尼亚',
209
- 'United States': '美国',
210
- Uruguay: '乌拉圭',
211
- Uzbekistan: '乌兹别克斯坦',
212
- Vanuatu: '瓦努阿图',
213
- Venezuela: '委内瑞拉',
214
- Vietnam: '越南',
215
- 'West Bank': '西岸',
216
- 'Western Sahara': '西撒哈拉',
217
- Yemen: '也门',
218
- Zambia: '赞比亚',
219
- Zimbabwe: '津巴布韦',
220
- };
221
- this._children = [];
222
- this.loadedMap = {};
223
- this.stack = [];
224
- }
225
- ngOnChanges(changes) {
226
- if (changes.data) {
227
- if (this.data && this.data[0]) {
228
- this.mapStyle = this.data[0].name;
229
- this.stack.push(this.mapStyle);
230
- }
231
- this.reloadMap();
232
- }
233
- }
234
- ngOnInit() {
235
- return __awaiter(this, void 0, void 0, function* () {
236
- // await this.commonService.getMap();
237
- // await import('echarts/dist/extension/bmap.js');
238
- this.provinces = (yield this.http.get('/assets/mapListItem.json').toPromise());
239
- // const map = echarts.getMap(this.mapStyle);
240
- // if (map == null) {
241
- // const data = await this.http.get('assets/echarts/map/json/' + this.mapStyle + '.json').toPromise();
242
- // echarts.registerMap(this.mapStyle, data);
243
- // }
244
- // this.hasMap = true;
245
- // this.chartInit();
246
- });
247
- }
248
- ngOnDestroy() {
249
- if (this.ngxEcharts) {
250
- this.ngxEcharts.initChart = () => { };
251
- }
252
- }
253
- chartInit() {
254
- var _a, _b, _c, _d, _e;
255
- // this.loadMap(this.mapStyle).then((data) => {
256
- let series = [];
257
- this.visualMap = [];
258
- this._children.forEach((child) => {
259
- if (child.type === 'visual') {
260
- // series = child.series;
261
- // series[0].mapType = this.mapStyle;
262
- if (child.visualMap && child.item.length) {
263
- if (child.visualMap2) {
264
- this.visualMap.push(child.visualMap2);
265
- }
266
- this.visualMap.push(child.visualMap);
267
- child.visualMap.seriesIndex = series.length;
268
- }
269
- }
270
- if (Array.isArray(child.item)) {
271
- series = [...series, ...child.item];
272
- }
273
- else {
274
- series = [...series, child.item];
275
- }
276
- });
277
- series.forEach((layer, index) => {
278
- if (layer.type === 'lines') {
279
- delete layer.coordinateSystem;
280
- }
281
- if (layer.type === 'scatter') {
282
- layer.coordinateSystem = 'geo';
283
- // layer.symbolSize = '10';
284
- }
285
- // if (layer.type === 'map') {
286
- // this.visualMap.forEach((visualMap) => {
287
- // visualMap['seriesIndex'] = index;
288
- // });
289
- // }
290
- });
291
- const textStyle = getEchartsTextStyle(this.areaNamefont);
292
- this.chartOption = {
293
- tooltip: {
294
- trigger: 'item',
295
- triggerOn: this.triggerType ? this.triggerType : 'mousemove',
296
- },
297
- geo: {
298
- label: {
299
- normal: {
300
- //静态的时候展示样式
301
- show: this.showAreaName,
302
- textStyle,
303
- },
304
- emphasis: {
305
- show: this.showAreaName,
306
- textStyle,
307
- },
308
- },
309
- selectedMode: this.selectedMode,
310
- select: {
311
- label: {
312
- show: this.showAreaName,
313
- textStyle: {
314
- color: ((_a = this.areaNamefont) === null || _a === void 0 ? void 0 : _a.color) || '#fff',
315
- fontSize: ((_b = this.areaNamefont) === null || _b === void 0 ? void 0 : _b.size) || 12,
316
- fontFamily: ((_c = this.areaNamefont) === null || _c === void 0 ? void 0 : _c.family) || '',
317
- lineHeight: ((_d = this.areaNamefont) === null || _d === void 0 ? void 0 : _d.lineHeight) || 12,
318
- },
319
- },
320
- itemStyle: {
321
- areaColor: {
322
- type: 'radial',
323
- x: 0.5,
324
- y: 0.5,
325
- r: 0.8,
326
- colorStops: [
327
- {
328
- offset: 0,
329
- color: this.selectColorStart ? this.selectColorStart : this._areaColor,
330
- },
331
- {
332
- offset: 1,
333
- color: this.selectColorEnd ? this.selectColorEnd : this._areaColor,
334
- },
335
- ],
336
- globalCoord: false,
337
- },
338
- borderColor: this._borderColor,
339
- },
340
- },
341
- itemStyle: {
342
- normal: {
343
- // areaColor: this.areaColor,
344
- borderColor: this.borderColor,
345
- opacity: 1,
346
- areaColor: {
347
- type: 'radial',
348
- x: 0.5,
349
- y: 0.5,
350
- r: 0.8,
351
- colorStops: [
352
- {
353
- offset: 0,
354
- color: this.mapColorStart ? this.mapColorStart : this.areaColor,
355
- },
356
- {
357
- offset: 1,
358
- color: this.mapColorEnd ? this.mapColorEnd : this.areaColor,
359
- },
360
- ],
361
- globalCoord: false,
362
- },
363
- shadowColor: this.shadowColor,
364
- shadowBlur: this.shadowWidth,
365
- shadowOffsetX: -2,
366
- shadowOffsetY: 2,
367
- },
368
- emphasis: {
369
- areaColor: {
370
- type: 'radial',
371
- x: 0.5,
372
- y: 0.5,
373
- r: 0.8,
374
- colorStops: [
375
- {
376
- offset: 0,
377
- color: this.selectColorStart ? this.selectColorStart : this._areaColor,
378
- },
379
- {
380
- offset: 1,
381
- color: this.selectColorEnd ? this.selectColorEnd : this._areaColor,
382
- },
383
- ],
384
- globalCoord: false,
385
- },
386
- borderColor: this._borderColor,
387
- },
388
- },
389
- map: this.mapStyle,
390
- roam: this.zoomSwitch,
391
- nameMap: this.nameMap,
392
- zoom: this.zoom,
393
- },
394
- series,
395
- };
396
- if ((_e = this.visualMap) === null || _e === void 0 ? void 0 : _e.length) {
397
- this.chartOption.visualMap = this.visualMap;
398
- }
399
- // });
400
- }
401
- childInit(child) {
402
- if (child.id) {
403
- const childIndex = this._children.findIndex((s) => s.id === child.id);
404
- if (childIndex > -1) {
405
- this._children[childIndex] = child;
406
- }
407
- else {
408
- this._children.push(child);
409
- }
410
- this.chartInit();
411
- }
412
- }
413
- deleteChild(childId) {
414
- if (childId) {
415
- const childIndex = this._children.findIndex((s) => s.id === childId);
416
- // this._children.forEach((element) => {
417
- // if (childId === element.id) {
418
- // this.visualMap = null;
419
- // }
420
- // });
421
- if (childIndex > -1) {
422
- this._children.splice(childIndex, 1);
423
- this.chartInit();
424
- }
425
- }
426
- }
427
- // loadMap(name: string) {
428
- // let loadMapPromise = this.loadedMap[name];
429
- // if (!loadMapPromise) {
430
- // loadMapPromise = this.http.get('assets/echarts/map/json/' + name + '.json').toPromise();
431
- // this.loadedMap[name] = loadMapPromise;
432
- // }
433
- // return loadMapPromise;
434
- // }
435
- reloadMap() {
436
- return __awaiter(this, void 0, void 0, function* () {
437
- const mapStyle = this.mapStyle;
438
- const map = echarts.getMap(mapStyle);
439
- if (map == null) {
440
- const data = yield this.http.get('assets/echarts/map/json/' + mapStyle + '.json').toPromise();
441
- echarts.registerMap(mapStyle, data);
442
- }
443
- this.hasMap = true;
444
- this.chartInit();
445
- });
446
- }
447
- markClick(event) {
448
- return __awaiter(this, void 0, void 0, function* () {
449
- let lng;
450
- let lat;
451
- if (event.seriesId) {
452
- lng = event.value[0];
453
- lat = event.value[1];
454
- const child = this._children.find((s) => event.seriesId.startsWith(s.id));
455
- if (child && child.onClick) {
456
- child.onClick(event);
457
- }
458
- }
459
- else {
460
- const map = echarts.getMap(this.mapStyle);
461
- if (map) {
462
- for (const feature of map.geoJson.features) {
463
- const properties = feature.properties;
464
- if (properties.name === event.name) {
465
- if (properties.cp) {
466
- lng = properties.cp[0];
467
- lat = properties.cp[1];
468
- }
469
- else if (properties.center) {
470
- lng = properties.center[0];
471
- lat = properties.center[1];
472
- }
473
- else {
474
- console.log(properties);
475
- }
476
- break;
477
- }
478
- }
479
- }
480
- const province = this.provinces.find((element) => element.label === event.name);
481
- if (province) {
482
- this.stack.push(this.mapStyle);
483
- this.mapStyle = province.value;
484
- this.reloadMap();
485
- }
486
- }
487
- this.areaClick.emit({ name: event.name, lng, lat });
488
- // if(event.componentSubType!=null && event.componentSubType==='scatter'){
489
- // const obj=event.data;
490
- // console.log(event);
491
- // this.markerTierClick.emit({
492
- // address: obj.name,
493
- // information: '',
494
- // group: '',
495
- // lng: obj.value[0],
496
- // lat: obj.value[1],
497
- // });
498
- // }
499
- });
500
- }
501
- rollback(event) {
502
- event.preventDefault();
503
- if (this.stack != null && this.stack.length != 0) {
504
- this.mapStyle = this.stack.pop();
505
- this.reloadMap();
506
- }
507
- }
508
- getTextStyle() { }
509
- };
510
- PlanimetricMap2dComponent.decorators = [
511
- { type: Component, args: [{
512
- selector: 'sc-planimetric-map2d',
513
- template: "<ng-template *ngFor=\"let child of children\" widget-host [widget]=\"child\"></ng-template>\n<div echarts *ngIf=\"hasMap\" [options]=\"chartOption\" class=\"demo-chart\" (chartClick)='markClick($event)' (contextmenu)='rollback($event)'></div> \n<!-- -->",
514
- providers: [{ provide: ParentContainerComponent, useExisting: forwardRef(() => PlanimetricMap2dComponent_1) }],
515
- styles: [".demo-chart,:host{height:100%}:host{display:block;width:100%}"]
516
- },] }
517
- ];
518
- PlanimetricMap2dComponent.ctorParameters = () => [
519
- { type: HttpClient }
520
- ];
521
- PlanimetricMap2dComponent.propDecorators = {
522
- ngxEcharts: [{ type: ViewChild, args: [NgxEchartsDirective,] }]
523
- };
524
- __decorate([
525
- Property('地图样式', {
526
- ui: {
527
- widget: 'myUrlSelect',
528
- url: '/assets/mapListItem.json',
529
- },
530
- }),
531
- __metadata("design:type", Object)
532
- ], PlanimetricMap2dComponent.prototype, "mapStyle", void 0);
533
- __decorate([
534
- Property('地图缩放', {
535
- ui: { widget: 'myRange', min: 1, max: 40, step: 1 },
536
- }),
537
- __metadata("design:type", Object)
538
- ], PlanimetricMap2dComponent.prototype, "zoom", void 0);
539
- __decorate([
540
- Property('区域背景', {
541
- ui: {
542
- widget: 'myColor',
543
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
544
- },
545
- }),
546
- __metadata("design:type", Object)
547
- ], PlanimetricMap2dComponent.prototype, "areaColor", void 0);
548
- __decorate([
549
- Property('区域描边', {
550
- ui: {
551
- widget: 'myColor',
552
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
553
- },
554
- }),
555
- __metadata("design:type", Object)
556
- ], PlanimetricMap2dComponent.prototype, "borderColor", void 0);
557
- __decorate([
558
- Property('移动高亮', {
559
- ui: {
560
- widget: 'myColor',
561
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
562
- },
563
- }),
564
- __metadata("design:type", Object)
565
- ], PlanimetricMap2dComponent.prototype, "_areaColor", void 0);
566
- __decorate([
567
- Property('地区字体', { ui: { widget: 'myFont' } }),
568
- __metadata("design:type", Object)
569
- ], PlanimetricMap2dComponent.prototype, "areaNamefont", void 0);
570
- __decorate([
571
- Property('显示地名', {
572
- type: 'boolean',
573
- }),
574
- __metadata("design:type", Object)
575
- ], PlanimetricMap2dComponent.prototype, "showAreaName", void 0);
576
- __decorate([
577
- Property('触发方式', {
578
- ui: { widget: 'select' },
579
- enum: [
580
- { label: '点击', value: 'click' },
581
- { label: '鼠标移动', value: 'mousemove' },
582
- ],
583
- }),
584
- __metadata("design:type", Object)
585
- ], PlanimetricMap2dComponent.prototype, "triggerType", void 0);
586
- __decorate([
587
- Property('选中方式', {
588
- ui: { widget: 'select' },
589
- enum: [
590
- { label: '默认', value: '' },
591
- { label: '单选', value: 'single' },
592
- { label: '多选', value: 'multiple' },
593
- ],
594
- }),
595
- __metadata("design:type", Object)
596
- ], PlanimetricMap2dComponent.prototype, "selectedMode", void 0);
597
- __decorate([
598
- Property('缩放开关', {
599
- type: 'boolean',
600
- }),
601
- __metadata("design:type", Object)
602
- ], PlanimetricMap2dComponent.prototype, "zoomSwitch", void 0);
603
- __decorate([
604
- Property('高亮描边', {
605
- ui: {
606
- widget: 'myColor',
607
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
608
- },
609
- }),
610
- __metadata("design:type", Object)
611
- ], PlanimetricMap2dComponent.prototype, "_borderColor", void 0);
612
- __decorate([
613
- Property('阴影颜色', {
614
- ui: {
615
- widget: 'myColor',
616
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
617
- },
618
- }),
619
- __metadata("design:type", Object)
620
- ], PlanimetricMap2dComponent.prototype, "shadowColor", void 0);
621
- __decorate([
622
- Property('边框粗细', {
623
- type: 'number',
624
- }),
625
- __metadata("design:type", Object)
626
- ], PlanimetricMap2dComponent.prototype, "shadowWidth", void 0);
627
- __decorate([
628
- Property('地图渐变开始', {
629
- ui: {
630
- widget: 'myColor',
631
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
632
- },
633
- }),
634
- __metadata("design:type", Object)
635
- ], PlanimetricMap2dComponent.prototype, "mapColorStart", void 0);
636
- __decorate([
637
- Property('地图渐变结束', {
638
- ui: {
639
- widget: 'myColor',
640
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
641
- },
642
- }),
643
- __metadata("design:type", Object)
644
- ], PlanimetricMap2dComponent.prototype, "mapColorEnd", void 0);
645
- __decorate([
646
- Property('选中渐变开始', {
647
- ui: {
648
- widget: 'myColor',
649
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
650
- },
651
- }),
652
- __metadata("design:type", Object)
653
- ], PlanimetricMap2dComponent.prototype, "selectColorStart", void 0);
654
- __decorate([
655
- Property('选中渐变结束', {
656
- ui: {
657
- widget: 'myColor',
658
- example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],
659
- },
660
- }),
661
- __metadata("design:type", Object)
662
- ], PlanimetricMap2dComponent.prototype, "selectColorEnd", void 0);
663
- __decorate([
664
- Data({
665
- properties: {
666
- name: { type: 'string', title: '地名' },
667
- lng: { type: 'number', title: '经度' },
668
- lat: { type: 'string', title: '纬度' },
669
- },
670
- }),
671
- __metadata("design:type", Array)
672
- ], PlanimetricMap2dComponent.prototype, "data", void 0);
673
- __decorate([
674
- DataOutput(['name', 'lng', 'lat']),
675
- Event('选中', {
676
- params: {
677
- properties: {
678
- name: { type: 'string', title: '值' },
679
- lng: { type: 'number', title: '经度' },
680
- lat: { type: 'string', title: '纬度' },
681
- },
682
- },
683
- }),
684
- __metadata("design:type", Object)
685
- ], PlanimetricMap2dComponent.prototype, "areaClick", void 0);
686
- PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = __decorate([
687
- Widget('2D平面地图', {
688
- group: 'component',
689
- image: 'assets/img/screen/2dmap.png',
690
- icon: 'iconmokuai',
691
- children: [
692
- {
693
- title: '呼吸气泡层',
694
- type: 'sc-breathing-bubble-layer',
695
- option: {},
696
- hidden: true,
697
- hideChild: true,
698
- },
699
- ],
700
- childTypes: [
701
- 'sc-fly-line-layer',
702
- 'sc-breathing-bubble-layer',
703
- 'sc-map2d-polyline-layer',
704
- 'sc-map2d-mark-layer',
705
- 'sc-map2d-visual-layer',
706
- ],
707
- description: 'hasChildItem',
708
- }),
709
- __metadata("design:paramtypes", [HttpClient])
710
- ], PlanimetricMap2dComponent);
711
- export { PlanimetricMap2dComponent };
712
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL3BsYW5pbWV0cmljLW1hcDJkL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFNBQVMsRUFLVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0lBOEJyRCx5QkFBeUIsdUNBQXpCLHlCQUEwQixTQUFRLHdCQUF3QjtJQW9VckUsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEWSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBN1R0QyxhQUFRLEdBQUcsT0FBTyxDQUFDO1FBSW5CLFNBQUksR0FBRyxDQUFDLENBQUM7UUFPVCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBT3RCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBT3hCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFFdkIsaUJBQVksR0FBUTtZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxF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Q2pDLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFNBQVMsRUFBRSxJQUFJO2FBQ2hCO1NBQ0Y7UUFDRCxVQUFVLEVBQUU7WUFDVixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIsdUJBQXVCO1NBQ3hCO1FBQ0QsV0FBVyxFQUFFLGNBQWM7S0FDNUIsQ0FBQztxQ0FxVTRCLFVBQVU7R0FwVTNCLHlCQUF5QixDQTBsQnJDO1NBMWxCWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBXaWRnZXQsIFByb3BlcnR5LCBEYXRhLCBEYXRhT3V0cHV0LCBFdmVudCB9IGZyb20gJ2Jiai13aWRnZXQtYmFzZSc7XHJcbmltcG9ydCB7IFBhcmVudENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL3BhcmVudC1jb250YWluZXIvcGFyZW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJ2VjaGFydHMnO1xyXG5pbXBvcnQgeyBOZ3hFY2hhcnRzRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWVjaGFydHMnO1xyXG5pbXBvcnQgeyBnZXRFY2hhcnRzVGV4dFN0eWxlIH0gZnJvbSAnLi4vc2hhcmVkL3V0aWwvZWNoYXJ0cy51dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtcGxhbmltZXRyaWMtbWFwMmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFuaW1ldHJpYy1tYXAyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50Lmxlc3MnXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFBhcmVudENvbnRhaW5lckNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGxhbmltZXRyaWNNYXAyZENvbXBvbmVudCkgfV0sXHJcbn0pXHJcbkBXaWRnZXQoJzJE5bmz6Z2i5Zyw5Zu+Jywge1xyXG4gIGdyb3VwOiAnY29tcG9uZW50JyxcclxuICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuLzJkbWFwLnBuZycsXHJcbiAgaWNvbjogJ2ljb25tb2t1YWknLFxyXG4gIGNoaWxkcmVuOiBbXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAn5ZG85ZC45rCU5rOh5bGCJyxcclxuICAgICAgdHlwZTogJ3NjLWJyZWF0aGluZy1idWJibGUtbGF5ZXInLFxyXG4gICAgICBvcHRpb246IHt9LFxyXG4gICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgIGhpZGVDaGlsZDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBjaGlsZFR5cGVzOiBbXHJcbiAgICAnc2MtZmx5LWxpbmUtbGF5ZXInLFxyXG4gICAgJ3NjLWJyZWF0aGluZy1idWJibGUtbGF5ZXInLFxyXG4gICAgJ3NjLW1hcDJkLXBvbHlsaW5lLWxheWVyJyxcclxuICAgICdzYy1tYXAyZC1tYXJrLWxheWVyJyxcclxuICAgICdzYy1tYXAyZC12aXN1YWwtbGF5ZXInLFxyXG4gIF0sXHJcbiAgZGVzY3JpcHRpb246ICdoYXNDaGlsZEl0ZW0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhbmltZXRyaWNNYXAyZENvbXBvbmVudCBleHRlbmRzIFBhcmVudENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5qC35byPJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlVcmxTZWxlY3QnLFxyXG4gICAgICB1cmw6ICcvYXNzZXRzL21hcExpc3RJdGVtLmpzb24nLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIG1hcFN0eWxlID0gJ2NoaW5hJztcclxuICBAUHJvcGVydHkoJ+WcsOWbvue8qeaUvicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IDEsIG1heDogNDAsIHN0ZXA6IDEgfSxcclxuICB9KVxyXG4gIHpvb20gPSAxO1xyXG4gIEBQcm9wZXJ0eSgn5Yy65Z+f6IOM5pmvJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgYXJlYUNvbG9yID0gJyMzMjNjNDgnO1xyXG4gIEBQcm9wZXJ0eSgn5Yy65Z+f5o+P6L65Jywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgYm9yZGVyQ29sb3IgPSAnIzQwNGE1OSc7XHJcbiAgQFByb3BlcnR5KCfnp7vliqjpq5jkuq4nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBfYXJlYUNvbG9yID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Yy65a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUZvbnQnIH0gfSlcclxuICBhcmVhTmFtZWZvbnQ6IGFueSA9IHtcclxuICAgIGZhbWlseTogJycsXHJcbiAgICBjb2xvcjogJyNGRkZGRkYnLFxyXG4gICAgd2VpZ2h0OiAnbm9ybWFsJyxcclxuICAgIHNpemU6IDEyLFxyXG4gICAgc3BhY2U6IDAsXHJcbiAgICBsaW5lSGVpZ2h0OiAxMixcclxuICB9O1xyXG4gIEBQcm9wZXJ0eSgn5pi+56S65Zyw5ZCNJywge1xyXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxyXG4gIH0pXHJcbiAgc2hvd0FyZWFOYW1lID0gdHJ1ZTtcclxuICBAUHJvcGVydHkoJ+inpuWPkeaWueW8jycsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcclxuICAgIGVudW06IFtcclxuICAgICAgeyBsYWJlbDogJ+eCueWHuycsIHZhbHVlOiAnY2xpY2snIH0sXHJcbiAgICAgIHsgbGFiZWw6ICfpvKDmoIfnp7vliqgnLCB2YWx1ZTogJ21vdXNlbW92ZScgfSxcclxuICAgIF0sXHJcbiAgfSlcclxuICB0cmlnZ2VyVHlwZSA9ICdtb3VzZW1vdmUnO1xyXG4gIEBQcm9wZXJ0eSgn6YCJ5Lit5pa55byPJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnc2VsZWN0JyB9LFxyXG4gICAgZW51bTogW1xyXG4gICAgICB7IGxhYmVsOiAn6buY6K6kJywgdmFsdWU6ICcnIH0sXHJcbiAgICAgIHsgbGFiZWw6ICfljZXpgIknLCB2YWx1ZTogJ3NpbmdsZScgfSxcclxuICAgICAgeyBsYWJlbDogJ+WkmumAiScsIHZhbHVlOiAnbXVsdGlwbGUnIH0sXHJcbiAgICBdLFxyXG4gIH0pXHJcbiAgc2VsZWN0ZWRNb2RlID0gJyc7XHJcblxyXG4gIEBQcm9wZXJ0eSgn57yp5pS+5byA5YWzJywge1xyXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxyXG4gIH0pXHJcbiAgem9vbVN3aXRjaCA9ICdmYWxzZSc7XHJcbiAgQFByb3BlcnR5KCfpq5jkuq7mj4/ovrknLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBfYm9yZGVyQ29sb3IgPSAnJztcclxuICBAUHJvcGVydHkoJ+mYtOW9seminOiJsicsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIHNoYWRvd0NvbG9yID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn6L655qGG57KX57uGJywge1xyXG4gICAgdHlwZTogJ251bWJlcicsXHJcbiAgfSlcclxuICBzaGFkb3dXaWR0aCA9IDIwO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5riQ5Y+Y5byA5aeLJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgbWFwQ29sb3JTdGFydCA9ICcjMmEzMzNkJztcclxuICBAUHJvcGVydHkoJ+WcsOWbvua4kOWPmOe7k+adnycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIG1hcENvbG9yRW5kID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn6YCJ5Lit5riQ5Y+Y5byA5aeLJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgc2VsZWN0Q29sb3JTdGFydCA9ICcjMmEzMzNkJztcclxuICBAUHJvcGVydHkoJ+mAieS4rea4kOWPmOe7k+adnycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIHNlbGVjdENvbG9yRW5kID0gJyMyYTMzM2QnO1xyXG5cclxuICBjaGFydE9wdGlvbjogYW55O1xyXG4gIGhhc01hcCA9IGZhbHNlO1xyXG4gIEBEYXRhKHtcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICflnLDlkI0nIH0sXHJcbiAgICAgIGxuZzogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICfnu4/luqYnIH0sXHJcbiAgICAgIGxhdDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfnuqzluqYnIH0sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgZGF0YTogYW55W10gPSBbXTtcclxuICBARGF0YU91dHB1dChbJ25hbWUnLCAnbG5nJywgJ2xhdCddKVxyXG4gIEBFdmVudCgn6YCJ5LitJywge1xyXG4gICAgcGFyYW1zOiB7XHJcbiAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICBuYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+WAvCcgfSxcclxuICAgICAgICBsbmc6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57uP5bqmJyB9LFxyXG4gICAgICAgIGxhdDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfnuqzluqYnIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgYXJlYUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBuYW1lTWFwOiBhbnkgPSB7XHJcbiAgICBBZmdoYW5pc3RhbjogJ+mYv+WvjOaxlycsXHJcbiAgICBBbGJhbmlhOiAn6Zi/5bCU5be05bC85LqaJyxcclxuICAgIEFsZ2VyaWE6ICfpmL/lsJTlj4rliKnkuponLFxyXG4gICAgQW5nb2xhOiAn5a6J5ZOl5ouJJyxcclxuICAgIEFyZ2VudGluYTogJ+mYv+agueW7tycsXHJcbiAgICBBcm1lbmlhOiAn5Lqa576O5bC85LqaJyxcclxuICAgIEF1c3RyYWxpYTogJ+a+s+Wkp+WIqeS6micsXHJcbiAgICBBdXN0cmlhOiAn5aWl5Zyw5YipJyxcclxuICAgIEF6ZXJiYWlqYW46ICfpmL/loZ7mi5znloYnLFxyXG4gICAgQmFuZ2xhZGVzaDogJ+Wtn+WKoOaLieWbvScsXHJcbiAgICBCZWxhcnVzOiAn55m95L+E572X5pavJyxcclxuICAgIEJlbGdpdW06ICfmr5TliKnml7YnLFxyXG4gICAgQmVsaXplOiAn5Lyv5Yip5YW5JyxcclxuICAgIEJlbmluOiAn6LSd5a6BJyxcclxuICAgIEJlcm11ZGE6ICfnmb7mhZXlpKcnLFxyXG4gICAgQmh1dGFuOiAn5LiN5Li5JyxcclxuICAgIEJvbGl2aWE6ICfnjrvliKnnu7TkuponLFxyXG4gICAgJ0Jvc25pYSBhbmQgSGVyemVnb3ZpbmEnOiAn5rOi5pav5bC85Lqa5ZKM6buR5aGe5ZOl57u06YKjJyxcclxuICAgIEJvdHN3YW5hOiAn5Y2a6Iyo55Om57qzJyxcclxuICAgIEJyYXppbDogJ+W3tOilvycsXHJcbiAgICBCcnVuZWk6ICfmlofojrEnLFxyXG4gICAgQnVsZ2FyaWE6ICfkv53liqDliKnkuponLFxyXG4gICAgJ0J1cmtpbmEgRmFzbyc6ICfluIPln7rnurPms5XntKInLFxyXG4gICAgQnVydW5kaTogJ+W4g+mahui/qicsXHJcbiAgICBDYW1ib2RpYTogJ+afrOWflOWvqCcsXHJcbiAgICBDYW1lcm9vbjogJ+WWgOm6pumahicsXHJcbiAgICBDYW5hZGE6ICfliqDmi7/lpKcnLFxyXG4gICAgJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyc6ICfkuK3pnZ7lhbHlkozlm70nLFxyXG4gICAgQ2hhZDogJ+S5jeW+lycsXHJcbiAgICBDaGlsZTogJ+aZuuWIqScsXHJcbiAgICBDaGluYTogJ+S4reWbvScsXHJcbiAgICBDb2xvbWJpYTogJ+WTpeS8puavlOS6micsXHJcbiAgICAnQ29zdGEgUmljYSc6ICflk6Xmlq/ovr7pu47liqAnLFxyXG4gICAgQ3JvYXRpYTogJ+WFi+e9l+WcsOS6micsXHJcbiAgICBDdWJhOiAn5Y+k5be0JyxcclxuICAgIEN5cHJ1czogJ+Whnua1pui3r+aWrycsXHJcbiAgICAnQ3plY2ggUmVwdWJsaWMnOiAn5o235YWL5YWx5ZKM5Zu9JyxcclxuICAgICdEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZSBDb25nbyc6ICfliJrmnpzmsJHkuLvlhbHlkozlm70nLFxyXG4gICAgRGVubWFyazogJ+S4uem6picsXHJcbiAgICBEamlib3V0aTogJ+WQieW4g+aPkCcsXHJcbiAgICAnRG9taW5pY2FuIFJlcHVibGljJzogJ+WkmuaYjuWwvOWKoOWFseWSjOWbvScsXHJcbiAgICAnRWFzdCBUaW1vcic6ICfkuJzluJ3msbYnLFxyXG4gICAgRWN1YWRvcjogJ+WOhOeTnOWkmuWwlCcsXHJcbiAgICBFZ3lwdDogJ+Wfg+WPiicsXHJcbiAgICAnRWwgU2FsdmFkb3InOiAn6JCo5bCU55Om5aSaJyxcclxuICAgICdFcXVhdG9yaWFsIEd1aW5lYSc6ICfotaTpgZPlh6DlhoXkuponLFxyXG4gICAgRXJpdHJlYTogJ+WOhOeri+eJuemHjOS6micsXHJcbiAgICBFc3RvbmlhOiAn54ix5rKZ5bC85LqaJyxcclxuICAgIEV0aGlvcGlhOiAn5Z+D5aGe5L+E5q+U5LqaJyxcclxuICAgICdGYWxrbGFuZCBJc2xhbmRzJzogJ+emj+WFi+WFsOe+pOWymycsXHJcbiAgICBGaWppOiAn5paQJyxcclxuICAgIEZpbmxhbmQ6ICfoiqzlhbAnLFxyXG4gICAgRnJhbmNlOiAn5rOV5Zu9JyxcclxuICAgICdGcmVuY2ggR3VpYW5hJzogJ+azleWxnuWcreS6mumCoycsXHJcbiAgICAnRnJlbmNoIFNvdXRoZXJuIGFuZCBBbnRhcmN0aWMgTGFuZHMnOiAn5rOV5bGe5Y2X5Y2K55CD5ZKM5Y2X5p6B6aKG5ZywJyxcclxuICAgIEdhYm9uOiAn5Yqg6JOsJyxcclxuICAgIEdhbWJpYTogJ+WGiOavlOS6micsXHJcbiAgICBHZW9yZ2lhOiAn5qC86bKB5ZCJ5LqaJyxcclxuICAgIEdlcm1hbnk6ICflvrflm70nLFxyXG4gICAgR2hhbmE6ICfliqDnurMnLFxyXG4gICAgR3JlZWNlOiAn5biM6IWKJyxcclxuICAgIEdyZWVubGFuZDogJ+agvOmZteWFsCcsXHJcbiAgICBHdWF0ZW1hbGE6ICfljbHlnLDpqazmi4knLFxyXG4gICAgR3VpbmVhOiAn5Yeg5YaF5LqaJyxcclxuICAgICdHdWluZWEgQmlzc2F1JzogJ+WHoOWGheS6muavlOe7jScsXHJcbiAgICBHdXlhbmE6ICflnK3kuprpgqMnLFxyXG4gICAgSGFpdGk6ICfmtbflnLAnLFxyXG4gICAgSG9uZHVyYXM6ICfmtKrpg73mi4nmlq8nLFxyXG4gICAgSHVuZ2FyeTogJ+WMiOeJmeWIqScsXHJcbiAgICBJY2VsYW5kOiAn5Yaw5bKbJyxcclxuICAgIEluZGlhOiAn5Y2w5bqmJyxcclxuICAgIEluZG9uZXNpYTogJ+WNsOWwvCcsXHJcbiAgICBJcmFuOiAn5LyK5pyXJyxcclxuICAgIElyYXE6ICfkvIrmi4nlhYsnLFxyXG4gICAgSXJlbGFuZDogJ+eIseWwlOWFsCcsXHJcbiAgICBJc3JhZWw6ICfku6XoibLliJcnLFxyXG4gICAgSXRhbHk6ICfmhI/lpKfliKknLFxyXG4gICAgJ0l2b3J5IENvYXN0JzogJ+ixoeeJmea1t+WyuCcsXHJcbiAgICBKYW1haWNhOiAn54mZ5Lmw5YqgJyxcclxuICAgIEphcGFuOiAn5pel5pysJyxcclxuICAgIEpvcmRhbjogJ+e6puaXpicsXHJcbiAgICBLYXpha2hzdGFuOiAn5ZOI6JCo5YWL5pav5Z2mJyxcclxuICAgIEtlbnlhOiAn6IKv5bC85LqaJyxcclxuICAgIEtvc292bzogJ+enkee0ouaygycsXHJcbiAgICBLdXdhaXQ6ICfnp5HlqIHnibknLFxyXG4gICAgS3lyZ3l6c3RhbjogJ+WQieWwlOWQieaWr+aWr+WdpicsXHJcbiAgICBMYW9zOiAn6ICB5oydJyxcclxuICAgIExhdHZpYTogJ+aLieiEsee7tOS6micsXHJcbiAgICBMZWJhbm9uOiAn6buO5be05aupJyxcclxuICAgIExlc290aG86ICfojrHntKLmiZgnLFxyXG4gICAgTGliZXJpYTogJ+WIqeavlOmHjOS6micsXHJcbiAgICBMaWJ5YTogJ+WIqeavlOS6micsXHJcbiAgICBMaXRodWFuaWE6ICfnq4vpmbblrpsnLFxyXG4gICAgTHV4ZW1ib3VyZzogJ+WNouajruWgoScsXHJcbiAgICBNYWNlZG9uaWE6ICfpqazlhbbpob8nLFxyXG4gICAgTWFkYWdhc2NhcjogJ+mprOi+vuWKoOaWr+WKoCcsXHJcbiAgICBNYWxhd2k6ICfpqazmi4nnu7QnLFxyXG4gICAgTWFsYXlzaWE6ICfpqazmnaXopb/kuponLFxyXG4gICAgTWFsaTogJ+mprOmHjCcsXHJcbiAgICBNYXVyaXRhbmlhOiAn5q+b6YeM5aGU5bC85LqaJyxcclxuICAgIE1leGljbzogJ+WiqOilv+WTpScsXHJcbiAgICBNb2xkb3ZhOiAn5pGp5bCU5aSa55OmJyxcclxuICAgIE1vbmdvbGlhOiAn6JKZ5Y+kJyxcclxuICAgIE1vbnRlbmVncm86ICfpu5HlsbEnLFxyXG4gICAgTW9yb2NjbzogJ+aRqea0m+WTpScsXHJcbiAgICBNb3phbWJpcXVlOiAn6I6r5qGR5q+U5YWLJyxcclxuICAgIE15YW5tYXI6ICfnvIXnlLgnLFxyXG4gICAgTmFtaWJpYTogJ+e6s+exs+avlOS6micsXHJcbiAgICBOZXBhbDogJ+WwvOaziuWwlCcsXHJcbiAgICBOZXRoZXJsYW5kczogJ+iNt+WFsCcsXHJcbiAgICAnTmV3IENhbGVkb25pYSc6ICfmlrDlloDph4zlpJrlsLzkuponLFxyXG4gICAgJ05ldyBaZWFsYW5kJzogJ+aWsOilv+WFsCcsXHJcbiAgICBOaWNhcmFndWE6ICflsLzliqDmi4nnk5wnLFxyXG4gICAgTmlnZXI6ICflsLzml6XlsJQnLFxyXG4gICAgTmlnZXJpYTogJ+WwvOaXpeWIqeS6micsXHJcbiAgICAnTm9ydGggS29yZWEnOiAn5YyX5pyd6bKcJyxcclxuICAgICdOb3J0aGVybiBDeXBydXMnOiAn5YyX5aGe5rWm6Lev5pavJyxcclxuICAgIE5vcndheTogJ+aMquWogScsXHJcbiAgICBPbWFuOiAn6Zi/5pu8JyxcclxuICAgIFBha2lzdGFuOiAn5be05Z+65pav5Z2mJyxcclxuICAgIFBhbmFtYTogJ+W3tOaLv+mprCcsXHJcbiAgICAnUGFwdWEgTmV3IEd1aW5lYSc6ICflt7TluIPkuprmlrDlh6DlhoXkuponLFxyXG4gICAgUGFyYWd1YXk6ICflt7Tmi4nlnK0nLFxyXG4gICAgUGVydTogJ+enmOmygScsXHJcbiAgICBQaGlsaXBwaW5lczogJ+iPsuW+i+WuvicsXHJcbiAgICBQb2xhbmQ6ICfms6LlhbAnLFxyXG4gICAgUG9ydHVnYWw6ICfokaHokITniZknLFxyXG4gICAgJ1B1ZXJ0byBSaWNvJzogJ+azouWkmum7juWQhCcsXHJcbiAgICBRYXRhcjogJ+WNoeWhlOWwlCcsXHJcbiAgICAnUmVwdWJsaWMgb2YgU2VyYmlhJzogJ+WhnuWwlOe7tOS6micsXHJcbiAgICAnUmVwdWJsaWMgb2YgdGhlIENvbmdvJzogJ+WImuaenOWFseWSjOWbvScsXHJcbiAgICBSb21hbmlhOiAn572X6ams5bC85LqaJyxcclxuICAgIFJ1c3NpYTogJ+S/hOe9l+aWrycsXHJcbiAgICBSd2FuZGE6ICfljaLml7rovr4nLFxyXG4gICAgJ1NhdWRpIEFyYWJpYSc6ICfmspnnibnpmL/mi4nkvK8nLFxyXG4gICAgU2VuZWdhbDogJ+WhnuWGheWKoOWwlCcsXHJcbiAgICAnU2llcnJhIExlb25lJzogJ+WhnuaLieWIqeaYgicsXHJcbiAgICBTaW5nYXBvcmU6ICfmlrDliqDlnaEnLFxyXG4gICAgU2xvdmFraWE6ICfmlq/mtJvkvJDlhYsnLFxyXG4gICAgU2xvdmVuaWE6ICfmlq/mtJvmloflsLzkuponLFxyXG4gICAgJ1NvbG9tb24gSXNsYW5kcyc6ICfmiYDnvZfpl6jnvqTlspsnLFxyXG4gICAgU29tYWxpYTogJ+e0oumprOmHjCcsXHJcbiAgICBTb21hbGlsYW5kOiAn57Si6ams6YeM5YWwJyxcclxuICAgICdTb3V0aCBBZnJpY2EnOiAn5Y2X6Z2eJyxcclxuICAgICdTb3V0aCBLb3JlYSc6ICfpn6nlm70nLFxyXG4gICAgJ1NvdXRoIFN1ZGFuJzogJ+WNl+iLj+S4uScsXHJcbiAgICBTcGFpbjogJ+ilv+ePreeJmScsXHJcbiAgICAnU3JpIExhbmthJzogJ+aWr+mHjOWFsOWNoScsXHJcbiAgICBTdWRhbjogJ+iLj+S4uScsXHJcbiAgICBTdXJpbmFtZTogJ+iLj+mHjOWNlycsXHJcbiAgICBTd2F6aWxhbmQ6ICfmlq/lqIHlo6vlhbAnLFxyXG4gICAgU3dlZGVuOiAn55Ge5YW4JyxcclxuICAgIFN3aXR6ZXJsYW5kOiAn55Ge5aOrJyxcclxuICAgIFN5cmlhOiAn5Y+Z5Yip5LqaJyxcclxuICAgIFRhamlraXN0YW46ICfloZTlkInlhYvmlq/lnaYnLFxyXG4gICAgVGhhaWxhbmQ6ICfms7Dlm70nLFxyXG4gICAgJ1RoZSBCYWhhbWFzJzogJ+W3tOWTiOmprCcsXHJcbiAgICBUb2dvOiAn5aSa5ZOlJyxcclxuICAgICdUcmluaWRhZCBhbmQgVG9iYWdvJzogJ+eJuemHjOWwvOi+vuWSjOWkmuW3tOWTpScsXHJcbiAgICBUdW5pc2lhOiAn56qB5bC85pavJyxcclxuICAgIFR1cmtleTogJ+Wcn+iAs+WFticsXHJcbiAgICBUdXJrbWVuaXN0YW46ICflnJ/lupPmm7zmlq/lnaYnLFxyXG4gICAgVWdhbmRhOiAn5LmM5bmy6L6+JyxcclxuICAgIFVrcmFpbmU6ICfkuYzlhYvlhbAnLFxyXG4gICAgJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJzogJ+mYv+iBlOmFiycsXHJcbiAgICAnVW5pdGVkIEtpbmdkb20nOiAn6Iux5Zu9JyxcclxuICAgICdVbml0ZWQgUmVwdWJsaWMgb2YgVGFuemFuaWEnOiAn5Z2m5qGR5bC85LqaJyxcclxuICAgICdVbml0ZWQgU3RhdGVzJzogJ+e+juWbvScsXHJcbiAgICBVcnVndWF5OiAn5LmM5ouJ5ZytJyxcclxuICAgIFV6YmVraXN0YW46ICfkuYzlhbnliKvlhYvmlq/lnaYnLFxyXG4gICAgVmFudWF0dTogJ+eTpuWKqumYv+WbvicsXHJcbiAgICBWZW5lenVlbGE6ICflp5TlhoXnkZ7mi4knLFxyXG4gICAgVmlldG5hbTogJ+i2iuWNlycsXHJcbiAgICAnV2VzdCBCYW5rJzogJ+ilv+WyuCcsXHJcbiAgICAnV2VzdGVybiBTYWhhcmEnOiAn6KW/5pKS5ZOI5ouJJyxcclxuICAgIFllbWVuOiAn5Lmf6ZeoJyxcclxuICAgIFphbWJpYTogJ+i1nuavlOS6micsXHJcbiAgICBaaW1iYWJ3ZTogJ+a0peW3tOW4g+mfpicsXHJcbiAgfTtcclxuICBfY2hpbGRyZW46IGFueSA9IFtdO1xyXG4gIGxvYWRlZE1hcDogeyBbbmFtZTogc3RyaW5nXTogUHJvbWlzZTxhbnk+IH0gPSB7fTtcclxuICBwcm92aW5jZXM6IGFueTtcclxuICBzdGFjayA9IFtdO1xyXG4gIHZpc3VhbE1hcDogYW55W107XHJcbiAgQFZpZXdDaGlsZChOZ3hFY2hhcnRzRGlyZWN0aXZlKVxyXG4gIG5neEVjaGFydHM6IE5neEVjaGFydHNEaXJlY3RpdmU7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFbMF0pIHtcclxuICAgICAgICB0aGlzLm1hcFN0eWxlID0gdGhpcy5kYXRhWzBdLm5hbWU7XHJcbiAgICAgICAgdGhpcy5zdGFjay5wdXNoKHRoaXMubWFwU3R5bGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVsb2FkTWFwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgLy8gYXdhaXQgdGhpcy5jb21tb25TZXJ2aWNlLmdldE1hcCgpO1xyXG4gICAgLy8gYXdhaXQgaW1wb3J0KCdlY2hhcnRzL2Rpc3QvZXh0ZW5zaW9uL2JtYXAuanMnKTtcclxuICAgIHRoaXMucHJvdmluY2VzID0gKGF3YWl0IHRoaXMuaHR0cC5nZXQoJy9hc3NldHMvbWFwTGlzdEl0ZW0uanNvbicpLnRvUHJvbWlzZSgpKSBhcyBhbnk7XHJcbiAgICAvLyBjb25zdCBtYXAgPSBlY2hhcnRzLmdldE1hcCh0aGlzLm1hcFN0eWxlKTtcclxuICAgIC8vIGlmIChtYXAgPT0gbnVsbCkge1xyXG4gICAgLy8gICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vJyArIHRoaXMubWFwU3R5bGUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAgIC8vICAgZWNoYXJ0cy5yZWdpc3Rlck1hcCh0aGlzLm1hcFN0eWxlLCBkYXRhKTtcclxuICAgIC8vIH1cclxuICAgIC8vIHRoaXMuaGFzTWFwID0gdHJ1ZTtcclxuICAgIC8vIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubmd4RWNoYXJ0cykge1xyXG4gICAgICAodGhpcy5uZ3hFY2hhcnRzIGFzIGFueSkuaW5pdENoYXJ0ID0gKCkgPT4ge307XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNoYXJ0SW5pdCgpIHtcclxuICAgIC8vIHRoaXMubG9hZE1hcCh0aGlzLm1hcFN0eWxlKS50aGVuKChkYXRhKSA9PiB7XHJcbiAgICBsZXQgc2VyaWVzID0gW107XHJcbiAgICB0aGlzLnZpc3VhbE1hcCA9IFtdO1xyXG4gICAgdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcclxuICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICd2aXN1YWwnKSB7XHJcbiAgICAgICAgLy8gc2VyaWVzID0gY2hpbGQuc2VyaWVzO1xyXG4gICAgICAgIC8vIHNlcmllc1swXS5tYXBUeXBlID0gdGhpcy5tYXBTdHlsZTtcclxuICAgICAgICBpZiAoY2hpbGQudmlzdWFsTWFwICYmIGNoaWxkLml0ZW0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBpZiAoY2hpbGQudmlzdWFsTWFwMikge1xyXG4gICAgICAgICAgICB0aGlzLnZpc3VhbE1hcC5wdXNoKGNoaWxkLnZpc3VhbE1hcDIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy52aXN1YWxNYXAucHVzaChjaGlsZC52aXN1YWxNYXApO1xyXG4gICAgICAgICAgY2hpbGQudmlzdWFsTWFwLnNlcmllc0luZGV4ID0gc2VyaWVzLmxlbmd0aDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGQuaXRlbSkpIHtcclxuICAgICAgICBzZXJpZXMgPSBbLi4uc2VyaWVzLCAuLi5jaGlsZC5pdGVtXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXJpZXMgPSBbLi4uc2VyaWVzLCBjaGlsZC5pdGVtXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBzZXJpZXMuZm9yRWFjaCgobGF5ZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmIChsYXllci50eXBlID09PSAnbGluZXMnKSB7XHJcbiAgICAgICAgZGVsZXRlIGxheWVyLmNvb3JkaW5hdGVTeXN0ZW07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGxheWVyLnR5cGUgPT09ICdzY2F0dGVyJykge1xyXG4gICAgICAgIGxheWVyLmNvb3JkaW5hdGVTeXN0ZW0gPSAnZ2VvJztcclxuICAgICAgICAvLyBsYXllci5zeW1ib2xTaXplID0gJzEwJztcclxuICAgICAgfVxyXG4gICAgICAvLyBpZiAobGF5ZXIudHlwZSA9PT0gJ21hcCcpIHtcclxuICAgICAgLy8gICB0aGlzLnZpc3VhbE1hcC5mb3JFYWNoKCh2aXN1YWxNYXApID0+IHtcclxuICAgICAgLy8gICAgIHZpc3VhbE1hcFsnc2VyaWVzSW5kZXgnXSA9IGluZGV4O1xyXG4gICAgICAvLyAgIH0pO1xyXG4gICAgICAvLyB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHRleHRTdHlsZSA9IGdldEVjaGFydHNUZXh0U3R5bGUodGhpcy5hcmVhTmFtZWZvbnQpO1xyXG4gICAgdGhpcy5jaGFydE9wdGlvbiA9IHtcclxuICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgIHRyaWdnZXI6ICdpdGVtJyxcclxuICAgICAgICB0cmlnZ2VyT246IHRoaXMudHJpZ2dlclR5cGUgPyB0aGlzLnRyaWdnZXJUeXBlIDogJ21vdXNlbW92ZScsXHJcbiAgICAgIH0sXHJcbiAgICAgIGdlbzoge1xyXG4gICAgICAgIGxhYmVsOiB7XHJcbiAgICAgICAgICBub3JtYWw6IHtcclxuICAgICAgICAgICAgLy/pnZnmgIHnmoTml7blgJnlsZXnpLrmoLflvI9cclxuICAgICAgICAgICAgc2hvdzogdGhpcy5zaG93QXJlYU5hbWUsIC8v5piv5ZCm5pi+56S65Zyw5Zu+55yB5Lu95b6X5ZCN56ewXHJcbiAgICAgICAgICAgIHRleHRTdHlsZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlbXBoYXNpczoge1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSxcclxuICAgICAgICAgICAgdGV4dFN0eWxlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNlbGVjdGVkTW9kZTogdGhpcy5zZWxlY3RlZE1vZGUsXHJcbiAgICAgICAgc2VsZWN0OiB7XHJcbiAgICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSwgLy/mmK/lkKbmmL7npLrlnLDlm77nnIHku73lvpflkI3np7BcclxuICAgICAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoaXMuYXJlYU5hbWVmb250Py5jb2xvciB8fCAnI2ZmZicsXHJcbiAgICAgICAgICAgICAgZm9udFNpemU6IHRoaXMuYXJlYU5hbWVmb250Py5zaXplIHx8IDEyLFxyXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6IHRoaXMuYXJlYU5hbWVmb250Py5mYW1pbHkgfHwgJycsXHJcbiAgICAgICAgICAgICAgbGluZUhlaWdodDogdGhpcy5hcmVhTmFtZWZvbnQ/LmxpbmVIZWlnaHQgfHwgMTIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaXRlbVN0eWxlOiB7XHJcbiAgICAgICAgICAgIGFyZWFDb2xvcjoge1xyXG4gICAgICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxyXG4gICAgICAgICAgICAgIHg6IDAuNSxcclxuICAgICAgICAgICAgICB5OiAwLjUsXHJcbiAgICAgICAgICAgICAgcjogMC44LFxyXG4gICAgICAgICAgICAgIGNvbG9yU3RvcHM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZWxlY3RDb2xvclN0YXJ0ID8gdGhpcy5zZWxlY3RDb2xvclN0YXJ0IDogdGhpcy5fYXJlYUNvbG9yLCAvLyAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JFbmQgPyB0aGlzLnNlbGVjdENvbG9yRW5kIDogdGhpcy5fYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0aGlzLl9ib3JkZXJDb2xvcixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpdGVtU3R5bGU6IHtcclxuICAgICAgICAgIG5vcm1hbDoge1xyXG4gICAgICAgICAgICAvLyBhcmVhQ29sb3I6IHRoaXMuYXJlYUNvbG9yLFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogdGhpcy5ib3JkZXJDb2xvcixcclxuICAgICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICAgICAgYXJlYUNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXHJcbiAgICAgICAgICAgICAgeDogMC41LFxyXG4gICAgICAgICAgICAgIHk6IDAuNSxcclxuICAgICAgICAgICAgICByOiAwLjgsXHJcbiAgICAgICAgICAgICAgY29sb3JTdG9wczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLm1hcENvbG9yU3RhcnQgPyB0aGlzLm1hcENvbG9yU3RhcnQgOiB0aGlzLmFyZWFDb2xvciwgLy8gMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLm1hcENvbG9yRW5kID8gdGhpcy5tYXBDb2xvckVuZCA6IHRoaXMuYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNoYWRvd0NvbG9yOiB0aGlzLnNoYWRvd0NvbG9yLFxyXG4gICAgICAgICAgICBzaGFkb3dCbHVyOiB0aGlzLnNoYWRvd1dpZHRoLFxyXG4gICAgICAgICAgICBzaGFkb3dPZmZzZXRYOiAtMixcclxuICAgICAgICAgICAgc2hhZG93T2Zmc2V0WTogMixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlbXBoYXNpczoge1xyXG4gICAgICAgICAgICBhcmVhQ29sb3I6IHtcclxuICAgICAgICAgICAgICB0eXBlOiAncmFkaWFsJyxcclxuICAgICAgICAgICAgICB4OiAwLjUsXHJcbiAgICAgICAgICAgICAgeTogMC41LFxyXG4gICAgICAgICAgICAgIHI6IDAuOCxcclxuICAgICAgICAgICAgICBjb2xvclN0b3BzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JTdGFydCA/IHRoaXMuc2VsZWN0Q29sb3JTdGFydCA6IHRoaXMuX2FyZWFDb2xvciwgLy8gMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLnNlbGVjdENvbG9yRW5kID8gdGhpcy5zZWxlY3RDb2xvckVuZCA6IHRoaXMuX2FyZWFDb2xvciwgLy8gMTAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBnbG9iYWxDb29yZDogZmFsc2UsIC8vIOe8uuecgeS4uiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogdGhpcy5fYm9yZGVyQ29sb3IsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIG1hcDogdGhpcy5tYXBTdHlsZSxcclxuICAgICAgICByb2FtOiB0aGlzLnpvb21Td2l0Y2gsXHJcbiAgICAgICAgbmFtZU1hcDogdGhpcy5uYW1lTWFwLFxyXG4gICAgICAgIHpvb206IHRoaXMuem9vbSxcclxuICAgICAgfSxcclxuICAgICAgc2VyaWVzLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnZpc3VhbE1hcD8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuY2hhcnRPcHRpb24udmlzdWFsTWFwID0gdGhpcy52aXN1YWxNYXA7XHJcbiAgICB9XHJcbiAgICAvLyB9KTtcclxuICB9XHJcbiAgY2hpbGRJbml0KGNoaWxkOiBhbnkpIHtcclxuICAgIGlmIChjaGlsZC5pZCkge1xyXG4gICAgICBjb25zdCBjaGlsZEluZGV4ID0gdGhpcy5fY2hpbGRyZW4uZmluZEluZGV4KChzKSA9PiBzLmlkID09PSBjaGlsZC5pZCk7XHJcbiAgICAgIGlmIChjaGlsZEluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLl9jaGlsZHJlbltjaGlsZEluZGV4XSA9IGNoaWxkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goY2hpbGQpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRlbGV0ZUNoaWxkKGNoaWxkSWQ6IHN0cmluZykge1xyXG4gICAgaWYgKGNoaWxkSWQpIHtcclxuICAgICAgY29uc3QgY2hpbGRJbmRleCA9IHRoaXMuX2NoaWxkcmVuLmZpbmRJbmRleCgocykgPT4gcy5pZCA9PT0gY2hpbGRJZCk7XHJcbiAgICAgIC8vIHRoaXMuX2NoaWxkcmVuLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgLy8gICBpZiAoY2hpbGRJZCA9PT0gZWxlbWVudC5pZCkge1xyXG4gICAgICAvLyAgICAgdGhpcy52aXN1YWxNYXAgPSBudWxsO1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfSk7XHJcbiAgICAgIGlmIChjaGlsZEluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLl9jaGlsZHJlbi5zcGxpY2UoY2hpbGRJbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5jaGFydEluaXQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gbG9hZE1hcChuYW1lOiBzdHJpbmcpIHtcclxuICAvLyAgIGxldCBsb2FkTWFwUHJvbWlzZSA9IHRoaXMubG9hZGVkTWFwW25hbWVdO1xyXG4gIC8vICAgaWYgKCFsb2FkTWFwUHJvbWlzZSkge1xyXG4gIC8vICAgICBsb2FkTWFwUHJvbWlzZSA9IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyBuYW1lICsgJy5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgLy8gICAgIHRoaXMubG9hZGVkTWFwW25hbWVdID0gbG9hZE1hcFByb21pc2U7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbG9hZE1hcFByb21pc2U7XHJcbiAgLy8gfVxyXG4gIGFzeW5jIHJlbG9hZE1hcCgpIHtcclxuICAgIGNvbnN0IG1hcFN0eWxlID0gdGhpcy5tYXBTdHlsZTtcclxuICAgIGNvbnN0IG1hcCA9IGVjaGFydHMuZ2V0TWFwKG1hcFN0eWxlKTtcclxuICAgIGlmIChtYXAgPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBkYXRhOmFueSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyBtYXBTdHlsZSArICcuanNvbicpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKG1hcFN0eWxlLCBkYXRhKTtcclxuICAgIH1cclxuICAgIHRoaXMuaGFzTWFwID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgfVxyXG4gIGFzeW5jIG1hcmtDbGljayhldmVudCkge1xyXG4gICAgbGV0IGxuZzogbnVtYmVyO1xyXG4gICAgbGV0IGxhdDogbnVtYmVyO1xyXG4gICAgaWYgKGV2ZW50LnNlcmllc0lkKSB7XHJcbiAgICAgIGxuZyA9IGV2ZW50LnZhbHVlWzBdO1xyXG4gICAgICBsYXQgPSBldmVudC52YWx1ZVsxXTtcclxuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLl9jaGlsZHJlbi5maW5kKChzKSA9PiBldmVudC5zZXJpZXNJZC5zdGFydHNXaXRoKHMuaWQpKTtcclxuICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLm9uQ2xpY2spIHtcclxuICAgICAgICBjaGlsZC5vbkNsaWNrKGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAodGhpcy5tYXBTdHlsZSk7XHJcbiAgICAgIGlmIChtYXApIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgbWFwLmdlb0pzb24uZmVhdHVyZXMpIHtcclxuICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBmZWF0dXJlLnByb3BlcnRpZXM7XHJcbiAgICAgICAgICBpZiAocHJvcGVydGllcy5uYW1lID09PSBldmVudC5uYW1lKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNwKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jcFswXTtcclxuICAgICAgICAgICAgICBsYXQgPSBwcm9wZXJ0aWVzLmNwWzFdO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnRpZXMuY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jZW50ZXJbMF07XHJcbiAgICAgICAgICAgICAgbGF0ID0gcHJvcGVydGllcy5jZW50ZXJbMV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2cocHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHByb3ZpbmNlID0gdGhpcy5wcm92aW5jZXMuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5sYWJlbCA9PT0gZXZlbnQubmFtZSk7XHJcbiAgICAgIGlmIChwcm92aW5jZSkge1xyXG4gICAgICAgIHRoaXMuc3RhY2sucHVzaCh0aGlzLm1hcFN0eWxlKTtcclxuICAgICAgICB0aGlzLm1hcFN0eWxlID0gcHJvdmluY2UudmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZWxvYWRNYXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hcmVhQ2xpY2suZW1pdCh7IG5hbWU6IGV2ZW50Lm5hbWUsIGxuZywgbGF0IH0pO1xyXG4gICAgLy8gaWYoZXZlbnQuY29tcG9uZW50U3ViVHlwZSE9bnVsbCAmJiBldmVudC5jb21wb25lbnRTdWJUeXBlPT09J3NjYXR0ZXInKXtcclxuICAgIC8vICAgY29uc3Qgb2JqPWV2ZW50LmRhdGE7XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKGV2ZW50KTtcclxuICAgIC8vICAgdGhpcy5tYXJrZXJUaWVyQ2xpY2suZW1pdCh7XHJcbiAgICAvLyAgICAgYWRkcmVzczogb2JqLm5hbWUsXHJcbiAgICAvLyAgICAgaW5mb3JtYXRpb246ICcnLFxyXG4gICAgLy8gICAgIGdyb3VwOiAnJyxcclxuICAgIC8vICAgICBsbmc6IG9iai52YWx1ZVswXSxcclxuICAgIC8vICAgICBsYXQ6IG9iai52YWx1ZVsxXSxcclxuICAgIC8vICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIHJvbGxiYWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuc3RhY2sgIT0gbnVsbCAmJiB0aGlzLnN0YWNrLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHRoaXMubWFwU3R5bGUgPSB0aGlzLnN0YWNrLnBvcCgpO1xyXG4gICAgICB0aGlzLnJlbG9hZE1hcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dFN0eWxlKCkge31cclxufVxyXG4iXX0=