trm-tmpl 3.4.0 → 5.0.0

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 (235) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/fesm2022/trm-tmpl.mjs +178 -180
  3. package/fesm2022/trm-tmpl.mjs.map +1 -1
  4. package/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.d.ts +2 -2
  5. package/lib/app/pages/components/constructor-form/models/payment-field.d.ts +2 -2
  6. package/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.d.ts +0 -1
  7. package/lib/app/shared/components/trm-select/scrollbar-select-height.directive.d.ts +2 -1
  8. package/package.json +2 -4
  9. package/esm2022/lib/app/checkin/checkin.module.mjs +0 -42
  10. package/esm2022/lib/app/checkin/components/checkin-page/checkin-page.component.mjs +0 -157
  11. package/esm2022/lib/app/checkin/components/index.mjs +0 -2
  12. package/esm2022/lib/app/checkin/index.mjs +0 -4
  13. package/esm2022/lib/app/checkin/services/checkin.datasource.mjs +0 -81
  14. package/esm2022/lib/app/checkin/services/index.mjs +0 -2
  15. package/esm2022/lib/app/helpers/hide-init-loader.mjs +0 -15
  16. package/esm2022/lib/app/helpers/i18n-countries.mjs +0 -56
  17. package/esm2022/lib/app/helpers/index.mjs +0 -9
  18. package/esm2022/lib/app/helpers/insertRemoveTrigger.mjs +0 -11
  19. package/esm2022/lib/app/helpers/is-object-the-same.mjs +0 -26
  20. package/esm2022/lib/app/helpers/key-down-handler.mjs +0 -88
  21. package/esm2022/lib/app/helpers/mask-resolver.mjs +0 -114
  22. package/esm2022/lib/app/helpers/phone-codes.mjs +0 -1250
  23. package/esm2022/lib/app/helpers/warning-console-message.mjs +0 -8
  24. package/esm2022/lib/app/i18n/i18n-key.enum.mjs +0 -86
  25. package/esm2022/lib/app/i18n/index.mjs +0 -3
  26. package/esm2022/lib/app/i18n/keys.mjs +0 -109
  27. package/esm2022/lib/app/intex.mjs +0 -11
  28. package/esm2022/lib/app/models/cde-terminal-sdk.mjs +0 -2
  29. package/esm2022/lib/app/models/constants.mjs +0 -22
  30. package/esm2022/lib/app/models/http-bad-request-response.mjs +0 -2
  31. package/esm2022/lib/app/models/index.mjs +0 -8
  32. package/esm2022/lib/app/models/mode.mjs +0 -6
  33. package/esm2022/lib/app/models/version-service-base-class.mjs +0 -9
  34. package/esm2022/lib/app/models/version-service-interface.mjs +0 -2
  35. package/esm2022/lib/app/models/version.interface.mjs +0 -2
  36. package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-date/constructor-field-date.component.mjs +0 -76
  37. package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/card-sdk.service.mjs +0 -41
  38. package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/constructor-field-iframe.component.mjs +0 -123
  39. package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-iframe/iframe-validator-directive.directive.mjs +0 -88
  40. package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-select/constructor-field-select.component.mjs +0 -80
  41. package/esm2022/lib/app/pages/components/constructor-form/components/constructor-field-text/constructor-field-text.component.mjs +0 -196
  42. package/esm2022/lib/app/pages/components/constructor-form/components/constructor-preparation/constructor-preparation.component.mjs +0 -33
  43. package/esm2022/lib/app/pages/components/constructor-form/components/index.mjs +0 -10
  44. package/esm2022/lib/app/pages/components/constructor-form/components/method-amount-hint/method-amount-hint.component.mjs +0 -31
  45. package/esm2022/lib/app/pages/components/constructor-form/components/ps-select/ps-select.component.mjs +0 -124
  46. package/esm2022/lib/app/pages/components/constructor-form/constructor-form.component.mjs +0 -374
  47. package/esm2022/lib/app/pages/components/constructor-form/index.mjs +0 -5
  48. package/esm2022/lib/app/pages/components/constructor-form/models/collection-type.enum.mjs +0 -6
  49. package/esm2022/lib/app/pages/components/constructor-form/models/config/advcash.mjs +0 -9
  50. package/esm2022/lib/app/pages/components/constructor-form/models/config/alfabank.mjs +0 -9
  51. package/esm2022/lib/app/pages/components/constructor-form/models/config/alipay.mjs +0 -9
  52. package/esm2022/lib/app/pages/components/constructor-form/models/config/alipay_plus.mjs +0 -12
  53. package/esm2022/lib/app/pages/components/constructor-form/models/config/all.mjs +0 -209
  54. package/esm2022/lib/app/pages/components/constructor-form/models/config/applepay.mjs +0 -10
  55. package/esm2022/lib/app/pages/components/constructor-form/models/config/argentina_bank.mjs +0 -9
  56. package/esm2022/lib/app/pages/components/constructor-form/models/config/atf24.mjs +0 -10
  57. package/esm2022/lib/app/pages/components/constructor-form/models/config/baloto.mjs +0 -21
  58. package/esm2022/lib/app/pages/components/constructor-form/models/config/beeline.mjs +0 -10
  59. package/esm2022/lib/app/pages/components/constructor-form/models/config/bitcoin.mjs +0 -9
  60. package/esm2022/lib/app/pages/components/constructor-form/models/config/blik.mjs +0 -9
  61. package/esm2022/lib/app/pages/components/constructor-form/models/config/boleto.mjs +0 -23
  62. package/esm2022/lib/app/pages/components/constructor-form/models/config/brazil_bank.mjs +0 -9
  63. package/esm2022/lib/app/pages/components/constructor-form/models/config/card.mjs +0 -11
  64. package/esm2022/lib/app/pages/components/constructor-form/models/config/carga_virtual.mjs +0 -9
  65. package/esm2022/lib/app/pages/components/constructor-form/models/config/cash.mjs +0 -9
  66. package/esm2022/lib/app/pages/components/constructor-form/models/config/cashtocode.mjs +0 -10
  67. package/esm2022/lib/app/pages/components/constructor-form/models/config/codi.mjs +0 -11
  68. package/esm2022/lib/app/pages/components/constructor-form/models/config/comepay.mjs +0 -10
  69. package/esm2022/lib/app/pages/components/constructor-form/models/config/cup.mjs +0 -9
  70. package/esm2022/lib/app/pages/components/constructor-form/models/config/cup_bank.mjs +0 -9
  71. package/esm2022/lib/app/pages/components/constructor-form/models/config/cup_p2p.mjs +0 -12
  72. package/esm2022/lib/app/pages/components/constructor-form/models/config/deposit_express.mjs +0 -23
  73. package/esm2022/lib/app/pages/components/constructor-form/models/config/direct_banking_europe.mjs +0 -9
  74. package/esm2022/lib/app/pages/components/constructor-form/models/config/dotpay.mjs +0 -9
  75. package/esm2022/lib/app/pages/components/constructor-form/models/config/ecopayz.mjs +0 -9
  76. package/esm2022/lib/app/pages/components/constructor-form/models/config/eps.mjs +0 -9
  77. package/esm2022/lib/app/pages/components/constructor-form/models/config/ethereum.mjs +0 -9
  78. package/esm2022/lib/app/pages/components/constructor-form/models/config/giropay.mjs +0 -9
  79. package/esm2022/lib/app/pages/components/constructor-form/models/config/gmmoney.mjs +0 -9
  80. package/esm2022/lib/app/pages/components/constructor-form/models/config/googlepay.mjs +0 -9
  81. package/esm2022/lib/app/pages/components/constructor-form/models/config/ideal.mjs +0 -13
  82. package/esm2022/lib/app/pages/components/constructor-form/models/config/indonesia_bank.mjs +0 -12
  83. package/esm2022/lib/app/pages/components/constructor-form/models/config/indonesia_bank_transfer.mjs +0 -9
  84. package/esm2022/lib/app/pages/components/constructor-form/models/config/internal_gamemoney.mjs +0 -9
  85. package/esm2022/lib/app/pages/components/constructor-form/models/config/jeton.mjs +0 -9
  86. package/esm2022/lib/app/pages/components/constructor-form/models/config/jeton_voucher.mjs +0 -9
  87. package/esm2022/lib/app/pages/components/constructor-form/models/config/kassa24.mjs +0 -10
  88. package/esm2022/lib/app/pages/components/constructor-form/models/config/link.mjs +0 -9
  89. package/esm2022/lib/app/pages/components/constructor-form/models/config/local_card_brazil.mjs +0 -19
  90. package/esm2022/lib/app/pages/components/constructor-form/models/config/local_card_mexico.mjs +0 -10
  91. package/esm2022/lib/app/pages/components/constructor-form/models/config/loterica.mjs +0 -22
  92. package/esm2022/lib/app/pages/components/constructor-form/models/config/malaysia_bank.mjs +0 -12
  93. package/esm2022/lib/app/pages/components/constructor-form/models/config/mbway.mjs +0 -12
  94. package/esm2022/lib/app/pages/components/constructor-form/models/config/megafon.mjs +0 -11
  95. package/esm2022/lib/app/pages/components/constructor-form/models/config/mercado_pago.mjs +0 -12
  96. package/esm2022/lib/app/pages/components/constructor-form/models/config/mexico_bank.mjs +0 -9
  97. package/esm2022/lib/app/pages/components/constructor-form/models/config/mirpay.mjs +0 -9
  98. package/esm2022/lib/app/pages/components/constructor-form/models/config/momopay.mjs +0 -9
  99. package/esm2022/lib/app/pages/components/constructor-form/models/config/moneta.mjs +0 -9
  100. package/esm2022/lib/app/pages/components/constructor-form/models/config/mts.mjs +0 -10
  101. package/esm2022/lib/app/pages/components/constructor-form/models/config/multibanco.mjs +0 -11
  102. package/esm2022/lib/app/pages/components/constructor-form/models/config/neosurf.mjs +0 -9
  103. package/esm2022/lib/app/pages/components/constructor-form/models/config/neteller.mjs +0 -10
  104. package/esm2022/lib/app/pages/components/constructor-form/models/config/nupay.mjs +0 -22
  105. package/esm2022/lib/app/pages/components/constructor-form/models/config/onecard.mjs +0 -9
  106. package/esm2022/lib/app/pages/components/constructor-form/models/config/oxxo.mjs +0 -23
  107. package/esm2022/lib/app/pages/components/constructor-form/models/config/pagoefectivo.mjs +0 -22
  108. package/esm2022/lib/app/pages/components/constructor-form/models/config/pagoexpress.mjs +0 -21
  109. package/esm2022/lib/app/pages/components/constructor-form/models/config/pagofacil.mjs +0 -10
  110. package/esm2022/lib/app/pages/components/constructor-form/models/config/paypal.mjs +0 -9
  111. package/esm2022/lib/app/pages/components/constructor-form/models/config/paysafecard.mjs +0 -9
  112. package/esm2022/lib/app/pages/components/constructor-form/models/config/philippines_bank.mjs +0 -12
  113. package/esm2022/lib/app/pages/components/constructor-form/models/config/picpay.mjs +0 -21
  114. package/esm2022/lib/app/pages/components/constructor-form/models/config/pix.mjs +0 -31
  115. package/esm2022/lib/app/pages/components/constructor-form/models/config/promptpay.mjs +0 -9
  116. package/esm2022/lib/app/pages/components/constructor-form/models/config/promsviaz.mjs +0 -9
  117. package/esm2022/lib/app/pages/components/constructor-form/models/config/przelewy24.mjs +0 -12
  118. package/esm2022/lib/app/pages/components/constructor-form/models/config/qiwi.mjs +0 -10
  119. package/esm2022/lib/app/pages/components/constructor-form/models/config/rapid.mjs +0 -9
  120. package/esm2022/lib/app/pages/components/constructor-form/models/config/rapipago.mjs +0 -22
  121. package/esm2022/lib/app/pages/components/constructor-form/models/config/redpagos.mjs +0 -9
  122. package/esm2022/lib/app/pages/components/constructor-form/models/config/sberbank.mjs +0 -9
  123. package/esm2022/lib/app/pages/components/constructor-form/models/config/sbp.mjs +0 -9
  124. package/esm2022/lib/app/pages/components/constructor-form/models/config/sepa.mjs +0 -12
  125. package/esm2022/lib/app/pages/components/constructor-form/models/config/servipag.mjs +0 -9
  126. package/esm2022/lib/app/pages/components/constructor-form/models/config/skinify.mjs +0 -9
  127. package/esm2022/lib/app/pages/components/constructor-form/models/config/skinpay.mjs +0 -9
  128. package/esm2022/lib/app/pages/components/constructor-form/models/config/skinsback.mjs +0 -9
  129. package/esm2022/lib/app/pages/components/constructor-form/models/config/skrill.mjs +0 -9
  130. package/esm2022/lib/app/pages/components/constructor-form/models/config/sofort.mjs +0 -9
  131. package/esm2022/lib/app/pages/components/constructor-form/models/config/spei.mjs +0 -12
  132. package/esm2022/lib/app/pages/components/constructor-form/models/config/store_mexico.mjs +0 -12
  133. package/esm2022/lib/app/pages/components/constructor-form/models/config/tele2.mjs +0 -10
  134. package/esm2022/lib/app/pages/components/constructor-form/models/config/tether.mjs +0 -9
  135. package/esm2022/lib/app/pages/components/constructor-form/models/config/tether_trc20.mjs +0 -9
  136. package/esm2022/lib/app/pages/components/constructor-form/models/config/thailand_bank.mjs +0 -12
  137. package/esm2022/lib/app/pages/components/constructor-form/models/config/thailand_bank_transfer.mjs +0 -11
  138. package/esm2022/lib/app/pages/components/constructor-form/models/config/tinkoff.mjs +0 -8
  139. package/esm2022/lib/app/pages/components/constructor-form/models/config/tron.mjs +0 -9
  140. package/esm2022/lib/app/pages/components/constructor-form/models/config/trustly.mjs +0 -9
  141. package/esm2022/lib/app/pages/components/constructor-form/models/config/vietnam_bank.mjs +0 -9
  142. package/esm2022/lib/app/pages/components/constructor-form/models/config/vietnam_bank_qr.mjs +0 -10
  143. package/esm2022/lib/app/pages/components/constructor-form/models/config/vietnam_bank_transfer.mjs +0 -11
  144. package/esm2022/lib/app/pages/components/constructor-form/models/config/wallester.mjs +0 -9
  145. package/esm2022/lib/app/pages/components/constructor-form/models/config/webpay.mjs +0 -9
  146. package/esm2022/lib/app/pages/components/constructor-form/models/config/wechat.mjs +0 -12
  147. package/esm2022/lib/app/pages/components/constructor-form/models/config/wme.mjs +0 -9
  148. package/esm2022/lib/app/pages/components/constructor-form/models/config/wmr.mjs +0 -9
  149. package/esm2022/lib/app/pages/components/constructor-form/models/config/wmu.mjs +0 -9
  150. package/esm2022/lib/app/pages/components/constructor-form/models/config/wmz.mjs +0 -9
  151. package/esm2022/lib/app/pages/components/constructor-form/models/config/yandex.mjs +0 -9
  152. package/esm2022/lib/app/pages/components/constructor-form/models/config/zen_wallet.mjs +0 -9
  153. package/esm2022/lib/app/pages/components/constructor-form/models/field-template.mjs +0 -110
  154. package/esm2022/lib/app/pages/components/constructor-form/models/index.mjs +0 -7
  155. package/esm2022/lib/app/pages/components/constructor-form/models/payment-field-options.mjs +0 -2
  156. package/esm2022/lib/app/pages/components/constructor-form/models/payment-field-type.enum.mjs +0 -11
  157. package/esm2022/lib/app/pages/components/constructor-form/models/payment-field.mjs +0 -2
  158. package/esm2022/lib/app/pages/components/constructor-form/models/payment-fields.mjs +0 -2
  159. package/esm2022/lib/app/pages/components/constructor-form/models/terminal-step.enum.mjs +0 -7
  160. package/esm2022/lib/app/pages/components/constructor-form/services/constructor-form.service.mjs +0 -310
  161. package/esm2022/lib/app/pages/components/constructor-form/services/index.mjs +0 -2
  162. package/esm2022/lib/app/pages/components/error/error.component.mjs +0 -22
  163. package/esm2022/lib/app/pages/components/index.mjs +0 -4
  164. package/esm2022/lib/app/pages/components/terminal-layout/terminal-layout.component.mjs +0 -249
  165. package/esm2022/lib/app/pages/directives/fee-template.directive.mjs +0 -14
  166. package/esm2022/lib/app/pages/directives/index.mjs +0 -4
  167. package/esm2022/lib/app/pages/directives/input-mask-corrector.directive.mjs +0 -23
  168. package/esm2022/lib/app/pages/directives/tab-index-focus.directive.mjs +0 -21
  169. package/esm2022/lib/app/pages/index.mjs +0 -5
  170. package/esm2022/lib/app/pages/pages.module.mjs +0 -170
  171. package/esm2022/lib/app/pages/services/index.mjs +0 -2
  172. package/esm2022/lib/app/pages/services/mask.service.mjs +0 -22
  173. package/esm2022/lib/app/pipes/countries-sort.pipe.mjs +0 -34
  174. package/esm2022/lib/app/pipes/country-translate.pipe.mjs +0 -24
  175. package/esm2022/lib/app/pipes/index.mjs +0 -4
  176. package/esm2022/lib/app/pipes/method-title.pipe.mjs +0 -22
  177. package/esm2022/lib/app/services/api-errors.service.mjs +0 -52
  178. package/esm2022/lib/app/services/csrf.resolver.mjs +0 -79
  179. package/esm2022/lib/app/services/error.interceptior.mjs +0 -26
  180. package/esm2022/lib/app/services/index.mjs +0 -7
  181. package/esm2022/lib/app/services/local-storage.mjs +0 -70
  182. package/esm2022/lib/app/services/script-loader.mjs +0 -72
  183. package/esm2022/lib/app/services/session.data-source.mjs +0 -199
  184. package/esm2022/lib/app/services/translation/translate-lang-storage.service.mjs +0 -129
  185. package/esm2022/lib/app/shared/components/constructor-status/constructor-status.component.mjs +0 -49
  186. package/esm2022/lib/app/shared/components/index.mjs +0 -8
  187. package/esm2022/lib/app/shared/components/terminal-lang-switcher/terminal-lang-switcher.component.mjs +0 -59
  188. package/esm2022/lib/app/shared/components/terminal-layout-tpl/terminal-layout-tpl.component.mjs +0 -53
  189. package/esm2022/lib/app/shared/components/trm-amount/trm-amount.component.mjs +0 -50
  190. package/esm2022/lib/app/shared/components/trm-select/scrollbar-select-height.directive.mjs +0 -42
  191. package/esm2022/lib/app/shared/components/trm-select/trm-select-label-template.directive.mjs +0 -17
  192. package/esm2022/lib/app/shared/components/trm-select/trm-select.component.mjs +0 -209
  193. package/esm2022/lib/app/shared/directives/index.mjs +0 -2
  194. package/esm2022/lib/app/shared/directives/ng-var.directive.mjs +0 -34
  195. package/esm2022/lib/app/shared/index.mjs +0 -5
  196. package/esm2022/lib/app/shared/pipes/index.mjs +0 -3
  197. package/esm2022/lib/app/shared/pipes/sanitizer.pipe.mjs +0 -21
  198. package/esm2022/lib/app/shared/pipes/translate-by-key.pipe.mjs +0 -49
  199. package/esm2022/lib/app/shared/shared.module.mjs +0 -73
  200. package/esm2022/lib/app/terminal-tpl.component.mjs +0 -59
  201. package/esm2022/lib/app/terminal.module.mjs +0 -67
  202. package/esm2022/lib/codegen/api/api.mjs +0 -4
  203. package/esm2022/lib/codegen/api/checkin.service.mjs +0 -2
  204. package/esm2022/lib/codegen/api/configuration.mjs +0 -2
  205. package/esm2022/lib/codegen/api/terminal.service.mjs +0 -2
  206. package/esm2022/lib/codegen/index.mjs +0 -3
  207. package/esm2022/lib/codegen/model/apiErrors.mjs +0 -42
  208. package/esm2022/lib/codegen/model/badRequestResponse.mjs +0 -2
  209. package/esm2022/lib/codegen/model/bank.mjs +0 -2
  210. package/esm2022/lib/codegen/model/documentType.mjs +0 -2
  211. package/esm2022/lib/codegen/model/getCheckinSessionInfo200Response.mjs +0 -2
  212. package/esm2022/lib/codegen/model/getTerminalMethodBanks200Response.mjs +0 -2
  213. package/esm2022/lib/codegen/model/getTerminalMethodDocumentTypes200Response.mjs +0 -2
  214. package/esm2022/lib/codegen/model/invoiceStatus.mjs +0 -8
  215. package/esm2022/lib/codegen/model/methodInfo.mjs +0 -2
  216. package/esm2022/lib/codegen/model/methodInfoLimits.mjs +0 -2
  217. package/esm2022/lib/codegen/model/methodType.mjs +0 -2
  218. package/esm2022/lib/codegen/model/methodTypeType.mjs +0 -2
  219. package/esm2022/lib/codegen/model/models.mjs +0 -22
  220. package/esm2022/lib/codegen/model/postTerminalClose200Response.mjs +0 -2
  221. package/esm2022/lib/codegen/model/postTerminalOpen200Response.mjs +0 -2
  222. package/esm2022/lib/codegen/model/postTerminalOpenRequest.mjs +0 -2
  223. package/esm2022/lib/codegen/model/postTerminalPaymentConfirm200Response.mjs +0 -2
  224. package/esm2022/lib/codegen/model/postTerminalPaymentConfirmRequest.mjs +0 -2
  225. package/esm2022/lib/codegen/model/postTerminalPaymentPrepare200Response.mjs +0 -2
  226. package/esm2022/lib/codegen/model/postTerminalPaymentPrepareRequest.mjs +0 -2
  227. package/esm2022/lib/codegen/model/sessionInfo.mjs +0 -2
  228. package/esm2022/lib/codegen/model/sessionInfoAntiFraudPixel.mjs +0 -2
  229. package/esm2022/lib/const.mjs +0 -9
  230. package/esm2022/lib/helpers/index.mjs +0 -3
  231. package/esm2022/lib/helpers/moment-import.mjs +0 -3
  232. package/esm2022/lib/helpers/remove-empty-props.mjs +0 -13
  233. package/esm2022/lib/index.mjs +0 -5
  234. package/esm2022/public-api.mjs +0 -5
  235. package/esm2022/trm-tmpl.mjs +0 -5
@@ -1,88 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- function sortByTabIndex(list) {
5
- return list.sort((a, b) => {
6
- const index1 = +a.getAttribute('tabindex');
7
- const index2 = +b.getAttribute('tabindex');
8
- if (index1 < index2) {
9
- return -1;
10
- }
11
- if (index1 > index2) {
12
- return 1;
13
- }
14
- return 0;
15
- });
16
- }
17
- export class FocusHandler {
18
- static get focusableList() {
19
- return sortByTabIndex(Array.from(document.querySelectorAll('[tabindex]')));
20
- }
21
- static get focusableEnabledList() {
22
- return sortByTabIndex(Array.from(document.querySelectorAll('[tabindex]:not([class*="--disabled"])')));
23
- }
24
- static previous(ev) {
25
- const focusedElement = document.activeElement;
26
- const index = focusedElement?.getAttribute('tabindex');
27
- const focusableList = this.focusableList;
28
- if (index === null) {
29
- focusableList.pop()?.focus();
30
- ev?.preventDefault();
31
- return;
32
- }
33
- for (let i = 0; i < focusableList.length; i++) {
34
- const element = focusableList[i];
35
- if (element === focusedElement) {
36
- const prev = focusableList[i - 1];
37
- if (prev) {
38
- ev?.preventDefault();
39
- prev.focus();
40
- }
41
- return;
42
- }
43
- }
44
- }
45
- static next(ev) {
46
- const focusedElement = document.activeElement;
47
- const index = focusedElement?.getAttribute('tabindex');
48
- const focusableList = this.focusableList;
49
- if (index === null) {
50
- focusableList.shift()?.focus();
51
- ev?.preventDefault();
52
- return;
53
- }
54
- for (let i = 0; i < focusableList.length; i++) {
55
- const element = focusableList[i];
56
- if (element === focusedElement) {
57
- const next = focusableList[i + 1];
58
- if (next) {
59
- ev?.preventDefault();
60
- next.focus();
61
- }
62
- return;
63
- }
64
- }
65
- }
66
- static previousEnabled(ev) {
67
- this.previous.call({
68
- focusableList: this.focusableEnabledList
69
- }, ev);
70
- }
71
- static nextEnabled(ev) {
72
- this.next.call({
73
- focusableList: this.focusableEnabledList
74
- }, ev);
75
- }
76
- constructor() {
77
- FocusHandler.document = inject(DOCUMENT);
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FocusHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
80
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FocusHandler, providedIn: 'root' }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FocusHandler, decorators: [{
83
- type: Injectable,
84
- args: [{
85
- providedIn: 'root'
86
- }]
87
- }], ctorParameters: () => [] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRvd24taGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL2hlbHBlcnMva2V5LWRvd24taGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTNDLFNBQVMsY0FBYyxDQUFDLElBQW1CO0lBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN0QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLElBQUksTUFBTSxHQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxNQUFNLEdBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUViLE1BQU0sS0FBSyxhQUFhO1FBQzVCLE9BQU8sY0FBYyxDQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBYyxZQUFZLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ04sQ0FBQztJQUNPLE1BQU0sS0FBSyxvQkFBb0I7UUFDbkMsT0FBTyxjQUFjLENBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFjLHVDQUF1QyxDQUFDLENBQUMsQ0FDOUYsQ0FBQztJQUNOLENBQUM7SUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQVU7UUFDdEIsTUFBTSxjQUFjLEdBQWdCLFFBQVEsQ0FBQyxhQUE0QixDQUFDO1FBQzFFLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNqQixhQUFhLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDN0IsRUFBRSxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxPQUFPLEtBQUssY0FBYyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ1AsRUFBRSxFQUFFLGNBQWMsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2pCLENBQUM7Z0JBQ0QsT0FBTztZQUNYLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBVTtRQUNsQixNQUFNLGNBQWMsR0FBZ0IsUUFBUSxDQUFDLGFBQTRCLENBQUM7UUFDMUUsTUFBTSxLQUFLLEdBQUcsY0FBYyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMvQixFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNYLENBQUM7UUFDRCxLQUFLLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLE9BQU8sS0FBSyxjQUFjLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDUCxFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsQ0FBQztnQkFDRCxPQUFPO1lBQ1gsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFVO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsYUFBYSxFQUFFLElBQUksQ0FBQyxvQkFBb0I7U0FDM0MsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQVU7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDWCxhQUFhLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtTQUMzQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVEO1FBQ0ksWUFBWSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs4R0FuRVEsWUFBWTtrSEFBWixZQUFZLGNBRlQsTUFBTTs7MkZBRVQsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZnVuY3Rpb24gc29ydEJ5VGFiSW5kZXgobGlzdDogSFRNTEVsZW1lbnRbXSk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBsaXN0LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXgxID0gK2EuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgICAgICBjb25zdCBpbmRleDIgPSArYi5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICAgIGlmIChpbmRleDE8aW5kZXgyKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4MT5pbmRleDIpIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAwO1xuICAgIH0pO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzSGFuZGxlciB7XG4gICAgc3RhdGljIGRvY3VtZW50OiBEb2N1bWVudDtcbiAgICBwcml2YXRlIHN0YXRpYyBnZXQgZm9jdXNhYmxlTGlzdCgpOiBIVE1MRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIHNvcnRCeVRhYkluZGV4KFxuICAgICAgICAgICAgQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignW3RhYmluZGV4XScpKVxuICAgICAgICApO1xuICAgIH1cbiAgICBwcml2YXRlIHN0YXRpYyBnZXQgZm9jdXNhYmxlRW5hYmxlZExpc3QoKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBzb3J0QnlUYWJJbmRleChcbiAgICAgICAgICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ1t0YWJpbmRleF06bm90KFtjbGFzcyo9XCItLWRpc2FibGVkXCJdKScpKVxuICAgICAgICApO1xuICAgIH1cbiAgICBzdGF0aWMgcHJldmlvdXMoZXY/OiBFdmVudCkge1xuICAgICAgICBjb25zdCBmb2N1c2VkRWxlbWVudDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBpbmRleCA9IGZvY3VzZWRFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUxpc3QgPSB0aGlzLmZvY3VzYWJsZUxpc3Q7XG4gICAgICAgIGlmIChpbmRleCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZm9jdXNhYmxlTGlzdC5wb3AoKT8uZm9jdXMoKTtcbiAgICAgICAgICAgIGV2Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGZvY3VzYWJsZUxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBmb2N1c2FibGVMaXN0W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQgPT09IGZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IGZvY3VzYWJsZUxpc3RbaSAtIDFdO1xuICAgICAgICAgICAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICBwcmV2LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGF0aWMgbmV4dChldj86IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZm9jdXNlZEVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlTGlzdCA9IHRoaXMuZm9jdXNhYmxlTGlzdDtcbiAgICAgICAgaWYgKGluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICBmb2N1c2FibGVMaXN0LnNoaWZ0KCk/LmZvY3VzKCk7XG4gICAgICAgICAgICBldj8ucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBmb2N1c2FibGVMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZm9jdXNhYmxlTGlzdFtpXTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50ID09PSBmb2N1c2VkRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSBmb2N1c2FibGVMaXN0W2kgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgICAgICAgICBldj8ucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIHByZXZpb3VzRW5hYmxlZChldj86IEV2ZW50KSB7XG4gICAgICAgIHRoaXMucHJldmlvdXMuY2FsbCh7XG4gICAgICAgICAgICBmb2N1c2FibGVMaXN0OiB0aGlzLmZvY3VzYWJsZUVuYWJsZWRMaXN0XG4gICAgICAgIH0sIGV2KTtcbiAgICB9XG4gICAgc3RhdGljIG5leHRFbmFibGVkKGV2PzogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5uZXh0LmNhbGwoe1xuICAgICAgICAgICAgZm9jdXNhYmxlTGlzdDogdGhpcy5mb2N1c2FibGVFbmFibGVkTGlzdFxuICAgICAgICB9LCBldik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIEZvY3VzSGFuZGxlci5kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICAgfVxufVxuIl19
@@ -1,114 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { NgxMaskService } from 'ngx-mask';
3
- import { PHONE_MASKS, removeSpecSymbols } from './phone-codes';
4
- import * as i0 from "@angular/core";
5
- export var MASKS;
6
- (function (MASKS) {
7
- MASKS["CPF"] = "CPF";
8
- MASKS["CPF_CNPJ"] = "CPF_CNPJ";
9
- MASKS["PHONE"] = "PHONE";
10
- MASKS["CI"] = "CI";
11
- MASKS["CURP"] = "CURP";
12
- MASKS["CUIT_DNI"] = "CUIT_DNI";
13
- MASKS["CC"] = "CC";
14
- })(MASKS || (MASKS = {}));
15
- export const INITIAL_PHONE_MASK = '+D';
16
- export const PHONE_MASK_PATTERNS = {
17
- 'D': {
18
- pattern: /\d/
19
- },
20
- '9': {
21
- pattern: /\d/,
22
- optional: true
23
- }
24
- };
25
- export class MaskResolver {
26
- constructor() {
27
- this.maskService = inject(NgxMaskService);
28
- }
29
- getMaskPattern(mask, value) {
30
- switch (mask) {
31
- case MASKS.PHONE:
32
- return (...args) => this.calcMask(...args);
33
- case MASKS.CPF_CNPJ:
34
- if (value?.length > 11) {
35
- return '00.000.000/0000-00';
36
- }
37
- return '000.000.000-009';
38
- case MASKS.CI:
39
- return '0000000000';
40
- case MASKS.CURP:
41
- return 'SSSS000000SSSSSS00';
42
- case MASKS.CUIT_DNI:
43
- return '00-00000000-0||00-000-000';
44
- case MASKS.CC:
45
- return '0000000000000000';
46
- case MASKS.CPF:
47
- return '000.000.000-00';
48
- default:
49
- return mask;
50
- }
51
- }
52
- getMaskByValue(mask, value) {
53
- const maskValue = this.getMaskPattern(mask, value);
54
- if (typeof maskValue === 'function') {
55
- return maskValue.call(null, value) || null;
56
- }
57
- else {
58
- return maskValue || null;
59
- }
60
- }
61
- getPatterns(config) {
62
- if (config?.mask === MASKS.PHONE) {
63
- return PHONE_MASK_PATTERNS;
64
- }
65
- if (config?.maskPatterns) {
66
- return config?.maskPatterns;
67
- }
68
- return this.maskService.patterns;
69
- }
70
- getSpecialCharacters(config) {
71
- return config?.specialCharacters || this.maskService.specialCharacters;
72
- }
73
- calcMask(value) {
74
- let mask = INITIAL_PHONE_MASK;
75
- if (value) {
76
- const valueArray = Array.from(removeSpecSymbols(value));
77
- let masks = PHONE_MASKS;
78
- for (let sIndex = 0; sIndex < valueArray.length; sIndex++) {
79
- const s = valueArray[sIndex];
80
- const filteredMasks = masks.filter((m) => {
81
- const maskValue = removeSpecSymbols(m);
82
- const maskSymbol = maskValue[sIndex];
83
- if (/\d/.test(maskSymbol)) {
84
- return maskSymbol === s;
85
- }
86
- return !!maskSymbol;
87
- });
88
- if (filteredMasks.length > 0) {
89
- masks = filteredMasks;
90
- }
91
- else {
92
- break;
93
- }
94
- }
95
- // Candidate of mask
96
- mask = masks[0];
97
- // Calculation of the additional numbers
98
- let masksNormalized = masks.map(m => removeSpecSymbols(m));
99
- let maskNormalized = removeSpecSymbols(mask);
100
- const optionalSymbols = masksNormalized.filter(s => s.startsWith(maskNormalized) && s.length > maskNormalized.length).length;
101
- if (optionalSymbols) {
102
- mask += Array(optionalSymbols).fill('[d]').join('');
103
- }
104
- }
105
- mask = mask.replace(/[d\d]/g, 'D').replace(/\[D]/g, '9');
106
- return mask;
107
- }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MaskResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
109
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MaskResolver }); }
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MaskResolver, decorators: [{
112
- type: Injectable
113
- }], ctorParameters: () => [] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rlcm1pbmFsLXRlbXBsYXRlL3NyYy9saWIvYXBwL2hlbHBlcnMvbWFzay1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRS9ELE1BQU0sQ0FBTixJQUFZLEtBUVg7QUFSRCxXQUFZLEtBQUs7SUFDZixvQkFBVyxDQUFBO0lBQ1gsOEJBQXFCLENBQUE7SUFDckIsd0JBQWUsQ0FBQTtJQUNmLGtCQUFTLENBQUE7SUFDVCxzQkFBYSxDQUFBO0lBQ2IsOEJBQXFCLENBQUE7SUFDckIsa0JBQVMsQ0FBQTtBQUNYLENBQUMsRUFSVyxLQUFLLEtBQUwsS0FBSyxRQVFoQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxHQUFHLEVBQUU7UUFDSCxPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsT0FBTyxFQUFFLElBQUk7UUFDYixRQUFRLEVBQUUsSUFBSTtLQUNmO0NBQ0YsQ0FBQztBQUlGLE1BQU0sT0FBTyxZQUFZO0lBR3ZCO1FBRlEsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFHN0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsS0FBYztRQUN6QyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxLQUFLLENBQUMsS0FBSztnQkFDZCxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElB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QUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDO1lBQ0Qsb0JBQW9CO1lBQ3BCLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFaEIsd0NBQXdDO1lBQ3hDLElBQUksZUFBZSxHQUFhLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLElBQUksY0FBYyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM3SCxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixJQUFJLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBeEZVLFlBQVk7a0hBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4TWFza1NlcnZpY2UgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQgeyBQYXltZW50RmllbGQgfSBmcm9tICcuLi9wYWdlcy9jb21wb25lbnRzL2NvbnN0cnVjdG9yLWZvcm0vbW9kZWxzJztcbmltcG9ydCB7IFBIT05FX01BU0tTLCByZW1vdmVTcGVjU3ltYm9scyB9IGZyb20gJy4vcGhvbmUtY29kZXMnO1xuXG5leHBvcnQgZW51bSBNQVNLUyB7XG4gIENQRiA9ICdDUEYnLFxuICBDUEZfQ05QSiA9ICdDUEZfQ05QSicsXG4gIFBIT05FID0gJ1BIT05FJyxcbiAgQ0kgPSAnQ0knLFxuICBDVVJQID0gJ0NVUlAnLFxuICBDVUlUX0ROSSA9ICdDVUlUX0ROSScsXG4gIENDID0gJ0NDJ1xufVxuXG5leHBvcnQgY29uc3QgSU5JVElBTF9QSE9ORV9NQVNLID0gJytEJztcbmV4cG9ydCBjb25zdCBQSE9ORV9NQVNLX1BBVFRFUk5TID0ge1xuICAnRCc6IHtcbiAgICBwYXR0ZXJuOiAvXFxkL1xuICB9LFxuICAnOSc6IHtcbiAgICBwYXR0ZXJuOiAvXFxkLyxcbiAgICBvcHRpb25hbDogdHJ1ZVxuICB9XG59O1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXNrUmVzb2x2ZXIge1xuICBwcml2YXRlIG1hc2tTZXJ2aWNlID0gaW5qZWN0KE5neE1hc2tTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIGdldE1hc2tQYXR0ZXJuKG1hc2s6IHN0cmluZywgdmFsdWU/OiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKG1hc2spIHtcbiAgICAgIGNhc2UgTUFTS1MuUEhPTkU6XG4gICAgICAgIHJldHVybiAoLi4uYXJncykgPT4gdGhpcy5jYWxjTWFzayguLi5hcmdzKTtcbiAgICAgIGNhc2UgTUFTS1MuQ1BGX0NOUEo6XG4gICAgICAgIGlmICh2YWx1ZT8ubGVuZ3RoID4gMTEpIHtcbiAgICAgICAgICByZXR1cm4gJzAwLjAwMC4wMDAvMDAwMC0wMCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcwMDAuMDAwLjAwMC0wMDknO1xuICAgICAgY2FzZSBNQVNLUy5DSTpcbiAgICAgICAgcmV0dXJuICcwMDAwMDAwMDAwJztcbiAgICAgIGNhc2UgTUFTS1MuQ1VSUDpcbiAgICAgICAgcmV0dXJuICdTU1NTMDAwMDAwU1NTU1NTMDAnO1xuICAgICAgY2FzZSBNQVNLUy5DVUlUX0ROSTpcbiAgICAgICAgcmV0dXJuICcwMC0wMDAwMDAwMC0wfHwwMC0wMDAtMDAwJztcbiAgICAgIGNhc2UgTUFTS1MuQ0M6XG4gICAgICAgIHJldHVybiAnMDAwMDAwMDAwMDAwMDAwMCc7XG4gICAgICBjYXNlIE1BU0tTLkNQRjpcbiAgICAgICAgcmV0dXJuICcwMDAuMDAwLjAwMC0wMCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG4gIH1cblxuICBnZXRNYXNrQnlWYWx1ZShtYXNrOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgbWFza1ZhbHVlID0gdGhpcy5nZXRNYXNrUGF0dGVybihtYXNrLCB2YWx1ZSk7XG4gICAgaWYgKHR5cGVvZiBtYXNrVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBtYXNrVmFsdWUuY2FsbChudWxsLCB2YWx1ZSkgfHwgbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1hc2tWYWx1ZSB8fCBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGdldFBhdHRlcm5zKGNvbmZpZzogUGF5bWVudEZpZWxkKSB7XG4gICAgaWYgKGNvbmZpZz8ubWFzayA9PT0gTUFTS1MuUEhPTkUpIHtcbiAgICAgIHJldHVybiBQSE9ORV9NQVNLX1BBVFRFUk5TO1xuICAgIH1cbiAgICBpZiAoY29uZmlnPy5tYXNrUGF0dGVybnMpIHtcbiAgICAgIHJldHVybiBjb25maWc/Lm1hc2tQYXR0ZXJucztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFza1NlcnZpY2UucGF0dGVybnM7XG4gIH1cblxuICBnZXRTcGVjaWFsQ2hhcmFjdGVycyhjb25maWc6IFBheW1lbnRGaWVsZCkge1xuICAgIHJldHVybiBjb25maWc/LnNwZWNpYWxDaGFyYWN0ZXJzIHx8IHRoaXMubWFza1NlcnZpY2Uuc3BlY2lhbENoYXJhY3RlcnM7XG4gIH1cblxuXG4gIHByaXZhdGUgY2FsY01hc2sodmFsdWU/OiBzdHJpbmcpIHtcbiAgICBsZXQgbWFzayA9IElOSVRJQUxfUEhPTkVfTUFTS1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgdmFsdWVBcnJheSA9IEFycmF5LmZyb20ocmVtb3ZlU3BlY1N5bWJvbHModmFsdWUpKTtcbiAgICAgIGxldCBtYXNrczogc3RyaW5nW10gPSBQSE9ORV9NQVNLUztcbiAgICAgIGZvciAobGV0IHNJbmRleCA9IDA7IHNJbmRleCA8IHZhbHVlQXJyYXkubGVuZ3RoOyBzSW5kZXgrKykge1xuICAgICAgICBjb25zdCBzID0gdmFsdWVBcnJheVtzSW5kZXhdO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZE1hc2tzID0gbWFza3MuZmlsdGVyKChtKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWFza1ZhbHVlID0gcmVtb3ZlU3BlY1N5bWJvbHMobSk7XG4gICAgICAgICAgY29uc3QgbWFza1N5bWJvbCA9IG1hc2tWYWx1ZVtzSW5kZXhdO1xuICAgICAgICAgIGlmICgvXFxkLy50ZXN0KG1hc2tTeW1ib2wpKSB7XG4gICAgICAgICAgICByZXR1cm4gbWFza1N5bWJvbCA9PT0gcztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuICEhbWFza1N5bWJvbDtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChmaWx0ZXJlZE1hc2tzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBtYXNrcyA9IGZpbHRlcmVkTWFza3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIENhbmRpZGF0ZSBvZiBtYXNrXG4gICAgICBtYXNrID0gbWFza3NbMF07XG5cbiAgICAgIC8vIENhbGN1bGF0aW9uIG9mIHRoZSBhZGRpdGlvbmFsIG51bWJlcnNcbiAgICAgIGxldCBtYXNrc05vcm1hbGl6ZWQ6IHN0cmluZ1tdID0gbWFza3MubWFwKG0gPT4gcmVtb3ZlU3BlY1N5bWJvbHMobSkpO1xuICAgICAgbGV0IG1hc2tOb3JtYWxpemVkID0gcmVtb3ZlU3BlY1N5bWJvbHMobWFzayk7XG4gICAgICBjb25zdCBvcHRpb25hbFN5bWJvbHMgPSBtYXNrc05vcm1hbGl6ZWQuZmlsdGVyKHMgPT4gcy5zdGFydHNXaXRoKG1hc2tOb3JtYWxpemVkKSAmJiBzLmxlbmd0aCA+IG1hc2tOb3JtYWxpemVkLmxlbmd0aCkubGVuZ3RoO1xuICAgICAgaWYgKG9wdGlvbmFsU3ltYm9scykge1xuICAgICAgICBtYXNrICs9IEFycmF5KG9wdGlvbmFsU3ltYm9scykuZmlsbCgnW2RdJykuam9pbignJyk7XG4gICAgICB9XG4gICAgfVxuICAgIG1hc2sgPSBtYXNrLnJlcGxhY2UoL1tkXFxkXS9nLCAnRCcpLnJlcGxhY2UoL1xcW0RdL2csICc5Jyk7XG4gICAgcmV0dXJuIG1hc2s7XG4gIH1cbn1cbiJdfQ==