lakutata 0.0.1

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 (594) hide show
  1. package/.idea/codeStyles/Project.xml +18 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. package/.idea/lakutata.iml +13 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/vcs.xml +6 -0
  7. package/LICENSE +21 -0
  8. package/README.md +1 -0
  9. package/build/Application-78a416de.d.ts +387 -0
  10. package/build/Application-b5e19e08.d.ts +387 -0
  11. package/build/Components.cjs +55 -0
  12. package/build/Components.d.cts +9 -0
  13. package/build/Components.d.ts +9 -0
  14. package/build/Components.js +44 -0
  15. package/build/Core.cjs +148 -0
  16. package/build/Core.d.cts +33 -0
  17. package/build/Core.d.ts +33 -0
  18. package/build/Core.js +71 -0
  19. package/build/Crypto.cjs +96 -0
  20. package/build/Crypto.d.cts +19 -0
  21. package/build/Crypto.d.ts +19 -0
  22. package/build/Crypto.js +41 -0
  23. package/build/Decorators.cjs +100 -0
  24. package/build/Decorators.d.cts +23 -0
  25. package/build/Decorators.d.ts +23 -0
  26. package/build/Decorators.js +45 -0
  27. package/build/DependencyInjectionContainer-871a6c03.d.ts +340 -0
  28. package/build/DependencyInjectionContainer-f037ac36.d.ts +340 -0
  29. package/build/Exceptions.cjs +144 -0
  30. package/build/Exceptions.d.cts +28 -0
  31. package/build/Exceptions.d.ts +28 -0
  32. package/build/Exceptions.js +37 -0
  33. package/build/Hash.cjs +223 -0
  34. package/build/Hash.d.cts +535 -0
  35. package/build/Hash.d.ts +535 -0
  36. package/build/Hash.js +10 -0
  37. package/build/Time.cjs +14 -0
  38. package/build/Time.d.cts +5 -0
  39. package/build/Time.d.ts +5 -0
  40. package/build/Time.js +5 -0
  41. package/build/TimeInput-24fced42.d.ts +243 -0
  42. package/build/TimeInput-4401fc58.d.ts +243 -0
  43. package/build/Utilities.cjs +100 -0
  44. package/build/Utilities.d.cts +212 -0
  45. package/build/Utilities.d.ts +212 -0
  46. package/build/Utilities.js +7 -0
  47. package/build/Validator.cjs +24 -0
  48. package/build/Validator.d.cts +1851 -0
  49. package/build/Validator.d.ts +1851 -0
  50. package/build/Validator.js +11 -0
  51. package/build/chunk-26TQI22I.js +196 -0
  52. package/build/chunk-27OFA7C3.js +16 -0
  53. package/build/chunk-2C2UILFN.js +23 -0
  54. package/build/chunk-2CHYQHWR.cjs +16 -0
  55. package/build/chunk-2DN35UQB.cjs +10947 -0
  56. package/build/chunk-2E4TF6LU.cjs +16 -0
  57. package/build/chunk-2PLJEW2R.js +14 -0
  58. package/build/chunk-2RW3VMNS.js +45 -0
  59. package/build/chunk-2T6JU2UH.js +14 -0
  60. package/build/chunk-3CX3GCQF.js +32 -0
  61. package/build/chunk-3JIQCDQG.cjs +25 -0
  62. package/build/chunk-3KLEN3PR.js +14 -0
  63. package/build/chunk-3LZRQPJ5.js +14 -0
  64. package/build/chunk-3NHHHZFR.cjs +870 -0
  65. package/build/chunk-4332C5BW.js +30 -0
  66. package/build/chunk-46V7GHKE.cjs +25 -0
  67. package/build/chunk-4EPPSZ7L.js +14 -0
  68. package/build/chunk-4FEEQIQ4.js +23 -0
  69. package/build/chunk-4G2ZCUBN.js +5570 -0
  70. package/build/chunk-4KTVY73U.js +15 -0
  71. package/build/chunk-4MQXSUTL.cjs +14 -0
  72. package/build/chunk-4OHSPWRQ.js +34 -0
  73. package/build/chunk-4PK4TGU4.cjs +16 -0
  74. package/build/chunk-4YXUEJSO.js +23 -0
  75. package/build/chunk-5475IFR4.cjs +16 -0
  76. package/build/chunk-5B5Z4GCR.cjs +17 -0
  77. package/build/chunk-5FPTDIKI.cjs +16 -0
  78. package/build/chunk-5NK7E2HA.js +69 -0
  79. package/build/chunk-67F5WP5Z.cjs +8 -0
  80. package/build/chunk-6BJTKEXZ.cjs +25 -0
  81. package/build/chunk-6WNLPTDY.cjs +8 -0
  82. package/build/chunk-7G7FCNEG.cjs +8 -0
  83. package/build/chunk-7IVNTVYK.cjs +16 -0
  84. package/build/chunk-7MJAWOWL.js +22896 -0
  85. package/build/chunk-7MTOK62N.js +767 -0
  86. package/build/chunk-7PADGZPI.cjs +129 -0
  87. package/build/chunk-7ZUM53G6.js +14 -0
  88. package/build/chunk-A4BYNKYF.js +42 -0
  89. package/build/chunk-A7F6LCRA.cjs +16 -0
  90. package/build/chunk-AFV3VN3X.cjs +8 -0
  91. package/build/chunk-AGHMOCC3.cjs +16 -0
  92. package/build/chunk-AHUH4FWQ.cjs +29 -0
  93. package/build/chunk-AM4YMG2S.js +6 -0
  94. package/build/chunk-ANDEVIKJ.cjs +16 -0
  95. package/build/chunk-APETX7ZT.cjs +16 -0
  96. package/build/chunk-ASMC7EUP.js +6 -0
  97. package/build/chunk-BDCRHGKN.js +6 -0
  98. package/build/chunk-BDJXMO44.js +2920 -0
  99. package/build/chunk-BE7ICF5R.js +32 -0
  100. package/build/chunk-BEDKPRVX.cjs +17 -0
  101. package/build/chunk-BFE66ADZ.cjs +34 -0
  102. package/build/chunk-BKCT2HSQ.js +178 -0
  103. package/build/chunk-BMNC4W46.js +20 -0
  104. package/build/chunk-BO7Y6HNS.cjs +176 -0
  105. package/build/chunk-D4H35ART.cjs +53 -0
  106. package/build/chunk-D5DE7Z4J.js +29 -0
  107. package/build/chunk-DHSSJJMD.cjs +25 -0
  108. package/build/chunk-DIMOR6NE.cjs +8 -0
  109. package/build/chunk-DN5TSX6S.cjs +244 -0
  110. package/build/chunk-EEH5LCBP.cjs +16 -0
  111. package/build/chunk-EFYDUUXT.cjs +92 -0
  112. package/build/chunk-ENJSEFE4.js +14 -0
  113. package/build/chunk-EPYJVQHQ.js +6 -0
  114. package/build/chunk-EUVLTNDV.js +32 -0
  115. package/build/chunk-EXQVCESB.cjs +20 -0
  116. package/build/chunk-EYPPC6HP.js +18 -0
  117. package/build/chunk-F5NKGQDL.cjs +16 -0
  118. package/build/chunk-F7RNH2H2.js +266 -0
  119. package/build/chunk-FCTV4OB7.cjs +50 -0
  120. package/build/chunk-FHEXUE67.js +29 -0
  121. package/build/chunk-FJP3KNXK.js +23 -0
  122. package/build/chunk-FJQSLRIP.js +14 -0
  123. package/build/chunk-FSFWPTIC.js +6 -0
  124. package/build/chunk-FTKFMQHJ.cjs +16 -0
  125. package/build/chunk-FW26MPE4.js +69 -0
  126. package/build/chunk-FZNRGZGE.js +6372 -0
  127. package/build/chunk-G7EDOLQ7.cjs +100 -0
  128. package/build/chunk-GGY7LCMQ.cjs +73 -0
  129. package/build/chunk-GLWUJIMW.cjs +8 -0
  130. package/build/chunk-GZ5KN2PE.js +6 -0
  131. package/build/chunk-HBPRX3WA.cjs +202 -0
  132. package/build/chunk-HJAQ6WJM.cjs +288 -0
  133. package/build/chunk-HJSJA5CF.js +14 -0
  134. package/build/chunk-HKAY7FWM.js +28 -0
  135. package/build/chunk-HMKTNRQF.js +14 -0
  136. package/build/chunk-HODDA5D5.js +199 -0
  137. package/build/chunk-HPKJUFTM.js +14 -0
  138. package/build/chunk-HWCTWIVZ.cjs +30 -0
  139. package/build/chunk-HXWC4YN6.cjs +22908 -0
  140. package/build/chunk-HZJ7XFHQ.cjs +8 -0
  141. package/build/chunk-I5TGKTX6.js +18 -0
  142. package/build/chunk-I7J6V3EU.cjs +34 -0
  143. package/build/chunk-IKWXYUGY.js +14 -0
  144. package/build/chunk-IYGGR65W.cjs +16 -0
  145. package/build/chunk-J6RXNX2K.js +174 -0
  146. package/build/chunk-JAEEMFEZ.cjs +24 -0
  147. package/build/chunk-JFOMNL5I.cjs +22 -0
  148. package/build/chunk-JPV2PUHF.cjs +8 -0
  149. package/build/chunk-JR726PDZ.cjs +70 -0
  150. package/build/chunk-JTKOYDJB.js +5914 -0
  151. package/build/chunk-JU53NOVA.cjs +31 -0
  152. package/build/chunk-JVSBYHUY.js +10944 -0
  153. package/build/chunk-JYBISTRN.cjs +25 -0
  154. package/build/chunk-K2ALA7QI.js +12 -0
  155. package/build/chunk-KG6DPM4B.js +14 -0
  156. package/build/chunk-KNSBLLL2.cjs +32 -0
  157. package/build/chunk-KNTGBUSY.js +6 -0
  158. package/build/chunk-KWOHVRRL.js +6 -0
  159. package/build/chunk-L3IVYIVA.js +23 -0
  160. package/build/chunk-LBL5XNWX.js +221 -0
  161. package/build/chunk-LBOBUFWZ.js +6 -0
  162. package/build/chunk-LEJXJUBE.js +6 -0
  163. package/build/chunk-LJTCXKC4.js +242 -0
  164. package/build/chunk-MBKTJ3KM.cjs +118 -0
  165. package/build/chunk-MDE5SRLT.cjs +16 -0
  166. package/build/chunk-MEKICSEL.js +22 -0
  167. package/build/chunk-MNDBRDT2.cjs +608 -0
  168. package/build/chunk-MSWZLYS7.cjs +5916 -0
  169. package/build/chunk-MT2OB376.js +14 -0
  170. package/build/chunk-MVWB4XDJ.js +14 -0
  171. package/build/chunk-MXAAAL2S.js +53 -0
  172. package/build/chunk-N37KV2VV.cjs +199 -0
  173. package/build/chunk-NZ5IZMM5.cjs +2922 -0
  174. package/build/chunk-O2NOYN65.js +54 -0
  175. package/build/chunk-OAD22QZQ.js +6 -0
  176. package/build/chunk-OIFILR4I.js +125 -0
  177. package/build/chunk-OJGBPS2B.cjs +16 -0
  178. package/build/chunk-OMPATIMZ.cjs +71 -0
  179. package/build/chunk-P3Z7ZEGJ.cjs +18 -0
  180. package/build/chunk-P6BBXCBD.cjs +6425 -0
  181. package/build/chunk-PE4C2TIO.cjs +16 -0
  182. package/build/chunk-PF2WAZLH.cjs +52 -0
  183. package/build/chunk-PFFTGOAR.cjs +25 -0
  184. package/build/chunk-PFUZLHWJ.cjs +25 -0
  185. package/build/chunk-POE7A7NF.cjs +180 -0
  186. package/build/chunk-PQSDA5BN.js +50 -0
  187. package/build/chunk-PR5TPAGH.js +14 -0
  188. package/build/chunk-PXMWVOKK.cjs +16 -0
  189. package/build/chunk-PZ5OJC4I.cjs +16 -0
  190. package/build/chunk-Q4LNTPEI.cjs +34 -0
  191. package/build/chunk-QCA5YGYV.js +14 -0
  192. package/build/chunk-QGGML4PP.js +17 -0
  193. package/build/chunk-QHW273SN.js +32 -0
  194. package/build/chunk-QJJRQMA6.cjs +8 -0
  195. package/build/chunk-QKB76MIV.cjs +769 -0
  196. package/build/chunk-QKVPGRI5.cjs +8 -0
  197. package/build/chunk-QME47CJL.cjs +8 -0
  198. package/build/chunk-QNJ6XBYQ.js +14 -0
  199. package/build/chunk-QWYKUNU5.js +14 -0
  200. package/build/chunk-QXTBP6TW.js +116 -0
  201. package/build/chunk-RH3LAIQS.js +32 -0
  202. package/build/chunk-RMAXG5F7.js +118 -0
  203. package/build/chunk-RUHAPGDE.js +14 -0
  204. package/build/chunk-S4KA3ZGO.js +6 -0
  205. package/build/chunk-SAGMV3YX.cjs +16 -0
  206. package/build/chunk-SCWEQ5JA.cjs +34 -0
  207. package/build/chunk-SEKBDIJH.cjs +16 -0
  208. package/build/chunk-SGWWTKLW.cjs +16 -0
  209. package/build/chunk-SWCU6OID.cjs +61 -0
  210. package/build/chunk-T4C7UJEZ.js +29 -0
  211. package/build/chunk-TBWIKIS3.cjs +8 -0
  212. package/build/chunk-TS74DN3N.cjs +229 -0
  213. package/build/chunk-TXTNUC7S.cjs +16 -0
  214. package/build/chunk-UEGDBJEG.cjs +127 -0
  215. package/build/chunk-UR2ZK7MI.cjs +16 -0
  216. package/build/chunk-VAOR6JOP.js +14 -0
  217. package/build/chunk-VELZ3KJY.cjs +45 -0
  218. package/build/chunk-VHTAHAD6.cjs +34 -0
  219. package/build/chunk-VISA22LF.js +14 -0
  220. package/build/chunk-VOFRWVGM.js +23 -0
  221. package/build/chunk-VPRNM6FU.cjs +118 -0
  222. package/build/chunk-VTFNEUOF.js +14 -0
  223. package/build/chunk-VVNU27G2.js +868 -0
  224. package/build/chunk-W3TQER3B.cjs +31 -0
  225. package/build/chunk-WINISBV4.js +70 -0
  226. package/build/chunk-WSEZ7DZV.js +14 -0
  227. package/build/chunk-WW57G6RG.js +124 -0
  228. package/build/chunk-WYJCE3KY.cjs +5593 -0
  229. package/build/chunk-WZI5UPER.cjs +61 -0
  230. package/build/chunk-WZZF2IEV.js +14 -0
  231. package/build/chunk-X4AIZSIY.cjs +47 -0
  232. package/build/chunk-XO6M5AYN.js +585 -0
  233. package/build/chunk-XWP76C6E.js +25 -0
  234. package/build/chunk-Y7O5SCF6.cjs +16 -0
  235. package/build/chunk-YEBPQG7X.js +96 -0
  236. package/build/chunk-YT4CYDJ3.js +14 -0
  237. package/build/chunk-ZG3PHRVQ.cjs +20 -0
  238. package/build/chunk-ZG7QF5S2.cjs +16 -0
  239. package/build/chunk-ZJYLWSBE.js +90 -0
  240. package/build/chunk-ZYBMNLGI.js +48 -0
  241. package/build/constants/DefaultValue.cjs +14 -0
  242. package/build/constants/DefaultValue.d.cts +9 -0
  243. package/build/constants/DefaultValue.d.ts +9 -0
  244. package/build/constants/DefaultValue.js +5 -0
  245. package/build/constants/MetadataKey.cjs +114 -0
  246. package/build/constants/MetadataKey.d.cts +30 -0
  247. package/build/constants/MetadataKey.d.ts +30 -0
  248. package/build/constants/MetadataKey.js +5 -0
  249. package/build/decorators/ControllerDecorators.cjs +21 -0
  250. package/build/decorators/ControllerDecorators.d.cts +32 -0
  251. package/build/decorators/ControllerDecorators.d.ts +32 -0
  252. package/build/decorators/ControllerDecorators.js +12 -0
  253. package/build/decorators/DependencyInjectionDecorators.cjs +78 -0
  254. package/build/decorators/DependencyInjectionDecorators.d.cts +75 -0
  255. package/build/decorators/DependencyInjectionDecorators.d.ts +75 -0
  256. package/build/decorators/DependencyInjectionDecorators.js +41 -0
  257. package/build/decorators/ValidationDecorators.cjs +35 -0
  258. package/build/decorators/ValidationDecorators.d.cts +36 -0
  259. package/build/decorators/ValidationDecorators.d.ts +36 -0
  260. package/build/decorators/ValidationDecorators.js +14 -0
  261. package/build/exceptions/DependencyInjectionException.cjs +18 -0
  262. package/build/exceptions/DependencyInjectionException.d.cts +8 -0
  263. package/build/exceptions/DependencyInjectionException.d.ts +8 -0
  264. package/build/exceptions/DependencyInjectionException.js +9 -0
  265. package/build/exceptions/InvalidConfigurableValueException.cjs +18 -0
  266. package/build/exceptions/InvalidConfigurableValueException.d.cts +8 -0
  267. package/build/exceptions/InvalidConfigurableValueException.d.ts +8 -0
  268. package/build/exceptions/InvalidConfigurableValueException.js +9 -0
  269. package/build/exceptions/InvalidDTOValueException.cjs +18 -0
  270. package/build/exceptions/InvalidDTOValueException.d.cts +8 -0
  271. package/build/exceptions/InvalidDTOValueException.d.ts +8 -0
  272. package/build/exceptions/InvalidDTOValueException.js +9 -0
  273. package/build/exceptions/InvalidGlobStringException.cjs +18 -0
  274. package/build/exceptions/InvalidGlobStringException.d.cts +8 -0
  275. package/build/exceptions/InvalidGlobStringException.d.ts +8 -0
  276. package/build/exceptions/InvalidGlobStringException.js +9 -0
  277. package/build/exceptions/MethodNotFoundException.cjs +18 -0
  278. package/build/exceptions/MethodNotFoundException.d.cts +8 -0
  279. package/build/exceptions/MethodNotFoundException.d.ts +8 -0
  280. package/build/exceptions/MethodNotFoundException.js +9 -0
  281. package/build/exceptions/NotSupportHashException.cjs +18 -0
  282. package/build/exceptions/NotSupportHashException.d.cts +8 -0
  283. package/build/exceptions/NotSupportHashException.d.ts +8 -0
  284. package/build/exceptions/NotSupportHashException.js +9 -0
  285. package/build/exceptions/controller/DuplicateControllerActionPatternException.cjs +18 -0
  286. package/build/exceptions/controller/DuplicateControllerActionPatternException.d.cts +8 -0
  287. package/build/exceptions/controller/DuplicateControllerActionPatternException.d.ts +8 -0
  288. package/build/exceptions/controller/DuplicateControllerActionPatternException.js +9 -0
  289. package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.cjs +18 -0
  290. package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.cts +8 -0
  291. package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.ts +8 -0
  292. package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.js +9 -0
  293. package/build/exceptions/controller/NoMatchedControllerActionPatternException.cjs +18 -0
  294. package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.cts +8 -0
  295. package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.ts +8 -0
  296. package/build/exceptions/controller/NoMatchedControllerActionPatternException.js +9 -0
  297. package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.cjs +18 -0
  298. package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.cts +8 -0
  299. package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.ts +8 -0
  300. package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.js +9 -0
  301. package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.cjs +18 -0
  302. package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.cts +8 -0
  303. package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.ts +8 -0
  304. package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.js +9 -0
  305. package/build/exceptions/crypto/asymmetric/AsymmetricSignException.cjs +18 -0
  306. package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.cts +8 -0
  307. package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.ts +8 -0
  308. package/build/exceptions/crypto/asymmetric/AsymmetricSignException.js +9 -0
  309. package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.cjs +18 -0
  310. package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.cts +8 -0
  311. package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.ts +8 -0
  312. package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.js +9 -0
  313. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.cjs +18 -0
  314. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.cts +8 -0
  315. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.ts +8 -0
  316. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.js +9 -0
  317. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.cjs +18 -0
  318. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.cts +8 -0
  319. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.ts +8 -0
  320. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.js +9 -0
  321. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.cjs +18 -0
  322. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.cts +8 -0
  323. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.ts +8 -0
  324. package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.js +9 -0
  325. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.cjs +18 -0
  326. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.cts +8 -0
  327. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.ts +8 -0
  328. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.js +9 -0
  329. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.cjs +18 -0
  330. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.cts +8 -0
  331. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.ts +8 -0
  332. package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.js +9 -0
  333. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.cjs +18 -0
  334. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.cts +8 -0
  335. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.ts +8 -0
  336. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.js +9 -0
  337. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.cjs +18 -0
  338. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.cts +8 -0
  339. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.ts +8 -0
  340. package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.js +9 -0
  341. package/build/exceptions/crypto/symmetric/NotSupportCipherException.cjs +18 -0
  342. package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.cts +8 -0
  343. package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.ts +8 -0
  344. package/build/exceptions/crypto/symmetric/NotSupportCipherException.js +9 -0
  345. package/build/exceptions/crypto/symmetric/SymmetricDecryptException.cjs +18 -0
  346. package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.cts +8 -0
  347. package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.ts +8 -0
  348. package/build/exceptions/crypto/symmetric/SymmetricDecryptException.js +9 -0
  349. package/build/exceptions/crypto/symmetric/SymmetricEncryptException.cjs +18 -0
  350. package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.cts +8 -0
  351. package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.ts +8 -0
  352. package/build/exceptions/crypto/symmetric/SymmetricEncryptException.js +9 -0
  353. package/build/exceptions/validation/InvalidMethodAcceptException.cjs +18 -0
  354. package/build/exceptions/validation/InvalidMethodAcceptException.d.cts +8 -0
  355. package/build/exceptions/validation/InvalidMethodAcceptException.d.ts +8 -0
  356. package/build/exceptions/validation/InvalidMethodAcceptException.js +9 -0
  357. package/build/exceptions/validation/InvalidMethodReturnException.cjs +18 -0
  358. package/build/exceptions/validation/InvalidMethodReturnException.d.cts +8 -0
  359. package/build/exceptions/validation/InvalidMethodReturnException.d.ts +8 -0
  360. package/build/exceptions/validation/InvalidMethodReturnException.js +9 -0
  361. package/build/exceptions/validation/InvalidValueException.cjs +18 -0
  362. package/build/exceptions/validation/InvalidValueException.d.cts +8 -0
  363. package/build/exceptions/validation/InvalidValueException.d.ts +8 -0
  364. package/build/exceptions/validation/InvalidValueException.js +9 -0
  365. package/build/index.d-e5279fea.d.ts +872 -0
  366. package/build/interfaces/IConstructor.cjs +7 -0
  367. package/build/interfaces/IConstructor.d.cts +6 -0
  368. package/build/interfaces/IConstructor.d.ts +6 -0
  369. package/build/interfaces/IConstructor.js +4 -0
  370. package/build/interfaces/ILogger.cjs +7 -0
  371. package/build/interfaces/ILogger.d.cts +22 -0
  372. package/build/interfaces/ILogger.d.ts +22 -0
  373. package/build/interfaces/ILogger.js +4 -0
  374. package/build/interfaces/IPatRun.cjs +7 -0
  375. package/build/interfaces/IPatRun.d.cts +12 -0
  376. package/build/interfaces/IPatRun.d.ts +12 -0
  377. package/build/interfaces/IPatRun.js +4 -0
  378. package/build/interfaces/ISortArrayOptions.cjs +7 -0
  379. package/build/interfaces/ISortArrayOptions.d.cts +12 -0
  380. package/build/interfaces/ISortArrayOptions.d.ts +12 -0
  381. package/build/interfaces/ISortArrayOptions.js +4 -0
  382. package/build/interfaces/ISortObjectOptions.cjs +7 -0
  383. package/build/interfaces/ISortObjectOptions.d.cts +6 -0
  384. package/build/interfaces/ISortObjectOptions.d.ts +6 -0
  385. package/build/interfaces/ISortObjectOptions.js +4 -0
  386. package/build/lib/Application.cjs +50 -0
  387. package/build/lib/Application.d.cts +20 -0
  388. package/build/lib/Application.d.ts +20 -0
  389. package/build/lib/Application.js +41 -0
  390. package/build/lib/base/BaseObject.cjs +50 -0
  391. package/build/lib/base/BaseObject.d.cts +112 -0
  392. package/build/lib/base/BaseObject.d.ts +112 -0
  393. package/build/lib/base/BaseObject.js +41 -0
  394. package/build/lib/base/Component.cjs +50 -0
  395. package/build/lib/base/Component.d.cts +116 -0
  396. package/build/lib/base/Component.d.ts +116 -0
  397. package/build/lib/base/Component.js +41 -0
  398. package/build/lib/base/Container.cjs +50 -0
  399. package/build/lib/base/Container.d.cts +20 -0
  400. package/build/lib/base/Container.d.ts +20 -0
  401. package/build/lib/base/Container.js +41 -0
  402. package/build/lib/base/Controller.cjs +50 -0
  403. package/build/lib/base/Controller.d.cts +20 -0
  404. package/build/lib/base/Controller.d.ts +20 -0
  405. package/build/lib/base/Controller.js +41 -0
  406. package/build/lib/base/DTO.cjs +23 -0
  407. package/build/lib/base/DTO.d.cts +59 -0
  408. package/build/lib/base/DTO.d.ts +59 -0
  409. package/build/lib/base/DTO.js +14 -0
  410. package/build/lib/base/Model.cjs +51 -0
  411. package/build/lib/base/Model.d.cts +30 -0
  412. package/build/lib/base/Model.d.ts +30 -0
  413. package/build/lib/base/Model.js +42 -0
  414. package/build/lib/base/Module.cjs +50 -0
  415. package/build/lib/base/Module.d.cts +20 -0
  416. package/build/lib/base/Module.d.ts +20 -0
  417. package/build/lib/base/Module.js +41 -0
  418. package/build/lib/base/abstracts/AsymmetricEncryption.cjs +27 -0
  419. package/build/lib/base/abstracts/AsymmetricEncryption.d.cts +172 -0
  420. package/build/lib/base/abstracts/AsymmetricEncryption.d.ts +172 -0
  421. package/build/lib/base/abstracts/AsymmetricEncryption.js +18 -0
  422. package/build/lib/base/abstracts/Exception.cjs +17 -0
  423. package/build/lib/base/abstracts/Exception.d.cts +23 -0
  424. package/build/lib/base/abstracts/Exception.d.ts +23 -0
  425. package/build/lib/base/abstracts/Exception.js +8 -0
  426. package/build/lib/base/abstracts/Interval.cjs +51 -0
  427. package/build/lib/base/abstracts/Interval.d.cts +76 -0
  428. package/build/lib/base/abstracts/Interval.d.ts +76 -0
  429. package/build/lib/base/abstracts/Interval.js +42 -0
  430. package/build/lib/base/abstracts/SymmetricEncryption.cjs +23 -0
  431. package/build/lib/base/abstracts/SymmetricEncryption.d.cts +149 -0
  432. package/build/lib/base/abstracts/SymmetricEncryption.d.ts +149 -0
  433. package/build/lib/base/abstracts/SymmetricEncryption.js +14 -0
  434. package/build/lib/base/async-constructor/Append.cjs +14 -0
  435. package/build/lib/base/async-constructor/Append.d.cts +5 -0
  436. package/build/lib/base/async-constructor/Append.d.ts +5 -0
  437. package/build/lib/base/async-constructor/Append.js +5 -0
  438. package/build/lib/base/async-constructor/AsyncConstructor.cjs +15 -0
  439. package/build/lib/base/async-constructor/AsyncConstructor.d.cts +7 -0
  440. package/build/lib/base/async-constructor/AsyncConstructor.d.ts +7 -0
  441. package/build/lib/base/async-constructor/AsyncConstructor.js +6 -0
  442. package/build/lib/components/Formatter.cjs +50 -0
  443. package/build/lib/components/Formatter.d.cts +203 -0
  444. package/build/lib/components/Formatter.d.ts +203 -0
  445. package/build/lib/components/Formatter.js +41 -0
  446. package/build/lib/components/Logger.cjs +50 -0
  447. package/build/lib/components/Logger.d.cts +61 -0
  448. package/build/lib/components/Logger.d.ts +61 -0
  449. package/build/lib/components/Logger.js +41 -0
  450. package/build/lib/crypto/RSA.cjs +28 -0
  451. package/build/lib/crypto/RSA.d.cts +61 -0
  452. package/build/lib/crypto/RSA.d.ts +61 -0
  453. package/build/lib/crypto/RSA.js +19 -0
  454. package/build/lib/crypto/SM2.cjs +28 -0
  455. package/build/lib/crypto/SM2.d.cts +47 -0
  456. package/build/lib/crypto/SM2.d.ts +47 -0
  457. package/build/lib/crypto/SM2.js +19 -0
  458. package/build/lib/crypto/aes/AES128.cjs +25 -0
  459. package/build/lib/crypto/aes/AES128.d.cts +14 -0
  460. package/build/lib/crypto/aes/AES128.d.ts +14 -0
  461. package/build/lib/crypto/aes/AES128.js +16 -0
  462. package/build/lib/crypto/aes/AES192.cjs +25 -0
  463. package/build/lib/crypto/aes/AES192.d.cts +14 -0
  464. package/build/lib/crypto/aes/AES192.d.ts +14 -0
  465. package/build/lib/crypto/aes/AES192.js +16 -0
  466. package/build/lib/crypto/aes/AES256.cjs +25 -0
  467. package/build/lib/crypto/aes/AES256.d.cts +14 -0
  468. package/build/lib/crypto/aes/AES256.d.ts +14 -0
  469. package/build/lib/crypto/aes/AES256.js +16 -0
  470. package/build/lib/crypto/aria/ARIA128.cjs +24 -0
  471. package/build/lib/crypto/aria/ARIA128.d.cts +13 -0
  472. package/build/lib/crypto/aria/ARIA128.d.ts +13 -0
  473. package/build/lib/crypto/aria/ARIA128.js +15 -0
  474. package/build/lib/crypto/aria/ARIA192.cjs +24 -0
  475. package/build/lib/crypto/aria/ARIA192.d.cts +13 -0
  476. package/build/lib/crypto/aria/ARIA192.d.ts +13 -0
  477. package/build/lib/crypto/aria/ARIA192.js +15 -0
  478. package/build/lib/crypto/aria/ARIA256.cjs +24 -0
  479. package/build/lib/crypto/aria/ARIA256.d.cts +13 -0
  480. package/build/lib/crypto/aria/ARIA256.d.ts +13 -0
  481. package/build/lib/crypto/aria/ARIA256.js +15 -0
  482. package/build/lib/crypto/camellia/CAMELLIA128.cjs +24 -0
  483. package/build/lib/crypto/camellia/CAMELLIA128.d.cts +13 -0
  484. package/build/lib/crypto/camellia/CAMELLIA128.d.ts +13 -0
  485. package/build/lib/crypto/camellia/CAMELLIA128.js +15 -0
  486. package/build/lib/crypto/camellia/CAMELLIA192.cjs +24 -0
  487. package/build/lib/crypto/camellia/CAMELLIA192.d.cts +13 -0
  488. package/build/lib/crypto/camellia/CAMELLIA192.d.ts +13 -0
  489. package/build/lib/crypto/camellia/CAMELLIA192.js +15 -0
  490. package/build/lib/crypto/camellia/CAMELLIA256.cjs +24 -0
  491. package/build/lib/crypto/camellia/CAMELLIA256.d.cts +13 -0
  492. package/build/lib/crypto/camellia/CAMELLIA256.d.ts +13 -0
  493. package/build/lib/crypto/camellia/CAMELLIA256.js +15 -0
  494. package/build/lib/crypto/des/DES.cjs +25 -0
  495. package/build/lib/crypto/des/DES.d.cts +14 -0
  496. package/build/lib/crypto/des/DES.d.ts +14 -0
  497. package/build/lib/crypto/des/DES.js +16 -0
  498. package/build/lib/crypto/des/TripleDES.cjs +25 -0
  499. package/build/lib/crypto/des/TripleDES.d.cts +14 -0
  500. package/build/lib/crypto/des/TripleDES.d.ts +14 -0
  501. package/build/lib/crypto/des/TripleDES.js +16 -0
  502. package/build/lib/ioc/DependencyInjectionContainer.cjs +29 -0
  503. package/build/lib/ioc/DependencyInjectionContainer.d.cts +4 -0
  504. package/build/lib/ioc/DependencyInjectionContainer.d.ts +4 -0
  505. package/build/lib/ioc/DependencyInjectionContainer.js +20 -0
  506. package/build/lib/ioc/Errors.cjs +27 -0
  507. package/build/lib/ioc/Errors.d.cts +53 -0
  508. package/build/lib/ioc/Errors.d.ts +53 -0
  509. package/build/lib/ioc/Errors.js +10 -0
  510. package/build/lib/ioc/FunctionTokenizer.cjs +18 -0
  511. package/build/lib/ioc/FunctionTokenizer.d.cts +33 -0
  512. package/build/lib/ioc/FunctionTokenizer.d.ts +33 -0
  513. package/build/lib/ioc/FunctionTokenizer.js +5 -0
  514. package/build/lib/ioc/InjectionMode.cjs +14 -0
  515. package/build/lib/ioc/InjectionMode.d.cts +12 -0
  516. package/build/lib/ioc/InjectionMode.d.ts +12 -0
  517. package/build/lib/ioc/InjectionMode.js +5 -0
  518. package/build/lib/ioc/Lifetime.cjs +14 -0
  519. package/build/lib/ioc/Lifetime.d.cts +12 -0
  520. package/build/lib/ioc/Lifetime.d.ts +12 -0
  521. package/build/lib/ioc/Lifetime.js +5 -0
  522. package/build/lib/ioc/ListModules.cjs +17 -0
  523. package/build/lib/ioc/ListModules.d.cts +4 -0
  524. package/build/lib/ioc/ListModules.d.ts +4 -0
  525. package/build/lib/ioc/ListModules.js +8 -0
  526. package/build/lib/ioc/LoadModuleNative.cjs +14 -0
  527. package/build/lib/ioc/LoadModuleNative.d.cts +9 -0
  528. package/build/lib/ioc/LoadModuleNative.d.ts +9 -0
  529. package/build/lib/ioc/LoadModuleNative.js +5 -0
  530. package/build/lib/ioc/LoadModules.cjs +26 -0
  531. package/build/lib/ioc/LoadModules.d.cts +4 -0
  532. package/build/lib/ioc/LoadModules.d.ts +4 -0
  533. package/build/lib/ioc/LoadModules.js +17 -0
  534. package/build/lib/ioc/ParamParser.cjs +15 -0
  535. package/build/lib/ioc/ParamParser.d.cts +25 -0
  536. package/build/lib/ioc/ParamParser.d.ts +25 -0
  537. package/build/lib/ioc/ParamParser.js +6 -0
  538. package/build/lib/ioc/Resolvers.cjs +49 -0
  539. package/build/lib/ioc/Resolvers.d.cts +4 -0
  540. package/build/lib/ioc/Resolvers.d.ts +4 -0
  541. package/build/lib/ioc/Resolvers.js +16 -0
  542. package/build/lib/ioc/Utils.cjs +35 -0
  543. package/build/lib/ioc/Utils.d.cts +38 -0
  544. package/build/lib/ioc/Utils.d.ts +38 -0
  545. package/build/lib/ioc/Utils.js +6 -0
  546. package/build/options/ApplicationOptions.cjs +50 -0
  547. package/build/options/ApplicationOptions.d.cts +20 -0
  548. package/build/options/ApplicationOptions.d.ts +20 -0
  549. package/build/options/ApplicationOptions.js +41 -0
  550. package/build/options/LoadComponentOptions.cjs +50 -0
  551. package/build/options/LoadComponentOptions.d.cts +22 -0
  552. package/build/options/LoadComponentOptions.d.ts +22 -0
  553. package/build/options/LoadComponentOptions.js +41 -0
  554. package/build/options/LoadEntryClassOptions.cjs +50 -0
  555. package/build/options/LoadEntryClassOptions.d.cts +16 -0
  556. package/build/options/LoadEntryClassOptions.d.ts +16 -0
  557. package/build/options/LoadEntryClassOptions.js +41 -0
  558. package/build/options/LoadEntryCommonOptions.cjs +27 -0
  559. package/build/options/LoadEntryCommonOptions.d.cts +13 -0
  560. package/build/options/LoadEntryCommonOptions.d.ts +13 -0
  561. package/build/options/LoadEntryCommonOptions.js +18 -0
  562. package/build/options/LoadModuleOptions.cjs +50 -0
  563. package/build/options/LoadModuleOptions.d.cts +20 -0
  564. package/build/options/LoadModuleOptions.d.ts +20 -0
  565. package/build/options/LoadModuleOptions.js +41 -0
  566. package/build/options/ModuleOptions.cjs +50 -0
  567. package/build/options/ModuleOptions.d.cts +20 -0
  568. package/build/options/ModuleOptions.d.ts +20 -0
  569. package/build/options/ModuleOptions.js +41 -0
  570. package/build/types/AsyncFunction.cjs +7 -0
  571. package/build/types/AsyncFunction.d.cts +3 -0
  572. package/build/types/AsyncFunction.d.ts +3 -0
  573. package/build/types/AsyncFunction.js +4 -0
  574. package/build/types/ControllerActionMapItem.cjs +7 -0
  575. package/build/types/ControllerActionMapItem.d.cts +20 -0
  576. package/build/types/ControllerActionMapItem.d.ts +20 -0
  577. package/build/types/ControllerActionMapItem.js +4 -0
  578. package/build/types/InjectionProperties.cjs +7 -0
  579. package/build/types/InjectionProperties.d.cts +3 -0
  580. package/build/types/InjectionProperties.d.ts +3 -0
  581. package/build/types/InjectionProperties.js +4 -0
  582. package/build/types/TimeInput.cjs +7 -0
  583. package/build/types/TimeInput.d.cts +5 -0
  584. package/build/types/TimeInput.d.ts +5 -0
  585. package/build/types/TimeInput.js +4 -0
  586. package/build/types/TimeObject.cjs +7 -0
  587. package/build/types/TimeObject.d.cts +11 -0
  588. package/build/types/TimeObject.d.ts +11 -0
  589. package/build/types/TimeObject.js +4 -0
  590. package/build/types/UnitOfTime.cjs +7 -0
  591. package/build/types/UnitOfTime.d.cts +14 -0
  592. package/build/types/UnitOfTime.d.ts +14 -0
  593. package/build/types/UnitOfTime.js +4 -0
  594. package/package.json +145 -0
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var chunkHXWC4YN6_cjs = require('./chunk-HXWC4YN6.cjs');
4
+ var chunkGGY7LCMQ_cjs = require('./chunk-GGY7LCMQ.cjs');
5
+
6
+ // src/tests/components/SubTestComponent.ts
7
+ chunkGGY7LCMQ_cjs.init_cjs_shims();
8
+ var _SubTestComponent = class _SubTestComponent extends chunkHXWC4YN6_cjs.Component {
9
+ app;
10
+ module;
11
+ tt11;
12
+ async init() {
13
+ console.log("this is ", this.className);
14
+ console.log(this.tt11.sayHello(this.className));
15
+ }
16
+ };
17
+ chunkGGY7LCMQ_cjs.__name(_SubTestComponent, "SubTestComponent");
18
+ chunkGGY7LCMQ_cjs.__decorateClass([
19
+ chunkHXWC4YN6_cjs.InjectApp()
20
+ ], _SubTestComponent.prototype, "app", 2);
21
+ chunkGGY7LCMQ_cjs.__decorateClass([
22
+ chunkHXWC4YN6_cjs.InjectModule()
23
+ ], _SubTestComponent.prototype, "module", 2);
24
+ chunkGGY7LCMQ_cjs.__decorateClass([
25
+ chunkHXWC4YN6_cjs.Inject()
26
+ ], _SubTestComponent.prototype, "tt11", 2);
27
+ var SubTestComponent = _SubTestComponent;
28
+
29
+ exports.SubTestComponent = SubTestComponent;
30
+ //# sourceMappingURL=out.js.map
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0cy9jb21wb25lbnRzL1N1YlRlc3RDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBO0FBTU8sSUFBTSxvQkFBTixNQUFNLDBCQUF5QixVQUFVO0FBQUEsRUFHekI7QUFBQSxFQUdBO0FBQUEsRUFHQTtBQUFBLEVBRW5CLE1BQWdCLE9BQXNCO0FBQ2xDLFlBQVEsSUFBSSxZQUFZLEtBQUssU0FBUztBQUN0QyxZQUFRLElBQUksS0FBSyxLQUFLLFNBQVMsS0FBSyxTQUFTLENBQUM7QUFBQSxFQUNsRDtBQUVKO0FBaEJnRDtBQUd6QjtBQUFBLEVBRGxCLFVBQVU7QUFBQSxHQUZGLGtCQUdVO0FBR0E7QUFBQSxFQURsQixhQUFhO0FBQUEsR0FMTCxrQkFNVTtBQUdBO0FBQUEsRUFEbEIsT0FBTztBQUFBLEdBUkMsa0JBU1U7QUFUaEIsSUFBTSxtQkFBTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICcuLi8uLi9saWIvYmFzZS9Db21wb25lbnQuanMnXG5pbXBvcnQge0FwcGxpY2F0aW9ufSBmcm9tICcuLi8uLi9saWIvQXBwbGljYXRpb24uanMnXG5pbXBvcnQge0luamVjdCwgSW5qZWN0QXBwLCBJbmplY3RNb2R1bGV9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvRGVwZW5kZW5jeUluamVjdGlvbkRlY29yYXRvcnMuanMnXG5pbXBvcnQge1Rlc3RNb2R1bGUxfSBmcm9tICcuLi9tb2R1bGVzL1Rlc3RNb2R1bGUxL1Rlc3RNb2R1bGUxLmpzJ1xuaW1wb3J0IHtUZXN0Q29tcG9uZW50fSBmcm9tICcuL1Rlc3RDb21wb25lbnQuanMnXG5cbmV4cG9ydCBjbGFzcyBTdWJUZXN0Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcblxuICAgIEBJbmplY3RBcHAoKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHA6IEFwcGxpY2F0aW9uXG5cbiAgICBASW5qZWN0TW9kdWxlKClcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kdWxlOiBUZXN0TW9kdWxlMVxuXG4gICAgQEluamVjdCgpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR0MTE6IFRlc3RDb21wb25lbnRcblxuICAgIHByb3RlY3RlZCBhc3luYyBpbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zb2xlLmxvZygndGhpcyBpcyAnLCB0aGlzLmNsYXNzTmFtZSlcbiAgICAgICAgY29uc29sZS5sb2codGhpcy50dDExLnNheUhlbGxvKHRoaXMuY2xhc3NOYW1lKSlcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,70 @@
1
+ import { Inject, Lifetime, Component } from './chunk-7MJAWOWL.js';
2
+ import { As, IsEqual } from './chunk-XO6M5AYN.js';
3
+ import { MODEL_PROPERTY_MAP } from './chunk-4OHSPWRQ.js';
4
+ import { init_esm_shims, __name, __decorateClass } from './chunk-5NK7E2HA.js';
5
+
6
+ // src/lib/base/Model.ts
7
+ init_esm_shims();
8
+ var Model = class extends Component {
9
+ log;
10
+ /**
11
+ * Constructor
12
+ * @param properties
13
+ */
14
+ constructor(properties = {}) {
15
+ super(properties);
16
+ this.setInternalProperty("type", "Model");
17
+ }
18
+ async __init() {
19
+ await super.__init();
20
+ Reflect.defineMetadata(MODEL_PROPERTY_MAP, /* @__PURE__ */ new Map(), this);
21
+ this.propertyNames().forEach((propertyKey) => {
22
+ var _a;
23
+ (_a = As(Reflect.getOwnMetadata(MODEL_PROPERTY_MAP, this))) == null ? void 0 : _a.set(propertyKey, this[propertyKey]);
24
+ Object.defineProperty(this, propertyKey, {
25
+ set: (newValue) => {
26
+ var _a2, _b;
27
+ const oldValue = (_a2 = As(Reflect.getOwnMetadata(MODEL_PROPERTY_MAP, this))) == null ? void 0 : _a2.get(propertyKey);
28
+ if (IsEqual(oldValue, newValue)) {
29
+ (_b = As(Reflect.getOwnMetadata(MODEL_PROPERTY_MAP, this))) == null ? void 0 : _b.set(propertyKey, newValue);
30
+ this.emit("property-changed", propertyKey, newValue, oldValue);
31
+ }
32
+ },
33
+ get: () => {
34
+ var _a2, _b;
35
+ if (!((_a2 = As(Reflect.getOwnMetadata(MODEL_PROPERTY_MAP, this))) == null ? void 0 : _a2.has(propertyKey)))
36
+ return void 0;
37
+ return (_b = As(Reflect.getOwnMetadata(MODEL_PROPERTY_MAP, this))) == null ? void 0 : _b.get(propertyKey);
38
+ }
39
+ });
40
+ });
41
+ }
42
+ /**
43
+ * 模型系统销毁函数
44
+ * @protected
45
+ */
46
+ async __destroy() {
47
+ if (Reflect.hasOwnMetadata(MODEL_PROPERTY_MAP, this)) {
48
+ As(Reflect.getOwnMetadata(MODEL_PROPERTY_MAP, this)).clear();
49
+ Reflect.defineMetadata(MODEL_PROPERTY_MAP, void 0, this);
50
+ }
51
+ return super.__destroy();
52
+ }
53
+ on(eventName, listener) {
54
+ return super.on(eventName, listener);
55
+ }
56
+ once(eventName, listener) {
57
+ return super.once(eventName, listener);
58
+ }
59
+ };
60
+ __name(Model, "Model");
61
+ __decorateClass([
62
+ Inject("log")
63
+ ], Model.prototype, "log", 2);
64
+ Model = __decorateClass([
65
+ Lifetime("SCOPED", false)
66
+ ], Model);
67
+
68
+ export { Model };
69
+ //# sourceMappingURL=out.js.map
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvYmFzZS9Nb2RlbC50cyJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBWU8sSUFBTSxRQUFOLGNBQW9CLFVBQVU7QUFBQSxFQUdkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1uQixZQUFZLGFBQWtDLENBQUMsR0FBRztBQUM5QyxVQUFNLFVBQVU7QUFDaEIsU0FBSyxvQkFBb0IsUUFBUSxPQUFPO0FBQUEsRUFDNUM7QUFBQSxFQUVBLE1BQWdCLFNBQXdCO0FBQ3BDLFVBQU0sTUFBTSxPQUFPO0FBQ25CLFlBQVEsZUFBZSxvQkFBb0Isb0JBQUksSUFBaUIsR0FBRyxJQUFJO0FBQ3ZFLFNBQUssY0FBYyxFQUFFLFFBQVEsaUJBQWU7QUE3QnBEO0FBOEJZLGVBQXFCLFFBQVEsZUFBZSxvQkFBb0IsSUFBSSxDQUFDLE1BQXJFLG1CQUF3RSxJQUFJLGFBQWEsS0FBSyxXQUFXO0FBQ3pHLGFBQU8sZUFBZSxNQUFNLGFBQWE7QUFBQSxRQUNyQyxLQUFLLENBQUMsYUFBd0I7QUFoQzlDLGNBQUFBLEtBQUE7QUFpQ29CLGdCQUFNLFlBQWdCQSxNQUFBLEdBQXFCLFFBQVEsZUFBZSxvQkFBb0IsSUFBSSxDQUFDLE1BQXJFLGdCQUFBQSxJQUF3RSxJQUFJO0FBQ2xHLGNBQUksUUFBUSxVQUFVLFFBQVEsR0FBRztBQUM3QixxQkFBcUIsUUFBUSxlQUFlLG9CQUFvQixJQUFJLENBQUMsTUFBckUsbUJBQXdFLElBQUksYUFBYTtBQUN6RixpQkFBSyxLQUFLLG9CQUFvQixhQUFhLFVBQVUsUUFBUTtBQUFBLFVBQ2pFO0FBQUEsUUFDSjtBQUFBLFFBQ0EsS0FBSyxNQUFXO0FBdkNoQyxjQUFBQSxLQUFBO0FBd0NvQixjQUFJLEdBQUNBLE1BQUEsR0FBcUIsUUFBUSxlQUFlLG9CQUFvQixJQUFJLENBQUMsTUFBckUsZ0JBQUFBLElBQXdFLElBQUk7QUFBYyxtQkFBTztBQUN0RyxrQkFBTyxRQUFxQixRQUFRLGVBQWUsb0JBQW9CLElBQUksQ0FBQyxNQUFyRSxtQkFBd0UsSUFBSTtBQUFBLFFBQ3ZGO0FBQUEsTUFDSixDQUFDO0FBQUEsSUFDTCxDQUFDO0FBQUEsRUFDTDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxNQUFnQixZQUEyQjtBQUN2QyxRQUFJLFFBQVEsZUFBZSxvQkFBb0IsSUFBSSxHQUFHO0FBQ2xELFNBQXFCLFFBQVEsZUFBZSxvQkFBb0IsSUFBSSxDQUFDLEVBQUUsTUFBTTtBQUM3RSxjQUFRLGVBQWUsb0JBQW9CLFFBQVcsSUFBSTtBQUFBLElBQzlEO0FBQ0EsV0FBTyxNQUFNLFVBQVU7QUFBQSxFQUMzQjtBQUFBLEVBR08sR0FBRyxXQUE0QixVQUEwQztBQUM1RSxXQUFPLE1BQU0sR0FBRyxXQUFXLFFBQVE7QUFBQSxFQUN2QztBQUFBLEVBR08sS0FBSyxXQUE0QixVQUEwQztBQUM5RSxXQUFPLE1BQU0sS0FBSyxXQUFXLFFBQVE7QUFBQSxFQUN6QztBQUVKO0FBekRxQztBQUdkO0FBQUEsRUFEbEIsT0FBTyxLQUFLO0FBQUEsR0FGSixNQUdVO0FBSFYsUUFBTjtBQUFBLEVBRE4sU0FBUyxVQUFVLEtBQUs7QUFBQSxHQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJ1xuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJy4vQ29tcG9uZW50LmpzJ1xuaW1wb3J0IHtJbmplY3Rpb25Qcm9wZXJ0aWVzfSBmcm9tICcuLi8uLi90eXBlcy9JbmplY3Rpb25Qcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHtJbmplY3QsIExpZmV0aW1lfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL0RlcGVuZGVuY3lJbmplY3Rpb25EZWNvcmF0b3JzLmpzJ1xuaW1wb3J0IHtNT0RFTF9QUk9QRVJUWV9NQVB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9NZXRhZGF0YUtleS5qcydcbmltcG9ydCB7QXMsIElzRXF1YWx9IGZyb20gJy4uLy4uL1V0aWxpdGllcy5qcydcbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi9jb21wb25lbnRzL0xvZ2dlci5qcydcblxuLyoqXG4gKiDkuJrliqHmqKHlnovln7rnsbtcbiAqL1xuQExpZmV0aW1lKCdTQ09QRUQnLCBmYWxzZSlcbmV4cG9ydCBjbGFzcyBNb2RlbCBleHRlbmRzIENvbXBvbmVudCB7XG5cbiAgICBASW5qZWN0KCdsb2cnKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBsb2c6IExvZ2dlclxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gcHJvcGVydGllc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6IEluamVjdGlvblByb3BlcnRpZXMgPSB7fSkge1xuICAgICAgICBzdXBlcihwcm9wZXJ0aWVzKVxuICAgICAgICB0aGlzLnNldEludGVybmFsUHJvcGVydHkoJ3R5cGUnLCAnTW9kZWwnKVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBfX2luaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHN1cGVyLl9faW5pdCgpXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoTU9ERUxfUFJPUEVSVFlfTUFQLCBuZXcgTWFwPHN0cmluZywgYW55PigpLCB0aGlzKVxuICAgICAgICB0aGlzLnByb3BlcnR5TmFtZXMoKS5mb3JFYWNoKHByb3BlcnR5S2V5ID0+IHtcbiAgICAgICAgICAgIEFzPE1hcDxzdHJpbmcsIGFueT4+KFJlZmxlY3QuZ2V0T3duTWV0YWRhdGEoTU9ERUxfUFJPUEVSVFlfTUFQLCB0aGlzKSk/LnNldChwcm9wZXJ0eUtleSwgdGhpc1twcm9wZXJ0eUtleV0pXG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgICAgICAgICBzZXQ6IChuZXdWYWx1ZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlOiBhbnkgPSBBczxNYXA8c3RyaW5nLCBhbnk+PihSZWZsZWN0LmdldE93bk1ldGFkYXRhKE1PREVMX1BST1BFUlRZX01BUCwgdGhpcykpPy5nZXQocHJvcGVydHlLZXkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChJc0VxdWFsKG9sZFZhbHVlLCBuZXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEFzPE1hcDxzdHJpbmcsIGFueT4+KFJlZmxlY3QuZ2V0T3duTWV0YWRhdGEoTU9ERUxfUFJPUEVSVFlfTUFQLCB0aGlzKSk/LnNldChwcm9wZXJ0eUtleSwgbmV3VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ3Byb3BlcnR5LWNoYW5nZWQnLCBwcm9wZXJ0eUtleSwgbmV3VmFsdWUsIG9sZFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBnZXQ6ICgpOiBhbnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIUFzPE1hcDxzdHJpbmcsIGFueT4+KFJlZmxlY3QuZ2V0T3duTWV0YWRhdGEoTU9ERUxfUFJPUEVSVFlfTUFQLCB0aGlzKSk/Lmhhcyhwcm9wZXJ0eUtleSkpIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFzPE1hcDxzdHJpbmcsIGFueT4+KFJlZmxlY3QuZ2V0T3duTWV0YWRhdGEoTU9ERUxfUFJPUEVSVFlfTUFQLCB0aGlzKSk/LmdldChwcm9wZXJ0eUtleSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaooeWei+ezu+e7n+mUgOavgeWHveaVsFxuICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgX19kZXN0cm95KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoUmVmbGVjdC5oYXNPd25NZXRhZGF0YShNT0RFTF9QUk9QRVJUWV9NQVAsIHRoaXMpKSB7XG4gICAgICAgICAgICBBczxNYXA8c3RyaW5nLCBhbnk+PihSZWZsZWN0LmdldE93bk1ldGFkYXRhKE1PREVMX1BST1BFUlRZX01BUCwgdGhpcykpLmNsZWFyKClcbiAgICAgICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoTU9ERUxfUFJPUEVSVFlfTUFQLCB1bmRlZmluZWQsIHRoaXMpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1cGVyLl9fZGVzdHJveSgpXG4gICAgfVxuXG4gICAgcHVibGljIG9uKGV2ZW50TmFtZTogJ3Byb3BlcnR5LWNoYW5nZWQnLCBsaXN0ZW5lcjogKHByb3BlcnR5S2V5OiBzdHJpbmcsIG5ld1ZhbHVlOiBhbnksIG9sZFZhbHVlOiBhbnkpID0+IHZvaWQpOiB0aGlzXG4gICAgcHVibGljIG9uKGV2ZW50TmFtZTogc3RyaW5nIHwgc3ltYm9sLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgICAgIHJldHVybiBzdXBlci5vbihldmVudE5hbWUsIGxpc3RlbmVyKVxuICAgIH1cblxuICAgIHB1YmxpYyBvbmNlKGV2ZW50TmFtZTogJ3Byb3BlcnR5LWNoYW5nZWQnLCBsaXN0ZW5lcjogKHByb3BlcnR5S2V5OiBzdHJpbmcsIG5ld1ZhbHVlOiBhbnksIG9sZFZhbHVlOiBhbnkpID0+IHZvaWQpOiB0aGlzXG4gICAgcHVibGljIG9uY2UoZXZlbnROYW1lOiBzdHJpbmcgfCBzeW1ib2wsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLm9uY2UoZXZlbnROYW1lLCBsaXN0ZW5lcilcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Exception } from './chunk-HODDA5D5.js';
2
+ import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
3
+
4
+ // src/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.ts
5
+ init_esm_shims();
6
+ var _InvalidSymmetricCipherIVLengthException = class _InvalidSymmetricCipherIVLengthException extends Exception {
7
+ errno = "E_INVALID_SYMMETRIC_CIPHER_IV_LENGTH";
8
+ };
9
+ __name(_InvalidSymmetricCipherIVLengthException, "InvalidSymmetricCipherIVLengthException");
10
+ var InvalidSymmetricCipherIVLengthException = _InvalidSymmetricCipherIVLengthException;
11
+
12
+ export { InvalidSymmetricCipherIVLengthException };
13
+ //# sourceMappingURL=out.js.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGNlcHRpb25zL2NyeXB0by9zeW1tZXRyaWMvSW52YWxpZFN5bW1ldHJpY0NpcGhlcklWTGVuZ3RoRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBRU8sSUFBTSwyQ0FBTixNQUFNLGlEQUFnRCxVQUFVO0FBQUEsRUFDNUQsUUFBeUI7QUFDcEM7QUFGdUU7QUFBaEUsSUFBTSwwQ0FBTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXhjZXB0aW9ufSBmcm9tICcuLi8uLi8uLi9saWIvYmFzZS9hYnN0cmFjdHMvRXhjZXB0aW9uLmpzJ1xuXG5leHBvcnQgY2xhc3MgSW52YWxpZFN5bW1ldHJpY0NpcGhlcklWTGVuZ3RoRXhjZXB0aW9uIGV4dGVuZHMgRXhjZXB0aW9uIHtcbiAgICBwdWJsaWMgZXJybm86IG51bWJlciB8IHN0cmluZyA9ICdFX0lOVkFMSURfU1lNTUVUUklDX0NJUEhFUl9JVl9MRU5HVEgnXG59XG4iXX0=
@@ -0,0 +1,124 @@
1
+ import { Validator } from './chunk-JVSBYHUY.js';
2
+ import { defaultValidationOptions } from './chunk-4KTVY73U.js';
3
+ import { InvalidMethodAcceptException } from './chunk-HPKJUFTM.js';
4
+ import { InvalidMethodReturnException } from './chunk-2PLJEW2R.js';
5
+ import { As } from './chunk-XO6M5AYN.js';
6
+ import { DTO_INDEX_SIGNATURE_SCHEMAS, DTO_SCHEMAS, DTO_CLASS } from './chunk-4OHSPWRQ.js';
7
+ import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
8
+ import { isAsyncFunction } from 'util/types';
9
+
10
+ // src/decorators/ValidationDecorators.ts
11
+ init_esm_shims();
12
+ function IndexSignature(schema, ...schemas) {
13
+ return function(constructor) {
14
+ const patternSchemas = [schema, ...schemas];
15
+ Reflect.defineMetadata(DTO_INDEX_SIGNATURE_SCHEMAS, patternSchemas, constructor);
16
+ return constructor;
17
+ };
18
+ }
19
+ __name(IndexSignature, "IndexSignature");
20
+ function Expect(schema) {
21
+ return function(target, propertyKey) {
22
+ if (!Reflect.hasOwnMetadata(DTO_SCHEMAS, target.constructor))
23
+ Reflect.defineMetadata(DTO_SCHEMAS, {}, target.constructor);
24
+ const schemas = Reflect.getOwnMetadata(DTO_SCHEMAS, target.constructor);
25
+ schemas[propertyKey] = schema;
26
+ Reflect.defineMetadata(DTO_SCHEMAS, schemas, target.constructor);
27
+ };
28
+ }
29
+ __name(Expect, "Expect");
30
+ function Accept(inp, options) {
31
+ return function(target, propertyKey, descriptor) {
32
+ const inputs = Array.isArray(inp) ? inp : [inp];
33
+ const argumentSchemas = [];
34
+ inputs.forEach((input) => {
35
+ if (Reflect.hasMetadata(DTO_CLASS, input)) {
36
+ argumentSchemas.push(Validator.Object(Reflect.getMetadata(DTO_SCHEMAS, input)));
37
+ } else {
38
+ argumentSchemas.push(As(input));
39
+ }
40
+ });
41
+ options = options ? Object.assign({}, defaultValidationOptions, options) : defaultValidationOptions;
42
+ descriptor.writable = false;
43
+ const originalMethod = descriptor.value;
44
+ const schema = Validator.Array().ordered(...argumentSchemas);
45
+ const argumentSchemaLength = Array.isArray(argumentSchemas) ? argumentSchemas.length : 1;
46
+ if (isAsyncFunction(originalMethod)) {
47
+ descriptor.value = async function(...args) {
48
+ const argumentCount = args.length - argumentSchemaLength;
49
+ try {
50
+ args = await Validator.validateAsync(args, schema.concat(Validator.Array().ordered(...new Array(argumentCount >= 0 ? argumentCount : 0).fill(Validator.Any()))), options);
51
+ } catch (e) {
52
+ throw new InvalidMethodAcceptException("Method [{propertyKey}] accept argument {reason}", {
53
+ propertyKey,
54
+ reason: e.message
55
+ });
56
+ }
57
+ return originalMethod.apply(this, args);
58
+ };
59
+ } else {
60
+ descriptor.value = function(...args) {
61
+ const argumentCount = args.length - argumentSchemaLength;
62
+ try {
63
+ args = Validator.validate(args, schema.concat(Validator.Array().ordered(...new Array(argumentCount >= 0 ? argumentCount : 0).fill(Validator.Any()))), options);
64
+ } catch (e) {
65
+ throw new InvalidMethodAcceptException("Method [{propertyKey}] accept argument {reason}", {
66
+ propertyKey,
67
+ reason: e.message
68
+ });
69
+ }
70
+ return originalMethod.apply(this, args);
71
+ };
72
+ }
73
+ return descriptor;
74
+ };
75
+ }
76
+ __name(Accept, "Accept");
77
+ function Return(inp, options) {
78
+ return function(target, propertyKey, descriptor) {
79
+ let schema;
80
+ if (Reflect.hasMetadata(DTO_CLASS, inp)) {
81
+ schema = Validator.Object(Reflect.getMetadata(DTO_SCHEMAS, inp));
82
+ } else {
83
+ schema = inp;
84
+ }
85
+ options = options ? Object.assign({}, defaultValidationOptions, options) : defaultValidationOptions;
86
+ descriptor.writable = false;
87
+ const originalMethod = descriptor.value;
88
+ if (isAsyncFunction(originalMethod)) {
89
+ descriptor.value = async function(...args) {
90
+ const asyncResult = await originalMethod.apply(this, args);
91
+ try {
92
+ if (asyncResult === void 0)
93
+ throw new Error("is undefined");
94
+ return await schema.validateAsync(asyncResult, options);
95
+ } catch (e) {
96
+ throw new InvalidMethodReturnException("Method [{propertyKey}] return value {reason}", {
97
+ propertyKey,
98
+ reason: e.message
99
+ });
100
+ }
101
+ };
102
+ } else {
103
+ descriptor.value = function(...args) {
104
+ const syncResult = originalMethod.apply(this, args);
105
+ let { error, value } = schema.validate(syncResult, options);
106
+ if (!error && syncResult === void 0)
107
+ error = new Error("is undefined");
108
+ if (error) {
109
+ throw new InvalidMethodReturnException("Method [{propertyKey}] return value {reason}", {
110
+ propertyKey,
111
+ reason: error.message
112
+ });
113
+ }
114
+ return value;
115
+ };
116
+ }
117
+ return descriptor;
118
+ };
119
+ }
120
+ __name(Return, "Return");
121
+
122
+ export { Accept, Expect, IndexSignature, Return };
123
+ //# sourceMappingURL=out.js.map
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWNvcmF0b3JzL1ZhbGlkYXRpb25EZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFHQSxTQUFRLHVCQUFzQjtBQW1CdkIsU0FBUyxlQUFxQyxXQUFtQixTQUEwQztBQUM5RyxTQUFPLFNBQWdDLGFBQW1CO0FBQ3RELFVBQU0saUJBQTJCLENBQUMsUUFBUSxHQUFHLE9BQU87QUFDcEQsWUFBUSxlQUFlLDZCQUE2QixnQkFBZ0IsV0FBVztBQUMvRSxXQUFPO0FBQUEsRUFDWDtBQUNKO0FBTmdCO0FBWVQsU0FBUyxPQUFzQixRQUF3RTtBQUMxRyxTQUFPLFNBQXlCLFFBQXdCLGFBQTRCO0FBQ2hGLFFBQUksQ0FBQyxRQUFRLGVBQWUsYUFBYSxPQUFPLFdBQVc7QUFBRyxjQUFRLGVBQWUsYUFBYSxDQUFDLEdBQUcsT0FBTyxXQUFXO0FBQ3hILFVBQU0sVUFBcUIsUUFBUSxlQUFlLGFBQWEsT0FBTyxXQUFXO0FBQ2pGLFlBQVEsV0FBVyxJQUFJO0FBQ3ZCLFlBQVEsZUFBZSxhQUFhLFNBQVMsT0FBTyxXQUFXO0FBQUEsRUFDbkU7QUFDSjtBQVBnQjtBQWVULFNBQVMsT0FBTyxLQUFrRSxTQUFrQztBQUN2SCxTQUFPLFNBQVUsUUFBZ0IsYUFBcUIsWUFBMkY7QUFFN0ksVUFBTSxTQUF5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHO0FBQzlFLFVBQU0sa0JBQTRCLENBQUM7QUFDbkMsV0FBTyxRQUFRLFdBQVM7QUFDcEIsVUFBSSxRQUFRLFlBQVksV0FBVyxLQUFLLEdBQUc7QUFFdkMsd0JBQWdCLEtBQUssVUFBVSxPQUFPLFFBQVEsWUFBWSxhQUFhLEtBQUssQ0FBQyxDQUFDO0FBQUEsTUFDbEYsT0FBTztBQUVILHdCQUFnQixLQUFLLEdBQVcsS0FBSyxDQUFDO0FBQUEsTUFDMUM7QUFBQSxJQUNKLENBQUM7QUFDRCxjQUFVLFVBQVUsT0FBTyxPQUFPLENBQUMsR0FBRywwQkFBMEIsT0FBTyxJQUFJO0FBQzNFLGVBQVcsV0FBVztBQUN0QixVQUFNLGlCQUF5RCxXQUFXO0FBQzFFLFVBQU0sU0FBc0IsVUFBVSxNQUFNLEVBQUUsUUFBUSxHQUFHLGVBQWU7QUFDeEUsVUFBTSx1QkFBK0IsTUFBTSxRQUFRLGVBQWUsSUFBSSxnQkFBZ0IsU0FBUztBQUMvRixRQUFJLGdCQUFnQixjQUFjLEdBQUc7QUFDakMsaUJBQVcsUUFBUSxrQkFBbUIsTUFBMkI7QUFDN0QsY0FBTSxnQkFBd0IsS0FBSyxTQUFTO0FBQzVDLFlBQUk7QUFDQSxpQkFBTyxNQUFNLFVBQVUsY0FBYyxNQUFNLE9BQU8sT0FBTyxVQUFVLE1BQU0sRUFBRSxRQUFRLEdBQUcsSUFBSSxNQUFNLGlCQUFpQixJQUFJLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPO0FBQUEsUUFDNUssU0FBUyxHQUFHO0FBQ1IsZ0JBQU0sSUFBSSw2QkFBNkIsbURBQW1EO0FBQUEsWUFDdEY7QUFBQSxZQUNBLFFBQVMsRUFBWTtBQUFBLFVBQ3pCLENBQUM7QUFBQSxRQUNMO0FBQ0EsZUFBTyxlQUFlLE1BQU0sTUFBTSxJQUFJO0FBQUEsTUFDMUM7QUFBQSxJQUNKLE9BQU87QUFDSCxpQkFBVyxRQUFRLFlBQWEsTUFBa0I7QUFDOUMsY0FBTSxnQkFBd0IsS0FBSyxTQUFTO0FBQzVDLFlBQUk7QUFDQSxpQkFBTyxVQUFVLFNBQVMsTUFBTSxPQUFPLE9BQU8sVUFBVSxNQUFNLEVBQUUsUUFBUSxHQUFHLElBQUksTUFBTSxpQkFBaUIsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTztBQUFBLFFBQ2pLLFNBQVMsR0FBRztBQUNSLGdCQUFNLElBQUksNkJBQTZCLG1EQUFtRDtBQUFBLFlBQ3RGO0FBQUEsWUFDQSxRQUFTLEVBQVk7QUFBQSxVQUN6QixDQUFDO0FBQUEsUUFDTDtBQUNBLGVBQU8sZUFBZSxNQUFNLE1BQU0sSUFBSTtBQUFBLE1BQzFDO0FBQUEsSUFDSjtBQUNBLFdBQU87QUFBQSxFQUNYO0FBQ0o7QUFoRGdCO0FBMERULFNBQVMsT0FBTyxLQUFpQyxTQUFrQztBQUN0RixTQUFPLFNBQVUsUUFBZ0IsYUFBcUIsWUFBMkY7QUFDN0ksUUFBSTtBQUNKLFFBQUksUUFBUSxZQUFZLFdBQVcsR0FBRyxHQUFHO0FBRXJDLGVBQVMsVUFBVSxPQUFPLFFBQVEsWUFBWSxhQUFhLEdBQUcsQ0FBQztBQUFBLElBQ25FLE9BQU87QUFFSCxlQUFTO0FBQUEsSUFDYjtBQUNBLGNBQVUsVUFBVSxPQUFPLE9BQU8sQ0FBQyxHQUFHLDBCQUEwQixPQUFPLElBQUk7QUFDM0UsZUFBVyxXQUFXO0FBQ3RCLFVBQU0saUJBQXlELFdBQVc7QUFDMUUsUUFBSSxnQkFBZ0IsY0FBYyxHQUFHO0FBQ2pDLGlCQUFXLFFBQVEsa0JBQW1CLE1BQWE7QUFDL0MsY0FBTSxjQUFjLE1BQU0sZUFBZSxNQUFNLE1BQU0sSUFBSTtBQUN6RCxZQUFJO0FBQ0EsY0FBSSxnQkFBZ0I7QUFBVyxrQkFBTSxJQUFJLE1BQU0sY0FBYztBQUM3RCxpQkFBTyxNQUFNLE9BQU8sY0FBYyxhQUFhLE9BQU87QUFBQSxRQUMxRCxTQUFTLEdBQUc7QUFDUixnQkFBTSxJQUFJLDZCQUE2QixnREFBZ0Q7QUFBQSxZQUNuRjtBQUFBLFlBQ0EsUUFBUyxFQUFZO0FBQUEsVUFDekIsQ0FBQztBQUFBLFFBQ0w7QUFBQSxNQUNKO0FBQUEsSUFDSixPQUFPO0FBQ0gsaUJBQVcsUUFBUSxZQUFhLE1BQWE7QUFDekMsY0FBTSxhQUFhLGVBQWUsTUFBTSxNQUFNLElBQUk7QUFDbEQsWUFBSSxFQUFDLE9BQU8sTUFBSyxJQUFJLE9BQU8sU0FBUyxZQUFZLE9BQU87QUFDeEQsWUFBSSxDQUFDLFNBQVMsZUFBZTtBQUFXLGtCQUFRLElBQUksTUFBTSxjQUFjO0FBQ3hFLFlBQUksT0FBTztBQUNQLGdCQUFNLElBQUksNkJBQTZCLGdEQUFnRDtBQUFBLFlBQ25GO0FBQUEsWUFDQSxRQUFRLE1BQU07QUFBQSxVQUNsQixDQUFDO0FBQUEsUUFDTDtBQUNBLGVBQU87QUFBQSxNQUNYO0FBQUEsSUFDSjtBQUNBLFdBQU87QUFBQSxFQUNYO0FBQ0o7QUExQ2dCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJ1xuaW1wb3J0IHtBcnJheVNjaGVtYSwgU2NoZW1hLCBTY2hlbWFNYXAsIFZhbGlkYXRpb25FcnJvciwgVmFsaWRhdGlvbk9wdGlvbnMsIFZhbGlkYXRvcn0gZnJvbSAnLi4vVmFsaWRhdG9yLmpzJ1xuaW1wb3J0IHtEVE99IGZyb20gJy4uL2xpYi9iYXNlL0RUTy5qcydcbmltcG9ydCB7aXNBc3luY0Z1bmN0aW9ufSBmcm9tICd1dGlsL3R5cGVzJ1xuaW1wb3J0IHtJbnZhbGlkTWV0aG9kQWNjZXB0RXhjZXB0aW9ufSBmcm9tICcuLi9leGNlcHRpb25zL3ZhbGlkYXRpb24vSW52YWxpZE1ldGhvZEFjY2VwdEV4Y2VwdGlvbi5qcydcbmltcG9ydCB7SUNvbnN0cnVjdG9yfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lDb25zdHJ1Y3Rvci5qcydcbmltcG9ydCB7RFRPX0NMQVNTLCBEVE9fSU5ERVhfU0lHTkFUVVJFX1NDSEVNQVMsIERUT19TQ0hFTUFTfSBmcm9tICcuLi9jb25zdGFudHMvTWV0YWRhdGFLZXkuanMnXG5pbXBvcnQge2RlZmF1bHRWYWxpZGF0aW9uT3B0aW9uc30gZnJvbSAnLi4vY29uc3RhbnRzL0RlZmF1bHRWYWx1ZS5qcydcbmltcG9ydCB7SW52YWxpZE1ldGhvZFJldHVybkV4Y2VwdGlvbn0gZnJvbSAnLi4vZXhjZXB0aW9ucy92YWxpZGF0aW9uL0ludmFsaWRNZXRob2RSZXR1cm5FeGNlcHRpb24uanMnXG5pbXBvcnQge0FzfSBmcm9tICcuLi9VdGlsaXRpZXMuanMnXG5cbnR5cGUgVEZ1bmN0aW9uID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkgfCBQcm9taXNlPGFueT5cblxudHlwZSBEVE9TdWJDbGFzczxUIGV4dGVuZHMgRFRPPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUXTogVFtLXTtcbn1cblxuLyoqXG4gKiBEVE/nsbvntKLlvJXnrb7lkI3pqozor4Hlo7DmmI5cbiAqIFtrZXk6c3RyaW5nXTp75aOw5piO55qE57G75Z6LU2NoZW1hfVxuICogQGNvbnN0cnVjdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJbmRleFNpZ25hdHVyZTxUIGV4dGVuZHMgdHlwZW9mIERUTz4oc2NoZW1hOiBTY2hlbWEsIC4uLnNjaGVtYXM6IFNjaGVtYVtdKTogKGNvbnN0cnVjdG9yOiBUKSA9PiBUIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyB0eXBlb2YgRFRPPihjb25zdHJ1Y3RvcjogVCk6IFQge1xuICAgICAgICBjb25zdCBwYXR0ZXJuU2NoZW1hczogU2NoZW1hW10gPSBbc2NoZW1hLCAuLi5zY2hlbWFzXVxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKERUT19JTkRFWF9TSUdOQVRVUkVfU0NIRU1BUywgcGF0dGVyblNjaGVtYXMsIGNvbnN0cnVjdG9yKVxuICAgICAgICByZXR1cm4gY29uc3RydWN0b3JcbiAgICB9XG59XG5cbi8qKlxuICogRFRP57G75bGe5oCn5Y+C5pWw6aqM6K+B5aOw5piOXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV4cGVjdDxUIGV4dGVuZHMgRFRPPihzY2hlbWE6IFNjaGVtYSk6ICh0YXJnZXQ6IERUT1N1YkNsYXNzPFQ+LCBwcm9wZXJ0eUtleToga2V5b2YgVCkgPT4gdm9pZCB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgRFRPPih0YXJnZXQ6IERUT1N1YkNsYXNzPFQ+LCBwcm9wZXJ0eUtleToga2V5b2YgVCk6IHZvaWQge1xuICAgICAgICBpZiAoIVJlZmxlY3QuaGFzT3duTWV0YWRhdGEoRFRPX1NDSEVNQVMsIHRhcmdldC5jb25zdHJ1Y3RvcikpIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoRFRPX1NDSEVNQVMsIHt9LCB0YXJnZXQuY29uc3RydWN0b3IpXG4gICAgICAgIGNvbnN0IHNjaGVtYXM6IFNjaGVtYU1hcCA9IFJlZmxlY3QuZ2V0T3duTWV0YWRhdGEoRFRPX1NDSEVNQVMsIHRhcmdldC5jb25zdHJ1Y3RvcilcbiAgICAgICAgc2NoZW1hc1twcm9wZXJ0eUtleV0gPSBzY2hlbWFcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShEVE9fU0NIRU1BUywgc2NoZW1hcywgdGFyZ2V0LmNvbnN0cnVjdG9yKVxuICAgIH1cbn1cblxuLyoqXG4gKiDmlrnms5Xlj4LmlbDpqozor4FcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgZnVuY3Rpb24gQWNjZXB0KGFyZ3VtZW50U2NoZW1hczogU2NoZW1hIHwgU2NoZW1hW10sIG9wdGlvbnM/OiBWYWxpZGF0aW9uT3B0aW9ucyk6ICh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZywgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VEZ1bmN0aW9uPikgPT4gVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VEZ1bmN0aW9uPlxuZXhwb3J0IGZ1bmN0aW9uIEFjY2VwdChEVE9zOiBJQ29uc3RydWN0b3I8RFRPPiB8IElDb25zdHJ1Y3RvcjxEVE8+W10sIG9wdGlvbnM/OiBWYWxpZGF0aW9uT3B0aW9ucyk6ICh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZywgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VEZ1bmN0aW9uPikgPT4gVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VEZ1bmN0aW9uPlxuZXhwb3J0IGZ1bmN0aW9uIEFjY2VwdChpbnA6IFNjaGVtYSB8IFNjaGVtYVtdIHwgSUNvbnN0cnVjdG9yPERUTz4gfCBJQ29uc3RydWN0b3I8RFRPPltdLCBvcHRpb25zPzogVmFsaWRhdGlvbk9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFRGdW5jdGlvbj4pOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxURnVuY3Rpb24+IHwgdm9pZCB7XG4gICAgICAgIC8v5pa55rOV5L+u6aWw5ZmoXG4gICAgICAgIGNvbnN0IGlucHV0czogKFNjaGVtYSB8IElDb25zdHJ1Y3RvcjxEVE8+KVtdID0gQXJyYXkuaXNBcnJheShpbnApID8gaW5wIDogW2lucF1cbiAgICAgICAgY29uc3QgYXJndW1lbnRTY2hlbWFzOiBTY2hlbWFbXSA9IFtdXG4gICAgICAgIGlucHV0cy5mb3JFYWNoKGlucHV0ID0+IHtcbiAgICAgICAgICAgIGlmIChSZWZsZWN0Lmhhc01ldGFkYXRhKERUT19DTEFTUywgaW5wdXQpKSB7XG4gICAgICAgICAgICAgICAgLy9EVE/nsbvnmoTmnoTpgKDlh73mlbBcbiAgICAgICAgICAgICAgICBhcmd1bWVudFNjaGVtYXMucHVzaChWYWxpZGF0b3IuT2JqZWN0KFJlZmxlY3QuZ2V0TWV0YWRhdGEoRFRPX1NDSEVNQVMsIGlucHV0KSkpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vU2NoZW1h5a6e5L6LXG4gICAgICAgICAgICAgICAgYXJndW1lbnRTY2hlbWFzLnB1c2goQXM8U2NoZW1hPihpbnB1dCkpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zID8gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFZhbGlkYXRpb25PcHRpb25zLCBvcHRpb25zKSA6IGRlZmF1bHRWYWxpZGF0aW9uT3B0aW9uc1xuICAgICAgICBkZXNjcmlwdG9yLndyaXRhYmxlID0gZmFsc2VcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxNZXRob2Q6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55IHwgUHJvbWlzZTxhbnk+ID0gZGVzY3JpcHRvci52YWx1ZSBhcyBhbnlcbiAgICAgICAgY29uc3Qgc2NoZW1hOiBBcnJheVNjaGVtYSA9IFZhbGlkYXRvci5BcnJheSgpLm9yZGVyZWQoLi4uYXJndW1lbnRTY2hlbWFzKVxuICAgICAgICBjb25zdCBhcmd1bWVudFNjaGVtYUxlbmd0aDogbnVtYmVyID0gQXJyYXkuaXNBcnJheShhcmd1bWVudFNjaGVtYXMpID8gYXJndW1lbnRTY2hlbWFzLmxlbmd0aCA6IDFcbiAgICAgICAgaWYgKGlzQXN5bmNGdW5jdGlvbihvcmlnaW5hbE1ldGhvZCkpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBhc3luYyBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFyZ3VtZW50Q291bnQ6IG51bWJlciA9IGFyZ3MubGVuZ3RoIC0gYXJndW1lbnRTY2hlbWFMZW5ndGhcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBhcmdzID0gYXdhaXQgVmFsaWRhdG9yLnZhbGlkYXRlQXN5bmMoYXJncywgc2NoZW1hLmNvbmNhdChWYWxpZGF0b3IuQXJyYXkoKS5vcmRlcmVkKC4uLm5ldyBBcnJheShhcmd1bWVudENvdW50ID49IDAgPyBhcmd1bWVudENvdW50IDogMCkuZmlsbChWYWxpZGF0b3IuQW55KCkpKSksIG9wdGlvbnMpXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE1ldGhvZEFjY2VwdEV4Y2VwdGlvbignTWV0aG9kIFt7cHJvcGVydHlLZXl9XSBhY2NlcHQgYXJndW1lbnQge3JlYXNvbn0nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUtleTogcHJvcGVydHlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFzb246IChlIGFzIEVycm9yKS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSk6IGFueSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXJndW1lbnRDb3VudDogbnVtYmVyID0gYXJncy5sZW5ndGggLSBhcmd1bWVudFNjaGVtYUxlbmd0aFxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGFyZ3MgPSBWYWxpZGF0b3IudmFsaWRhdGUoYXJncywgc2NoZW1hLmNvbmNhdChWYWxpZGF0b3IuQXJyYXkoKS5vcmRlcmVkKC4uLm5ldyBBcnJheShhcmd1bWVudENvdW50ID49IDAgPyBhcmd1bWVudENvdW50IDogMCkuZmlsbChWYWxpZGF0b3IuQW55KCkpKSksIG9wdGlvbnMpXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE1ldGhvZEFjY2VwdEV4Y2VwdGlvbignTWV0aG9kIFt7cHJvcGVydHlLZXl9XSBhY2NlcHQgYXJndW1lbnQge3JlYXNvbn0nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUtleTogcHJvcGVydHlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFzb246IChlIGFzIEVycm9yKS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yXG4gICAgfVxufVxuXG4vKipcbiAqIOaWueazlei/lOWbnuWAvOmqjOivgVxuICogQHBhcmFtIHJldHVyblNjaGVtYVxuICogQHBhcmFtIG9wdGlvbnNcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgZnVuY3Rpb24gUmV0dXJuKHJldHVyblNjaGVtYTogU2NoZW1hLCBvcHRpb25zPzogVmFsaWRhdGlvbk9wdGlvbnMpOiAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFRGdW5jdGlvbj4pID0+IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFRGdW5jdGlvbj5cbmV4cG9ydCBmdW5jdGlvbiBSZXR1cm4oRFRPOiBJQ29uc3RydWN0b3I8RFRPPiwgb3B0aW9ucz86IFZhbGlkYXRpb25PcHRpb25zKTogKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxURnVuY3Rpb24+KSA9PiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxURnVuY3Rpb24+XG5leHBvcnQgZnVuY3Rpb24gUmV0dXJuKGlucDogU2NoZW1hIHwgSUNvbnN0cnVjdG9yPERUTz4sIG9wdGlvbnM/OiBWYWxpZGF0aW9uT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZywgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VEZ1bmN0aW9uPik6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFRGdW5jdGlvbj4gfCB2b2lkIHtcbiAgICAgICAgbGV0IHNjaGVtYTogU2NoZW1hXG4gICAgICAgIGlmIChSZWZsZWN0Lmhhc01ldGFkYXRhKERUT19DTEFTUywgaW5wKSkge1xuICAgICAgICAgICAgLy9EVE/nsbvnmoTmnoTpgKDlh73mlbBcbiAgICAgICAgICAgIHNjaGVtYSA9IFZhbGlkYXRvci5PYmplY3QoUmVmbGVjdC5nZXRNZXRhZGF0YShEVE9fU0NIRU1BUywgaW5wKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vU2NoZW1h5a6e5L6LXG4gICAgICAgICAgICBzY2hlbWEgPSBpbnAgYXMgU2NoZW1hXG4gICAgICAgIH1cbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgPyBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsaWRhdGlvbk9wdGlvbnMsIG9wdGlvbnMpIDogZGVmYXVsdFZhbGlkYXRpb25PcHRpb25zXG4gICAgICAgIGRlc2NyaXB0b3Iud3JpdGFibGUgPSBmYWxzZVxuICAgICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZDogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkgfCBQcm9taXNlPGFueT4gPSBkZXNjcmlwdG9yLnZhbHVlIGFzIGFueVxuICAgICAgICBpZiAoaXNBc3luY0Z1bmN0aW9uKG9yaWdpbmFsTWV0aG9kKSkge1xuICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFzeW5jUmVzdWx0ID0gYXdhaXQgb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncylcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYXN5bmNSZXN1bHQgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdpcyB1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZW1hLnZhbGlkYXRlQXN5bmMoYXN5bmNSZXN1bHQsIG9wdGlvbnMpXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE1ldGhvZFJldHVybkV4Y2VwdGlvbignTWV0aG9kIFt7cHJvcGVydHlLZXl9XSByZXR1cm4gdmFsdWUge3JlYXNvbn0nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUtleTogcHJvcGVydHlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFzb246IChlIGFzIEVycm9yKS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN5bmNSZXN1bHQgPSBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKVxuICAgICAgICAgICAgICAgIGxldCB7ZXJyb3IsIHZhbHVlfSA9IHNjaGVtYS52YWxpZGF0ZShzeW5jUmVzdWx0LCBvcHRpb25zKVxuICAgICAgICAgICAgICAgIGlmICghZXJyb3IgJiYgc3luY1Jlc3VsdCA9PT0gdW5kZWZpbmVkKSBlcnJvciA9IG5ldyBFcnJvcignaXMgdW5kZWZpbmVkJykgYXMgVmFsaWRhdGlvbkVycm9yXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkTWV0aG9kUmV0dXJuRXhjZXB0aW9uKCdNZXRob2QgW3twcm9wZXJ0eUtleX1dIHJldHVybiB2YWx1ZSB7cmVhc29ufScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5S2V5OiBwcm9wZXJ0eUtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbjogZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVzY3JpcHRvclxuICAgIH1cbn1cbiJdfQ==