@dropi/ui-components 1.0.12 → 1.0.13

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 (255) hide show
  1. package/README.md +55 -36
  2. package/dist/README.md +58 -38
  3. package/dist/components-source/accordion/accordion-item/accordion-item.component.d.ts +31 -0
  4. package/dist/components-source/accordion/accordion.component.d.ts +26 -0
  5. package/dist/components-source/alert/alert.component.d.ts +32 -0
  6. package/dist/components-source/alert-modal/alert-modal.component.d.ts +78 -0
  7. package/dist/components-source/alert-validation/alert-validation.component.d.ts +21 -0
  8. package/dist/components-source/badge/badge.component.d.ts +12 -0
  9. package/dist/components-source/beta-tag/beta-tag.component.d.ts +5 -0
  10. package/dist/components-source/breadcrumb/breadcrumb.component.d.ts +11 -0
  11. package/dist/components-source/card-product/card-product.component.d.ts +204 -0
  12. package/dist/components-source/card-section/card-section.component.d.ts +31 -0
  13. package/dist/components-source/checkbox-selection-list/checkbox-selection-list.component.d.ts +26 -0
  14. package/dist/components-source/city-selector/city-selector.component.d.ts +17 -0
  15. package/dist/components-source/color-picker/color-picker.component.d.ts +73 -0
  16. package/dist/components-source/confirm-dialog/confirm-dialog.component.d.ts +10 -0
  17. package/dist/components-source/country-flags/country-flags.component.d.ts +12 -0
  18. package/dist/components-source/date-picker/date-picker.component.d.ts +27 -0
  19. package/dist/components-source/date-picker-range/date-picker-range.component.d.ts +26 -0
  20. package/dist/components-source/dropi-avatars/dropi-avatars.component.d.ts +11 -0
  21. package/dist/components-source/dropi-badge/dropi-badge.component.d.ts +29 -0
  22. package/dist/components-source/dropi-banner-external/dropi-banner-external.component.d.ts +19 -0
  23. package/dist/components-source/dropi-breadcrumb/dropi-breadcrumb.component.d.ts +22 -0
  24. package/dist/components-source/dropi-card-checkbox/dropi-card-checkbox.component.d.ts +20 -0
  25. package/dist/components-source/dropi-carousel/dropi-carousel.component.d.ts +52 -0
  26. package/dist/components-source/dropi-checkbox/dropi-checkbox.component.d.ts +11 -0
  27. package/dist/components-source/dropi-chips/dropi-chips.component.d.ts +17 -0
  28. package/dist/components-source/dropi-country-selector/countries.data.d.ts +6 -0
  29. package/dist/components-source/dropi-country-selector/dropi-country-selector.component.d.ts +90 -0
  30. package/dist/components-source/dropi-drawer/dropi-drawer.component.d.ts +20 -0
  31. package/dist/components-source/dropi-dropdown/dropi-dropdown.component.d.ts +20 -0
  32. package/dist/components-source/dropi-favorite-button/dropi-favorite-button.component.d.ts +12 -0
  33. package/dist/components-source/dropi-file-upload/card-view/card-view.component.d.ts +19 -0
  34. package/dist/components-source/dropi-file-upload/drop-zone/drop-zone.component.d.ts +38 -0
  35. package/dist/components-source/dropi-file-upload/dropi-file-upload.component.d.ts +18 -0
  36. package/dist/components-source/dropi-file-upload/file-list/file-list.component.d.ts +39 -0
  37. package/dist/components-source/dropi-file-upload/grid-view/grid-view.component.d.ts +15 -0
  38. package/dist/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.d.ts +20 -0
  39. package/dist/components-source/dropi-image-overlay/dropi-image-overlay.component.d.ts +8 -0
  40. package/dist/components-source/dropi-languages-selector/dropi-languages-selector.component.d.ts +18 -0
  41. package/dist/components-source/dropi-logo/dropi-logo.component.d.ts +12 -0
  42. package/dist/components-source/dropi-modal/dropi-modal.component.d.ts +34 -0
  43. package/dist/components-source/dropi-modal/p-template.directive.d.ts +9 -0
  44. package/dist/components-source/dropi-navbar/dropi-navbar.component.d.ts +20 -0
  45. package/dist/components-source/dropi-paginator/dropi-paginator.component.d.ts +21 -0
  46. package/dist/components-source/dropi-phone-input/dropi-phone-input.component.d.ts +55 -0
  47. package/dist/components-source/dropi-radio-button/dropi-radio-button.component.d.ts +17 -0
  48. package/dist/components-source/dropi-search/dropi-search.component.d.ts +40 -0
  49. package/dist/components-source/dropi-select/dropi-select.component.d.ts +34 -0
  50. package/dist/components-source/dropi-skeleton/dropi-skeleton.component.d.ts +14 -0
  51. package/dist/components-source/dropi-steps/dropi-steps.component.d.ts +64 -0
  52. package/dist/components-source/dropi-switch/dropi-switch.component.d.ts +11 -0
  53. package/dist/components-source/dropi-table/dropi-table.component.d.ts +82 -0
  54. package/dist/components-source/dropi-tag/dropi-tag.component.d.ts +15 -0
  55. package/dist/components-source/dropi-text-area/dropi-text-area.component.d.ts +14 -0
  56. package/dist/components-source/dropi-tooltip/dropi-tooltip.component.d.ts +28 -0
  57. package/dist/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.d.ts +16 -0
  58. package/dist/components-source/empty/empty.component.d.ts +9 -0
  59. package/dist/components-source/empty-state/empty-state.component.d.ts +17 -0
  60. package/dist/components-source/file-upload-progress-bar/file-upload-progress-bar.component.d.ts +30 -0
  61. package/dist/components-source/index.d.ts +85 -0
  62. package/dist/components-source/input/input.component.d.ts +33 -0
  63. package/dist/components-source/lottie-loader/lottie-loader.component.d.ts +9 -0
  64. package/dist/components-source/otp-send-code/otp-send-code.component.d.ts +83 -0
  65. package/dist/components-source/radio-selection-list/radio-selection-list.component.d.ts +30 -0
  66. package/dist/components-source/read-more/read-more.component.d.ts +60 -0
  67. package/dist/components-source/sidebar/sidebar.component.d.ts +27 -0
  68. package/dist/components-source/simple-stepper/simple-stepper.component.d.ts +21 -0
  69. package/dist/components-source/spinner/spinner.component.d.ts +9 -0
  70. package/dist/components-source/tabs/tabs.component.d.ts +27 -0
  71. package/dist/components-source/tag-type-product/tag-type-product.component.d.ts +5 -0
  72. package/dist/components-source/toast/toast.component.d.ts +21 -0
  73. package/dist/components-source/toggle/input-toggle.component.d.ts +11 -0
  74. package/dist/components-source/tooltip/tooltip.component.d.ts +15 -0
  75. package/dist/components-source/vertical-steps/vertical-steps.component.d.ts +27 -0
  76. package/dist/esm2022/components-source/accordion/accordion-item/accordion-item.component.mjs +51 -0
  77. package/dist/esm2022/components-source/accordion/accordion.component.mjs +46 -0
  78. package/dist/esm2022/components-source/alert/alert.component.mjs +114 -0
  79. package/dist/esm2022/components-source/alert-modal/alert-modal.component.mjs +247 -0
  80. package/dist/esm2022/components-source/alert-validation/alert-validation.component.mjs +53 -0
  81. package/dist/esm2022/components-source/badge/badge.component.mjs +23 -0
  82. package/dist/esm2022/components-source/beta-tag/beta-tag.component.mjs +11 -0
  83. package/dist/esm2022/components-source/breadcrumb/breadcrumb.component.mjs +26 -0
  84. package/dist/esm2022/components-source/card-product/card-product.component.mjs +534 -0
  85. package/dist/esm2022/components-source/card-section/card-section.component.mjs +91 -0
  86. package/dist/esm2022/components-source/checkbox-selection-list/checkbox-selection-list.component.mjs +79 -0
  87. package/dist/esm2022/components-source/city-selector/city-selector.component.mjs +53 -0
  88. package/dist/esm2022/components-source/color-picker/color-picker.component.mjs +320 -0
  89. package/dist/esm2022/components-source/confirm-dialog/confirm-dialog.component.mjs +27 -0
  90. package/dist/esm2022/components-source/country-flags/country-flags.component.mjs +27 -0
  91. package/dist/esm2022/components-source/date-picker/date-picker.component.mjs +73 -0
  92. package/dist/esm2022/components-source/date-picker-range/date-picker-range.component.mjs +67 -0
  93. package/dist/esm2022/components-source/dropi-avatars/dropi-avatars.component.mjs +31 -0
  94. package/dist/esm2022/components-source/dropi-badge/dropi-badge.component.mjs +45 -0
  95. package/dist/esm2022/components-source/dropi-banner-external/dropi-banner-external.component.mjs +39 -0
  96. package/dist/esm2022/components-source/dropi-breadcrumb/dropi-breadcrumb.component.mjs +45 -0
  97. package/dist/esm2022/components-source/dropi-card-checkbox/dropi-card-checkbox.component.mjs +53 -0
  98. package/dist/esm2022/components-source/dropi-carousel/dropi-carousel.component.mjs +243 -0
  99. package/dist/esm2022/components-source/dropi-checkbox/dropi-checkbox.component.mjs +31 -0
  100. package/dist/esm2022/components-source/dropi-chips/dropi-chips.component.mjs +38 -0
  101. package/dist/esm2022/components-source/dropi-country-selector/countries.data.mjs +254 -0
  102. package/dist/esm2022/components-source/dropi-country-selector/dropi-country-selector.component.mjs +183 -0
  103. package/dist/esm2022/components-source/dropi-drawer/dropi-drawer.component.mjs +69 -0
  104. package/dist/esm2022/components-source/dropi-dropdown/dropi-dropdown.component.mjs +59 -0
  105. package/dist/esm2022/components-source/dropi-favorite-button/dropi-favorite-button.component.mjs +33 -0
  106. package/dist/esm2022/components-source/dropi-file-upload/card-view/card-view.component.mjs +47 -0
  107. package/dist/esm2022/components-source/dropi-file-upload/drop-zone/drop-zone.component.mjs +115 -0
  108. package/dist/esm2022/components-source/dropi-file-upload/dropi-file-upload.component.mjs +66 -0
  109. package/dist/esm2022/components-source/dropi-file-upload/file-list/file-list.component.mjs +95 -0
  110. package/dist/esm2022/components-source/dropi-file-upload/grid-view/grid-view.component.mjs +37 -0
  111. package/dist/esm2022/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.mjs +59 -0
  112. package/dist/esm2022/components-source/dropi-image-overlay/dropi-image-overlay.component.mjs +31 -0
  113. package/dist/esm2022/components-source/dropi-languages-selector/dropi-languages-selector.component.mjs +38 -0
  114. package/dist/esm2022/components-source/dropi-logo/dropi-logo.component.mjs +27 -0
  115. package/dist/esm2022/components-source/dropi-modal/dropi-modal.component.mjs +92 -0
  116. package/dist/esm2022/components-source/dropi-modal/p-template.directive.mjs +22 -0
  117. package/dist/esm2022/components-source/dropi-navbar/dropi-navbar.component.mjs +51 -0
  118. package/dist/esm2022/components-source/dropi-paginator/dropi-paginator.component.mjs +89 -0
  119. package/dist/esm2022/components-source/dropi-phone-input/dropi-phone-input.component.mjs +155 -0
  120. package/dist/esm2022/components-source/dropi-radio-button/dropi-radio-button.component.mjs +48 -0
  121. package/dist/esm2022/components-source/dropi-search/dropi-search.component.mjs +104 -0
  122. package/dist/esm2022/components-source/dropi-select/dropi-select.component.mjs +96 -0
  123. package/dist/esm2022/components-source/dropi-skeleton/dropi-skeleton.component.mjs +39 -0
  124. package/dist/esm2022/components-source/dropi-steps/dropi-steps.component.mjs +97 -0
  125. package/dist/esm2022/components-source/dropi-switch/dropi-switch.component.mjs +22 -0
  126. package/dist/esm2022/components-source/dropi-table/dropi-table.component.mjs +333 -0
  127. package/dist/esm2022/components-source/dropi-tag/dropi-tag.component.mjs +36 -0
  128. package/dist/esm2022/components-source/dropi-text-area/dropi-text-area.component.mjs +53 -0
  129. package/dist/esm2022/components-source/dropi-tooltip/dropi-tooltip.component.mjs +78 -0
  130. package/dist/esm2022/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.mjs +46 -0
  131. package/dist/esm2022/components-source/empty/empty.component.mjs +18 -0
  132. package/dist/esm2022/components-source/empty-state/empty-state.component.mjs +62 -0
  133. package/dist/esm2022/components-source/file-upload-progress-bar/file-upload-progress-bar.component.mjs +91 -0
  134. package/dist/esm2022/components-source/index.mjs +107 -0
  135. package/dist/esm2022/components-source/input/input.component.mjs +104 -0
  136. package/dist/esm2022/components-source/lottie-loader/lottie-loader.component.mjs +25 -0
  137. package/dist/esm2022/components-source/otp-send-code/otp-send-code.component.mjs +201 -0
  138. package/dist/esm2022/components-source/radio-selection-list/radio-selection-list.component.mjs +89 -0
  139. package/dist/esm2022/components-source/read-more/read-more.component.mjs +91 -0
  140. package/dist/esm2022/components-source/sidebar/sidebar.component.mjs +88 -0
  141. package/dist/esm2022/components-source/simple-stepper/simple-stepper.component.mjs +60 -0
  142. package/dist/esm2022/components-source/spinner/spinner.component.mjs +19 -0
  143. package/dist/esm2022/components-source/tabs/tabs.component.mjs +83 -0
  144. package/dist/esm2022/components-source/tag-type-product/tag-type-product.component.mjs +11 -0
  145. package/dist/esm2022/components-source/toast/toast.component.mjs +47 -0
  146. package/dist/esm2022/components-source/toggle/input-toggle.component.mjs +36 -0
  147. package/dist/esm2022/components-source/tooltip/tooltip.component.mjs +34 -0
  148. package/dist/esm2022/components-source/vertical-steps/vertical-steps.component.mjs +75 -0
  149. package/dist/esm2022/lib/elements-registry.mjs +343 -2
  150. package/dist/esm2022/utilities/interfaces/ui/dropi-table.interface.mjs +2 -0
  151. package/dist/esm2022/utilities/interfaces/ui/input-interface.mjs +2 -0
  152. package/dist/esm2022/utilities/interfaces/ui/select-interface.mjs +2 -0
  153. package/dist/esm2022/utilities/interfaces/ui/selection-list-interface.mjs +2 -0
  154. package/dist/esm2022/utilities/interfaces/ui/upload.model.mjs +5 -0
  155. package/dist/fesm2022/dropi-ui-components.mjs +5913 -2
  156. package/dist/fesm2022/dropi-ui-components.mjs.map +1 -1
  157. package/dist/utilities/interfaces/ui/dropi-table.interface.d.ts +45 -0
  158. package/dist/utilities/interfaces/ui/input-interface.d.ts +33 -0
  159. package/dist/utilities/interfaces/ui/select-interface.d.ts +8 -0
  160. package/dist/utilities/interfaces/ui/selection-list-interface.d.ts +24 -0
  161. package/dist/utilities/interfaces/ui/upload.model.d.ts +30 -0
  162. package/package.json +18 -6
  163. package/src/components-source/alert/alert.component.ts +12 -129
  164. package/src/components-source/alert-modal/alert-modal.component.ts +84 -114
  165. package/src/components-source/alert-validation/alert-validation.component.html +8 -0
  166. package/src/components-source/alert-validation/alert-validation.component.scss +225 -0
  167. package/src/components-source/alert-validation/alert-validation.component.ts +43 -0
  168. package/src/components-source/beta-tag/beta-tag.component.html +1 -0
  169. package/src/components-source/beta-tag/beta-tag.component.scss +26 -0
  170. package/src/components-source/beta-tag/beta-tag.component.ts +11 -0
  171. package/src/components-source/breadcrumb/breadcrumb.component.html +13 -5
  172. package/src/components-source/breadcrumb/breadcrumb.component.scss +8 -1
  173. package/src/components-source/breadcrumb/breadcrumb.component.spec.ts +26 -26
  174. package/src/components-source/breadcrumb/breadcrumb.component.ts +10 -12
  175. package/src/components-source/card-product/card-product.component.spec.ts +9 -9
  176. package/src/components-source/card-product/card-product.component.stories.ts +2 -2
  177. package/src/components-source/card-product/card-product.component.ts +294 -818
  178. package/src/components-source/card-section/card-section.component.html +7 -7
  179. package/src/components-source/card-section/card-section.component.ts +41 -15
  180. package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.ts +42 -179
  181. package/src/components-source/city-selector/city-selector.component.ts +37 -137
  182. package/src/components-source/confirm-dialog/confirm-dialog.component.html +26 -0
  183. package/src/components-source/confirm-dialog/confirm-dialog.component.scss +55 -0
  184. package/src/components-source/confirm-dialog/confirm-dialog.component.ts +22 -0
  185. package/src/components-source/country-flags/country-flags.component.ts +20 -12
  186. package/src/components-source/date-picker/date-picker.component.ts +32 -292
  187. package/src/components-source/date-picker-range/date-picker-range.component.html +15 -7
  188. package/src/components-source/date-picker-range/date-picker-range.component.ts +42 -235
  189. package/src/components-source/dropi-banner-external/dropi-banner-external.component.ts +24 -185
  190. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.html +21 -21
  191. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.spec.ts +9 -9
  192. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.ts +41 -23
  193. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.stories.ts +12 -12
  194. package/src/components-source/dropi-chips/dropi-chips.component.ts +22 -87
  195. package/src/components-source/dropi-country-selector/countries.data.ts +256 -236
  196. package/src/components-source/dropi-country-selector/dropi-country-selector.component.ts +37 -25
  197. package/src/components-source/dropi-drawer/dropi-drawer.component.ts +91 -78
  198. package/src/components-source/dropi-dropdown/dropi-dropdown.component.ts +44 -47
  199. package/src/components-source/dropi-file-upload/card-view/card-view.component.ts +33 -53
  200. package/src/components-source/dropi-file-upload/drop-zone/drop-zone.component.ts +52 -123
  201. package/src/components-source/dropi-file-upload/dropi-file-upload.component.ts +38 -294
  202. package/src/components-source/dropi-file-upload/file-list/file-list.component.ts +62 -43
  203. package/src/components-source/dropi-file-upload/grid-view/grid-view.component.ts +23 -22
  204. package/src/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.scss +6 -2
  205. package/src/components-source/dropi-image-overlay/dropi-image-overlay.component.ts +16 -71
  206. package/src/components-source/dropi-modal/dropi-modal.component.ts +56 -372
  207. package/src/components-source/dropi-navbar/dropi-navbar.component.ts +17 -17
  208. package/src/components-source/dropi-paginator/dropi-paginator.component.html +18 -7
  209. package/src/components-source/dropi-paginator/dropi-paginator.component.ts +40 -32
  210. package/src/components-source/dropi-phone-input/dropi-phone-input.component.html +78 -79
  211. package/src/components-source/dropi-phone-input/dropi-phone-input.component.ts +29 -85
  212. package/src/components-source/dropi-search/dropi-search.component.ts +59 -222
  213. package/src/components-source/dropi-select/dropi-select.component.html +82 -131
  214. package/src/components-source/dropi-select/dropi-select.component.ts +60 -423
  215. package/src/components-source/dropi-table/dropi-table.component.html +40 -23
  216. package/src/components-source/dropi-table/dropi-table.component.ts +130 -374
  217. package/src/components-source/dropi-tag/dropi-tag.component.ts +20 -90
  218. package/src/components-source/dropi-text-area/dropi-text-area.component.ts +22 -48
  219. package/src/components-source/dropi-tooltip/dropi-tooltip.component.ts +40 -129
  220. package/src/components-source/empty/empty.component.html +3 -0
  221. package/src/components-source/empty/empty.component.scss +0 -0
  222. package/src/components-source/empty/empty.component.ts +16 -0
  223. package/src/components-source/empty-state/empty-state.component.ts +47 -19
  224. package/src/components-source/index.ts +82 -37
  225. package/src/components-source/input/input.component.html +79 -63
  226. package/src/components-source/input/input.component.ts +51 -97
  227. package/src/components-source/lottie-loader/lottie-loader.component.ts +13 -16
  228. package/src/components-source/otp-send-code/otp-send-code.component.ts +60 -528
  229. package/src/components-source/radio-selection-list/radio-selection-list.component.ts +36 -97
  230. package/src/components-source/sidebar/sidebar.component.spec.ts +11 -11
  231. package/src/components-source/sidebar/sidebar.component.stories.ts +3 -3
  232. package/src/components-source/sidebar/sidebar.component.ts +51 -47
  233. package/src/components-source/simple-stepper/simple-stepper.component.ts +20 -35
  234. package/src/components-source/spinner/spinner.component.html +6 -0
  235. package/src/components-source/spinner/spinner.component.scss +15 -0
  236. package/src/components-source/spinner/spinner.component.ts +17 -0
  237. package/src/components-source/tabs/tabs.component.spec.ts +8 -8
  238. package/src/components-source/tabs/tabs.component.stories.ts +5 -5
  239. package/src/components-source/tabs/tabs.component.ts +41 -83
  240. package/src/components-source/toast/toast.component.ts +40 -46
  241. package/src/components-source/toggle/input-toggle.component.html +34 -0
  242. package/src/components-source/toggle/input-toggle.component.scss +0 -0
  243. package/src/components-source/toggle/input-toggle.component.ts +27 -0
  244. package/src/components-source/toggle/inputToggleConfig.ts +11 -0
  245. package/src/components-source/tooltip/tooltip.component.html +22 -11
  246. package/src/components-source/tooltip/tooltip.component.ts +28 -13
  247. package/src/components-source/vertical-steps/vertical-steps.component.ts +16 -78
  248. package/src/lib/elements-registry.ts +413 -1
  249. package/src/lib/router-stub.ts +7 -0
  250. package/src/libreria work space.code-workspace +11 -8
  251. package/src/utilities/interfaces/ui/dropi-table.interface.ts +60 -0
  252. package/src/utilities/interfaces/ui/input-interface.ts +34 -0
  253. package/src/utilities/interfaces/ui/select-interface.ts +8 -0
  254. package/src/utilities/interfaces/ui/selection-list-interface.ts +15 -0
  255. package/src/utilities/interfaces/ui/upload.model.ts +41 -0
@@ -0,0 +1,254 @@
1
+ export const COUNTRIES = [
2
+ { name: "Afghanistan", code: "AF", codePhone: "93" },
3
+ { name: "Åland Islands", code: "AX", codePhone: "358" },
4
+ { name: "Albania", code: "AL", codePhone: "355" },
5
+ { name: "Algeria", code: "DZ", codePhone: "213" },
6
+ { name: "American Samoa", code: "AS", codePhone: "1684" },
7
+ { name: "AndorrA", code: "AD", codePhone: "376" },
8
+ { name: "Angola", code: "AO", codePhone: "244" },
9
+ { name: "Anguilla", code: "AI", codePhone: "1264" },
10
+ { name: "Antarctica", code: "AQ", codePhone: "672" },
11
+ { name: "Antigua and Barbuda", code: "AG", codePhone: "1268" },
12
+ { name: "Argentina", code: "AR", codePhone: "54" },
13
+ { name: "Armenia", code: "AM", codePhone: "374" },
14
+ { name: "Aruba", code: "AW", codePhone: "297" },
15
+ { name: "Australia", code: "AU", codePhone: "61" },
16
+ { name: "Austria", code: "AT", codePhone: "43" },
17
+ { name: "Azerbaijan", code: "AZ", codePhone: "994" },
18
+ { name: "Bahamas", code: "BS", codePhone: "1242" },
19
+ { name: "Bahrain", code: "BH", codePhone: "973" },
20
+ { name: "Bangladesh", code: "BD", codePhone: "880" },
21
+ { name: "Barbados", code: "BB", codePhone: "1246" },
22
+ { name: "Belarus", code: "BY", codePhone: "375" },
23
+ { name: "Belgium", code: "BE", codePhone: "32" },
24
+ { name: "Belize", code: "BZ", codePhone: "501" },
25
+ { name: "Benin", code: "BJ", codePhone: "229" },
26
+ { name: "Bermuda", code: "BM", codePhone: "1441" },
27
+ { name: "Bhutan", code: "BT", codePhone: "975" },
28
+ { name: "Bolivia", code: "BO", codePhone: "591" },
29
+ { name: "Bosnia and Herzegovina", code: "BA", codePhone: "387" },
30
+ { name: "Botswana", code: "BW", codePhone: "267" },
31
+ { name: "Brazil", code: "BR", codePhone: "55" },
32
+ { name: "Brunei Darussalam", code: "BN", codePhone: "673" },
33
+ { name: "Bulgaria", code: "BG", codePhone: "359" },
34
+ { name: "Burkina Faso", code: "BF", codePhone: "226" },
35
+ { name: "Burundi", code: "BI", codePhone: "257" },
36
+ { name: "Cambodia", code: "KH", codePhone: "855" },
37
+ { name: "Cameroon", code: "CM", codePhone: "237" },
38
+ { name: "Canada", code: "CA", codePhone: "1" },
39
+ { name: "Cape Verde", code: "CV", codePhone: "238" },
40
+ { name: "Cayman Islands", code: "KY", codePhone: "1345" },
41
+ { name: "Central African Republic", code: "CF", codePhone: "236" },
42
+ { name: "Chad", code: "TD", codePhone: "235" },
43
+ { name: "Chile", code: "CL", codePhone: "56" },
44
+ { name: "China", code: "CN", codePhone: "86" },
45
+ { name: "Christmas Island", code: "CX", codePhone: "61" },
46
+ { name: "Cocos (Keeling) Islands", code: "CC", codePhone: "61" },
47
+ { name: "Colombia", code: "CO", codePhone: "57" },
48
+ { name: "Comoros", code: "KM", codePhone: "269" },
49
+ { name: "Congo", code: "CG", codePhone: "242" },
50
+ {
51
+ name: "Congo, The Democratic Republic of the",
52
+ code: "CD",
53
+ codePhone: "243",
54
+ },
55
+ { name: "Cook Islands", code: "CK", codePhone: "682" },
56
+ { name: "Costa Rica", code: "CR", codePhone: "506" },
57
+ { name: "Cote D'Ivoire", code: "CI", codePhone: "225" },
58
+ { name: "Croatia", code: "HR", codePhone: "385" },
59
+ { name: "Cuba", code: "CU", codePhone: "53" },
60
+ { name: "Cyprus", code: "CY", codePhone: "357" },
61
+ { name: "Czech Republic", code: "CZ", codePhone: "420" },
62
+ { name: "Denmark", code: "DK", codePhone: "45" },
63
+ { name: "Djibouti", code: "DJ", codePhone: "253" },
64
+ { name: "Dominica", code: "DM", codePhone: "1767" },
65
+ { name: "Dominican Republic", code: "DO", codePhone: "1" },
66
+ { name: "Ecuador", code: "EC", codePhone: "593" },
67
+ { name: "Egypt", code: "EG", codePhone: "20" },
68
+ { name: "El Salvador", code: "SV", codePhone: "503" },
69
+ { name: "Equatorial Guinea", code: "GQ", codePhone: "240" },
70
+ { name: "Eritrea", code: "ER", codePhone: "291" },
71
+ { name: "Estonia", code: "EE", codePhone: "372" },
72
+ { name: "Ethiopia", code: "ET", codePhone: "251" },
73
+ { name: "Falkland Islands (Malvinas)", code: "FK", codePhone: "500" },
74
+ { name: "Faroe Islands", code: "FO", codePhone: "298" },
75
+ { name: "Fiji", code: "FJ", codePhone: "679" },
76
+ { name: "Finland", code: "FI", codePhone: "358" },
77
+ { name: "France", code: "FR", codePhone: "33" },
78
+ { name: "French Guiana", code: "GF", codePhone: "594" },
79
+ { name: "French Polynesia", code: "PF", codePhone: "689" },
80
+ { name: "French Southern Territories", code: "TF", codePhone: "262" },
81
+ { name: "Gabon", code: "GA", codePhone: "241" },
82
+ { name: "Gambia", code: "GM", codePhone: "220" },
83
+ { name: "Georgia", code: "GE", codePhone: "995" },
84
+ { name: "Germany", code: "DE", codePhone: "49" },
85
+ { name: "Ghana", code: "GH", codePhone: "233" },
86
+ { name: "Gibraltar", code: "GI", codePhone: "350" },
87
+ { name: "Greece", code: "GR", codePhone: "30" },
88
+ { name: "Greenland", code: "GL", codePhone: "299" },
89
+ { name: "Grenada", code: "GD", codePhone: "1473" },
90
+ { name: "Guam", code: "GU", codePhone: "1671" },
91
+ { name: "Guatemala", code: "GT", codePhone: "502" },
92
+ { name: "Guernsey", code: "GG", codePhone: "44" },
93
+ { name: "Guinea", code: "GN", codePhone: "224" },
94
+ { name: "Guinea-Bissau", code: "GW", codePhone: "245" },
95
+ { name: "Guyana", code: "GY", codePhone: "592" },
96
+ { name: "Haiti", code: "HT", codePhone: "509" },
97
+ { name: "Holy See (Vatican City State)", code: "VA", codePhone: "379" },
98
+ { name: "Honduras", code: "HN", codePhone: "504" },
99
+ { name: "Hong Kong", code: "HK", codePhone: "852" },
100
+ { name: "Hungary", code: "HU", codePhone: "36" },
101
+ { name: "Iceland", code: "IS", codePhone: "354" },
102
+ { name: "India", code: "IN", codePhone: "91" },
103
+ { name: "Indonesia", code: "ID", codePhone: "62" },
104
+ { name: "Iran, Islamic Republic Of", code: "IR", codePhone: "98" },
105
+ { name: "Iraq", code: "IQ", codePhone: "964" },
106
+ { name: "Ireland", code: "IE", codePhone: "353" },
107
+ { name: "Isle of Man", code: "IM", codePhone: "44" },
108
+ { name: "Israel", code: "IL", codePhone: "972" },
109
+ { name: "Italy", code: "IT", codePhone: "39" },
110
+ { name: "Jamaica", code: "JM", codePhone: "1876" },
111
+ { name: "Japan", code: "JP", codePhone: "81" },
112
+ { name: "Jersey", code: "JE", codePhone: "44" },
113
+ { name: "Jordan", code: "JO", codePhone: "962" },
114
+ { name: "Kazakhstan", code: "KZ", codePhone: "7" },
115
+ { name: "Kenya", code: "KE", codePhone: "254" },
116
+ { name: "Kiribati", code: "KI", codePhone: "686" },
117
+ {
118
+ name: "Korea, Democratic People'S Republic of",
119
+ code: "KP",
120
+ codePhone: "850",
121
+ },
122
+ { name: "Korea, Republic of", code: "KR", codePhone: "82" },
123
+ { name: "Kuwait", code: "KW", codePhone: "965" },
124
+ { name: "Kyrgyzstan", code: "KG", codePhone: "996" },
125
+ { name: "Lao People'S Democratic Republic", code: "LA", codePhone: "856" },
126
+ { name: "Latvia", code: "LV", codePhone: "371" },
127
+ { name: "Lebanon", code: "LB", codePhone: "961" },
128
+ { name: "Lesotho", code: "LS", codePhone: "266" },
129
+ { name: "Liberia", code: "LR", codePhone: "231" },
130
+ { name: "Libyan Arab Jamahiriya", code: "LY", codePhone: "218" },
131
+ { name: "Liechtenstein", code: "LI", codePhone: "423" },
132
+ { name: "Lithuania", code: "LT", codePhone: "370" },
133
+ { name: "Luxembourg", code: "LU", codePhone: "352" },
134
+ { name: "Macao", code: "MO", codePhone: "853" },
135
+ {
136
+ name: "Macedonia, The Former Yugoslav Republic of",
137
+ code: "MK",
138
+ codePhone: "389",
139
+ },
140
+ { name: "Madagascar", code: "MG", codePhone: "261" },
141
+ { name: "Malawi", code: "MW", codePhone: "265" },
142
+ { name: "Malaysia", code: "MY", codePhone: "60" },
143
+ { name: "Maldives", code: "MV", codePhone: "960" },
144
+ { name: "Mali", code: "ML", codePhone: "223" },
145
+ { name: "Malta", code: "MT", codePhone: "356" },
146
+ { name: "Marshall Islands", code: "MH", codePhone: "692" },
147
+ { name: "Martinique", code: "MQ", codePhone: "596" },
148
+ { name: "Mauritania", code: "MR", codePhone: "222" },
149
+ { name: "Mauritius", code: "MU", codePhone: "230" },
150
+ { name: "Mayotte", code: "YT", codePhone: "262" },
151
+ { name: "Mexico", code: "MX", codePhone: "52" },
152
+ { name: "Micronesia, Federated States of", code: "FM", codePhone: "691" },
153
+ { name: "Moldova, Republic of", code: "MD", codePhone: "373" },
154
+ { name: "Monaco", code: "MC", codePhone: "377" },
155
+ { name: "Mongolia", code: "MN", codePhone: "976" },
156
+ { name: "Montserrat", code: "MS", codePhone: "1664" },
157
+ { name: "Morocco", code: "MA", codePhone: "212" },
158
+ { name: "Mozambique", code: "MZ", codePhone: "258" },
159
+ { name: "Myanmar", code: "MM", codePhone: "95" },
160
+ { name: "Namibia", code: "NA", codePhone: "264" },
161
+ { name: "Nauru", code: "NR", codePhone: "674" },
162
+ { name: "Nepal", code: "NP", codePhone: "977" },
163
+ { name: "Netherlands", code: "NL", codePhone: "31" },
164
+ { name: "Netherlands Antilles", code: "AN", codePhone: "599" },
165
+ { name: "New Caledonia", code: "NC", codePhone: "687" },
166
+ { name: "New Zealand", code: "NZ", codePhone: "64" },
167
+ { name: "Nicaragua", code: "NI", codePhone: "505" },
168
+ { name: "Niger", code: "NE", codePhone: "227" },
169
+ { name: "Nigeria", code: "NG", codePhone: "234" },
170
+ { name: "Niue", code: "NU", codePhone: "683" },
171
+ { name: "Norfolk Island", code: "NF", codePhone: "672" },
172
+ { name: "Northern Mariana Islands", code: "MP", codePhone: "1670" },
173
+ { name: "Norway", code: "NO", codePhone: "47" },
174
+ { name: "Oman", code: "OM", codePhone: "968" },
175
+ { name: "Pakistan", code: "PK", codePhone: "92" },
176
+ { name: "Palau", code: "PW", codePhone: "680" },
177
+ { name: "Palestinian Territory, Occupied", code: "PS", codePhone: "970" },
178
+ { name: "Panama", code: "PA", codePhone: "507" },
179
+ { name: "Papua New Guinea", code: "PG", codePhone: "675" },
180
+ { name: "Paraguay", code: "PY", codePhone: "595" },
181
+ { name: "Peru", code: "PE", codePhone: "51" },
182
+ { name: "Philippines", code: "PH", codePhone: "63" },
183
+ { name: "Pitcairn", code: "PN", codePhone: "64" },
184
+ { name: "Poland", code: "PL", codePhone: "48" },
185
+ { name: "Portugal", code: "PT", codePhone: "351" },
186
+ { name: "Puerto Rico", code: "PR", codePhone: "1" },
187
+ { name: "Qatar", code: "QA", codePhone: "974" },
188
+ { name: "Reunion", code: "RE", codePhone: "262" },
189
+ { name: "Romania", code: "RO", codePhone: "40" },
190
+ { name: "Russian Federation", code: "RU", codePhone: "7" },
191
+ { name: "RWANDA", code: "RW", codePhone: "250" },
192
+ { name: "Saint Helena", code: "SH", codePhone: "290" },
193
+ { name: "Saint Kitts and Nevis", code: "KN", codePhone: "1869" },
194
+ { name: "Saint Lucia", code: "LC", codePhone: "1758" },
195
+ { name: "Saint Vincent and the Grenadines", code: "VC", codePhone: "1784" },
196
+ { name: "Samoa", code: "WS", codePhone: "685" },
197
+ { name: "San Marino", code: "SM", codePhone: "378" },
198
+ { name: "Sao Tome and Principe", code: "ST", codePhone: "239" },
199
+ { name: "Saudi Arabia", code: "SA", codePhone: "966" },
200
+ { name: "Senegal", code: "SN", codePhone: "221" },
201
+ { name: "Seychelles", code: "SC", codePhone: "248" },
202
+ { name: "Sierra Leone", code: "SL", codePhone: "232" },
203
+ { name: "Singapore", code: "SG", codePhone: "65" },
204
+ { name: "Slovakia", code: "SK", codePhone: "421" },
205
+ { name: "Slovenia", code: "SI", codePhone: "386" },
206
+ { name: "Solomon Islands", code: "SB", codePhone: "677" },
207
+ { name: "Somalia", code: "SO", codePhone: "252" },
208
+ { name: "South Africa", code: "ZA", codePhone: "27" },
209
+ {
210
+ name: "South Georgia and the South Sandwich Islands",
211
+ code: "GS",
212
+ codePhone: "500",
213
+ },
214
+ { name: "Spain", code: "ES", codePhone: "34" },
215
+ { name: "Sri Lanka", code: "LK", codePhone: "94" },
216
+ { name: "Sudan", code: "SD", codePhone: "249" },
217
+ { name: "Suriname", code: "SR", codePhone: "597" },
218
+ { name: "Swaziland", code: "SZ", codePhone: "268" },
219
+ { name: "Sweden", code: "SE", codePhone: "46" },
220
+ { name: "Switzerland", code: "CH", codePhone: "41" },
221
+ { name: "Syrian Arab Republic", code: "SY", codePhone: "963" },
222
+ { name: "Taiwan, Province of China", code: "TW", codePhone: "886" },
223
+ { name: "Tajikistan", code: "TJ", codePhone: "992" },
224
+ { name: "Tanzania, United Republic of", code: "TZ", codePhone: "255" },
225
+ { name: "Thailand", code: "TH", codePhone: "66" },
226
+ { name: "Timor-Leste", code: "TL", codePhone: "670" },
227
+ { name: "Togo", code: "TG", codePhone: "228" },
228
+ { name: "Tokelau", code: "TK", codePhone: "690" },
229
+ { name: "Tonga", code: "TO", codePhone: "676" },
230
+ { name: "Trinidad and Tobago", code: "TT", codePhone: "1868" },
231
+ { name: "Tunisia", code: "TN", codePhone: "216" },
232
+ { name: "Turkey", code: "TR", codePhone: "90" },
233
+ { name: "Turkmenistan", code: "TM", codePhone: "993" },
234
+ { name: "Turks and Caicos Islands", code: "TC", codePhone: "1649" },
235
+ { name: "Tuvalu", code: "TV", codePhone: "688" },
236
+ { name: "Uganda", code: "UG", codePhone: "256" },
237
+ { name: "Ukraine", code: "UA", codePhone: "380" },
238
+ { name: "United Arab Emirates", code: "AE", codePhone: "971" },
239
+ { name: "United Kingdom", code: "GB", codePhone: "44" },
240
+ { name: "United States", code: "US", codePhone: "1" },
241
+ { name: "Uruguay", code: "UY", codePhone: "598" },
242
+ { name: "Uzbekistan", code: "UZ", codePhone: "998" },
243
+ { name: "Vanuatu", code: "VU", codePhone: "678" },
244
+ { name: "Venezuela", code: "VE", codePhone: "58" },
245
+ { name: "Viet Nam", code: "VN", codePhone: "84" },
246
+ { name: "Virgin Islands, British", code: "VG", codePhone: "1284" },
247
+ { name: "Virgin Islands, U.S.", code: "VI", codePhone: "1340" },
248
+ { name: "Wallis and Futuna", code: "WF", codePhone: "681" },
249
+ { name: "Western Sahara", code: "EH", codePhone: "212" },
250
+ { name: "Yemen", code: "YE", codePhone: "967" },
251
+ { name: "Zambia", code: "ZM", codePhone: "260" },
252
+ { name: "Zimbabwe", code: "ZW", codePhone: "263" },
253
+ ];
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy1zb3VyY2UvZHJvcGktY291bnRyeS1zZWxlY3Rvci9jb3VudHJpZXMuZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQW1CO0lBQ3ZDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDcEQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUN2RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2pELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ3pELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNoRCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ25ELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDcEQsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQzlELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDbEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDbEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtJQUNoRCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbkQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQ2hELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDaEQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUMvQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ2xELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDaEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDaEUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNsRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUMzRCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2xELEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDdEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2xELEVB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QUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzlDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDckQsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQzNELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2xELEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNyRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ3ZELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDOUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDdkQsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQzFELEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNyRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDaEQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQ2hELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDL0MsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNuRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDbkQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNsRCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDbkQsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2hELEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDdkQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNoRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLCtCQUErQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUN2RSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2xELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDbkQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtJQUNoRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2pELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDOUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtJQUNsRCxFQUFFLElBQUksRUFBRSwyQkFBMkIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDbEUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUM5QyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2pELEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDcEQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNoRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzlDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDbEQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtJQUM5QyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDaEQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRTtJQUNsRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDbEQ7UUFDRSxJQUFJLEVBQUUsd0NBQXdDO1FBQzlDLElBQUksRUFBRSxJQUFJO1FBQ1YsU0FBUyxFQUFFLEtBQUs7S0FDakI7SUFDRCxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDM0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNoRCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLGtDQUFrQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUMxRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2hELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNqRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2pELEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNoRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ3ZELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDbkQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQy9DO1FBQ0UsSUFBSSxFQUFFLDRDQUE0QztRQUNsRCxJQUFJLEVBQUUsSUFBSTtRQUNWLFNBQVMsRUFBRSxLQUFLO0tBQ2pCO0lBQ0QsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ2hELEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNsRCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQzlDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDL0MsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQzFELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDcEQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ25ELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtJQUMvQyxFQUFFLElBQUksRUFBRSxpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDekUsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQzlELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDaEQsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNsRCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0lBQ3JELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUNwRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQ2hELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUMvQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFF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QUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDakQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtJQUNsRCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQ2pELEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQUNsRSxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFDL0QsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQzNELEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUN4RCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO0lBQy9DLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7SUFDaEQsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtDQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBpQ291bnRyeUxpc3Qge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbiAgY29kZVBob25lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBDT1VOVFJJRVM6IGlDb3VudHJ5TGlzdFtdID0gW1xuICB7IG5hbWU6IFwiQWZnaGFuaXN0YW5cIiwgY29kZTogXCJBRlwiLCBjb2RlUGhvbmU6IFwiOTNcIiB9LFxuICB7IG5hbWU6IFwiw4VsYW5kIElzbGFuZHNcIiwgY29kZTogXCJBWFwiLCBjb2RlUGhvbmU6IFwiMzU4XCIgfSxcbiAgeyBuYW1lOiBcIkFsYmFuaWFcIiwgY29kZTogXCJBTFwiLCBjb2RlUGhvbmU6IFwiMzU1XCIgfSxcbiAgeyBuYW1lOiBcIkFsZ2VyaWFcIiwgY29kZTogXCJEWlwiLCBjb2RlUGhvbmU6IFwiMjEzXCIgfSxcbiAgeyBuYW1lOiBcIkFtZXJpY2FuIFNhbW9hXCIsIGNvZGU6IFwiQVNcIiwgY29kZVBob25lOiBcIjE2ODRcIiB9LFxuICB7IG5hbWU6IFwiQW5kb3JyQVwiLCBjb2RlOiBcIkFEXCIsIGNvZGVQaG9uZTogXCIzNzZcIiB9LFxuICB7IG5hbWU6IFwiQW5nb2xhXCIsIGNvZGU6IFwiQU9cIiwgY29kZVBob25lOiBcIjI0NFwiIH0sXG4gIHsgbmFtZTogXCJBbmd1aWxsYVwiLCBjb2RlOiBcIkFJXCIsIGNvZGVQaG9uZTogXCIxMjY0XCIgfSxcbiAgeyBuYW1lOiBcIkFudGFyY3RpY2FcIiwgY29kZTogXCJBUVwiLCBjb2RlUGhvbmU6IFwiNjcyXCIgfSxcbiAgeyBuYW1lOiBcIkFudGlndWEgYW5kIEJhcmJ1ZGFcIiwgY29kZTogXCJBR1wiLCBjb2RlUGhvbmU6IFwiMTI2OFwiIH0sXG4gIHsgbmFtZTogXCJBcmdlbnRpbmFcIiwgY29kZTogXCJBUlwiLCBjb2RlUGhvbmU6IFwiNTRcIiB9LFxuICB7IG5hbWU6IFwiQXJtZW5pYVwiLCBjb2RlOiBcIkFNXCIsIGNvZGVQaG9uZTogXCIzNzRcIiB9LFxuICB7IG5hbWU6IFwiQXJ1YmFcIiwgY29kZTogXCJBV1wiLCBjb2RlUGhvbmU6IFwiMjk3XCIgfSxcbiAgeyBuYW1lOiBcIkF1c3RyYWxpYVwiLCBjb2RlOiBcIkFVXCIsIGNvZGVQaG9uZTogXCI2MVwiIH0sXG4gIHsgbmFtZTogXCJBdXN0cmlhXCIsIGNvZGU6IFwiQVRcIiwgY29kZVBob25lOiBcIjQzXCIgfSxcbiAgeyBuYW1lOiBcIkF6ZXJiYWlqYW5cIiwgY29kZTogXCJBWlwiLCBjb2RlUGhvbmU6IFwiOTk0XCIgfSxcbiAgeyBuYW1lOiBcIkJhaGFtYXNcIiwgY29kZTogXCJCU1wiLCBjb2RlUGhvbmU6IFwiMTI0MlwiIH0sXG4gIHsgbmFtZTogXCJCYWhyYWluXCIsIGNvZGU6IFwiQkhcIiwgY29kZVBob25lOiBcIjk3M1wiIH0sXG4gIHsgbmFtZTogXCJCYW5nbGFkZXNoXCIsIGNvZGU6IFwiQkRcIiwgY29kZVBob25lOiBcIjg4MFwiIH0sXG4gIHsgbmFtZTogXCJCYXJiYWRvc1wiLCBjb2RlOiBcIkJCXCIsIGNvZGVQaG9uZTogXCIxMjQ2XCIgfSxcbiAgeyBuYW1lOiBcIkJlbGFydXNcIiwgY29kZTogXCJCWVwiLCBjb2RlUGhvbmU6IFwiMzc1XCIgfSxcbiAgeyBuYW1lOiBcIkJlbGdpdW1cIiwgY29kZTogXCJCRVwiLCBjb2RlUGhvbmU6IFwiMzJcIiB9LFxuICB7IG5hbWU6IFwiQmVsaXplXCIsIGNvZGU6IFwiQlpcIiwgY29kZVBob25lOiBcIjUwMVwiIH0sXG4gIHsgbmFtZTogXCJCZW5pblwiLCBjb2RlOiBcIkJKXCIsIGNvZGVQaG9uZTogXCIyMjlcIiB9LFxuICB7IG5hbWU6IFwiQmVybXVkYVwiLCBjb2RlOiBcIkJNXCIsIGNvZGVQaG9uZTogXCIxNDQxXCIgfSxcbiAgeyBuYW1lOiBcIkJodXRhblwiLCBjb2RlOiBcIkJUXCIsIGNvZGVQaG9uZTogXCI5NzVcIiB9LFxuICB7IG5hbWU6IFwiQm9saXZpYVwiLCBjb2RlOiBcIkJPXCIsIGNvZGVQaG9uZTogXCI1OTFcIiB9LFxuICB7IG5hbWU6IFwiQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYVwiLCBjb2RlOiBcIkJBXCIsIGNvZGVQaG9uZTogXCIzODdcIiB9LFxuICB7IG5hbWU6IFwiQm90c3dhbmFcIiwgY29kZTogXCJCV1wiLCBjb2RlUGhvbmU6IFwiMjY3XCIgfSxcbiAgeyBuYW1lOiBcIkJyYXppbFwiLCBjb2RlOiBcIkJSXCIsIGNvZGVQaG9uZTogXCI1NVwiIH0sXG4gIHsgbmFtZTogXCJCcnVuZWkgRGFydXNzYWxhbVwiLCBjb2RlOiBcIkJOXCIsIGNvZGVQaG9uZTogXCI2NzNcIiB9LFxuICB7IG5hbWU6IFwiQnVsZ2FyaWFcIiwgY29kZTogXCJCR1wiLCBjb2RlUGhvbmU6IFwiMzU5XCIgfSxcbiAgeyBuYW1lOiBcIkJ1cmtpbmEgRmFzb1wiLCBjb2RlOiBcIkJGXCIsIGNvZGVQaG9uZTogXCIyMjZcIiB9LFxuICB7IG5hbWU6IFwiQnVydW5kaVwiLCBjb2RlOiBcIkJJXCIsIGNvZGVQaG9uZTogXCIyNTdcIiB9LFxuICB7IG5hbWU6IFwiQ2FtYm9kaWFcIiwgY29kZTogXCJLSFwiLCBjb2RlUGhvbmU6IFwiODU1XCIgfSxcbiAgeyBuYW1lOiBcIkNhbWVyb29uXCIsIGNvZGU6IFwiQ01cIiwgY29kZVBob25lOiBcIjIzN1wiIH0sXG4gIHsgbmFtZTogXCJDYW5hZGFcIiwgY29kZTogXCJDQVwiLCBjb2RlUGhvbmU6IFwiMVwiIH0sXG4gIHsgbmFtZTogXCJDYXBlIFZlcmRlXCIsIGNvZGU6IFwiQ1ZcIiwgY29kZVBob25lOiBcIjIzOFwiIH0sXG4gIHsgbmFtZTogXCJDYXltYW4gSXNsYW5kc1wiLCBjb2RlOiBcIktZXCIsIGNvZGVQaG9uZTogXCIxMzQ1XCIgfSxcbiAgeyBuYW1lOiBcIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpY1wiLCBjb2RlOiBcIkNGXCIsIGNvZGVQaG9uZTogXCIyMzZcIiB9LFxuICB7IG5hbWU6IFwiQ2hhZFwiLCBjb2RlOiBcIlREXCIsIGNvZGVQaG9uZTogXCIyMzVcIiB9LFxuICB7IG5hbWU6IFwiQ2hpbGVcIiwgY29kZTogXCJDTFwiLCBjb2RlUGhvbmU6IFwiNTZcIiB9LFxuICB7IG5hbWU6IFwiQ2hpbmFcIiwgY29kZTogXCJDTlwiLCBjb2RlUGhvbmU6IFwiODZcIiB9LFxuICB7IG5hbWU6IFwiQ2hyaXN0bWFzIElzbGFuZFwiLCBjb2RlOiBcIkNYXCIsIGNvZGVQaG9uZTogXCI2MVwiIH0sXG4gIHsgbmFtZTogXCJDb2NvcyAoS2VlbGluZykgSXNsYW5kc1wiLCBjb2RlOiBcIkNDXCIsIGNvZGVQaG9uZTogXCI2MVwiIH0sXG4gIHsgbmFtZTogXCJDb2xvbWJpYVwiLCBjb2RlOiBcIkNPXCIsIGNvZGVQaG9uZTogXCI1N1wiIH0sXG4gIHsgbmFtZTogXCJDb21vcm9zXCIsIGNvZGU6IFwiS01cIiwgY29kZVBob25lOiBcIjI2OVwiIH0sXG4gIHsgbmFtZTogXCJDb25nb1wiLCBjb2RlOiBcIkNHXCIsIGNvZGVQaG9uZTogXCIyNDJcIiB9LFxuICB7XG4gICAgbmFtZTogXCJDb25nbywgVGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlXCIsXG4gICAgY29kZTogXCJDRFwiLFxuICAgIGNvZGVQaG9uZTogXCIyNDNcIixcbiAgfSxcbiAgeyBuYW1lOiBcIkNvb2sgSXNsYW5kc1wiLCBjb2RlOiBcIkNLXCIsIGNvZGVQaG9uZTogXCI2ODJcIiB9LFxuICB7IG5hbWU6IFwiQ29zdGEgUmljYVwiLCBjb2RlOiBcIkNSXCIsIGNvZGVQaG9uZTogXCI1MDZcIiB9LFxuICB7IG5hbWU6IFwiQ290ZSBEJ0l2b2lyZVwiLCBjb2RlOiBcIkNJXCIsIGNvZGVQaG9uZTogXCIyMjVcIiB9LFxuICB7IG5hbWU6IFwiQ3JvYXRpYVwiLCBjb2RlOiBcIkhSXCIsIGNvZGVQaG9uZTogXCIzODVcIiB9LFxuICB7IG5hbWU6IFwiQ3ViYVwiLCBjb2RlOiBcIkNVXCIsIGNvZGVQaG9uZTogXCI1M1wiIH0sXG4gIHsgbmFtZTogXCJDeXBydXNcIiwgY29kZTogXCJDWVwiLCBjb2RlUGhvbmU6IFwiMzU3XCIgfSxcbiAgeyBuYW1lOiBcIkN6ZWNoIFJlcHVibGljXCIsIGNvZGU6IFwiQ1pcIiwgY29kZVBob25lOiBcIjQyMFwiIH0sXG4gIHsgbmFtZTogXCJEZW5tYXJrXCIsIGNvZGU6IFwiREtcIiwgY29kZVBob25lOiBcIjQ1XCIgfSxcbiAgeyBuYW1lOiBcIkRqaWJvdXRpXCIsIGNvZGU6IFwiREpcIiwgY29kZVBob25lOiBcIjI1M1wiIH0sXG4gIHsgbmFtZTogXCJEb21pbmljYVwiLCBjb2RlOiBcIkRNXCIsIGNvZGVQaG9uZTogXCIxNzY3XCIgfSxcbiAgeyBuYW1lOiBcIkRvbWluaWNhbiBSZXB1YmxpY1wiLCBjb2RlOiBcIkRPXCIsIGNvZGVQaG9uZTogXCIxXCIgfSxcbiAgeyBuYW1lOiBcIkVjdWFkb3JcIiwgY29kZTogXCJFQ1wiLCBjb2RlUGhvbmU6IFwiNTkzXCIgfSxcbiAgeyBuYW1lOiBcIkVneXB0XCIsIGNvZGU6IFwiRUdcIiwgY29kZVBob25lOiBcIjIwXCIgfSxcbiAgeyBuYW1lOiBcIkVsIFNhbHZhZG9yXCIsIGNvZGU6IFwiU1ZcIiwgY29kZVBob25lOiBcIjUwM1wiIH0sXG4gIHsgbmFtZTogXCJFcXVhdG9yaWFsIEd1aW5lYVwiLCBjb2RlOiBcIkdRXCIsIGNvZGVQaG9uZTogXCIyNDBcIiB9LFxuICB7IG5hbWU6IFwiRXJpdHJlYVwiLCBjb2RlOiBcIkVSXCIsIGNvZGVQaG9uZTogXCIyOTFcIiB9LFxuICB7IG5hbWU6IFwiRXN0b25pYVwiLCBjb2RlOiBcIkVFXCIsIGNvZGVQaG9uZTogXCIzNzJcIiB9LFxuICB7IG5hbWU6IFwiRXRoaW9waWFcIiwgY29kZTogXCJFVFwiLCBjb2RlUGhvbmU6IFwiMjUxXCIgfSxcbiAgeyBuYW1lOiBcIkZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKVwiLCBjb2RlOiBcIkZLXCIsIGNvZGVQaG9uZTogXCI1MDBcIiB9LFxuICB7IG5hbWU6IFwiRmFyb2UgSXNsYW5kc1wiLCBjb2RlOiBcIkZPXCIsIGNvZGVQaG9uZTogXCIyOThcIiB9LFxuICB7IG5hbWU6IFwiRmlqaVwiLCBjb2RlOiBcIkZKXCIsIGNvZGVQaG9uZTogXCI2NzlcIiB9LFxuICB7IG5hbWU6IFwiRmlubGFuZFwiLCBjb2RlOiBcIkZJXCIsIGNvZGVQaG9uZTogXCIzNThcIiB9LFxuICB7IG5hbWU6IFwiRnJhbmNlXCIsIGNvZGU6IFwiRlJcIiwgY29kZVBob25lOiBcIjMzXCIgfSxcbiAgeyBuYW1lOiBcIkZyZW5jaCBHdWlhbmFcIiwgY29kZTogXCJHRlwiLCBjb2RlUGhvbmU6IFwiNTk0XCIgfSxcbiAgeyBuYW1lOiBcIkZyZW5jaCBQb2x5bmVzaWFcIiwgY29kZTogXCJQRlwiLCBjb2RlUGhvbmU6IFwiNjg5XCIgfSxcbiAgeyBuYW1lOiBcIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllc1wiLCBjb2RlOiBcIlRGXCIsIGNvZGVQaG9uZTogXCIyNjJcIiB9LFxuICB7IG5hbWU6IFwiR2Fib25cIiwgY29kZTogXCJHQVwiLCBjb2RlUGhvbmU6IFwiMjQxXCIgfSxcbiAgeyBuYW1lOiBcIkdhbWJpYVwiLCBjb2RlOiBcIkdNXCIsIGNvZGVQaG9uZTogXCIyMjBcIiB9LFxuICB7IG5hbWU6IFwiR2VvcmdpYVwiLCBjb2RlOiBcIkdFXCIsIGNvZGVQaG9uZTogXCI5OTVcIiB9LFxuICB7IG5hbWU6IFwiR2VybWFueVwiLCBjb2RlOiBcIkRFXCIsIGNvZGVQaG9uZTogXCI0OVwiIH0sXG4gIHsgbmFtZTogXCJHaGFuYVwiLCBjb2RlOiBcIkdIXCIsIGNvZGVQaG9uZTogXCIyMzNcIiB9LFxuICB7IG5hbWU6IFwiR2licmFsdGFyXCIsIGNvZGU6IFwiR0lcIiwgY29kZVBob25lOiBcIjM1MFwiIH0sXG4gIHsgbmFtZTogXCJHcmVlY2VcIiwgY29kZTogXCJHUlwiLCBjb2RlUGhvbmU6IFwiMzBcIiB9LFxuICB7IG5hbWU6IFwiR3JlZW5sYW5kXCIsIGNvZGU6IFwiR0xcIiwgY29kZVBob25lOiBcIjI5OVwiIH0sXG4gIHsgbmFtZTogXCJHcmVuYWRhXCIsIGNvZGU6IFwiR0RcIiwgY29kZVBob25lOiBcIjE0NzNcIiB9LFxuICB7IG5hbWU6IFwiR3VhbVwiLCBjb2RlOiBcIkdVXCIsIGNvZGVQaG9uZTogXCIxNjcxXCIgfSxcbiAgeyBuYW1lOiBcIkd1YXRlbWFsYVwiLCBjb2RlOiBcIkdUXCIsIGNvZGVQaG9uZTogXCI1MDJcIiB9LFxuICB7IG5hbWU6IFwiR3Vlcm5zZXlcIiwgY29kZTogXCJHR1wiLCBjb2RlUGhvbmU6IFwiNDRcIiB9LFxuICB7IG5hbWU6IFwiR3VpbmVhXCIsIGNvZGU6IFwiR05cIiwgY29kZVBob25lOiBcIjIyNFwiIH0sXG4gIHsgbmFtZTogXCJHdWluZWEtQmlzc2F1XCIsIGNvZGU6IFwiR1dcIiwgY29kZVBob25lOiBcIjI0NVwiIH0sXG4gIHsgbmFtZTogXCJHdXlhbmFcIiwgY29kZTogXCJHWVwiLCBjb2RlUGhvbmU6IFwiNTkyXCIgfSxcbiAgeyBuYW1lOiBcIkhhaXRpXCIsIGNvZGU6IFwiSFRcIiwgY29kZVBob25lOiBcIjUwOVwiIH0sXG4gIHsgbmFtZTogXCJIb2x5IFNlZSAoVmF0aWNhbiBDaXR5IFN0YXRlKVwiLCBjb2RlOiBcIlZBXCIsIGNvZGVQaG9uZTogXCIzNzlcIiB9LFxuICB7IG5hbWU6IFwiSG9uZHVyYXNcIiwgY29kZTogXCJITlwiLCBjb2RlUGhvbmU6IFwiNTA0XCIgfSxcbiAgeyBuYW1lOiBcIkhvbmcgS29uZ1wiLCBjb2RlOiBcIkhLXCIsIGNvZGVQaG9uZTogXCI4NTJcIiB9LFxuICB7IG5hbWU6IFwiSHVuZ2FyeVwiLCBjb2RlOiBcIkhVXCIsIGNvZGVQaG9uZTogXCIzNlwiIH0sXG4gIHsgbmFtZTogXCJJY2VsYW5kXCIsIGNvZGU6IFwiSVNcIiwgY29kZVBob25lOiBcIjM1NFwiIH0sXG4gIHsgbmFtZTogXCJJbmRpYVwiLCBjb2RlOiBcIklOXCIsIGNvZGVQaG9uZTogXCI5MVwiIH0sXG4gIHsgbmFtZTogXCJJbmRvbmVzaWFcIiwgY29kZTogXCJJRFwiLCBjb2RlUGhvbmU6IFwiNjJcIiB9LFxuICB7IG5hbWU6IFwiSXJhbiwgSXNsYW1pYyBSZXB1YmxpYyBPZlwiLCBjb2RlOiBcIklSXCIsIGNvZGVQaG9uZTogXCI5OFwiIH0sXG4gIHsgbmFtZTogXCJJcmFxXCIsIGNvZGU6IFwiSVFcIiwgY29kZVBob25lOiBcIjk2NFwiIH0sXG4gIHsgbmFtZTogXCJJcmVsYW5kXCIsIGNvZGU6IFwiSUVcIiwgY29kZVBob25lOiBcIjM1M1wiIH0sXG4gIHsgbmFtZTogXCJJc2xlIG9mIE1hblwiLCBjb2RlOiBcIklNXCIsIGNvZGVQaG9uZTogXCI0NFwiIH0sXG4gIHsgbmFtZTogXCJJc3JhZWxcIiwgY29kZTogXCJJTFwiLCBjb2RlUGhvbmU6IFwiOTcyXCIgfSxcbiAgeyBuYW1lOiBcIkl0YWx5XCIsIGNvZGU6IFwiSVRcIiwgY29kZVBob25lOiBcIjM5XCIgfSxcbiAgeyBuYW1lOiBcIkphbWFpY2FcIiwgY29kZTogXCJKTVwiLCBjb2RlUGhvbmU6IFwiMTg3NlwiIH0sXG4gIHsgbmFtZTogXCJKYXBhblwiLCBjb2RlOiBcIkpQXCIsIGNvZGVQaG9uZTogXCI4MVwiIH0sXG4gIHsgbmFtZTogXCJKZXJzZXlcIiwgY29kZTogXCJKRVwiLCBjb2RlUGhvbmU6IFwiNDRcIiB9LFxuICB7IG5hbWU6IFwiSm9yZGFuXCIsIGNvZGU6IFwiSk9cIiwgY29kZVBob25lOiBcIjk2MlwiIH0sXG4gIHsgbmFtZTogXCJLYXpha2hzdGFuXCIsIGNvZGU6IFwiS1pcIiwgY29kZVBob25lOiBcIjdcIiB9LFxuICB7IG5hbWU6IFwiS2VueWFcIiwgY29kZTogXCJLRVwiLCBjb2RlUGhvbmU6IFwiMjU0XCIgfSxcbiAgeyBuYW1lOiBcIktpcmliYXRpXCIsIGNvZGU6IFwiS0lcIiwgY29kZVBob25lOiBcIjY4NlwiIH0sXG4gIHtcbiAgICBuYW1lOiBcIktvcmVhLCBEZW1vY3JhdGljIFBlb3BsZSdTIFJlcHVibGljIG9mXCIsXG4gICAgY29kZTogXCJLUFwiLFxuICAgIGNvZGVQaG9uZTogXCI4NTBcIixcbiAgfSxcbiAgeyBuYW1lOiBcIktvcmVhLCBSZXB1YmxpYyBvZlwiLCBjb2RlOiBcIktSXCIsIGNvZGVQaG9uZTogXCI4MlwiIH0sXG4gIHsgbmFtZTogXCJLdXdhaXRcIiwgY29kZTogXCJLV1wiLCBjb2RlUGhvbmU6IFwiOTY1XCIgfSxcbiAgeyBuYW1lOiBcIkt5cmd5enN0YW5cIiwgY29kZTogXCJLR1wiLCBjb2RlUGhvbmU6IFwiOTk2XCIgfSxcbiAgeyBuYW1lOiBcIkxhbyBQZW9wbGUnUyBEZW1vY3JhdGljIFJlcHVibGljXCIsIGNvZGU6IFwiTEFcIiwgY29kZVBob25lOiBcIjg1NlwiIH0sXG4gIHsgbmFtZTogXCJMYXR2aWFcIiwgY29kZTogXCJMVlwiLCBjb2RlUGhvbmU6IFwiMzcxXCIgfSxcbiAgeyBuYW1lOiBcIkxlYmFub25cIiwgY29kZTogXCJMQlwiLCBjb2RlUGhvbmU6IFwiOTYxXCIgfSxcbiAgeyBuYW1lOiBcIkxlc290aG9cIiwgY29kZTogXCJMU1wiLCBjb2RlUGhvbmU6IFwiMjY2XCIgfSxcbiAgeyBuYW1lOiBcIkxpYmVyaWFcIiwgY29kZTogXCJMUlwiLCBjb2RlUGhvbmU6IFwiMjMxXCIgfSxcbiAgeyBuYW1lOiBcIkxpYnlhbiBBcmFiIEphbWFoaXJpeWFcIiwgY29kZTogXCJMWVwiLCBjb2RlUGhvbmU6IFwiMjE4XCIgfSxcbiAgeyBuYW1lOiBcIkxpZWNodGVuc3RlaW5cIiwgY29kZTogXCJMSVwiLCBjb2RlUGhvbmU6IFwiNDIzXCIgfSxcbiAgeyBuYW1lOiBcIkxpdGh1YW5pYVwiLCBjb2RlOiBcIkxUXCIsIGNvZGVQaG9uZTogXCIzNzBcIiB9LFxuICB7IG5hbWU6IFwiTHV4ZW1ib3VyZ1wiLCBjb2RlOiBcIkxVXCIsIGNvZGVQaG9uZTogXCIzNTJcIiB9LFxuICB7IG5hbWU6IFwiTWFjYW9cIiwgY29kZTogXCJNT1wiLCBjb2RlUGhvbmU6IFwiODUzXCIgfSxcbiAge1xuICAgIG5hbWU6IFwiTWFjZWRvbmlhLCBUaGUgRm9ybWVyIFl1Z29zbGF2IFJlcHVibGljIG9mXCIsXG4gICAgY29kZTogXCJNS1wiLFxuICAgIGNvZGVQaG9uZTogXCIzODlcIixcbiAgfSxcbiAgeyBuYW1lOiBcIk1hZGFnYXNjYXJcIiwgY29kZTogXCJNR1wiLCBjb2RlUGhvbmU6IFwiMjYxXCIgfSxcbiAgeyBuYW1lOiBcIk1hbGF3aVwiLCBjb2RlOiBcIk1XXCIsIGNvZGVQaG9uZTogXCIyNjVcIiB9LFxuICB7IG5hbWU6IFwiTWFsYXlzaWFcIiwgY29kZTogXCJNWVwiLCBjb2RlUGhvbmU6IFwiNjBcIiB9LFxuICB7IG5hbWU6IFwiTWFsZGl2ZXNcIiwgY29kZTogXCJNVlwiLCBjb2RlUGhvbmU6IFwiOTYwXCIgfSxcbiAgeyBuYW1lOiBcIk1hbGlcIiwgY29kZTogXCJNTFwiLCBjb2RlUGhvbmU6IFwiMjIzXCIgfSxcbiAgeyBuYW1lOiBcIk1hbHRhXCIsIGNvZGU6IFwiTVRcIiwgY29kZVBob25lOiBcIjM1NlwiIH0sXG4gIHsgbmFtZTogXCJNYXJzaGFsbCBJc2xhbmRzXCIsIGNvZGU6IFwiTUhcIiwgY29kZVBob25lOiBcIjY5MlwiIH0sXG4gIHsgbmFtZTogXCJNYXJ0aW5pcXVlXCIsIGNvZGU6IFwiTVFcIiwgY29kZVBob25lOiBcIjU5NlwiIH0sXG4gIHsgbmFtZTogXCJNYXVyaXRhbmlhXCIsIGNvZGU6IFwiTVJcIiwgY29kZVBob25lOiBcIjIyMlwiIH0sXG4gIHsgbmFtZTogXCJNYXVyaXRpdXNcIiwgY29kZTogXCJNVVwiLCBjb2RlUGhvbmU6IFwiMjMwXCIgfSxcbiAgeyBuYW1lOiBcIk1heW90dGVcIiwgY29kZTogXCJZVFwiLCBjb2RlUGhvbmU6IFwiMjYyXCIgfSxcbiAgeyBuYW1lOiBcIk1leGljb1wiLCBjb2RlOiBcIk1YXCIsIGNvZGVQaG9uZTogXCI1MlwiIH0sXG4gIHsgbmFtZTogXCJNaWNyb25lc2lhLCBGZWRlcmF0ZWQgU3RhdGVzIG9mXCIsIGNvZGU6IFwiRk1cIiwgY29kZVBob25lOiBcIjY5MVwiIH0sXG4gIHsgbmFtZTogXCJNb2xkb3ZhLCBSZXB1YmxpYyBvZlwiLCBjb2RlOiBcIk1EXCIsIGNvZGVQaG9uZTogXCIzNzNcIiB9LFxuICB7IG5hbWU6IFwiTW9uYWNvXCIsIGNvZGU6IFwiTUNcIiwgY29kZVBob25lOiBcIjM3N1wiIH0sXG4gIHsgbmFtZTogXCJNb25nb2xpYVwiLCBjb2RlOiBcIk1OXCIsIGNvZGVQaG9uZTogXCI5NzZcIiB9LFxuICB7IG5hbWU6IFwiTW9udHNlcnJhdFwiLCBjb2RlOiBcIk1TXCIsIGNvZGVQaG9uZTogXCIxNjY0XCIgfSxcbiAgeyBuYW1lOiBcIk1vcm9jY29cIiwgY29kZTogXCJNQVwiLCBjb2RlUGhvbmU6IFwiMjEyXCIgfSxcbiAgeyBuYW1lOiBcIk1vemFtYmlxdWVcIiwgY29kZTogXCJNWlwiLCBjb2RlUGhvbmU6IFwiMjU4XCIgfSxcbiAgeyBuYW1lOiBcIk15YW5tYXJcIiwgY29kZTogXCJNTVwiLCBjb2RlUGhvbmU6IFwiOTVcIiB9LFxuICB7IG5hbWU6IFwiTmFtaWJpYVwiLCBjb2RlOiBcIk5BXCIsIGNvZGVQaG9uZTogXCIyNjRcIiB9LFxuICB7IG5hbWU6IFwiTmF1cnVcIiwgY29kZTogXCJOUlwiLCBjb2RlUGhvbmU6IFwiNjc0XCIgfSxcbiAgeyBuYW1lOiBcIk5lcGFsXCIsIGNvZGU6IFwiTlBcIiwgY29kZVBob25lOiBcIjk3N1wiIH0sXG4gIHsgbmFtZTogXCJOZXRoZXJsYW5kc1wiLCBjb2RlOiBcIk5MXCIsIGNvZGVQaG9uZTogXCIzMVwiIH0sXG4gIHsgbmFtZTogXCJOZXRoZXJsYW5kcyBBbnRpbGxlc1wiLCBjb2RlOiBcIkFOXCIsIGNvZGVQaG9uZTogXCI1OTlcIiB9LFxuICB7IG5hbWU6IFwiTmV3IENhbGVkb25pYVwiLCBjb2RlOiBcIk5DXCIsIGNvZGVQaG9uZTogXCI2ODdcIiB9LFxuICB7IG5hbWU6IFwiTmV3IFplYWxhbmRcIiwgY29kZTogXCJOWlwiLCBjb2RlUGhvbmU6IFwiNjRcIiB9LFxuICB7IG5hbWU6IFwiTmljYXJhZ3VhXCIsIGNvZGU6IFwiTklcIiwgY29kZVBob25lOiBcIjUwNVwiIH0sXG4gIHsgbmFtZTogXCJOaWdlclwiLCBjb2RlOiBcIk5FXCIsIGNvZGVQaG9uZTogXCIyMjdcIiB9LFxuICB7IG5hbWU6IFwiTmlnZXJpYVwiLCBjb2RlOiBcIk5HXCIsIGNvZGVQaG9uZTogXCIyMzRcIiB9LFxuICB7IG5hbWU6IFwiTml1ZVwiLCBjb2RlOiBcIk5VXCIsIGNvZGVQaG9uZTogXCI2ODNcIiB9LFxuICB7IG5hbWU6IFwiTm9yZm9sayBJc2xhbmRcIiwgY29kZTogXCJORlwiLCBjb2RlUGhvbmU6IFwiNjcyXCIgfSxcbiAgeyBuYW1lOiBcIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kc1wiLCBjb2RlOiBcIk1QXCIsIGNvZGVQaG9uZTogXCIxNjcwXCIgfSxcbiAgeyBuYW1lOiBcIk5vcndheVwiLCBjb2RlOiBcIk5PXCIsIGNvZGVQaG9uZTogXCI0N1wiIH0sXG4gIHsgbmFtZTogXCJPbWFuXCIsIGNvZGU6IFwiT01cIiwgY29kZVBob25lOiBcIjk2OFwiIH0sXG4gIHsgbmFtZTogXCJQYWtpc3RhblwiLCBjb2RlOiBcIlBLXCIsIGNvZGVQaG9uZTogXCI5MlwiIH0sXG4gIHsgbmFtZTogXCJQYWxhdVwiLCBjb2RlOiBcIlBXXCIsIGNvZGVQaG9uZTogXCI2ODBcIiB9LFxuICB7IG5hbWU6IFwiUGFsZXN0aW5pYW4gVGVycml0b3J5LCBPY2N1cGllZFwiLCBjb2RlOiBcIlBTXCIsIGNvZGVQaG9uZTogXCI5NzBcIiB9LFxuICB7IG5hbWU6IFwiUGFuYW1hXCIsIGNvZGU6IFwiUEFcIiwgY29kZVBob25lOiBcIjUwN1wiIH0sXG4gIHsgbmFtZTogXCJQYXB1YSBOZXcgR3VpbmVhXCIsIGNvZGU6IFwiUEdcIiwgY29kZVBob25lOiBcIjY3NVwiIH0sXG4gIHsgbmFtZTogXCJQYXJhZ3VheVwiLCBjb2RlOiBcIlBZXCIsIGNvZGVQaG9uZTogXCI1OTVcIiB9LFxuICB7IG5hbWU6IFwiUGVydVwiLCBjb2RlOiBcIlBFXCIsIGNvZGVQaG9uZTogXCI1MVwiIH0sXG4gIHsgbmFtZTogXCJQaGlsaXBwaW5lc1wiLCBjb2RlOiBcIlBIXCIsIGNvZGVQaG9uZTogXCI2M1wiIH0sXG4gIHsgbmFtZTogXCJQaXRjYWlyblwiLCBjb2RlOiBcIlBOXCIsIGNvZGVQaG9uZTogXCI2NFwiIH0sXG4gIHsgbmFtZTogXCJQb2xhbmRcIiwgY29kZTogXCJQTFwiLCBjb2RlUGhvbmU6IFwiNDhcIiB9LFxuICB7IG5hbWU6IFwiUG9ydHVnYWxcIiwgY29kZTogXCJQVFwiLCBjb2RlUGhvbmU6IFwiMzUxXCIgfSxcbiAgeyBuYW1lOiBcIlB1ZXJ0byBSaWNvXCIsIGNvZGU6IFwiUFJcIiwgY29kZVBob25lOiBcIjFcIiB9LFxuICB7IG5hbWU6IFwiUWF0YXJcIiwgY29kZTogXCJRQVwiLCBjb2RlUGhvbmU6IFwiOTc0XCIgfSxcbiAgeyBuYW1lOiBcIlJldW5pb25cIiwgY29kZTogXCJSRVwiLCBjb2RlUGhvbmU6IFwiMjYyXCIgfSxcbiAgeyBuYW1lOiBcIlJvbWFuaWFcIiwgY29kZTogXCJST1wiLCBjb2RlUGhvbmU6IFwiNDBcIiB9LFxuICB7IG5hbWU6IFwiUnVzc2lhbiBGZWRlcmF0aW9uXCIsIGNvZGU6IFwiUlVcIiwgY29kZVBob25lOiBcIjdcIiB9LFxuICB7IG5hbWU6IFwiUldBTkRBXCIsIGNvZGU6IFwiUldcIiwgY29kZVBob25lOiBcIjI1MFwiIH0sXG4gIHsgbmFtZTogXCJTYWludCBIZWxlbmFcIiwgY29kZTogXCJTSFwiLCBjb2RlUGhvbmU6IFwiMjkwXCIgfSxcbiAgeyBuYW1lOiBcIlNhaW50IEtpdHRzIGFuZCBOZXZpc1wiLCBjb2RlOiBcIktOXCIsIGNvZGVQaG9uZTogXCIxODY5XCIgfSxcbiAgeyBuYW1lOiBcIlNhaW50IEx1Y2lhXCIsIGNvZGU6IFwiTENcIiwgY29kZVBob25lOiBcIjE3NThcIiB9LFxuICB7IG5hbWU6IFwiU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXNcIiwgY29kZTogXCJWQ1wiLCBjb2RlUGhvbmU6IFwiMTc4NFwiIH0sXG4gIHsgbmFtZTogXCJTYW1vYVwiLCBjb2RlOiBcIldTXCIsIGNvZGVQaG9uZTogXCI2ODVcIiB9LFxuICB7IG5hbWU6IFwiU2FuIE1hcmlub1wiLCBjb2RlOiBcIlNNXCIsIGNvZGVQaG9uZTogXCIzNzhcIiB9LFxuICB7IG5hbWU6IFwiU2FvIFRvbWUgYW5kIFByaW5jaXBlXCIsIGNvZGU6IFwiU1RcIiwgY29kZVBob25lOiBcIjIzOVwiIH0sXG4gIHsgbmFtZTogXCJTYXVkaSBBcmFiaWFcIiwgY29kZTogXCJTQVwiLCBjb2RlUGhvbmU6IFwiOTY2XCIgfSxcbiAgeyBuYW1lOiBcIlNlbmVnYWxcIiwgY29kZTogXCJTTlwiLCBjb2RlUGhvbmU6IFwiMjIxXCIgfSxcbiAgeyBuYW1lOiBcIlNleWNoZWxsZXNcIiwgY29kZTogXCJTQ1wiLCBjb2RlUGhvbmU6IFwiMjQ4XCIgfSxcbiAgeyBuYW1lOiBcIlNpZXJyYSBMZW9uZVwiLCBjb2RlOiBcIlNMXCIsIGNvZGVQaG9uZTogXCIyMzJcIiB9LFxuICB7IG5hbWU6IFwiU2luZ2Fwb3JlXCIsIGNvZGU6IFwiU0dcIiwgY29kZVBob25lOiBcIjY1XCIgfSxcbiAgeyBuYW1lOiBcIlNsb3Zha2lhXCIsIGNvZGU6IFwiU0tcIiwgY29kZVBob25lOiBcIjQyMVwiIH0sXG4gIHsgbmFtZTogXCJTbG92ZW5pYVwiLCBjb2RlOiBcIlNJXCIsIGNvZGVQaG9uZTogXCIzODZcIiB9LFxuICB7IG5hbWU6IFwiU29sb21vbiBJc2xhbmRzXCIsIGNvZGU6IFwiU0JcIiwgY29kZVBob25lOiBcIjY3N1wiIH0sXG4gIHsgbmFtZTogXCJTb21hbGlhXCIsIGNvZGU6IFwiU09cIiwgY29kZVBob25lOiBcIjI1MlwiIH0sXG4gIHsgbmFtZTogXCJTb3V0aCBBZnJpY2FcIiwgY29kZTogXCJaQVwiLCBjb2RlUGhvbmU6IFwiMjdcIiB9LFxuICB7XG4gICAgbmFtZTogXCJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kc1wiLFxuICAgIGNvZGU6IFwiR1NcIixcbiAgICBjb2RlUGhvbmU6IFwiNTAwXCIsXG4gIH0sXG4gIHsgbmFtZTogXCJTcGFpblwiLCBjb2RlOiBcIkVTXCIsIGNvZGVQaG9uZTogXCIzNFwiIH0sXG4gIHsgbmFtZTogXCJTcmkgTGFua2FcIiwgY29kZTogXCJMS1wiLCBjb2RlUGhvbmU6IFwiOTRcIiB9LFxuICB7IG5hbWU6IFwiU3VkYW5cIiwgY29kZTogXCJTRFwiLCBjb2RlUGhvbmU6IFwiMjQ5XCIgfSxcbiAgeyBuYW1lOiBcIlN1cmluYW1lXCIsIGNvZGU6IFwiU1JcIiwgY29kZVBob25lOiBcIjU5N1wiIH0sXG4gIHsgbmFtZTogXCJTd2F6aWxhbmRcIiwgY29kZTogXCJTWlwiLCBjb2RlUGhvbmU6IFwiMjY4XCIgfSxcbiAgeyBuYW1lOiBcIlN3ZWRlblwiLCBjb2RlOiBcIlNFXCIsIGNvZGVQaG9uZTogXCI0NlwiIH0sXG4gIHsgbmFtZTogXCJTd2l0emVybGFuZFwiLCBjb2RlOiBcIkNIXCIsIGNvZGVQaG9uZTogXCI0MVwiIH0sXG4gIHsgbmFtZTogXCJTeXJpYW4gQXJhYiBSZXB1YmxpY1wiLCBjb2RlOiBcIlNZXCIsIGNvZGVQaG9uZTogXCI5NjNcIiB9LFxuICB7IG5hbWU6IFwiVGFpd2FuLCBQcm92aW5jZSBvZiBDaGluYVwiLCBjb2RlOiBcIlRXXCIsIGNvZGVQaG9uZTogXCI4ODZcIiB9LFxuICB7IG5hbWU6IFwiVGFqaWtpc3RhblwiLCBjb2RlOiBcIlRKXCIsIGNvZGVQaG9uZTogXCI5OTJcIiB9LFxuICB7IG5hbWU6IFwiVGFuemFuaWEsIFVuaXRlZCBSZXB1YmxpYyBvZlwiLCBjb2RlOiBcIlRaXCIsIGNvZGVQaG9uZTogXCIyNTVcIiB9LFxuICB7IG5hbWU6IFwiVGhhaWxhbmRcIiwgY29kZTogXCJUSFwiLCBjb2RlUGhvbmU6IFwiNjZcIiB9LFxuICB7IG5hbWU6IFwiVGltb3ItTGVzdGVcIiwgY29kZTogXCJUTFwiLCBjb2RlUGhvbmU6IFwiNjcwXCIgfSxcbiAgeyBuYW1lOiBcIlRvZ29cIiwgY29kZTogXCJUR1wiLCBjb2RlUGhvbmU6IFwiMjI4XCIgfSxcbiAgeyBuYW1lOiBcIlRva2VsYXVcIiwgY29kZTogXCJUS1wiLCBjb2RlUGhvbmU6IFwiNjkwXCIgfSxcbiAgeyBuYW1lOiBcIlRvbmdhXCIsIGNvZGU6IFwiVE9cIiwgY29kZVBob25lOiBcIjY3NlwiIH0sXG4gIHsgbmFtZTogXCJUcmluaWRhZCBhbmQgVG9iYWdvXCIsIGNvZGU6IFwiVFRcIiwgY29kZVBob25lOiBcIjE4NjhcIiB9LFxuICB7IG5hbWU6IFwiVHVuaXNpYVwiLCBjb2RlOiBcIlROXCIsIGNvZGVQaG9uZTogXCIyMTZcIiB9LFxuICB7IG5hbWU6IFwiVHVya2V5XCIsIGNvZGU6IFwiVFJcIiwgY29kZVBob25lOiBcIjkwXCIgfSxcbiAgeyBuYW1lOiBcIlR1cmttZW5pc3RhblwiLCBjb2RlOiBcIlRNXCIsIGNvZGVQaG9uZTogXCI5OTNcIiB9LFxuICB7IG5hbWU6IFwiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzXCIsIGNvZGU6IFwiVENcIiwgY29kZVBob25lOiBcIjE2NDlcIiB9LFxuICB7IG5hbWU6IFwiVHV2YWx1XCIsIGNvZGU6IFwiVFZcIiwgY29kZVBob25lOiBcIjY4OFwiIH0sXG4gIHsgbmFtZTogXCJVZ2FuZGFcIiwgY29kZTogXCJVR1wiLCBjb2RlUGhvbmU6IFwiMjU2XCIgfSxcbiAgeyBuYW1lOiBcIlVrcmFpbmVcIiwgY29kZTogXCJVQVwiLCBjb2RlUGhvbmU6IFwiMzgwXCIgfSxcbiAgeyBuYW1lOiBcIlVuaXRlZCBBcmFiIEVtaXJhdGVzXCIsIGNvZGU6IFwiQUVcIiwgY29kZVBob25lOiBcIjk3MVwiIH0sXG4gIHsgbmFtZTogXCJVbml0ZWQgS2luZ2RvbVwiLCBjb2RlOiBcIkdCXCIsIGNvZGVQaG9uZTogXCI0NFwiIH0sXG4gIHsgbmFtZTogXCJVbml0ZWQgU3RhdGVzXCIsIGNvZGU6IFwiVVNcIiwgY29kZVBob25lOiBcIjFcIiB9LFxuICB7IG5hbWU6IFwiVXJ1Z3VheVwiLCBjb2RlOiBcIlVZXCIsIGNvZGVQaG9uZTogXCI1OThcIiB9LFxuICB7IG5hbWU6IFwiVXpiZWtpc3RhblwiLCBjb2RlOiBcIlVaXCIsIGNvZGVQaG9uZTogXCI5OThcIiB9LFxuICB7IG5hbWU6IFwiVmFudWF0dVwiLCBjb2RlOiBcIlZVXCIsIGNvZGVQaG9uZTogXCI2NzhcIiB9LFxuICB7IG5hbWU6IFwiVmVuZXp1ZWxhXCIsIGNvZGU6IFwiVkVcIiwgY29kZVBob25lOiBcIjU4XCIgfSxcbiAgeyBuYW1lOiBcIlZpZXQgTmFtXCIsIGNvZGU6IFwiVk5cIiwgY29kZVBob25lOiBcIjg0XCIgfSxcbiAgeyBuYW1lOiBcIlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoXCIsIGNvZGU6IFwiVkdcIiwgY29kZVBob25lOiBcIjEyODRcIiB9LFxuICB7IG5hbWU6IFwiVmlyZ2luIElzbGFuZHMsIFUuUy5cIiwgY29kZTogXCJWSVwiLCBjb2RlUGhvbmU6IFwiMTM0MFwiIH0sXG4gIHsgbmFtZTogXCJXYWxsaXMgYW5kIEZ1dHVuYVwiLCBjb2RlOiBcIldGXCIsIGNvZGVQaG9uZTogXCI2ODFcIiB9LFxuICB7IG5hbWU6IFwiV2VzdGVybiBTYWhhcmFcIiwgY29kZTogXCJFSFwiLCBjb2RlUGhvbmU6IFwiMjEyXCIgfSxcbiAgeyBuYW1lOiBcIlllbWVuXCIsIGNvZGU6IFwiWUVcIiwgY29kZVBob25lOiBcIjk2N1wiIH0sXG4gIHsgbmFtZTogXCJaYW1iaWFcIiwgY29kZTogXCJaTVwiLCBjb2RlUGhvbmU6IFwiMjYwXCIgfSxcbiAgeyBuYW1lOiBcIlppbWJhYndlXCIsIGNvZGU6IFwiWldcIiwgY29kZVBob25lOiBcIjI2M1wiIH0sXG5dO1xuIl19
@@ -0,0 +1,183 @@
1
+ import { Component, HostListener, Input, ElementRef, Output, EventEmitter, ChangeDetectorRef, ViewChild, Inject, } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TranslateModule } from "@ngx-translate/core";
4
+ import { IconComponent } from "../icon/icon.component";
5
+ import { COUNTRIES } from "./countries.data";
6
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@ngx-translate/core";
10
+ import * as i3 from "@angular/forms";
11
+ export class DropiCountrySelectorComponent {
12
+ elementRef;
13
+ cdr;
14
+ /**
15
+ *
16
+ * Define las propiedades necesarias para un campo de entrada (`input`).
17
+ *
18
+ * Cada campo debe contener las siguientes propiedades:
19
+ * - `label`: Texto descriptivo que se mostrará como etiqueta.
20
+ * - `placeholder`: Texto de ejemplo dentro del campo.
21
+ * - `options`: opciones que se mostraran en el menu desplegable que tienen los tipos:
22
+ * - `id`: Indicativo con el cual se identifica la opcion
23
+ * - `label`: Texto descriptivo de la opción
24
+ * - `disabled`: Indicador de opción deshabilitada
25
+ *
26
+ * Propiedades opcionales:
27
+ * - `textHelper`: Texto de ayuda que se mostrará debajo del campo.
28
+ * - `showObligatory`: Indicador para mostrar si el campo es obligatorio
29
+ *
30
+ * @type {SelectProperties}
31
+ */
32
+ selectProperties;
33
+ /**
34
+ * Indica si se debe mostrar deshabilitiado el select.
35
+ *
36
+ * Valor por defecto: `false`.
37
+ *
38
+ * @type {boolean}
39
+ */
40
+ disabled = false;
41
+ /**
42
+ * FormControl opcional para validación y mostrar errores
43
+ * Si se proporciona, el componente mostrará borde rojo cuando tenga errores
44
+ *
45
+ * @type {FormControl}
46
+ */
47
+ formControl;
48
+ /**
49
+ * Evento que emite el valor del select cuando se selecciona
50
+ *
51
+ * @type {OptionsSelect}
52
+ */
53
+ onChangeSelect = new EventEmitter();
54
+ /**
55
+ * Setear el pais del modelo inicial, debes enviarle el code del pais.
56
+ *
57
+ * @type {string}
58
+ */
59
+ _currentSelection = "";
60
+ set currentSelection(value) {
61
+ this._currentSelection = value;
62
+ if (value) {
63
+ const found = this.countries.find((propertie) => propertie.code === value);
64
+ if (found) {
65
+ this.selectedOption = found;
66
+ this.onChangeSelect.emit(this.selectedOption);
67
+ this.cdr.detectChanges(); // 👈🏼 Forzar a Angular a actualizar el DOM
68
+ }
69
+ }
70
+ }
71
+ searchTerm = "";
72
+ searchInput;
73
+ get currentSelection() {
74
+ return this._currentSelection;
75
+ }
76
+ /**
77
+ * Indica si el select esta desplegado
78
+ *
79
+ * Valor por defecto: `false`.
80
+ *
81
+ * @type {boolean}
82
+ */
83
+ isExpanded = false;
84
+ /**
85
+ * Almacena la opción actual seleccionada
86
+ *
87
+ * @type {OptionsSelect}
88
+ */
89
+ selectedOption;
90
+ countries = COUNTRIES;
91
+ filteredCountries = this.countries;
92
+ /**
93
+ * Verifica si el formControl tiene errores y está dirty/touched
94
+ */
95
+ get hasError() {
96
+ return (this.formControl &&
97
+ this.formControl.invalid &&
98
+ (this.formControl.dirty || this.formControl.touched));
99
+ }
100
+ constructor(elementRef, cdr) {
101
+ this.elementRef = elementRef;
102
+ this.cdr = cdr;
103
+ }
104
+ closeDropdown(event) {
105
+ if (event && !this.elementRef.nativeElement.contains(event.target)) {
106
+ this.isExpanded = false;
107
+ }
108
+ }
109
+ selectOption(option) {
110
+ this.isExpanded = false;
111
+ this.selectedOption = option;
112
+ this.searchTerm = "";
113
+ this.filteredCountries = this.countries;
114
+ this.onChangeSelect.emit(option);
115
+ }
116
+ showOptions() {
117
+ if (this.disabled)
118
+ return;
119
+ this.isExpanded = !this.isExpanded;
120
+ if (this.isExpanded) {
121
+ setTimeout(() => {
122
+ this.searchInput?.nativeElement.focus();
123
+ }, 0);
124
+ }
125
+ }
126
+ setPropertyById(code) {
127
+ const found = this.countries.find((propertie) => propertie.code === code);
128
+ if (found) {
129
+ this.selectedOption = found;
130
+ this.onChangeSelect.emit(this.selectedOption);
131
+ }
132
+ }
133
+ setPropertyByLabel(name) {
134
+ this.selectedOption = this.countries.find((propertie) => propertie.name === name);
135
+ this.onChangeSelect.emit(this.selectedOption);
136
+ }
137
+ filterCountries() {
138
+ const term = this.searchTerm.toLowerCase();
139
+ this.filteredCountries = this.countries.filter((country) => country.name.toLowerCase().includes(term));
140
+ }
141
+ clearSelection() {
142
+ this.selectedOption = null;
143
+ this.searchTerm = "";
144
+ this.filteredCountries = this.countries;
145
+ }
146
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCountrySelectorComponent, deps: [{ token: ElementRef }, { token: ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
147
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiCountrySelectorComponent, isStandalone: true, selector: "app-dropi-country-selector", inputs: { selectProperties: "selectProperties", disabled: "disabled", formControl: "formControl", currentSelection: "currentSelection", searchTerm: "searchTerm" }, outputs: { onChangeSelect: "onChangeSelect" }, host: { listeners: { "document:click": "closeDropdown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"custom-select\">\n <label *ngIf=\"selectProperties?.label\">\n {{ selectProperties.label | translate }}\n <span *ngIf=\"selectProperties?.showObligatory\">*</span>\n </label>\n <button\n type=\"button\"\n class=\"select-button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'select-completed': !!selectedOption,\n 'select-invalid': hasError\n }\"\n (click)=\"showOptions()\"\n >\n <div>\n <ng-container *ngIf=\"selectedOption; else placeholder\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + selectedOption.code + '/shiny/24.png'\"\n />\n {{ selectedOption.name }}\n </ng-container>\n\n <ng-template #placeholder>\n {{ selectProperties.placeholder }}\n </ng-template>\n </div>\n\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </button>\n\n <ul class=\"select-dropdown\" [ngClass]=\"isExpanded ? 'expanded-select' : 'collapsed-select'\">\n <li>\n <input\n #searchInput\n type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"filterCountries()\"\n class=\"country-search\"\n placeholder=\"{{ 'Search country' | translate }}\"\n />\n </li>\n <li *ngFor=\"let country of filteredCountries\">\n <button class=\"option\" (click)=\"selectOption(country)\" type=\"button\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + country.code + '/shiny/24.png'\"\n />\n {{ country.name }}\n </button>\n </li>\n </ul>\n</div>\n", styles: [".custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:100}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;transition:max-height .2s ease-out,background .6s ease-out,box-shadow .6s ease-out}.select-button:focus{border-color:var(--Info-Info-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-invalid{border-color:var(--Error-Error-500)!important}.select-helper{display:flex;gap:4px;align-items:baseline}.select-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.country-search{width:100%;padding:6px 10px;border:none;border-bottom:1px solid #ccc;outline:none;font-size:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCountrySelectorComponent, decorators: [{
150
+ type: Component,
151
+ args: [{ selector: "app-dropi-country-selector", standalone: true, imports: [
152
+ CommonModule,
153
+ TranslateModule,
154
+ IconComponent,
155
+ FormsModule,
156
+ ReactiveFormsModule,
157
+ ], template: "<div class=\"custom-select\">\n <label *ngIf=\"selectProperties?.label\">\n {{ selectProperties.label | translate }}\n <span *ngIf=\"selectProperties?.showObligatory\">*</span>\n </label>\n <button\n type=\"button\"\n class=\"select-button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'select-completed': !!selectedOption,\n 'select-invalid': hasError\n }\"\n (click)=\"showOptions()\"\n >\n <div>\n <ng-container *ngIf=\"selectedOption; else placeholder\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + selectedOption.code + '/shiny/24.png'\"\n />\n {{ selectedOption.name }}\n </ng-container>\n\n <ng-template #placeholder>\n {{ selectProperties.placeholder }}\n </ng-template>\n </div>\n\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </button>\n\n <ul class=\"select-dropdown\" [ngClass]=\"isExpanded ? 'expanded-select' : 'collapsed-select'\">\n <li>\n <input\n #searchInput\n type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"filterCountries()\"\n class=\"country-search\"\n placeholder=\"{{ 'Search country' | translate }}\"\n />\n </li>\n <li *ngFor=\"let country of filteredCountries\">\n <button class=\"option\" (click)=\"selectOption(country)\" type=\"button\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + country.code + '/shiny/24.png'\"\n />\n {{ country.name }}\n </button>\n </li>\n </ul>\n</div>\n", styles: [".custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:100}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;transition:max-height .2s ease-out,background .6s ease-out,box-shadow .6s ease-out}.select-button:focus{border-color:var(--Info-Info-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-invalid{border-color:var(--Error-Error-500)!important}.select-helper{display:flex;gap:4px;align-items:baseline}.select-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.country-search{width:100%;padding:6px 10px;border:none;border-bottom:1px solid #ccc;outline:none;font-size:14px}\n"] }]
158
+ }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
159
+ type: Inject,
160
+ args: [ElementRef]
161
+ }] }, { type: i0.ChangeDetectorRef, decorators: [{
162
+ type: Inject,
163
+ args: [ChangeDetectorRef]
164
+ }] }], propDecorators: { selectProperties: [{
165
+ type: Input
166
+ }], disabled: [{
167
+ type: Input
168
+ }], formControl: [{
169
+ type: Input
170
+ }], onChangeSelect: [{
171
+ type: Output
172
+ }], currentSelection: [{
173
+ type: Input
174
+ }], searchTerm: [{
175
+ type: Input
176
+ }], searchInput: [{
177
+ type: ViewChild,
178
+ args: ["searchInput"]
179
+ }], closeDropdown: [{
180
+ type: HostListener,
181
+ args: ["document:click", ["$event"]]
182
+ }] } });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktY291bnRyeS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy1zb3VyY2UvZHJvcGktY291bnRyeS1zZWxlY3Rvci9kcm9waS1jb3VudHJ5LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1jb3VudHJ5LXNlbGVjdG9yL2Ryb3BpLWNvdW50cnktc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBZS9FLE1BQU0sT0FBTyw2QkFBNkI7SUFtR1Y7SUFDTztJQW5HckM7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ2EsZ0JBQWdCLENBQW1CO0lBQ25EOzs7Ozs7T0FNRztJQUNhLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUM7Ozs7O09BS0c7SUFDYSxXQUFXLENBQWM7SUFDekM7Ozs7T0FJRztJQUNPLGNBQWMsR0FDdEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVyQjs7OztPQUlHO0lBQ0ssaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBRS9CLElBQWEsZ0JBQWdCLENBQUMsS0FBYTtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDL0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUN4QyxDQUFDO1lBQ0YsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsNENBQTRDO1lBQ3hFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVlLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDZCxXQUFXLENBQStCO0lBRXBFLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSSxVQUFVLEdBQVksS0FBSyxDQUFDO0lBQ25DOzs7O09BSUc7SUFDSSxjQUFjLENBQXVCO0lBQzVDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDZixpQkFBaUIsR0FBMkIsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUVsRTs7T0FFRztJQUNILElBQUksUUFBUTtRQUNWLE9BQU8sQ0FDTCxJQUFJLENBQUMsV0FBVztZQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU87WUFDeEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQzhCLFVBQXNCLEVBQ2YsR0FBc0I7UUFEN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQ3hELENBQUM7SUFHSixhQUFhLENBQUMsS0FBa0I7UUFDOUIsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsTUFBNEI7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVk7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDMUUsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVk7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDdkMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUN2QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDMUMsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUMsQ0FBQzt3R0EzSlUsNkJBQTZCLGtCQW1HOUIsVUFBVSxhQUNWLGlCQUFpQjs0RkFwR2hCLDZCQUE2Qix5ZENsQzFDLHVzREEyREEseWxFRGxDSSxZQUFZLDZWQUNaLGVBQWUsNEZBQ2YsYUFBYSxrR0FDYixXQUFXLDhtQkFDWCxtQkFBbUI7OzRGQUtWLDZCQUE2QjtrQkFiekMsU0FBUzsrQkFDRSw0QkFBNEIsY0FDMUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjs7MEJBdUdFLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsaUJBQWlCO3lDQWpGWCxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBUVUsUUFBUTtzQkFBdkIsS0FBSztnQkFPVSxXQUFXO3NCQUExQixLQUFLO2dCQU1JLGNBQWM7c0JBQXZCLE1BQU07Z0JBVU0sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQWNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ29CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkF1Q3hCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgRWxlbWVudFJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBWaWV3Q2hpbGQsXG4gIEluamVjdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbnR5cGUgT3B0aW9uc0NvdW50cnlTZWxlY3QgPSBhbnk7XG50eXBlIFNlbGVjdFByb3BlcnRpZXMgPSBhbnk7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ09VTlRSSUVTIH0gZnJvbSBcIi4vY291bnRyaWVzLmRhdGFcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLWRyb3BpLWNvdW50cnktc2VsZWN0b3JcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3BpLWNvdW50cnktc2VsZWN0b3IuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3BpLWNvdW50cnktc2VsZWN0b3IuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3BpQ291bnRyeVNlbGVjdG9yQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqXG4gICAqIERlZmluZSBsYXMgcHJvcGllZGFkZXMgbmVjZXNhcmlhcyBwYXJhIHVuIGNhbXBvIGRlIGVudHJhZGEgKGBpbnB1dGApLlxuICAgKlxuICAgKiBDYWRhIGNhbXBvIGRlYmUgY29udGVuZXIgbGFzIHNpZ3VpZW50ZXMgcHJvcGllZGFkZXM6XG4gICAqIC0gYGxhYmVsYDogVGV4dG8gZGVzY3JpcHRpdm8gcXVlIHNlIG1vc3RyYXLDoSBjb21vIGV0aXF1ZXRhLlxuICAgKiAtIGBwbGFjZWhvbGRlcmA6IFRleHRvIGRlIGVqZW1wbG8gZGVudHJvIGRlbCBjYW1wby5cbiAgICogLSBgb3B0aW9uc2A6IG9wY2lvbmVzIHF1ZSBzZSBtb3N0cmFyYW4gZW4gZWwgbWVudSBkZXNwbGVnYWJsZSBxdWUgdGllbmVuIGxvcyB0aXBvczpcbiAgICogICAgIC0gYGlkYDogSW5kaWNhdGl2byBjb24gZWwgY3VhbCBzZSBpZGVudGlmaWNhIGxhIG9wY2lvblxuICAgKiAgICAgLSBgbGFiZWxgOiBUZXh0byBkZXNjcmlwdGl2byBkZSBsYSBvcGNpw7NuXG4gICAqICAgICAtIGBkaXNhYmxlZGA6IEluZGljYWRvciBkZSBvcGNpw7NuIGRlc2hhYmlsaXRhZGFcbiAgICpcbiAgICogUHJvcGllZGFkZXMgb3BjaW9uYWxlczpcbiAgICogLSBgdGV4dEhlbHBlcmA6IFRleHRvIGRlIGF5dWRhIHF1ZSBzZSBtb3N0cmFyw6EgZGViYWpvIGRlbCBjYW1wby5cbiAgICogLSBgc2hvd09ibGlnYXRvcnlgOiBJbmRpY2Fkb3IgcGFyYSBtb3N0cmFyIHNpIGVsIGNhbXBvIGVzIG9ibGlnYXRvcmlvXG4gICAqXG4gICAqIEB0eXBlIHtTZWxlY3RQcm9wZXJ0aWVzfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHNlbGVjdFByb3BlcnRpZXM6IFNlbGVjdFByb3BlcnRpZXM7XG4gIC8qKlxuICAgKiBJbmRpY2Egc2kgc2UgZGViZSBtb3N0cmFyIGRlc2hhYmlsaXRpYWRvIGVsIHNlbGVjdC5cbiAgICpcbiAgICogVmFsb3IgcG9yIGRlZmVjdG86IGBmYWxzZWAuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBGb3JtQ29udHJvbCBvcGNpb25hbCBwYXJhIHZhbGlkYWNpw7NuIHkgbW9zdHJhciBlcnJvcmVzXG4gICAqIFNpIHNlIHByb3BvcmNpb25hLCBlbCBjb21wb25lbnRlIG1vc3RyYXLDoSBib3JkZSByb2pvIGN1YW5kbyB0ZW5nYSBlcnJvcmVzXG4gICAqXG4gICAqIEB0eXBlIHtGb3JtQ29udHJvbH1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIC8qKlxuICAgKiBFdmVudG8gcXVlIGVtaXRlIGVsIHZhbG9yIGRlbCBzZWxlY3QgY3VhbmRvIHNlIHNlbGVjY2lvbmFcbiAgICpcbiAgICogQHR5cGUge09wdGlvbnNTZWxlY3R9XG4gICAqL1xuICBAT3V0cHV0KCkgb25DaGFuZ2VTZWxlY3Q6IEV2ZW50RW1pdHRlcjxPcHRpb25zQ291bnRyeVNlbGVjdD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogU2V0ZWFyIGVsIHBhaXMgZGVsIG1vZGVsbyBpbmljaWFsLCBkZWJlcyBlbnZpYXJsZSBlbCBjb2RlIGRlbCBwYWlzLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgcHJpdmF0ZSBfY3VycmVudFNlbGVjdGlvbiA9IFwiXCI7XG5cbiAgQElucHV0KCkgc2V0IGN1cnJlbnRTZWxlY3Rpb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2N1cnJlbnRTZWxlY3Rpb24gPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5jb3VudHJpZXMuZmluZChcbiAgICAgICAgKHByb3BlcnRpZSkgPT4gcHJvcGVydGllLmNvZGUgPT09IHZhbHVlLFxuICAgICAgKTtcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gZm91bmQ7XG4gICAgICAgIHRoaXMub25DaGFuZ2VTZWxlY3QuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyAvLyDwn5GI8J+PvCBGb3J6YXIgYSBBbmd1bGFyIGEgYWN0dWFsaXphciBlbCBET01cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoVGVybTogc3RyaW5nID0gXCJcIjtcbiAgQFZpZXdDaGlsZChcInNlYXJjaElucHV0XCIpIHNlYXJjaElucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIGdldCBjdXJyZW50U2VsZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U2VsZWN0aW9uO1xuICB9XG4gIC8qKlxuICAgKiBJbmRpY2Egc2kgZWwgc2VsZWN0IGVzdGEgZGVzcGxlZ2Fkb1xuICAgKlxuICAgKiBWYWxvciBwb3IgZGVmZWN0bzogYGZhbHNlYC5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogQWxtYWNlbmEgbGEgb3BjacOzbiBhY3R1YWwgc2VsZWNjaW9uYWRhXG4gICAqXG4gICAqIEB0eXBlIHtPcHRpb25zU2VsZWN0fVxuICAgKi9cbiAgcHVibGljIHNlbGVjdGVkT3B0aW9uOiBPcHRpb25zQ291bnRyeVNlbGVjdDtcbiAgY291bnRyaWVzID0gQ09VTlRSSUVTO1xuICBwdWJsaWMgZmlsdGVyZWRDb3VudHJpZXM6IE9wdGlvbnNDb3VudHJ5U2VsZWN0W10gPSB0aGlzLmNvdW50cmllcztcblxuICAvKipcbiAgICogVmVyaWZpY2Egc2kgZWwgZm9ybUNvbnRyb2wgdGllbmUgZXJyb3JlcyB5IGVzdMOhIGRpcnR5L3RvdWNoZWRcbiAgICovXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5mb3JtQ29udHJvbCAmJlxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5pbnZhbGlkICYmXG4gICAgICAodGhpcy5mb3JtQ29udHJvbC5kaXJ0eSB8fCB0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIGNsb3NlRHJvcGRvd24oZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50ICYmICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RPcHRpb24ob3B0aW9uOiBPcHRpb25zQ291bnRyeVNlbGVjdCkge1xuICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gXCJcIjtcbiAgICB0aGlzLmZpbHRlcmVkQ291bnRyaWVzID0gdGhpcy5jb3VudHJpZXM7XG4gICAgdGhpcy5vbkNoYW5nZVNlbGVjdC5lbWl0KG9wdGlvbik7XG4gIH1cblxuICBzaG93T3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XG5cbiAgICBpZiAodGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UHJvcGVydHlCeUlkKGNvZGU6IHN0cmluZykge1xuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5jb3VudHJpZXMuZmluZCgocHJvcGVydGllKSA9PiBwcm9wZXJ0aWUuY29kZSA9PT0gY29kZSk7XG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gZm91bmQ7XG4gICAgICB0aGlzLm9uQ2hhbmdlU2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgc2V0UHJvcGVydHlCeUxhYmVsKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSB0aGlzLmNvdW50cmllcy5maW5kKFxuICAgICAgKHByb3BlcnRpZSkgPT4gcHJvcGVydGllLm5hbWUgPT09IG5hbWUsXG4gICAgKTtcbiAgICB0aGlzLm9uQ2hhbmdlU2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbik7XG4gIH1cblxuICBmaWx0ZXJDb3VudHJpZXMoKSB7XG4gICAgY29uc3QgdGVybSA9IHRoaXMuc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpO1xuICAgIHRoaXMuZmlsdGVyZWRDb3VudHJpZXMgPSB0aGlzLmNvdW50cmllcy5maWx0ZXIoKGNvdW50cnkpID0+XG4gICAgICBjb3VudHJ5Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSxcbiAgICApO1xuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gXCJcIjtcbiAgICB0aGlzLmZpbHRlcmVkQ291bnRyaWVzID0gdGhpcy5jb3VudHJpZXM7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjdXN0b20tc2VsZWN0XCI+XG4gIDxsYWJlbCAqbmdJZj1cInNlbGVjdFByb3BlcnRpZXM/LmxhYmVsXCI+XG4gICAge3sgc2VsZWN0UHJvcGVydGllcy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0UHJvcGVydGllcz8uc2hvd09ibGlnYXRvcnlcIj4qPC9zcGFuPlxuICA8L2xhYmVsPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJzZWxlY3QtYnV0dG9uXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdzZWxlY3QtY29tcGxldGVkJzogISFzZWxlY3RlZE9wdGlvbixcbiAgICAgICdzZWxlY3QtaW52YWxpZCc6IGhhc0Vycm9yXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cInNob3dPcHRpb25zKClcIlxuICA+XG4gICAgPGRpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbjsgZWxzZSBwbGFjZWhvbGRlclwiPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgc3R5bGU9XCJib3JkZXItcmFkaXVzOiAxNnB4XCJcbiAgICAgICAgICBbc3JjXT1cIidodHRwczovL2ZsYWdzYXBpLmNvbS8nICsgc2VsZWN0ZWRPcHRpb24uY29kZSArICcvc2hpbnkvMjQucG5nJ1wiXG4gICAgICAgIC8+XG4gICAgICAgIHt7IHNlbGVjdGVkT3B0aW9uLm5hbWUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyPlxuICAgICAgICB7eyBzZWxlY3RQcm9wZXJ0aWVzLnBsYWNlaG9sZGVyIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGFwcC1pY29uXG4gICAgICBbbmFtZV09XCJpc0V4cGFuZGVkID8gJ0Ryb3Bkb3duLXVwJyA6ICdEcm9wZG93bi1kb3duJ1wiXG4gICAgICB3aWR0aD1cIjIwcHhcIlxuICAgICAgaGVpZ2h0PVwiMjBweFwiXG4gICAgICBjb2xvcj1cIkdyYXktR3JheS01MDBcIlxuICAgID48L2FwcC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8dWwgY2xhc3M9XCJzZWxlY3QtZHJvcGRvd25cIiBbbmdDbGFzc109XCJpc0V4cGFuZGVkID8gJ2V4cGFuZGVkLXNlbGVjdCcgOiAnY29sbGFwc2VkLXNlbGVjdCdcIj5cbiAgICA8bGk+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI3NlYXJjaElucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgKGlucHV0KT1cImZpbHRlckNvdW50cmllcygpXCJcbiAgICAgICAgY2xhc3M9XCJjb3VudHJ5LXNlYXJjaFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ1NlYXJjaCBjb3VudHJ5JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAvPlxuICAgIDwvbGk+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGZpbHRlcmVkQ291bnRyaWVzXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwib3B0aW9uXCIgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihjb3VudHJ5KVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTZweFwiXG4gICAgICAgICAgW3NyY109XCInaHR0cHM6Ly9mbGFnc2FwaS5jb20vJyArIGNvdW50cnkuY29kZSArICcvc2hpbnkvMjQucG5nJ1wiXG4gICAgICAgIC8+XG4gICAgICAgIHt7IGNvdW50cnkubmFtZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuIl19