@fhevm/sdk 0.0.1 → 1.0.0-alpha.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 (2049) hide show
  1. package/README.md +59 -0
  2. package/_cjs/core/_version.js +6 -0
  3. package/_cjs/core/_version.js.map +1 -0
  4. package/_cjs/core/actions/base/canReadPublicValue.js +13 -0
  5. package/_cjs/core/actions/base/canReadPublicValue.js.map +1 -0
  6. package/_cjs/core/actions/base/canReadPublicValues.js +13 -0
  7. package/_cjs/core/actions/base/canReadPublicValues.js.map +1 -0
  8. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js +10 -0
  9. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +1 -0
  10. package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js +19 -0
  11. package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js.map +1 -0
  12. package/_cjs/core/actions/base/fetchVerifiedInputProof.js +11 -0
  13. package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +1 -0
  14. package/_cjs/core/actions/base/index.js +30 -0
  15. package/_cjs/core/actions/base/index.js.map +1 -0
  16. package/_cjs/core/actions/base/readCoprocessorSignersContext.js +10 -0
  17. package/_cjs/core/actions/base/readCoprocessorSignersContext.js.map +1 -0
  18. package/_cjs/core/actions/base/readKmsSignersContext.js +10 -0
  19. package/_cjs/core/actions/base/readKmsSignersContext.js.map +1 -0
  20. package/_cjs/core/actions/base/readPublicValue.js +13 -0
  21. package/_cjs/core/actions/base/readPublicValue.js.map +1 -0
  22. package/_cjs/core/actions/base/readPublicValues.js +13 -0
  23. package/_cjs/core/actions/base/readPublicValues.js.map +1 -0
  24. package/_cjs/core/actions/base/readPublicValuesWithSignatures.js +21 -0
  25. package/_cjs/core/actions/base/readPublicValuesWithSignatures.js.map +1 -0
  26. package/_cjs/core/actions/base/signDecryptionPermit.js +11 -0
  27. package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -0
  28. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js +31 -0
  29. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +1 -0
  30. package/_cjs/core/actions/base/verifyInputProof.js +24 -0
  31. package/_cjs/core/actions/base/verifyInputProof.js.map +1 -0
  32. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js +17 -0
  33. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +1 -0
  34. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js +11 -0
  35. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js.map +1 -0
  36. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +17 -0
  37. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  38. package/_cjs/core/actions/chain/createKmsEip712Domain.js +11 -0
  39. package/_cjs/core/actions/chain/createKmsEip712Domain.js.map +1 -0
  40. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js +16 -0
  41. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -0
  42. package/_cjs/core/actions/chain/fetchFheEncryptionKeyBytes.js +8 -0
  43. package/_cjs/core/actions/chain/fetchFheEncryptionKeyBytes.js.map +1 -0
  44. package/_cjs/core/actions/chain/index.js +28 -0
  45. package/_cjs/core/actions/chain/index.js.map +1 -0
  46. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js +10 -0
  47. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -0
  48. package/_cjs/core/actions/chain/parseTransportKeypair.js +9 -0
  49. package/_cjs/core/actions/chain/parseTransportKeypair.js.map +1 -0
  50. package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js +8 -0
  51. package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -0
  52. package/_cjs/core/actions/chain/serializeTransportKeypair.js +8 -0
  53. package/_cjs/core/actions/chain/serializeTransportKeypair.js.map +1 -0
  54. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +8 -0
  55. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  56. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js +8 -0
  57. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js.map +1 -0
  58. package/_cjs/core/actions/decrypt/canDecryptValue.js +20 -0
  59. package/_cjs/core/actions/decrypt/canDecryptValue.js.map +1 -0
  60. package/_cjs/core/actions/decrypt/canDecryptValues.js +23 -0
  61. package/_cjs/core/actions/decrypt/canDecryptValues.js.map +1 -0
  62. package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js +19 -0
  63. package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -0
  64. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js +11 -0
  65. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +1 -0
  66. package/_cjs/core/actions/decrypt/decryptValue.js +20 -0
  67. package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -0
  68. package/_cjs/core/actions/decrypt/decryptValues.js +19 -0
  69. package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -0
  70. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +18 -0
  71. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -0
  72. package/_cjs/core/actions/decrypt/generateTransportKeypair.js +8 -0
  73. package/_cjs/core/actions/decrypt/generateTransportKeypair.js.map +1 -0
  74. package/_cjs/core/actions/decrypt/index.js +20 -0
  75. package/_cjs/core/actions/decrypt/index.js.map +1 -0
  76. package/_cjs/core/actions/encrypt/encryptValue.js +24 -0
  77. package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -0
  78. package/_cjs/core/actions/encrypt/encryptValues.js +23 -0
  79. package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -0
  80. package/_cjs/core/actions/encrypt/generateZkProof.js +17 -0
  81. package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -0
  82. package/_cjs/core/actions/encrypt/index.js +10 -0
  83. package/_cjs/core/actions/encrypt/index.js.map +1 -0
  84. package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js +21 -0
  85. package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -0
  86. package/_cjs/core/actions/host/index.js +18 -0
  87. package/_cjs/core/actions/host/index.js.map +1 -0
  88. package/_cjs/core/actions/host/isAllowedForDecryption.js +20 -0
  89. package/_cjs/core/actions/host/isAllowedForDecryption.js.map +1 -0
  90. package/_cjs/core/actions/host/persistAllowed.js +20 -0
  91. package/_cjs/core/actions/host/persistAllowed.js.map +1 -0
  92. package/_cjs/core/actions/host/readFhevmExecutorContractData.js +46 -0
  93. package/_cjs/core/actions/host/readFhevmExecutorContractData.js.map +1 -0
  94. package/_cjs/core/actions/host/readInputVerifierContractData.js +41 -0
  95. package/_cjs/core/actions/host/readInputVerifierContractData.js.map +1 -0
  96. package/_cjs/core/actions/host/readKmsVerifierContractData.js +41 -0
  97. package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -0
  98. package/_cjs/core/actions/host/resolveChainId.js +23 -0
  99. package/_cjs/core/actions/host/resolveChainId.js.map +1 -0
  100. package/_cjs/core/actions/host/resolveFhevmConfig.js +85 -0
  101. package/_cjs/core/actions/host/resolveFhevmConfig.js.map +1 -0
  102. package/_cjs/core/base/address.js +182 -0
  103. package/_cjs/core/base/address.js.map +1 -0
  104. package/_cjs/core/base/auth.js +32 -0
  105. package/_cjs/core/base/auth.js.map +1 -0
  106. package/_cjs/core/base/boolean.js +33 -0
  107. package/_cjs/core/base/boolean.js.map +1 -0
  108. package/_cjs/core/base/bytes.js +1016 -0
  109. package/_cjs/core/base/bytes.js.map +1 -0
  110. package/_cjs/core/base/cachedFetch.js +78 -0
  111. package/_cjs/core/base/cachedFetch.js.map +1 -0
  112. package/_cjs/core/base/errors/AddressError.js +15 -0
  113. package/_cjs/core/base/errors/AddressError.js.map +1 -0
  114. package/_cjs/core/base/errors/ChecksummedAddressError.js +17 -0
  115. package/_cjs/core/base/errors/ChecksummedAddressError.js.map +1 -0
  116. package/_cjs/core/base/errors/ErrorBase.js +70 -0
  117. package/_cjs/core/base/errors/ErrorBase.js.map +1 -0
  118. package/_cjs/core/base/errors/FetchError.js +33 -0
  119. package/_cjs/core/base/errors/FetchError.js.map +1 -0
  120. package/_cjs/core/base/errors/FheTypeError.js +45 -0
  121. package/_cjs/core/base/errors/FheTypeError.js.map +1 -0
  122. package/_cjs/core/base/errors/InternalError.js +21 -0
  123. package/_cjs/core/base/errors/InternalError.js.map +1 -0
  124. package/_cjs/core/base/errors/InvalidPropertyError.js +72 -0
  125. package/_cjs/core/base/errors/InvalidPropertyError.js.map +1 -0
  126. package/_cjs/core/base/errors/InvalidTypeError.js +31 -0
  127. package/_cjs/core/base/errors/InvalidTypeError.js.map +1 -0
  128. package/_cjs/core/base/errors/utils.js +40 -0
  129. package/_cjs/core/base/errors/utils.js.map +1 -0
  130. package/_cjs/core/base/fetch.js +98 -0
  131. package/_cjs/core/base/fetch.js.map +1 -0
  132. package/_cjs/core/base/index.js +7 -0
  133. package/_cjs/core/base/index.js.map +1 -0
  134. package/_cjs/core/base/isomorphicWorker.js +209 -0
  135. package/_cjs/core/base/isomorphicWorker.js.map +1 -0
  136. package/_cjs/core/base/object.js +30 -0
  137. package/_cjs/core/base/object.js.map +1 -0
  138. package/_cjs/core/base/promise.js +14 -0
  139. package/_cjs/core/base/promise.js.map +1 -0
  140. package/_cjs/core/base/record.js +81 -0
  141. package/_cjs/core/base/record.js.map +1 -0
  142. package/_cjs/core/base/string.js +133 -0
  143. package/_cjs/core/base/string.js.map +1 -0
  144. package/_cjs/core/base/timeout.js +19 -0
  145. package/_cjs/core/base/timeout.js.map +1 -0
  146. package/_cjs/core/base/trustedValue.js +50 -0
  147. package/_cjs/core/base/trustedValue.js.map +1 -0
  148. package/_cjs/core/base/typedValue.js +184 -0
  149. package/_cjs/core/base/typedValue.js.map +1 -0
  150. package/_cjs/core/base/uid.js +19 -0
  151. package/_cjs/core/base/uid.js.map +1 -0
  152. package/_cjs/core/base/uint.js +414 -0
  153. package/_cjs/core/base/uint.js.map +1 -0
  154. package/_cjs/core/base/wasm.js +91 -0
  155. package/_cjs/core/base/wasm.js.map +1 -0
  156. package/_cjs/core/chains/definitions/localTestnet.js +33 -0
  157. package/_cjs/core/chains/definitions/localTestnet.js.map +1 -0
  158. package/_cjs/core/chains/definitions/mainnet.js +33 -0
  159. package/_cjs/core/chains/definitions/mainnet.js.map +1 -0
  160. package/_cjs/core/chains/definitions/sepolia.js +33 -0
  161. package/_cjs/core/chains/definitions/sepolia.js.map +1 -0
  162. package/_cjs/core/chains/index.js +10 -0
  163. package/_cjs/core/chains/index.js.map +1 -0
  164. package/_cjs/core/chains/utils.js +8 -0
  165. package/_cjs/core/chains/utils.js.map +1 -0
  166. package/_cjs/core/clients/decorators/base.js +34 -0
  167. package/_cjs/core/clients/decorators/base.js.map +1 -0
  168. package/_cjs/core/clients/decorators/decrypt.js +30 -0
  169. package/_cjs/core/clients/decorators/decrypt.js.map +1 -0
  170. package/_cjs/core/clients/decorators/encrypt-p.js +13 -0
  171. package/_cjs/core/clients/decorators/encrypt-p.js.map +1 -0
  172. package/_cjs/core/clients/decorators/encrypt.js +23 -0
  173. package/_cjs/core/clients/decorators/encrypt.js.map +1 -0
  174. package/_cjs/core/coprocessor/InputProof-p.js +236 -0
  175. package/_cjs/core/coprocessor/InputProof-p.js.map +1 -0
  176. package/_cjs/core/coprocessor/ZkProof-p.js +241 -0
  177. package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -0
  178. package/_cjs/core/coprocessor/ZkProofBuilder-p.js +192 -0
  179. package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -0
  180. package/_cjs/core/coprocessor/assertIsCoprocessorEip712Domain.js +19 -0
  181. package/_cjs/core/coprocessor/assertIsCoprocessorEip712Domain.js.map +1 -0
  182. package/_cjs/core/coprocessor/coprocessorEip712Types.js +17 -0
  183. package/_cjs/core/coprocessor/coprocessorEip712Types.js.map +1 -0
  184. package/_cjs/core/coprocessor/createCoprocessorEip712.js +41 -0
  185. package/_cjs/core/coprocessor/createCoprocessorEip712.js.map +1 -0
  186. package/_cjs/core/coprocessor/createCoprocessorEip712Domain.js +18 -0
  187. package/_cjs/core/coprocessor/createCoprocessorEip712Domain.js.map +1 -0
  188. package/_cjs/core/coprocessor/encrypt.js +20 -0
  189. package/_cjs/core/coprocessor/encrypt.js.map +1 -0
  190. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js +41 -0
  191. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js.map +1 -0
  192. package/_cjs/core/coprocessor/verifyHandlesCoprocessorSignatures.js +33 -0
  193. package/_cjs/core/coprocessor/verifyHandlesCoprocessorSignatures.js.map +1 -0
  194. package/_cjs/core/coprocessor/verifyInputProof.js +24 -0
  195. package/_cjs/core/coprocessor/verifyInputProof.js.map +1 -0
  196. package/_cjs/core/errors/AclError.js +48 -0
  197. package/_cjs/core/errors/AclError.js.map +1 -0
  198. package/_cjs/core/errors/ContractErrorBase.js +34 -0
  199. package/_cjs/core/errors/ContractErrorBase.js.map +1 -0
  200. package/_cjs/core/errors/EncryptionError.js +14 -0
  201. package/_cjs/core/errors/EncryptionError.js.map +1 -0
  202. package/_cjs/core/errors/FhevmConfigError.js +14 -0
  203. package/_cjs/core/errors/FhevmConfigError.js.map +1 -0
  204. package/_cjs/core/errors/FhevmErrorBase.js +66 -0
  205. package/_cjs/core/errors/FhevmErrorBase.js.map +1 -0
  206. package/_cjs/core/errors/FhevmHandleError.js +15 -0
  207. package/_cjs/core/errors/FhevmHandleError.js.map +1 -0
  208. package/_cjs/core/errors/InputProofError.js +25 -0
  209. package/_cjs/core/errors/InputProofError.js.map +1 -0
  210. package/_cjs/core/errors/RelayerAbortError.js +16 -0
  211. package/_cjs/core/errors/RelayerAbortError.js.map +1 -0
  212. package/_cjs/core/errors/RelayerErrorBase.js +85 -0
  213. package/_cjs/core/errors/RelayerErrorBase.js.map +1 -0
  214. package/_cjs/core/errors/RelayerFetchError.js +19 -0
  215. package/_cjs/core/errors/RelayerFetchError.js.map +1 -0
  216. package/_cjs/core/errors/RelayerFetchErrorBase.js +74 -0
  217. package/_cjs/core/errors/RelayerFetchErrorBase.js.map +1 -0
  218. package/_cjs/core/errors/RelayerMaxRetryError.js +17 -0
  219. package/_cjs/core/errors/RelayerMaxRetryError.js.map +1 -0
  220. package/_cjs/core/errors/RelayerRequestErrorBase.js +48 -0
  221. package/_cjs/core/errors/RelayerRequestErrorBase.js.map +1 -0
  222. package/_cjs/core/errors/RelayerRequestInternalError.js +45 -0
  223. package/_cjs/core/errors/RelayerRequestInternalError.js.map +1 -0
  224. package/_cjs/core/errors/RelayerResponseApiError.js +36 -0
  225. package/_cjs/core/errors/RelayerResponseApiError.js.map +1 -0
  226. package/_cjs/core/errors/RelayerResponseErrorBase.js +33 -0
  227. package/_cjs/core/errors/RelayerResponseErrorBase.js.map +1 -0
  228. package/_cjs/core/errors/RelayerResponseInputProofRejectedError.js +15 -0
  229. package/_cjs/core/errors/RelayerResponseInputProofRejectedError.js.map +1 -0
  230. package/_cjs/core/errors/RelayerResponseInvalidBodyError.js +36 -0
  231. package/_cjs/core/errors/RelayerResponseInvalidBodyError.js.map +1 -0
  232. package/_cjs/core/errors/RelayerResponseStatusError.js +17 -0
  233. package/_cjs/core/errors/RelayerResponseStatusError.js.map +1 -0
  234. package/_cjs/core/errors/RelayerStateError.js +33 -0
  235. package/_cjs/core/errors/RelayerStateError.js.map +1 -0
  236. package/_cjs/core/errors/RelayerTimeoutError.js +16 -0
  237. package/_cjs/core/errors/RelayerTimeoutError.js.map +1 -0
  238. package/_cjs/core/errors/SignersError.js +35 -0
  239. package/_cjs/core/errors/SignersError.js.map +1 -0
  240. package/_cjs/core/errors/TfheError.js +14 -0
  241. package/_cjs/core/errors/TfheError.js.map +1 -0
  242. package/_cjs/core/errors/ZkProofError.js +15 -0
  243. package/_cjs/core/errors/ZkProofError.js.map +1 -0
  244. package/_cjs/core/handle/ClearValue.js +185 -0
  245. package/_cjs/core/handle/ClearValue.js.map +1 -0
  246. package/_cjs/core/handle/EncryptedValue.js +32 -0
  247. package/_cjs/core/handle/EncryptedValue.js.map +1 -0
  248. package/_cjs/core/handle/FheType.js +298 -0
  249. package/_cjs/core/handle/FheType.js.map +1 -0
  250. package/_cjs/core/handle/FhevmHandle.js +352 -0
  251. package/_cjs/core/handle/FhevmHandle.js.map +1 -0
  252. package/_cjs/core/host-contracts/CoprocessorSignersContext-p.js +119 -0
  253. package/_cjs/core/host-contracts/CoprocessorSignersContext-p.js.map +1 -0
  254. package/_cjs/core/host-contracts/FhevmExecutorContractData-p.js +96 -0
  255. package/_cjs/core/host-contracts/FhevmExecutorContractData-p.js.map +1 -0
  256. package/_cjs/core/host-contracts/HostContractVersion-p.js +86 -0
  257. package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -0
  258. package/_cjs/core/host-contracts/InputVerifierContractData-p.js +95 -0
  259. package/_cjs/core/host-contracts/InputVerifierContractData-p.js.map +1 -0
  260. package/_cjs/core/host-contracts/KmsSignersContext-p.js +165 -0
  261. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -0
  262. package/_cjs/core/host-contracts/KmsVerifierContractData-p.js +77 -0
  263. package/_cjs/core/host-contracts/KmsVerifierContractData-p.js.map +1 -0
  264. package/_cjs/core/host-contracts/abi-fragments/fragments.js +336 -0
  265. package/_cjs/core/host-contracts/abi-fragments/fragments.js.map +1 -0
  266. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +47 -0
  267. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -0
  268. package/_cjs/core/host-contracts/checkAllowedForDecryption.js +17 -0
  269. package/_cjs/core/host-contracts/checkAllowedForDecryption.js.map +1 -0
  270. package/_cjs/core/host-contracts/checkPersistAllowed.js +75 -0
  271. package/_cjs/core/host-contracts/checkPersistAllowed.js.map +1 -0
  272. package/_cjs/core/host-contracts/decryptionResultTypehash-p.js +26 -0
  273. package/_cjs/core/host-contracts/decryptionResultTypehash-p.js.map +1 -0
  274. package/_cjs/core/host-contracts/eip712Domain-p.js +43 -0
  275. package/_cjs/core/host-contracts/eip712Domain-p.js.map +1 -0
  276. package/_cjs/core/host-contracts/eip712InputVerificationTypehash-p.js +26 -0
  277. package/_cjs/core/host-contracts/eip712InputVerificationTypehash-p.js.map +1 -0
  278. package/_cjs/core/host-contracts/getAclAddress-p.js +26 -0
  279. package/_cjs/core/host-contracts/getAclAddress-p.js.map +1 -0
  280. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +72 -0
  281. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -0
  282. package/_cjs/core/host-contracts/getCoprocessorSigners-p.js +26 -0
  283. package/_cjs/core/host-contracts/getCoprocessorSigners-p.js.map +1 -0
  284. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +40 -0
  285. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -0
  286. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js +26 -0
  287. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -0
  288. package/_cjs/core/host-contracts/getHandleVersion-p.js +21 -0
  289. package/_cjs/core/host-contracts/getHandleVersion-p.js.map +1 -0
  290. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js +26 -0
  291. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js.map +1 -0
  292. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js +26 -0
  293. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js.map +1 -0
  294. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +78 -0
  295. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -0
  296. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +57 -0
  297. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -0
  298. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js +54 -0
  299. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js.map +1 -0
  300. package/_cjs/core/host-contracts/isAllowedForDecryption.js +30 -0
  301. package/_cjs/core/host-contracts/isAllowedForDecryption.js.map +1 -0
  302. package/_cjs/core/host-contracts/isUserDecryptable.js +54 -0
  303. package/_cjs/core/host-contracts/isUserDecryptable.js.map +1 -0
  304. package/_cjs/core/host-contracts/persistAllowed.js +31 -0
  305. package/_cjs/core/host-contracts/persistAllowed.js.map +1 -0
  306. package/_cjs/core/host-contracts/readCoprocessorSignersContext-p.js +15 -0
  307. package/_cjs/core/host-contracts/readCoprocessorSignersContext-p.js.map +1 -0
  308. package/_cjs/core/host-contracts/readKmsSignersContext-p.js +103 -0
  309. package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -0
  310. package/_cjs/core/key/FheEncryptionKeyCache-p.js +221 -0
  311. package/_cjs/core/key/FheEncryptionKeyCache-p.js.map +1 -0
  312. package/_cjs/core/key/FheEncryptionKeyWasm-p.js +66 -0
  313. package/_cjs/core/key/FheEncryptionKeyWasm-p.js.map +1 -0
  314. package/_cjs/core/key/deserializeFheEncryptionKey.js +18 -0
  315. package/_cjs/core/key/deserializeFheEncryptionKey.js.map +1 -0
  316. package/_cjs/core/key/fetchFheEncryptionKey.js +30 -0
  317. package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -0
  318. package/_cjs/core/key/fetchFheEncryptionKeyBytes.js +39 -0
  319. package/_cjs/core/key/fetchFheEncryptionKeyBytes.js.map +1 -0
  320. package/_cjs/core/key/fetchFheEncryptionKeyBytesWithSource.js +53 -0
  321. package/_cjs/core/key/fetchFheEncryptionKeyBytesWithSource.js.map +1 -0
  322. package/_cjs/core/key/serializeFheEncryptionKey.js +22 -0
  323. package/_cjs/core/key/serializeFheEncryptionKey.js.map +1 -0
  324. package/_cjs/core/kms/KmsSigncryptedShares-p.js +94 -0
  325. package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -0
  326. package/_cjs/core/kms/PublicDecryptionProof-p.js +95 -0
  327. package/_cjs/core/kms/PublicDecryptionProof-p.js.map +1 -0
  328. package/_cjs/core/kms/PublicDecryptionProof.js +8 -0
  329. package/_cjs/core/kms/PublicDecryptionProof.js.map +1 -0
  330. package/_cjs/core/kms/SignedDecryptionPermit-p.js +230 -0
  331. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -0
  332. package/_cjs/core/kms/TransportKeypair-p.js +153 -0
  333. package/_cjs/core/kms/TransportKeypair-p.js.map +1 -0
  334. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js +72 -0
  335. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  336. package/_cjs/core/kms/createKmsEip712Domain.js +33 -0
  337. package/_cjs/core/kms/createKmsEip712Domain.js.map +1 -0
  338. package/_cjs/core/kms/createKmsPublicDecryptEip712.js +39 -0
  339. package/_cjs/core/kms/createKmsPublicDecryptEip712.js.map +1 -0
  340. package/_cjs/core/kms/createKmsUserDecryptEip712.js +91 -0
  341. package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +1 -0
  342. package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js +14 -0
  343. package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -0
  344. package/_cjs/core/kms/decryptValuesFromPairs.js +14 -0
  345. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -0
  346. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js +89 -0
  347. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -0
  348. package/_cjs/core/kms/index.js +3 -0
  349. package/_cjs/core/kms/index.js.map +1 -0
  350. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js +25 -0
  351. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +1 -0
  352. package/_cjs/core/kms/kmsExtraData.js +33 -0
  353. package/_cjs/core/kms/kmsExtraData.js.map +1 -0
  354. package/_cjs/core/kms/kmsPublicDecryptEip712Types.js +22 -0
  355. package/_cjs/core/kms/kmsPublicDecryptEip712Types.js.map +1 -0
  356. package/_cjs/core/kms/kmsUserDecryptEip712Types.js +24 -0
  357. package/_cjs/core/kms/kmsUserDecryptEip712Types.js.map +1 -0
  358. package/_cjs/core/kms/publicDecrypt.js +55 -0
  359. package/_cjs/core/kms/publicDecrypt.js.map +1 -0
  360. package/_cjs/core/kms/utils.js +34 -0
  361. package/_cjs/core/kms/utils.js.map +1 -0
  362. package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +34 -0
  363. package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -0
  364. package/_cjs/core/modules/decrypt/mock.js +69 -0
  365. package/_cjs/core/modules/decrypt/mock.js.map +1 -0
  366. package/_cjs/core/modules/decrypt/module/api-p.js +197 -0
  367. package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -0
  368. package/_cjs/core/modules/decrypt/module/index.js +43 -0
  369. package/_cjs/core/modules/decrypt/module/index.js.map +1 -0
  370. package/_cjs/core/modules/decrypt/module/init-p.js +124 -0
  371. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -0
  372. package/_cjs/core/modules/decrypt/types.js +3 -0
  373. package/_cjs/core/modules/decrypt/types.js.map +1 -0
  374. package/_cjs/core/modules/encrypt/mock.js +50 -0
  375. package/_cjs/core/modules/encrypt/mock.js.map +1 -0
  376. package/_cjs/core/modules/encrypt/module/api-p.js +263 -0
  377. package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -0
  378. package/_cjs/core/modules/encrypt/module/index.js +22 -0
  379. package/_cjs/core/modules/encrypt/module/index.js.map +1 -0
  380. package/_cjs/core/modules/encrypt/module/init-p.js +175 -0
  381. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -0
  382. package/_cjs/core/modules/encrypt/types.js +3 -0
  383. package/_cjs/core/modules/encrypt/types.js.map +1 -0
  384. package/_cjs/core/modules/ethereum/createTrustedClient.js +9 -0
  385. package/_cjs/core/modules/ethereum/createTrustedClient.js.map +1 -0
  386. package/_cjs/core/modules/ethereum/types.js +3 -0
  387. package/_cjs/core/modules/ethereum/types.js.map +1 -0
  388. package/_cjs/core/modules/relayer/mock.js +29 -0
  389. package/_cjs/core/modules/relayer/mock.js.map +1 -0
  390. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +1231 -0
  391. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -0
  392. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +30 -0
  393. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -0
  394. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +47 -0
  395. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -0
  396. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js +19 -0
  397. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js.map +1 -0
  398. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +124 -0
  399. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -0
  400. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +27 -0
  401. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -0
  402. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +48 -0
  403. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -0
  404. package/_cjs/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js +39 -0
  405. package/_cjs/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js.map +1 -0
  406. package/_cjs/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js +21 -0
  407. package/_cjs/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js.map +1 -0
  408. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js +122 -0
  409. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -0
  410. package/_cjs/core/modules/relayer/module/guards/RelayerResponseQueued.js +23 -0
  411. package/_cjs/core/modules/relayer/module/guards/RelayerResponseQueued.js.map +1 -0
  412. package/_cjs/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js +27 -0
  413. package/_cjs/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js.map +1 -0
  414. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +39 -0
  415. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -0
  416. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js +56 -0
  417. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js.map +1 -0
  418. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js +12 -0
  419. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js.map +1 -0
  420. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js +12 -0
  421. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js.map +1 -0
  422. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js +12 -0
  423. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js.map +1 -0
  424. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +17 -0
  425. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -0
  426. package/_cjs/core/modules/relayer/module/index.js +23 -0
  427. package/_cjs/core/modules/relayer/module/index.js.map +1 -0
  428. package/_cjs/core/modules/relayer/module/relayerUrl.js +36 -0
  429. package/_cjs/core/modules/relayer/module/relayerUrl.js.map +1 -0
  430. package/_cjs/core/modules/relayer/module/utils.js +22 -0
  431. package/_cjs/core/modules/relayer/module/utils.js.map +1 -0
  432. package/_cjs/core/modules/relayer/types.js +3 -0
  433. package/_cjs/core/modules/relayer/types.js.map +1 -0
  434. package/_cjs/core/runtime/CoreFhevm-p.js +221 -0
  435. package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -0
  436. package/_cjs/core/runtime/CoreFhevmRuntime-p.js +156 -0
  437. package/_cjs/core/runtime/CoreFhevmRuntime-p.js.map +1 -0
  438. package/_cjs/core/runtime/FhevmRuntime.js +9 -0
  439. package/_cjs/core/runtime/FhevmRuntime.js.map +1 -0
  440. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +11 -0
  441. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -0
  442. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +11 -0
  443. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -0
  444. package/_cjs/core/runtime/initFhevmRuntime-p.js +12 -0
  445. package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -0
  446. package/_cjs/core/types/auth.js +3 -0
  447. package/_cjs/core/types/auth.js.map +1 -0
  448. package/_cjs/core/types/configs.js +3 -0
  449. package/_cjs/core/types/configs.js.map +1 -0
  450. package/_cjs/core/types/coprocessor.js +3 -0
  451. package/_cjs/core/types/coprocessor.js.map +1 -0
  452. package/_cjs/core/types/coprocessorSignersContext.js +3 -0
  453. package/_cjs/core/types/coprocessorSignersContext.js.map +1 -0
  454. package/_cjs/core/types/coreFhevmClient.js +3 -0
  455. package/_cjs/core/types/coreFhevmClient.js.map +1 -0
  456. package/_cjs/core/types/coreFhevmRuntime.js +3 -0
  457. package/_cjs/core/types/coreFhevmRuntime.js.map +1 -0
  458. package/_cjs/core/types/encryptedTypes-p.js +3 -0
  459. package/_cjs/core/types/encryptedTypes-p.js.map +1 -0
  460. package/_cjs/core/types/encryptedTypes.js +3 -0
  461. package/_cjs/core/types/encryptedTypes.js.map +1 -0
  462. package/_cjs/core/types/fheEncryptionKey.js +3 -0
  463. package/_cjs/core/types/fheEncryptionKey.js.map +1 -0
  464. package/_cjs/core/types/fheType.js +3 -0
  465. package/_cjs/core/types/fheType.js.map +1 -0
  466. package/_cjs/core/types/fhevmChain.js +3 -0
  467. package/_cjs/core/types/fhevmChain.js.map +1 -0
  468. package/_cjs/core/types/fhevmClient.js +3 -0
  469. package/_cjs/core/types/fhevmClient.js.map +1 -0
  470. package/_cjs/core/types/fhevmDecryptionKey.js +3 -0
  471. package/_cjs/core/types/fhevmDecryptionKey.js.map +1 -0
  472. package/_cjs/core/types/fhevmUser.js +3 -0
  473. package/_cjs/core/types/fhevmUser.js.map +1 -0
  474. package/_cjs/core/types/hostContract.js +3 -0
  475. package/_cjs/core/types/hostContract.js.map +1 -0
  476. package/_cjs/core/types/index.js +3 -0
  477. package/_cjs/core/types/index.js.map +1 -0
  478. package/_cjs/core/types/inputProof.js +3 -0
  479. package/_cjs/core/types/inputProof.js.map +1 -0
  480. package/_cjs/core/types/kms-p.js +3 -0
  481. package/_cjs/core/types/kms-p.js.map +1 -0
  482. package/_cjs/core/types/kms.js +3 -0
  483. package/_cjs/core/types/kms.js.map +1 -0
  484. package/_cjs/core/types/kmsSignersContext.js +3 -0
  485. package/_cjs/core/types/kmsSignersContext.js.map +1 -0
  486. package/_cjs/core/types/logger.js +3 -0
  487. package/_cjs/core/types/logger.js.map +1 -0
  488. package/_cjs/core/types/other-p.js +3 -0
  489. package/_cjs/core/types/other-p.js.map +1 -0
  490. package/_cjs/core/types/primitives.js +3 -0
  491. package/_cjs/core/types/primitives.js.map +1 -0
  492. package/_cjs/core/types/publicDecryptionProof-p.js +3 -0
  493. package/_cjs/core/types/publicDecryptionProof-p.js.map +1 -0
  494. package/_cjs/core/types/record-p.js +3 -0
  495. package/_cjs/core/types/record-p.js.map +1 -0
  496. package/_cjs/core/types/relayer-p.js +3 -0
  497. package/_cjs/core/types/relayer-p.js.map +1 -0
  498. package/_cjs/core/types/relayer.js +3 -0
  499. package/_cjs/core/types/relayer.js.map +1 -0
  500. package/_cjs/core/types/signedDecryptionPermit.js +3 -0
  501. package/_cjs/core/types/signedDecryptionPermit.js.map +1 -0
  502. package/_cjs/core/types/tkms-p.js +3 -0
  503. package/_cjs/core/types/tkms-p.js.map +1 -0
  504. package/_cjs/core/types/utils.js +3 -0
  505. package/_cjs/core/types/utils.js.map +1 -0
  506. package/_cjs/core/types/zkProof-p.js +3 -0
  507. package/_cjs/core/types/zkProof-p.js.map +1 -0
  508. package/_cjs/core/types/zkProofBuilder.js +3 -0
  509. package/_cjs/core/types/zkProofBuilder.js.map +1 -0
  510. package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js +14 -0
  511. package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +1 -0
  512. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js +32 -0
  513. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  514. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js +32 -0
  515. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +1 -0
  516. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +13 -0
  517. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -0
  518. package/_cjs/core/utils-p/runtime/recoverSigners.js +23 -0
  519. package/_cjs/core/utils-p/runtime/recoverSigners.js.map +1 -0
  520. package/_cjs/ethers/clients/createFhevmBaseClient.js +16 -0
  521. package/_cjs/ethers/clients/createFhevmBaseClient.js.map +1 -0
  522. package/_cjs/ethers/clients/createFhevmClient.js +11 -0
  523. package/_cjs/ethers/clients/createFhevmClient.js.map +1 -0
  524. package/_cjs/ethers/clients/createFhevmDecryptClient.js +10 -0
  525. package/_cjs/ethers/clients/createFhevmDecryptClient.js.map +1 -0
  526. package/_cjs/ethers/clients/createFhevmEncryptClient.js +10 -0
  527. package/_cjs/ethers/clients/createFhevmEncryptClient.js.map +1 -0
  528. package/_cjs/ethers/decorators/decrypt.js +9 -0
  529. package/_cjs/ethers/decorators/decrypt.js.map +1 -0
  530. package/_cjs/ethers/decorators/encrypt.js +9 -0
  531. package/_cjs/ethers/decorators/encrypt.js.map +1 -0
  532. package/_cjs/ethers/index.js +20 -0
  533. package/_cjs/ethers/index.js.map +1 -0
  534. package/_cjs/ethers/internal/ethereum.js +80 -0
  535. package/_cjs/ethers/internal/ethereum.js.map +1 -0
  536. package/_cjs/ethers/internal/ethers-p.js +52 -0
  537. package/_cjs/ethers/internal/ethers-p.js.map +1 -0
  538. package/_cjs/ethers/internal/utils.js +26 -0
  539. package/_cjs/ethers/internal/utils.js.map +1 -0
  540. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js +9 -0
  541. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -0
  542. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js +9 -0
  543. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -0
  544. package/_cjs/ethers/runtime/initFhevmRuntime.js +9 -0
  545. package/_cjs/ethers/runtime/initFhevmRuntime.js.map +1 -0
  546. package/_cjs/package.json +1 -0
  547. package/_cjs/viem/clients/createFhevmBaseClient.js +16 -0
  548. package/_cjs/viem/clients/createFhevmBaseClient.js.map +1 -0
  549. package/_cjs/viem/clients/createFhevmClient.js +11 -0
  550. package/_cjs/viem/clients/createFhevmClient.js.map +1 -0
  551. package/_cjs/viem/clients/createFhevmDecryptClient.js +10 -0
  552. package/_cjs/viem/clients/createFhevmDecryptClient.js.map +1 -0
  553. package/_cjs/viem/clients/createFhevmEncryptClient.js +10 -0
  554. package/_cjs/viem/clients/createFhevmEncryptClient.js.map +1 -0
  555. package/_cjs/viem/decorators/decrypt.js +9 -0
  556. package/_cjs/viem/decorators/decrypt.js.map +1 -0
  557. package/_cjs/viem/decorators/encrypt.js +9 -0
  558. package/_cjs/viem/decorators/encrypt.js.map +1 -0
  559. package/_cjs/viem/index.js +20 -0
  560. package/_cjs/viem/index.js.map +1 -0
  561. package/_cjs/viem/internal/ethereum.js +68 -0
  562. package/_cjs/viem/internal/ethereum.js.map +1 -0
  563. package/_cjs/viem/internal/viem-p.js +52 -0
  564. package/_cjs/viem/internal/viem-p.js.map +1 -0
  565. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js +9 -0
  566. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js.map +1 -0
  567. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js +9 -0
  568. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js.map +1 -0
  569. package/_cjs/viem/runtime/initFhevmRuntime.js +9 -0
  570. package/_cjs/viem/runtime/initFhevmRuntime.js.map +1 -0
  571. package/_cjs/wasm/tfhe/compile-worker.js +8 -0
  572. package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
  573. package/_cjs/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
  574. package/_cjs/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
  575. package/_cjs/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
  576. package/_cjs/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
  577. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
  578. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
  579. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
  580. package/_cjs/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
  581. package/_cjs/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
  582. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
  583. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
  584. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
  585. package/_cjs/wasm/wasmBaseUrl.d.ts +7 -0
  586. package/_cjs/wasm/wasmBaseUrl.js +14 -0
  587. package/_esm/core/_version.js +4 -0
  588. package/_esm/core/_version.js.map +1 -0
  589. package/_esm/core/actions/base/canReadPublicValue.js +11 -0
  590. package/_esm/core/actions/base/canReadPublicValue.js.map +1 -0
  591. package/_esm/core/actions/base/canReadPublicValues.js +11 -0
  592. package/_esm/core/actions/base/canReadPublicValues.js.map +1 -0
  593. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js +7 -0
  594. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +1 -0
  595. package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js +17 -0
  596. package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js.map +1 -0
  597. package/_esm/core/actions/base/fetchVerifiedInputProof.js +8 -0
  598. package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +1 -0
  599. package/_esm/core/actions/base/index.js +14 -0
  600. package/_esm/core/actions/base/index.js.map +1 -0
  601. package/_esm/core/actions/base/readCoprocessorSignersContext.js +9 -0
  602. package/_esm/core/actions/base/readCoprocessorSignersContext.js.map +1 -0
  603. package/_esm/core/actions/base/readKmsSignersContext.js +9 -0
  604. package/_esm/core/actions/base/readKmsSignersContext.js.map +1 -0
  605. package/_esm/core/actions/base/readPublicValue.js +11 -0
  606. package/_esm/core/actions/base/readPublicValue.js.map +1 -0
  607. package/_esm/core/actions/base/readPublicValues.js +11 -0
  608. package/_esm/core/actions/base/readPublicValues.js.map +1 -0
  609. package/_esm/core/actions/base/readPublicValuesWithSignatures.js +19 -0
  610. package/_esm/core/actions/base/readPublicValuesWithSignatures.js.map +1 -0
  611. package/_esm/core/actions/base/signDecryptionPermit.js +11 -0
  612. package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -0
  613. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js +35 -0
  614. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +1 -0
  615. package/_esm/core/actions/base/verifyInputProof.js +22 -0
  616. package/_esm/core/actions/base/verifyInputProof.js.map +1 -0
  617. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js +14 -0
  618. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +1 -0
  619. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js +8 -0
  620. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js.map +1 -0
  621. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +15 -0
  622. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  623. package/_esm/core/actions/chain/createKmsEip712Domain.js +8 -0
  624. package/_esm/core/actions/chain/createKmsEip712Domain.js.map +1 -0
  625. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js +14 -0
  626. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -0
  627. package/_esm/core/actions/chain/fetchFheEncryptionKeyBytes.js +6 -0
  628. package/_esm/core/actions/chain/fetchFheEncryptionKeyBytes.js.map +1 -0
  629. package/_esm/core/actions/chain/index.js +13 -0
  630. package/_esm/core/actions/chain/index.js.map +1 -0
  631. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +15 -0
  632. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -0
  633. package/_esm/core/actions/chain/parseTransportKeypair.js +7 -0
  634. package/_esm/core/actions/chain/parseTransportKeypair.js.map +1 -0
  635. package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js +11 -0
  636. package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -0
  637. package/_esm/core/actions/chain/serializeTransportKeypair.js +6 -0
  638. package/_esm/core/actions/chain/serializeTransportKeypair.js.map +1 -0
  639. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +5 -0
  640. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  641. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js +5 -0
  642. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js.map +1 -0
  643. package/_esm/core/actions/decrypt/canDecryptValue.js +18 -0
  644. package/_esm/core/actions/decrypt/canDecryptValue.js.map +1 -0
  645. package/_esm/core/actions/decrypt/canDecryptValues.js +20 -0
  646. package/_esm/core/actions/decrypt/canDecryptValues.js.map +1 -0
  647. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js +16 -0
  648. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -0
  649. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js +9 -0
  650. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +1 -0
  651. package/_esm/core/actions/decrypt/decryptValue.js +18 -0
  652. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -0
  653. package/_esm/core/actions/decrypt/decryptValues.js +16 -0
  654. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -0
  655. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +15 -0
  656. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -0
  657. package/_esm/core/actions/decrypt/generateTransportKeypair.js +6 -0
  658. package/_esm/core/actions/decrypt/generateTransportKeypair.js.map +1 -0
  659. package/_esm/core/actions/decrypt/index.js +9 -0
  660. package/_esm/core/actions/decrypt/index.js.map +1 -0
  661. package/_esm/core/actions/encrypt/encryptValue.js +24 -0
  662. package/_esm/core/actions/encrypt/encryptValue.js.map +1 -0
  663. package/_esm/core/actions/encrypt/encryptValues.js +22 -0
  664. package/_esm/core/actions/encrypt/encryptValues.js.map +1 -0
  665. package/_esm/core/actions/encrypt/generateZkProof.js +15 -0
  666. package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -0
  667. package/_esm/core/actions/encrypt/index.js +4 -0
  668. package/_esm/core/actions/encrypt/index.js.map +1 -0
  669. package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js +18 -0
  670. package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -0
  671. package/_esm/core/actions/host/index.js +8 -0
  672. package/_esm/core/actions/host/index.js.map +1 -0
  673. package/_esm/core/actions/host/isAllowedForDecryption.js +18 -0
  674. package/_esm/core/actions/host/isAllowedForDecryption.js.map +1 -0
  675. package/_esm/core/actions/host/persistAllowed.js +17 -0
  676. package/_esm/core/actions/host/persistAllowed.js.map +1 -0
  677. package/_esm/core/actions/host/readFhevmExecutorContractData.js +53 -0
  678. package/_esm/core/actions/host/readFhevmExecutorContractData.js.map +1 -0
  679. package/_esm/core/actions/host/readInputVerifierContractData.js +49 -0
  680. package/_esm/core/actions/host/readInputVerifierContractData.js.map +1 -0
  681. package/_esm/core/actions/host/readKmsVerifierContractData.js +49 -0
  682. package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -0
  683. package/_esm/core/actions/host/resolveChainId.js +24 -0
  684. package/_esm/core/actions/host/resolveChainId.js.map +1 -0
  685. package/_esm/core/actions/host/resolveFhevmConfig.js +89 -0
  686. package/_esm/core/actions/host/resolveFhevmConfig.js.map +1 -0
  687. package/_esm/core/base/address.js +210 -0
  688. package/_esm/core/base/address.js.map +1 -0
  689. package/_esm/core/base/auth.js +36 -0
  690. package/_esm/core/base/auth.js.map +1 -0
  691. package/_esm/core/base/boolean.js +62 -0
  692. package/_esm/core/base/boolean.js.map +1 -0
  693. package/_esm/core/base/bytes.js +1445 -0
  694. package/_esm/core/base/bytes.js.map +1 -0
  695. package/_esm/core/base/cachedFetch.js +88 -0
  696. package/_esm/core/base/cachedFetch.js.map +1 -0
  697. package/_esm/core/base/errors/AddressError.js +11 -0
  698. package/_esm/core/base/errors/AddressError.js.map +1 -0
  699. package/_esm/core/base/errors/ChecksummedAddressError.js +13 -0
  700. package/_esm/core/base/errors/ChecksummedAddressError.js.map +1 -0
  701. package/_esm/core/base/errors/ErrorBase.js +68 -0
  702. package/_esm/core/base/errors/ErrorBase.js.map +1 -0
  703. package/_esm/core/base/errors/FetchError.js +30 -0
  704. package/_esm/core/base/errors/FetchError.js.map +1 -0
  705. package/_esm/core/base/errors/FheTypeError.js +44 -0
  706. package/_esm/core/base/errors/FheTypeError.js.map +1 -0
  707. package/_esm/core/base/errors/InternalError.js +18 -0
  708. package/_esm/core/base/errors/InternalError.js.map +1 -0
  709. package/_esm/core/base/errors/InvalidPropertyError.js +183 -0
  710. package/_esm/core/base/errors/InvalidPropertyError.js.map +1 -0
  711. package/_esm/core/base/errors/InvalidTypeError.js +57 -0
  712. package/_esm/core/base/errors/InvalidTypeError.js.map +1 -0
  713. package/_esm/core/base/errors/utils.js +36 -0
  714. package/_esm/core/base/errors/utils.js.map +1 -0
  715. package/_esm/core/base/fetch.js +210 -0
  716. package/_esm/core/base/fetch.js.map +1 -0
  717. package/_esm/core/base/index.js +2 -0
  718. package/_esm/core/base/index.js.map +1 -0
  719. package/_esm/core/base/isomorphicWorker.js +235 -0
  720. package/_esm/core/base/isomorphicWorker.js.map +1 -0
  721. package/_esm/core/base/object.js +36 -0
  722. package/_esm/core/base/object.js.map +1 -0
  723. package/_esm/core/base/promise.js +31 -0
  724. package/_esm/core/base/promise.js.map +1 -0
  725. package/_esm/core/base/record.js +149 -0
  726. package/_esm/core/base/record.js.map +1 -0
  727. package/_esm/core/base/string.js +163 -0
  728. package/_esm/core/base/string.js.map +1 -0
  729. package/_esm/core/base/timeout.js +26 -0
  730. package/_esm/core/base/timeout.js.map +1 -0
  731. package/_esm/core/base/trustedValue.js +83 -0
  732. package/_esm/core/base/trustedValue.js.map +1 -0
  733. package/_esm/core/base/typedValue.js +236 -0
  734. package/_esm/core/base/typedValue.js.map +1 -0
  735. package/_esm/core/base/uid.js +17 -0
  736. package/_esm/core/base/uid.js.map +1 -0
  737. package/_esm/core/base/uint.js +402 -0
  738. package/_esm/core/base/uint.js.map +1 -0
  739. package/_esm/core/base/wasm.js +84 -0
  740. package/_esm/core/base/wasm.js.map +1 -0
  741. package/_esm/core/chains/definitions/localTestnet.js +30 -0
  742. package/_esm/core/chains/definitions/localTestnet.js.map +1 -0
  743. package/_esm/core/chains/definitions/mainnet.js +30 -0
  744. package/_esm/core/chains/definitions/mainnet.js.map +1 -0
  745. package/_esm/core/chains/definitions/sepolia.js +30 -0
  746. package/_esm/core/chains/definitions/sepolia.js.map +1 -0
  747. package/_esm/core/chains/index.js +4 -0
  748. package/_esm/core/chains/index.js.map +1 -0
  749. package/_esm/core/chains/utils.js +5 -0
  750. package/_esm/core/chains/utils.js.map +1 -0
  751. package/_esm/core/clients/decorators/base.js +36 -0
  752. package/_esm/core/clients/decorators/base.js.map +1 -0
  753. package/_esm/core/clients/decorators/decrypt.js +32 -0
  754. package/_esm/core/clients/decorators/decrypt.js.map +1 -0
  755. package/_esm/core/clients/decorators/encrypt-p.js +12 -0
  756. package/_esm/core/clients/decorators/encrypt-p.js.map +1 -0
  757. package/_esm/core/clients/decorators/encrypt.js +22 -0
  758. package/_esm/core/clients/decorators/encrypt.js.map +1 -0
  759. package/_esm/core/coprocessor/InputProof-p.js +268 -0
  760. package/_esm/core/coprocessor/InputProof-p.js.map +1 -0
  761. package/_esm/core/coprocessor/ZkProof-p.js +343 -0
  762. package/_esm/core/coprocessor/ZkProof-p.js.map +1 -0
  763. package/_esm/core/coprocessor/ZkProofBuilder-p.js +208 -0
  764. package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -0
  765. package/_esm/core/coprocessor/assertIsCoprocessorEip712Domain.js +16 -0
  766. package/_esm/core/coprocessor/assertIsCoprocessorEip712Domain.js.map +1 -0
  767. package/_esm/core/coprocessor/coprocessorEip712Types.js +34 -0
  768. package/_esm/core/coprocessor/coprocessorEip712Types.js.map +1 -0
  769. package/_esm/core/coprocessor/createCoprocessorEip712.js +41 -0
  770. package/_esm/core/coprocessor/createCoprocessorEip712.js.map +1 -0
  771. package/_esm/core/coprocessor/createCoprocessorEip712Domain.js +15 -0
  772. package/_esm/core/coprocessor/createCoprocessorEip712Domain.js.map +1 -0
  773. package/_esm/core/coprocessor/encrypt.js +18 -0
  774. package/_esm/core/coprocessor/encrypt.js.map +1 -0
  775. package/_esm/core/coprocessor/fetchVerifiedInputProof.js +47 -0
  776. package/_esm/core/coprocessor/fetchVerifiedInputProof.js.map +1 -0
  777. package/_esm/core/coprocessor/verifyHandlesCoprocessorSignatures.js +37 -0
  778. package/_esm/core/coprocessor/verifyHandlesCoprocessorSignatures.js.map +1 -0
  779. package/_esm/core/coprocessor/verifyInputProof.js +22 -0
  780. package/_esm/core/coprocessor/verifyInputProof.js.map +1 -0
  781. package/_esm/core/errors/AclError.js +43 -0
  782. package/_esm/core/errors/AclError.js.map +1 -0
  783. package/_esm/core/errors/ContractErrorBase.js +30 -0
  784. package/_esm/core/errors/ContractErrorBase.js.map +1 -0
  785. package/_esm/core/errors/EncryptionError.js +10 -0
  786. package/_esm/core/errors/EncryptionError.js.map +1 -0
  787. package/_esm/core/errors/FhevmConfigError.js +10 -0
  788. package/_esm/core/errors/FhevmConfigError.js.map +1 -0
  789. package/_esm/core/errors/FhevmErrorBase.js +62 -0
  790. package/_esm/core/errors/FhevmErrorBase.js.map +1 -0
  791. package/_esm/core/errors/FhevmHandleError.js +11 -0
  792. package/_esm/core/errors/FhevmHandleError.js.map +1 -0
  793. package/_esm/core/errors/InputProofError.js +20 -0
  794. package/_esm/core/errors/InputProofError.js.map +1 -0
  795. package/_esm/core/errors/RelayerAbortError.js +15 -0
  796. package/_esm/core/errors/RelayerAbortError.js.map +1 -0
  797. package/_esm/core/errors/RelayerErrorBase.js +83 -0
  798. package/_esm/core/errors/RelayerErrorBase.js.map +1 -0
  799. package/_esm/core/errors/RelayerFetchError.js +18 -0
  800. package/_esm/core/errors/RelayerFetchError.js.map +1 -0
  801. package/_esm/core/errors/RelayerFetchErrorBase.js +71 -0
  802. package/_esm/core/errors/RelayerFetchErrorBase.js.map +1 -0
  803. package/_esm/core/errors/RelayerMaxRetryError.js +16 -0
  804. package/_esm/core/errors/RelayerMaxRetryError.js.map +1 -0
  805. package/_esm/core/errors/RelayerRequestErrorBase.js +44 -0
  806. package/_esm/core/errors/RelayerRequestErrorBase.js.map +1 -0
  807. package/_esm/core/errors/RelayerRequestInternalError.js +44 -0
  808. package/_esm/core/errors/RelayerRequestInternalError.js.map +1 -0
  809. package/_esm/core/errors/RelayerResponseApiError.js +35 -0
  810. package/_esm/core/errors/RelayerResponseApiError.js.map +1 -0
  811. package/_esm/core/errors/RelayerResponseErrorBase.js +29 -0
  812. package/_esm/core/errors/RelayerResponseErrorBase.js.map +1 -0
  813. package/_esm/core/errors/RelayerResponseInputProofRejectedError.js +14 -0
  814. package/_esm/core/errors/RelayerResponseInputProofRejectedError.js.map +1 -0
  815. package/_esm/core/errors/RelayerResponseInvalidBodyError.js +35 -0
  816. package/_esm/core/errors/RelayerResponseInvalidBodyError.js.map +1 -0
  817. package/_esm/core/errors/RelayerResponseStatusError.js +16 -0
  818. package/_esm/core/errors/RelayerResponseStatusError.js.map +1 -0
  819. package/_esm/core/errors/RelayerStateError.js +32 -0
  820. package/_esm/core/errors/RelayerStateError.js.map +1 -0
  821. package/_esm/core/errors/RelayerTimeoutError.js +15 -0
  822. package/_esm/core/errors/RelayerTimeoutError.js.map +1 -0
  823. package/_esm/core/errors/SignersError.js +29 -0
  824. package/_esm/core/errors/SignersError.js.map +1 -0
  825. package/_esm/core/errors/TfheError.js +10 -0
  826. package/_esm/core/errors/TfheError.js.map +1 -0
  827. package/_esm/core/errors/ZkProofError.js +11 -0
  828. package/_esm/core/errors/ZkProofError.js.map +1 -0
  829. package/_esm/core/handle/ClearValue.js +272 -0
  830. package/_esm/core/handle/ClearValue.js.map +1 -0
  831. package/_esm/core/handle/EncryptedValue.js +26 -0
  832. package/_esm/core/handle/EncryptedValue.js.map +1 -0
  833. package/_esm/core/handle/FheType.js +430 -0
  834. package/_esm/core/handle/FheType.js.map +1 -0
  835. package/_esm/core/handle/FhevmHandle.js +545 -0
  836. package/_esm/core/handle/FhevmHandle.js.map +1 -0
  837. package/_esm/core/host-contracts/CoprocessorSignersContext-p.js +125 -0
  838. package/_esm/core/host-contracts/CoprocessorSignersContext-p.js.map +1 -0
  839. package/_esm/core/host-contracts/FhevmExecutorContractData-p.js +102 -0
  840. package/_esm/core/host-contracts/FhevmExecutorContractData-p.js.map +1 -0
  841. package/_esm/core/host-contracts/HostContractVersion-p.js +113 -0
  842. package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -0
  843. package/_esm/core/host-contracts/InputVerifierContractData-p.js +102 -0
  844. package/_esm/core/host-contracts/InputVerifierContractData-p.js.map +1 -0
  845. package/_esm/core/host-contracts/KmsSignersContext-p.js +177 -0
  846. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -0
  847. package/_esm/core/host-contracts/KmsVerifierContractData-p.js +84 -0
  848. package/_esm/core/host-contracts/KmsVerifierContractData-p.js.map +1 -0
  849. package/_esm/core/host-contracts/abi-fragments/fragments.js +393 -0
  850. package/_esm/core/host-contracts/abi-fragments/fragments.js.map +1 -0
  851. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +45 -0
  852. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -0
  853. package/_esm/core/host-contracts/checkAllowedForDecryption.js +15 -0
  854. package/_esm/core/host-contracts/checkAllowedForDecryption.js.map +1 -0
  855. package/_esm/core/host-contracts/checkPersistAllowed.js +83 -0
  856. package/_esm/core/host-contracts/checkPersistAllowed.js.map +1 -0
  857. package/_esm/core/host-contracts/decryptionResultTypehash-p.js +29 -0
  858. package/_esm/core/host-contracts/decryptionResultTypehash-p.js.map +1 -0
  859. package/_esm/core/host-contracts/eip712Domain-p.js +46 -0
  860. package/_esm/core/host-contracts/eip712Domain-p.js.map +1 -0
  861. package/_esm/core/host-contracts/eip712InputVerificationTypehash-p.js +29 -0
  862. package/_esm/core/host-contracts/eip712InputVerificationTypehash-p.js.map +1 -0
  863. package/_esm/core/host-contracts/getAclAddress-p.js +29 -0
  864. package/_esm/core/host-contracts/getAclAddress-p.js.map +1 -0
  865. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +92 -0
  866. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -0
  867. package/_esm/core/host-contracts/getCoprocessorSigners-p.js +29 -0
  868. package/_esm/core/host-contracts/getCoprocessorSigners-p.js.map +1 -0
  869. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +50 -0
  870. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -0
  871. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js +29 -0
  872. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -0
  873. package/_esm/core/host-contracts/getHandleVersion-p.js +24 -0
  874. package/_esm/core/host-contracts/getHandleVersion-p.js.map +1 -0
  875. package/_esm/core/host-contracts/getHcuLimitAddress-p.js +29 -0
  876. package/_esm/core/host-contracts/getHcuLimitAddress-p.js.map +1 -0
  877. package/_esm/core/host-contracts/getInputVerifierAddress-p.js +29 -0
  878. package/_esm/core/host-contracts/getInputVerifierAddress-p.js.map +1 -0
  879. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +108 -0
  880. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -0
  881. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +73 -0
  882. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -0
  883. package/_esm/core/host-contracts/getSignersForKmsContext-p.js +64 -0
  884. package/_esm/core/host-contracts/getSignersForKmsContext-p.js.map +1 -0
  885. package/_esm/core/host-contracts/isAllowedForDecryption.js +29 -0
  886. package/_esm/core/host-contracts/isAllowedForDecryption.js.map +1 -0
  887. package/_esm/core/host-contracts/isUserDecryptable.js +56 -0
  888. package/_esm/core/host-contracts/isUserDecryptable.js.map +1 -0
  889. package/_esm/core/host-contracts/persistAllowed.js +30 -0
  890. package/_esm/core/host-contracts/persistAllowed.js.map +1 -0
  891. package/_esm/core/host-contracts/readCoprocessorSignersContext-p.js +14 -0
  892. package/_esm/core/host-contracts/readCoprocessorSignersContext-p.js.map +1 -0
  893. package/_esm/core/host-contracts/readKmsSignersContext-p.js +116 -0
  894. package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -0
  895. package/_esm/core/key/FheEncryptionKeyCache-p.js +278 -0
  896. package/_esm/core/key/FheEncryptionKeyCache-p.js.map +1 -0
  897. package/_esm/core/key/FheEncryptionKeyWasm-p.js +73 -0
  898. package/_esm/core/key/FheEncryptionKeyWasm-p.js.map +1 -0
  899. package/_esm/core/key/deserializeFheEncryptionKey.js +16 -0
  900. package/_esm/core/key/deserializeFheEncryptionKey.js.map +1 -0
  901. package/_esm/core/key/fetchFheEncryptionKey.js +29 -0
  902. package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -0
  903. package/_esm/core/key/fetchFheEncryptionKeyBytes.js +46 -0
  904. package/_esm/core/key/fetchFheEncryptionKeyBytes.js.map +1 -0
  905. package/_esm/core/key/fetchFheEncryptionKeyBytesWithSource.js +57 -0
  906. package/_esm/core/key/fetchFheEncryptionKeyBytesWithSource.js.map +1 -0
  907. package/_esm/core/key/serializeFheEncryptionKey.js +21 -0
  908. package/_esm/core/key/serializeFheEncryptionKey.js.map +1 -0
  909. package/_esm/core/kms/KmsSigncryptedShares-p.js +141 -0
  910. package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -0
  911. package/_esm/core/kms/PublicDecryptionProof-p.js +122 -0
  912. package/_esm/core/kms/PublicDecryptionProof-p.js.map +1 -0
  913. package/_esm/core/kms/PublicDecryptionProof.js +8 -0
  914. package/_esm/core/kms/PublicDecryptionProof.js.map +1 -0
  915. package/_esm/core/kms/SignedDecryptionPermit-p.js +286 -0
  916. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -0
  917. package/_esm/core/kms/TransportKeypair-p.js +211 -0
  918. package/_esm/core/kms/TransportKeypair-p.js.map +1 -0
  919. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js +73 -0
  920. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  921. package/_esm/core/kms/createKmsEip712Domain.js +40 -0
  922. package/_esm/core/kms/createKmsEip712Domain.js.map +1 -0
  923. package/_esm/core/kms/createKmsPublicDecryptEip712.js +39 -0
  924. package/_esm/core/kms/createKmsPublicDecryptEip712.js.map +1 -0
  925. package/_esm/core/kms/createKmsUserDecryptEip712.js +100 -0
  926. package/_esm/core/kms/createKmsUserDecryptEip712.js.map +1 -0
  927. package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js +14 -0
  928. package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -0
  929. package/_esm/core/kms/decryptValuesFromPairs.js +14 -0
  930. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -0
  931. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js +124 -0
  932. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -0
  933. package/_esm/core/kms/index.js +2 -0
  934. package/_esm/core/kms/index.js.map +1 -0
  935. package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js +28 -0
  936. package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +1 -0
  937. package/_esm/core/kms/kmsExtraData.js +35 -0
  938. package/_esm/core/kms/kmsExtraData.js.map +1 -0
  939. package/_esm/core/kms/kmsPublicDecryptEip712Types.js +25 -0
  940. package/_esm/core/kms/kmsPublicDecryptEip712Types.js.map +1 -0
  941. package/_esm/core/kms/kmsUserDecryptEip712Types.js +27 -0
  942. package/_esm/core/kms/kmsUserDecryptEip712Types.js.map +1 -0
  943. package/_esm/core/kms/publicDecrypt.js +65 -0
  944. package/_esm/core/kms/publicDecrypt.js.map +1 -0
  945. package/_esm/core/kms/utils.js +38 -0
  946. package/_esm/core/kms/utils.js.map +1 -0
  947. package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +46 -0
  948. package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -0
  949. package/_esm/core/modules/decrypt/mock.js +82 -0
  950. package/_esm/core/modules/decrypt/mock.js.map +1 -0
  951. package/_esm/core/modules/decrypt/module/api-p.js +228 -0
  952. package/_esm/core/modules/decrypt/module/api-p.js.map +1 -0
  953. package/_esm/core/modules/decrypt/module/index.js +44 -0
  954. package/_esm/core/modules/decrypt/module/index.js.map +1 -0
  955. package/_esm/core/modules/decrypt/module/init-p.js +115 -0
  956. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -0
  957. package/_esm/core/modules/decrypt/types.js +2 -0
  958. package/_esm/core/modules/decrypt/types.js.map +1 -0
  959. package/_esm/core/modules/encrypt/mock.js +63 -0
  960. package/_esm/core/modules/encrypt/mock.js.map +1 -0
  961. package/_esm/core/modules/encrypt/module/api-p.js +288 -0
  962. package/_esm/core/modules/encrypt/module/api-p.js.map +1 -0
  963. package/_esm/core/modules/encrypt/module/index.js +21 -0
  964. package/_esm/core/modules/encrypt/module/index.js.map +1 -0
  965. package/_esm/core/modules/encrypt/module/init-p.js +179 -0
  966. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -0
  967. package/_esm/core/modules/encrypt/types.js +2 -0
  968. package/_esm/core/modules/encrypt/types.js.map +1 -0
  969. package/_esm/core/modules/ethereum/createTrustedClient.js +6 -0
  970. package/_esm/core/modules/ethereum/createTrustedClient.js.map +1 -0
  971. package/_esm/core/modules/ethereum/types.js +2 -0
  972. package/_esm/core/modules/ethereum/types.js.map +1 -0
  973. package/_esm/core/modules/relayer/mock.js +28 -0
  974. package/_esm/core/modules/relayer/mock.js.map +1 -0
  975. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +1576 -0
  976. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -0
  977. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +30 -0
  978. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -0
  979. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +48 -0
  980. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -0
  981. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js +21 -0
  982. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js.map +1 -0
  983. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +137 -0
  984. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -0
  985. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +28 -0
  986. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -0
  987. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +49 -0
  988. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -0
  989. package/_esm/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js +74 -0
  990. package/_esm/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js.map +1 -0
  991. package/_esm/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js +42 -0
  992. package/_esm/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js.map +1 -0
  993. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js +162 -0
  994. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -0
  995. package/_esm/core/modules/relayer/module/guards/RelayerResponseQueued.js +38 -0
  996. package/_esm/core/modules/relayer/module/guards/RelayerResponseQueued.js.map +1 -0
  997. package/_esm/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js +52 -0
  998. package/_esm/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js.map +1 -0
  999. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +45 -0
  1000. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -0
  1001. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js +65 -0
  1002. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js.map +1 -0
  1003. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js +18 -0
  1004. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js.map +1 -0
  1005. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js +18 -0
  1006. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js.map +1 -0
  1007. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js +18 -0
  1008. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js.map +1 -0
  1009. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +23 -0
  1010. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -0
  1011. package/_esm/core/modules/relayer/module/index.js +22 -0
  1012. package/_esm/core/modules/relayer/module/index.js.map +1 -0
  1013. package/_esm/core/modules/relayer/module/relayerUrl.js +33 -0
  1014. package/_esm/core/modules/relayer/module/relayerUrl.js.map +1 -0
  1015. package/_esm/core/modules/relayer/module/utils.js +19 -0
  1016. package/_esm/core/modules/relayer/module/utils.js.map +1 -0
  1017. package/_esm/core/modules/relayer/types.js +2 -0
  1018. package/_esm/core/modules/relayer/types.js.map +1 -0
  1019. package/_esm/core/runtime/CoreFhevm-p.js +248 -0
  1020. package/_esm/core/runtime/CoreFhevm-p.js.map +1 -0
  1021. package/_esm/core/runtime/CoreFhevmRuntime-p.js +190 -0
  1022. package/_esm/core/runtime/CoreFhevmRuntime-p.js.map +1 -0
  1023. package/_esm/core/runtime/FhevmRuntime.js +2 -0
  1024. package/_esm/core/runtime/FhevmRuntime.js.map +1 -0
  1025. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +8 -0
  1026. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -0
  1027. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +8 -0
  1028. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -0
  1029. package/_esm/core/runtime/initFhevmRuntime-p.js +9 -0
  1030. package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -0
  1031. package/_esm/core/types/auth.js +2 -0
  1032. package/_esm/core/types/auth.js.map +1 -0
  1033. package/_esm/core/types/configs.js +2 -0
  1034. package/_esm/core/types/configs.js.map +1 -0
  1035. package/_esm/core/types/coprocessor.js +2 -0
  1036. package/_esm/core/types/coprocessor.js.map +1 -0
  1037. package/_esm/core/types/coprocessorSignersContext.js +2 -0
  1038. package/_esm/core/types/coprocessorSignersContext.js.map +1 -0
  1039. package/_esm/core/types/coreFhevmClient.js +2 -0
  1040. package/_esm/core/types/coreFhevmClient.js.map +1 -0
  1041. package/_esm/core/types/coreFhevmRuntime.js +2 -0
  1042. package/_esm/core/types/coreFhevmRuntime.js.map +1 -0
  1043. package/_esm/core/types/encryptedTypes-p.js +2 -0
  1044. package/_esm/core/types/encryptedTypes-p.js.map +1 -0
  1045. package/_esm/core/types/encryptedTypes.js +2 -0
  1046. package/_esm/core/types/encryptedTypes.js.map +1 -0
  1047. package/_esm/core/types/fheEncryptionKey.js +2 -0
  1048. package/_esm/core/types/fheEncryptionKey.js.map +1 -0
  1049. package/_esm/core/types/fheType.js +2 -0
  1050. package/_esm/core/types/fheType.js.map +1 -0
  1051. package/_esm/core/types/fhevmChain.js +2 -0
  1052. package/_esm/core/types/fhevmChain.js.map +1 -0
  1053. package/_esm/core/types/fhevmClient.js +2 -0
  1054. package/_esm/core/types/fhevmClient.js.map +1 -0
  1055. package/_esm/core/types/fhevmDecryptionKey.js +2 -0
  1056. package/_esm/core/types/fhevmDecryptionKey.js.map +1 -0
  1057. package/_esm/core/types/fhevmUser.js +2 -0
  1058. package/_esm/core/types/fhevmUser.js.map +1 -0
  1059. package/_esm/core/types/hostContract.js +2 -0
  1060. package/_esm/core/types/hostContract.js.map +1 -0
  1061. package/_esm/core/types/index.js +2 -0
  1062. package/_esm/core/types/index.js.map +1 -0
  1063. package/_esm/core/types/inputProof.js +2 -0
  1064. package/_esm/core/types/inputProof.js.map +1 -0
  1065. package/_esm/core/types/kms-p.js +2 -0
  1066. package/_esm/core/types/kms-p.js.map +1 -0
  1067. package/_esm/core/types/kms.js +2 -0
  1068. package/_esm/core/types/kms.js.map +1 -0
  1069. package/_esm/core/types/kmsSignersContext.js +2 -0
  1070. package/_esm/core/types/kmsSignersContext.js.map +1 -0
  1071. package/_esm/core/types/logger.js +2 -0
  1072. package/_esm/core/types/logger.js.map +1 -0
  1073. package/_esm/core/types/other-p.js +2 -0
  1074. package/_esm/core/types/other-p.js.map +1 -0
  1075. package/_esm/core/types/primitives.js +3 -0
  1076. package/_esm/core/types/primitives.js.map +1 -0
  1077. package/_esm/core/types/publicDecryptionProof-p.js +2 -0
  1078. package/_esm/core/types/publicDecryptionProof-p.js.map +1 -0
  1079. package/_esm/core/types/record-p.js +2 -0
  1080. package/_esm/core/types/record-p.js.map +1 -0
  1081. package/_esm/core/types/relayer-p.js +2 -0
  1082. package/_esm/core/types/relayer-p.js.map +1 -0
  1083. package/_esm/core/types/relayer.js +2 -0
  1084. package/_esm/core/types/relayer.js.map +1 -0
  1085. package/_esm/core/types/signedDecryptionPermit.js +2 -0
  1086. package/_esm/core/types/signedDecryptionPermit.js.map +1 -0
  1087. package/_esm/core/types/tkms-p.js +2 -0
  1088. package/_esm/core/types/tkms-p.js.map +1 -0
  1089. package/_esm/core/types/utils.js +2 -0
  1090. package/_esm/core/types/utils.js.map +1 -0
  1091. package/_esm/core/types/zkProof-p.js +2 -0
  1092. package/_esm/core/types/zkProof-p.js.map +1 -0
  1093. package/_esm/core/types/zkProofBuilder.js +2 -0
  1094. package/_esm/core/types/zkProofBuilder.js.map +1 -0
  1095. package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js +19 -0
  1096. package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +1 -0
  1097. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js +31 -0
  1098. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  1099. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js +31 -0
  1100. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +1 -0
  1101. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +16 -0
  1102. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -0
  1103. package/_esm/core/utils-p/runtime/recoverSigners.js +21 -0
  1104. package/_esm/core/utils-p/runtime/recoverSigners.js.map +1 -0
  1105. package/_esm/ethers/clients/createFhevmBaseClient.js +14 -0
  1106. package/_esm/ethers/clients/createFhevmBaseClient.js.map +1 -0
  1107. package/_esm/ethers/clients/createFhevmClient.js +9 -0
  1108. package/_esm/ethers/clients/createFhevmClient.js.map +1 -0
  1109. package/_esm/ethers/clients/createFhevmDecryptClient.js +8 -0
  1110. package/_esm/ethers/clients/createFhevmDecryptClient.js.map +1 -0
  1111. package/_esm/ethers/clients/createFhevmEncryptClient.js +9 -0
  1112. package/_esm/ethers/clients/createFhevmEncryptClient.js.map +1 -0
  1113. package/_esm/ethers/decorators/decrypt.js +7 -0
  1114. package/_esm/ethers/decorators/decrypt.js.map +1 -0
  1115. package/_esm/ethers/decorators/encrypt.js +7 -0
  1116. package/_esm/ethers/decorators/encrypt.js.map +1 -0
  1117. package/_esm/ethers/index.js +9 -0
  1118. package/_esm/ethers/index.js.map +1 -0
  1119. package/_esm/ethers/internal/ethereum.js +112 -0
  1120. package/_esm/ethers/internal/ethereum.js.map +1 -0
  1121. package/_esm/ethers/internal/ethers-p.js +79 -0
  1122. package/_esm/ethers/internal/ethers-p.js.map +1 -0
  1123. package/_esm/ethers/internal/utils.js +27 -0
  1124. package/_esm/ethers/internal/utils.js.map +1 -0
  1125. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js +7 -0
  1126. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -0
  1127. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js +7 -0
  1128. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -0
  1129. package/_esm/ethers/runtime/initFhevmRuntime.js +7 -0
  1130. package/_esm/ethers/runtime/initFhevmRuntime.js.map +1 -0
  1131. package/_esm/package.json +1 -0
  1132. package/_esm/viem/clients/createFhevmBaseClient.js +14 -0
  1133. package/_esm/viem/clients/createFhevmBaseClient.js.map +1 -0
  1134. package/_esm/viem/clients/createFhevmClient.js +9 -0
  1135. package/_esm/viem/clients/createFhevmClient.js.map +1 -0
  1136. package/_esm/viem/clients/createFhevmDecryptClient.js +8 -0
  1137. package/_esm/viem/clients/createFhevmDecryptClient.js.map +1 -0
  1138. package/_esm/viem/clients/createFhevmEncryptClient.js +9 -0
  1139. package/_esm/viem/clients/createFhevmEncryptClient.js.map +1 -0
  1140. package/_esm/viem/decorators/decrypt.js +7 -0
  1141. package/_esm/viem/decorators/decrypt.js.map +1 -0
  1142. package/_esm/viem/decorators/encrypt.js +7 -0
  1143. package/_esm/viem/decorators/encrypt.js.map +1 -0
  1144. package/_esm/viem/index.js +9 -0
  1145. package/_esm/viem/index.js.map +1 -0
  1146. package/_esm/viem/internal/ethereum.js +99 -0
  1147. package/_esm/viem/internal/ethereum.js.map +1 -0
  1148. package/_esm/viem/internal/viem-p.js +79 -0
  1149. package/_esm/viem/internal/viem-p.js.map +1 -0
  1150. package/_esm/viem/runtime/initFhevmDecryptRuntime.js +7 -0
  1151. package/_esm/viem/runtime/initFhevmDecryptRuntime.js.map +1 -0
  1152. package/_esm/viem/runtime/initFhevmEncryptRuntime.js +7 -0
  1153. package/_esm/viem/runtime/initFhevmEncryptRuntime.js.map +1 -0
  1154. package/_esm/viem/runtime/initFhevmRuntime.js +7 -0
  1155. package/_esm/viem/runtime/initFhevmRuntime.js.map +1 -0
  1156. package/_esm/wasm/tfhe/compile-worker.js +8 -0
  1157. package/_esm/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
  1158. package/_esm/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
  1159. package/_esm/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
  1160. package/_esm/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
  1161. package/_esm/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
  1162. package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
  1163. package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
  1164. package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
  1165. package/_esm/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
  1166. package/_esm/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
  1167. package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
  1168. package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
  1169. package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
  1170. package/_esm/wasm/wasmBaseUrl.d.ts +7 -0
  1171. package/_esm/wasm/wasmBaseUrl.js +14 -0
  1172. package/_types/core/_version.d.ts +3 -0
  1173. package/_types/core/_version.d.ts.map +1 -0
  1174. package/_types/core/actions/base/canReadPublicValue.d.ts +9 -0
  1175. package/_types/core/actions/base/canReadPublicValue.d.ts.map +1 -0
  1176. package/_types/core/actions/base/canReadPublicValues.d.ts +9 -0
  1177. package/_types/core/actions/base/canReadPublicValues.d.ts.map +1 -0
  1178. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts +14 -0
  1179. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts.map +1 -0
  1180. package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts +41 -0
  1181. package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts.map +1 -0
  1182. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts +14 -0
  1183. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts.map +1 -0
  1184. package/_types/core/actions/base/index.d.ts +15 -0
  1185. package/_types/core/actions/base/index.d.ts.map +1 -0
  1186. package/_types/core/actions/base/readCoprocessorSignersContext.d.ts +6 -0
  1187. package/_types/core/actions/base/readCoprocessorSignersContext.d.ts.map +1 -0
  1188. package/_types/core/actions/base/readKmsSignersContext.d.ts +6 -0
  1189. package/_types/core/actions/base/readKmsSignersContext.d.ts.map +1 -0
  1190. package/_types/core/actions/base/readPublicValue.d.ts +12 -0
  1191. package/_types/core/actions/base/readPublicValue.d.ts.map +1 -0
  1192. package/_types/core/actions/base/readPublicValues.d.ts +12 -0
  1193. package/_types/core/actions/base/readPublicValues.d.ts.map +1 -0
  1194. package/_types/core/actions/base/readPublicValuesWithSignatures.d.ts +21 -0
  1195. package/_types/core/actions/base/readPublicValuesWithSignatures.d.ts.map +1 -0
  1196. package/_types/core/actions/base/signDecryptionPermit.d.ts +9 -0
  1197. package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -0
  1198. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts +14 -0
  1199. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts.map +1 -0
  1200. package/_types/core/actions/base/verifyInputProof.d.ts +14 -0
  1201. package/_types/core/actions/base/verifyInputProof.d.ts.map +1 -0
  1202. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts +11 -0
  1203. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts.map +1 -0
  1204. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts +7 -0
  1205. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts.map +1 -0
  1206. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts +15 -0
  1207. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1208. package/_types/core/actions/chain/createKmsEip712Domain.d.ts +7 -0
  1209. package/_types/core/actions/chain/createKmsEip712Domain.d.ts.map +1 -0
  1210. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts +14 -0
  1211. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +1 -0
  1212. package/_types/core/actions/chain/fetchFheEncryptionKeyBytes.d.ts +12 -0
  1213. package/_types/core/actions/chain/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
  1214. package/_types/core/actions/chain/index.d.ts +13 -0
  1215. package/_types/core/actions/chain/index.d.ts.map +1 -0
  1216. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +21 -0
  1217. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -0
  1218. package/_types/core/actions/chain/parseTransportKeypair.d.ts +11 -0
  1219. package/_types/core/actions/chain/parseTransportKeypair.d.ts.map +1 -0
  1220. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts +21 -0
  1221. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts.map +1 -0
  1222. package/_types/core/actions/chain/serializeTransportKeypair.d.ts +14 -0
  1223. package/_types/core/actions/chain/serializeTransportKeypair.d.ts.map +1 -0
  1224. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +7 -0
  1225. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1226. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts +7 -0
  1227. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts.map +1 -0
  1228. package/_types/core/actions/decrypt/canDecryptValue.d.ts +66 -0
  1229. package/_types/core/actions/decrypt/canDecryptValue.d.ts.map +1 -0
  1230. package/_types/core/actions/decrypt/canDecryptValues.d.ts +27 -0
  1231. package/_types/core/actions/decrypt/canDecryptValues.d.ts.map +1 -0
  1232. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +29 -0
  1233. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts.map +1 -0
  1234. package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts +13 -0
  1235. package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts.map +1 -0
  1236. package/_types/core/actions/decrypt/decryptValue.d.ts +26 -0
  1237. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -0
  1238. package/_types/core/actions/decrypt/decryptValues.d.ts +26 -0
  1239. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -0
  1240. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +28 -0
  1241. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -0
  1242. package/_types/core/actions/decrypt/generateTransportKeypair.d.ts +7 -0
  1243. package/_types/core/actions/decrypt/generateTransportKeypair.d.ts.map +1 -0
  1244. package/_types/core/actions/decrypt/index.d.ts +11 -0
  1245. package/_types/core/actions/decrypt/index.d.ts.map +1 -0
  1246. package/_types/core/actions/encrypt/encryptValue.d.ts +18 -0
  1247. package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -0
  1248. package/_types/core/actions/encrypt/encryptValues.d.ts +18 -0
  1249. package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -0
  1250. package/_types/core/actions/encrypt/generateZkProof.d.ts +13 -0
  1251. package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -0
  1252. package/_types/core/actions/encrypt/index.d.ts +6 -0
  1253. package/_types/core/actions/encrypt/index.d.ts.map +1 -0
  1254. package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts +8 -0
  1255. package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -0
  1256. package/_types/core/actions/host/index.d.ts +8 -0
  1257. package/_types/core/actions/host/index.d.ts.map +1 -0
  1258. package/_types/core/actions/host/isAllowedForDecryption.d.ts +11 -0
  1259. package/_types/core/actions/host/isAllowedForDecryption.d.ts.map +1 -0
  1260. package/_types/core/actions/host/persistAllowed.d.ts +12 -0
  1261. package/_types/core/actions/host/persistAllowed.d.ts.map +1 -0
  1262. package/_types/core/actions/host/readFhevmExecutorContractData.d.ts +9 -0
  1263. package/_types/core/actions/host/readFhevmExecutorContractData.d.ts.map +1 -0
  1264. package/_types/core/actions/host/readInputVerifierContractData.d.ts +9 -0
  1265. package/_types/core/actions/host/readInputVerifierContractData.d.ts.map +1 -0
  1266. package/_types/core/actions/host/readKmsVerifierContractData.d.ts +9 -0
  1267. package/_types/core/actions/host/readKmsVerifierContractData.d.ts.map +1 -0
  1268. package/_types/core/actions/host/resolveChainId.d.ts +9 -0
  1269. package/_types/core/actions/host/resolveChainId.d.ts.map +1 -0
  1270. package/_types/core/actions/host/resolveFhevmConfig.d.ts +38 -0
  1271. package/_types/core/actions/host/resolveFhevmConfig.d.ts.map +1 -0
  1272. package/_types/core/base/address.d.ts +52 -0
  1273. package/_types/core/base/address.d.ts.map +1 -0
  1274. package/_types/core/base/auth.d.ts +10 -0
  1275. package/_types/core/base/auth.d.ts.map +1 -0
  1276. package/_types/core/base/boolean.d.ts +45 -0
  1277. package/_types/core/base/boolean.d.ts.map +1 -0
  1278. package/_types/core/base/bytes.d.ts +822 -0
  1279. package/_types/core/base/bytes.d.ts.map +1 -0
  1280. package/_types/core/base/cachedFetch.d.ts +75 -0
  1281. package/_types/core/base/cachedFetch.d.ts.map +1 -0
  1282. package/_types/core/base/errors/AddressError.d.ts +12 -0
  1283. package/_types/core/base/errors/AddressError.d.ts.map +1 -0
  1284. package/_types/core/base/errors/ChecksummedAddressError.d.ts +12 -0
  1285. package/_types/core/base/errors/ChecksummedAddressError.d.ts.map +1 -0
  1286. package/_types/core/base/errors/ErrorBase.d.ts +23 -0
  1287. package/_types/core/base/errors/ErrorBase.d.ts.map +1 -0
  1288. package/_types/core/base/errors/FetchError.d.ts +14 -0
  1289. package/_types/core/base/errors/FetchError.d.ts.map +1 -0
  1290. package/_types/core/base/errors/FheTypeError.d.ts +14 -0
  1291. package/_types/core/base/errors/FheTypeError.d.ts.map +1 -0
  1292. package/_types/core/base/errors/InternalError.d.ts +12 -0
  1293. package/_types/core/base/errors/InternalError.d.ts.map +1 -0
  1294. package/_types/core/base/errors/InvalidPropertyError.d.ts +116 -0
  1295. package/_types/core/base/errors/InvalidPropertyError.d.ts.map +1 -0
  1296. package/_types/core/base/errors/InvalidTypeError.d.ts +44 -0
  1297. package/_types/core/base/errors/InvalidTypeError.d.ts.map +1 -0
  1298. package/_types/core/base/errors/utils.d.ts +4 -0
  1299. package/_types/core/base/errors/utils.d.ts.map +1 -0
  1300. package/_types/core/base/fetch.d.ts +70 -0
  1301. package/_types/core/base/fetch.d.ts.map +1 -0
  1302. package/_types/core/base/index.d.ts +2 -0
  1303. package/_types/core/base/index.d.ts.map +1 -0
  1304. package/_types/core/base/isomorphicWorker.d.ts +50 -0
  1305. package/_types/core/base/isomorphicWorker.d.ts.map +1 -0
  1306. package/_types/core/base/object.d.ts +15 -0
  1307. package/_types/core/base/object.d.ts.map +1 -0
  1308. package/_types/core/base/promise.d.ts +22 -0
  1309. package/_types/core/base/promise.d.ts.map +1 -0
  1310. package/_types/core/base/record.d.ts +88 -0
  1311. package/_types/core/base/record.d.ts.map +1 -0
  1312. package/_types/core/base/string.d.ts +75 -0
  1313. package/_types/core/base/string.d.ts.map +1 -0
  1314. package/_types/core/base/timeout.d.ts +7 -0
  1315. package/_types/core/base/timeout.d.ts.map +1 -0
  1316. package/_types/core/base/trustedValue.d.ts +54 -0
  1317. package/_types/core/base/trustedValue.d.ts.map +1 -0
  1318. package/_types/core/base/typedValue.d.ts +104 -0
  1319. package/_types/core/base/typedValue.d.ts.map +1 -0
  1320. package/_types/core/base/uid.d.ts +2 -0
  1321. package/_types/core/base/uid.d.ts.map +1 -0
  1322. package/_types/core/base/uint.d.ts +128 -0
  1323. package/_types/core/base/uint.d.ts.map +1 -0
  1324. package/_types/core/base/wasm.d.ts +16 -0
  1325. package/_types/core/base/wasm.d.ts.map +1 -0
  1326. package/_types/core/chains/definitions/localTestnet.d.ts +29 -0
  1327. package/_types/core/chains/definitions/localTestnet.d.ts.map +1 -0
  1328. package/_types/core/chains/definitions/mainnet.d.ts +29 -0
  1329. package/_types/core/chains/definitions/mainnet.d.ts.map +1 -0
  1330. package/_types/core/chains/definitions/sepolia.d.ts +3 -0
  1331. package/_types/core/chains/definitions/sepolia.d.ts.map +1 -0
  1332. package/_types/core/chains/index.d.ts +5 -0
  1333. package/_types/core/chains/index.d.ts.map +1 -0
  1334. package/_types/core/chains/utils.d.ts +3 -0
  1335. package/_types/core/chains/utils.d.ts.map +1 -0
  1336. package/_types/core/clients/decorators/base.d.ts +117 -0
  1337. package/_types/core/clients/decorators/base.d.ts.map +1 -0
  1338. package/_types/core/clients/decorators/decrypt.d.ts +25 -0
  1339. package/_types/core/clients/decorators/decrypt.d.ts.map +1 -0
  1340. package/_types/core/clients/decorators/encrypt-p.d.ts +5 -0
  1341. package/_types/core/clients/decorators/encrypt-p.d.ts.map +1 -0
  1342. package/_types/core/clients/decorators/encrypt.d.ts +12 -0
  1343. package/_types/core/clients/decorators/encrypt.d.ts.map +1 -0
  1344. package/_types/core/coprocessor/InputProof-p.d.ts +55 -0
  1345. package/_types/core/coprocessor/InputProof-p.d.ts.map +1 -0
  1346. package/_types/core/coprocessor/ZkProof-p.d.ts +39 -0
  1347. package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -0
  1348. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +20 -0
  1349. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -0
  1350. package/_types/core/coprocessor/assertIsCoprocessorEip712Domain.d.ts +4 -0
  1351. package/_types/core/coprocessor/assertIsCoprocessorEip712Domain.d.ts.map +1 -0
  1352. package/_types/core/coprocessor/coprocessorEip712Types.d.ts +4 -0
  1353. package/_types/core/coprocessor/coprocessorEip712Types.d.ts.map +1 -0
  1354. package/_types/core/coprocessor/createCoprocessorEip712.d.ts +13 -0
  1355. package/_types/core/coprocessor/createCoprocessorEip712.d.ts.map +1 -0
  1356. package/_types/core/coprocessor/createCoprocessorEip712Domain.d.ts +6 -0
  1357. package/_types/core/coprocessor/createCoprocessorEip712Domain.d.ts.map +1 -0
  1358. package/_types/core/coprocessor/encrypt.d.ts +26 -0
  1359. package/_types/core/coprocessor/encrypt.d.ts.map +1 -0
  1360. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts +23 -0
  1361. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts.map +1 -0
  1362. package/_types/core/coprocessor/verifyHandlesCoprocessorSignatures.d.ts +23 -0
  1363. package/_types/core/coprocessor/verifyHandlesCoprocessorSignatures.d.ts.map +1 -0
  1364. package/_types/core/coprocessor/verifyInputProof.d.ts +23 -0
  1365. package/_types/core/coprocessor/verifyInputProof.d.ts.map +1 -0
  1366. package/_types/core/errors/AclError.d.ts +28 -0
  1367. package/_types/core/errors/AclError.d.ts.map +1 -0
  1368. package/_types/core/errors/ContractErrorBase.d.ts +18 -0
  1369. package/_types/core/errors/ContractErrorBase.d.ts.map +1 -0
  1370. package/_types/core/errors/EncryptionError.d.ts +11 -0
  1371. package/_types/core/errors/EncryptionError.d.ts.map +1 -0
  1372. package/_types/core/errors/FhevmConfigError.d.ts +11 -0
  1373. package/_types/core/errors/FhevmConfigError.d.ts.map +1 -0
  1374. package/_types/core/errors/FhevmErrorBase.d.ts +21 -0
  1375. package/_types/core/errors/FhevmErrorBase.d.ts.map +1 -0
  1376. package/_types/core/errors/FhevmHandleError.d.ts +13 -0
  1377. package/_types/core/errors/FhevmHandleError.d.ts.map +1 -0
  1378. package/_types/core/errors/InputProofError.d.ts +20 -0
  1379. package/_types/core/errors/InputProofError.d.ts.map +1 -0
  1380. package/_types/core/errors/RelayerAbortError.d.ts +14 -0
  1381. package/_types/core/errors/RelayerAbortError.d.ts.map +1 -0
  1382. package/_types/core/errors/RelayerErrorBase.d.ts +23 -0
  1383. package/_types/core/errors/RelayerErrorBase.d.ts.map +1 -0
  1384. package/_types/core/errors/RelayerFetchError.d.ts +17 -0
  1385. package/_types/core/errors/RelayerFetchError.d.ts.map +1 -0
  1386. package/_types/core/errors/RelayerFetchErrorBase.d.ts +29 -0
  1387. package/_types/core/errors/RelayerFetchErrorBase.d.ts.map +1 -0
  1388. package/_types/core/errors/RelayerMaxRetryError.d.ts +14 -0
  1389. package/_types/core/errors/RelayerMaxRetryError.d.ts.map +1 -0
  1390. package/_types/core/errors/RelayerRequestErrorBase.d.ts +20 -0
  1391. package/_types/core/errors/RelayerRequestErrorBase.d.ts.map +1 -0
  1392. package/_types/core/errors/RelayerRequestInternalError.d.ts +20 -0
  1393. package/_types/core/errors/RelayerRequestInternalError.d.ts.map +1 -0
  1394. package/_types/core/errors/RelayerResponseApiError.d.ts +19 -0
  1395. package/_types/core/errors/RelayerResponseApiError.d.ts.map +1 -0
  1396. package/_types/core/errors/RelayerResponseErrorBase.d.ts +15 -0
  1397. package/_types/core/errors/RelayerResponseErrorBase.d.ts.map +1 -0
  1398. package/_types/core/errors/RelayerResponseInputProofRejectedError.d.ts +14 -0
  1399. package/_types/core/errors/RelayerResponseInputProofRejectedError.d.ts.map +1 -0
  1400. package/_types/core/errors/RelayerResponseInvalidBodyError.d.ts +20 -0
  1401. package/_types/core/errors/RelayerResponseInvalidBodyError.d.ts.map +1 -0
  1402. package/_types/core/errors/RelayerResponseStatusError.d.ts +17 -0
  1403. package/_types/core/errors/RelayerResponseStatusError.d.ts.map +1 -0
  1404. package/_types/core/errors/RelayerStateError.d.ts +20 -0
  1405. package/_types/core/errors/RelayerStateError.d.ts.map +1 -0
  1406. package/_types/core/errors/RelayerTimeoutError.d.ts +16 -0
  1407. package/_types/core/errors/RelayerTimeoutError.d.ts.map +1 -0
  1408. package/_types/core/errors/SignersError.d.ts +33 -0
  1409. package/_types/core/errors/SignersError.d.ts.map +1 -0
  1410. package/_types/core/errors/TfheError.d.ts +13 -0
  1411. package/_types/core/errors/TfheError.d.ts.map +1 -0
  1412. package/_types/core/errors/ZkProofError.d.ts +11 -0
  1413. package/_types/core/errors/ZkProofError.d.ts.map +1 -0
  1414. package/_types/core/handle/ClearValue.d.ts +88 -0
  1415. package/_types/core/handle/ClearValue.d.ts.map +1 -0
  1416. package/_types/core/handle/EncryptedValue.d.ts +6 -0
  1417. package/_types/core/handle/EncryptedValue.d.ts.map +1 -0
  1418. package/_types/core/handle/FheType.d.ts +164 -0
  1419. package/_types/core/handle/FheType.d.ts.map +1 -0
  1420. package/_types/core/handle/FhevmHandle.d.ts +118 -0
  1421. package/_types/core/handle/FhevmHandle.d.ts.map +1 -0
  1422. package/_types/core/host-contracts/CoprocessorSignersContext-p.d.ts +20 -0
  1423. package/_types/core/host-contracts/CoprocessorSignersContext-p.d.ts.map +1 -0
  1424. package/_types/core/host-contracts/FhevmExecutorContractData-p.d.ts +18 -0
  1425. package/_types/core/host-contracts/FhevmExecutorContractData-p.d.ts.map +1 -0
  1426. package/_types/core/host-contracts/HostContractVersion-p.d.ts +47 -0
  1427. package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -0
  1428. package/_types/core/host-contracts/InputVerifierContractData-p.d.ts +17 -0
  1429. package/_types/core/host-contracts/InputVerifierContractData-p.d.ts.map +1 -0
  1430. package/_types/core/host-contracts/KmsSignersContext-p.d.ts +39 -0
  1431. package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -0
  1432. package/_types/core/host-contracts/KmsVerifierContractData-p.d.ts +17 -0
  1433. package/_types/core/host-contracts/KmsVerifierContractData-p.d.ts.map +1 -0
  1434. package/_types/core/host-contracts/abi-fragments/fragments.d.ts +78 -0
  1435. package/_types/core/host-contracts/abi-fragments/fragments.d.ts.map +1 -0
  1436. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +38 -0
  1437. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -0
  1438. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts +19 -0
  1439. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts.map +1 -0
  1440. package/_types/core/host-contracts/checkPersistAllowed.d.ts +21 -0
  1441. package/_types/core/host-contracts/checkPersistAllowed.d.ts.map +1 -0
  1442. package/_types/core/host-contracts/decryptionResultTypehash-p.d.ts +18 -0
  1443. package/_types/core/host-contracts/decryptionResultTypehash-p.d.ts.map +1 -0
  1444. package/_types/core/host-contracts/eip712Domain-p.d.ts +23 -0
  1445. package/_types/core/host-contracts/eip712Domain-p.d.ts.map +1 -0
  1446. package/_types/core/host-contracts/eip712InputVerificationTypehash-p.d.ts +18 -0
  1447. package/_types/core/host-contracts/eip712InputVerificationTypehash-p.d.ts.map +1 -0
  1448. package/_types/core/host-contracts/getAclAddress-p.d.ts +18 -0
  1449. package/_types/core/host-contracts/getAclAddress-p.d.ts.map +1 -0
  1450. package/_types/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.d.ts +28 -0
  1451. package/_types/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.d.ts.map +1 -0
  1452. package/_types/core/host-contracts/getCoprocessorSigners-p.d.ts +18 -0
  1453. package/_types/core/host-contracts/getCoprocessorSigners-p.d.ts.map +1 -0
  1454. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts +25 -0
  1455. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts.map +1 -0
  1456. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts +18 -0
  1457. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts.map +1 -0
  1458. package/_types/core/host-contracts/getHandleVersion-p.d.ts +18 -0
  1459. package/_types/core/host-contracts/getHandleVersion-p.d.ts.map +1 -0
  1460. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts +18 -0
  1461. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts.map +1 -0
  1462. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts +18 -0
  1463. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts.map +1 -0
  1464. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts +38 -0
  1465. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts.map +1 -0
  1466. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +34 -0
  1467. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -0
  1468. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts +27 -0
  1469. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts.map +1 -0
  1470. package/_types/core/host-contracts/isAllowedForDecryption.d.ts +18 -0
  1471. package/_types/core/host-contracts/isAllowedForDecryption.d.ts.map +1 -0
  1472. package/_types/core/host-contracts/isUserDecryptable.d.ts +29 -0
  1473. package/_types/core/host-contracts/isUserDecryptable.d.ts.map +1 -0
  1474. package/_types/core/host-contracts/persistAllowed.d.ts +18 -0
  1475. package/_types/core/host-contracts/persistAllowed.d.ts.map +1 -0
  1476. package/_types/core/host-contracts/readCoprocessorSignersContext-p.d.ts +17 -0
  1477. package/_types/core/host-contracts/readCoprocessorSignersContext-p.d.ts.map +1 -0
  1478. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +62 -0
  1479. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -0
  1480. package/_types/core/key/FheEncryptionKeyCache-p.d.ts +93 -0
  1481. package/_types/core/key/FheEncryptionKeyCache-p.d.ts.map +1 -0
  1482. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts +13 -0
  1483. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts.map +1 -0
  1484. package/_types/core/key/deserializeFheEncryptionKey.d.ts +6 -0
  1485. package/_types/core/key/deserializeFheEncryptionKey.d.ts.map +1 -0
  1486. package/_types/core/key/fetchFheEncryptionKey.d.ts +12 -0
  1487. package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -0
  1488. package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts +12 -0
  1489. package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
  1490. package/_types/core/key/fetchFheEncryptionKeyBytesWithSource.d.ts +4 -0
  1491. package/_types/core/key/fetchFheEncryptionKeyBytesWithSource.d.ts.map +1 -0
  1492. package/_types/core/key/serializeFheEncryptionKey.d.ts +6 -0
  1493. package/_types/core/key/serializeFheEncryptionKey.d.ts.map +1 -0
  1494. package/_types/core/kms/KmsSigncryptedShares-p.d.ts +39 -0
  1495. package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -0
  1496. package/_types/core/kms/PublicDecryptionProof-p.d.ts +42 -0
  1497. package/_types/core/kms/PublicDecryptionProof-p.d.ts.map +1 -0
  1498. package/_types/core/kms/PublicDecryptionProof.d.ts +3 -0
  1499. package/_types/core/kms/PublicDecryptionProof.d.ts.map +1 -0
  1500. package/_types/core/kms/SignedDecryptionPermit-p.d.ts +78 -0
  1501. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -0
  1502. package/_types/core/kms/TransportKeypair-p.d.ts +54 -0
  1503. package/_types/core/kms/TransportKeypair-p.d.ts.map +1 -0
  1504. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts +15 -0
  1505. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1506. package/_types/core/kms/createKmsEip712Domain.d.ts +17 -0
  1507. package/_types/core/kms/createKmsEip712Domain.d.ts.map +1 -0
  1508. package/_types/core/kms/createKmsPublicDecryptEip712.d.ts +11 -0
  1509. package/_types/core/kms/createKmsPublicDecryptEip712.d.ts.map +1 -0
  1510. package/_types/core/kms/createKmsUserDecryptEip712.d.ts +26 -0
  1511. package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +1 -0
  1512. package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts +15 -0
  1513. package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts.map +1 -0
  1514. package/_types/core/kms/decryptValuesFromPairs.d.ts +36 -0
  1515. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -0
  1516. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts +34 -0
  1517. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +1 -0
  1518. package/_types/core/kms/index.d.ts +2 -0
  1519. package/_types/core/kms/index.d.ts.map +1 -0
  1520. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts +3 -0
  1521. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts.map +1 -0
  1522. package/_types/core/kms/kmsExtraData.d.ts +18 -0
  1523. package/_types/core/kms/kmsExtraData.d.ts.map +1 -0
  1524. package/_types/core/kms/kmsPublicDecryptEip712Types.d.ts +3 -0
  1525. package/_types/core/kms/kmsPublicDecryptEip712Types.d.ts.map +1 -0
  1526. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts +3 -0
  1527. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts.map +1 -0
  1528. package/_types/core/kms/publicDecrypt.d.ts +22 -0
  1529. package/_types/core/kms/publicDecrypt.d.ts.map +1 -0
  1530. package/_types/core/kms/utils.d.ts +16 -0
  1531. package/_types/core/kms/utils.d.ts.map +1 -0
  1532. package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts +18 -0
  1533. package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts.map +1 -0
  1534. package/_types/core/modules/decrypt/mock.d.ts +11 -0
  1535. package/_types/core/modules/decrypt/mock.d.ts.map +1 -0
  1536. package/_types/core/modules/decrypt/module/api-p.d.ts +9 -0
  1537. package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -0
  1538. package/_types/core/modules/decrypt/module/index.d.ts +4 -0
  1539. package/_types/core/modules/decrypt/module/index.d.ts.map +1 -0
  1540. package/_types/core/modules/decrypt/module/init-p.d.ts +5 -0
  1541. package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -0
  1542. package/_types/core/modules/decrypt/types.d.ts +96 -0
  1543. package/_types/core/modules/decrypt/types.d.ts.map +1 -0
  1544. package/_types/core/modules/encrypt/mock.d.ts +10 -0
  1545. package/_types/core/modules/encrypt/mock.d.ts.map +1 -0
  1546. package/_types/core/modules/encrypt/module/api-p.d.ts +13 -0
  1547. package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -0
  1548. package/_types/core/modules/encrypt/module/index.d.ts +3 -0
  1549. package/_types/core/modules/encrypt/module/index.d.ts.map +1 -0
  1550. package/_types/core/modules/encrypt/module/init-p.d.ts +8 -0
  1551. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -0
  1552. package/_types/core/modules/encrypt/types.d.ts +105 -0
  1553. package/_types/core/modules/encrypt/types.d.ts.map +1 -0
  1554. package/_types/core/modules/ethereum/createTrustedClient.d.ts +3 -0
  1555. package/_types/core/modules/ethereum/createTrustedClient.d.ts.map +1 -0
  1556. package/_types/core/modules/ethereum/types.d.ts +89 -0
  1557. package/_types/core/modules/ethereum/types.d.ts.map +1 -0
  1558. package/_types/core/modules/relayer/mock.d.ts +3 -0
  1559. package/_types/core/modules/relayer/mock.d.ts.map +1 -0
  1560. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +190 -0
  1561. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -0
  1562. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts +3 -0
  1563. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -0
  1564. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts +3 -0
  1565. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -0
  1566. package/_types/core/modules/relayer/module/fetchFheEncryptionKeyBytes.d.ts +3 -0
  1567. package/_types/core/modules/relayer/module/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
  1568. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts +3 -0
  1569. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -0
  1570. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts +3 -0
  1571. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -0
  1572. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts +3 -0
  1573. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -0
  1574. package/_types/core/modules/relayer/module/guards/RelayerInputProofSucceeded.d.ts +22 -0
  1575. package/_types/core/modules/relayer/module/guards/RelayerInputProofSucceeded.d.ts.map +1 -0
  1576. package/_types/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.d.ts +18 -0
  1577. package/_types/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.d.ts.map +1 -0
  1578. package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts +55 -0
  1579. package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts.map +1 -0
  1580. package/_types/core/modules/relayer/module/guards/RelayerResponseQueued.d.ts +24 -0
  1581. package/_types/core/modules/relayer/module/guards/RelayerResponseQueued.d.ts.map +1 -0
  1582. package/_types/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.d.ts +20 -0
  1583. package/_types/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.d.ts.map +1 -0
  1584. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts +15 -0
  1585. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts.map +1 -0
  1586. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.d.ts +18 -0
  1587. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.d.ts.map +1 -0
  1588. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError404.d.ts +13 -0
  1589. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError404.d.ts.map +1 -0
  1590. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError429.d.ts +13 -0
  1591. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError429.d.ts.map +1 -0
  1592. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError500.d.ts +13 -0
  1593. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError500.d.ts.map +1 -0
  1594. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts +13 -0
  1595. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts.map +1 -0
  1596. package/_types/core/modules/relayer/module/index.d.ts +3 -0
  1597. package/_types/core/modules/relayer/module/index.d.ts.map +1 -0
  1598. package/_types/core/modules/relayer/module/relayerUrl.d.ts +6 -0
  1599. package/_types/core/modules/relayer/module/relayerUrl.d.ts.map +1 -0
  1600. package/_types/core/modules/relayer/module/utils.d.ts +3 -0
  1601. package/_types/core/modules/relayer/module/utils.d.ts.map +1 -0
  1602. package/_types/core/modules/relayer/types.d.ts +96 -0
  1603. package/_types/core/modules/relayer/types.d.ts.map +1 -0
  1604. package/_types/core/runtime/CoreFhevm-p.d.ts +46 -0
  1605. package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -0
  1606. package/_types/core/runtime/CoreFhevmRuntime-p.d.ts +25 -0
  1607. package/_types/core/runtime/CoreFhevmRuntime-p.d.ts.map +1 -0
  1608. package/_types/core/runtime/FhevmRuntime.d.ts +3 -0
  1609. package/_types/core/runtime/FhevmRuntime.d.ts.map +1 -0
  1610. package/_types/core/runtime/initFhevmDecryptRuntime-p.d.ts +3 -0
  1611. package/_types/core/runtime/initFhevmDecryptRuntime-p.d.ts.map +1 -0
  1612. package/_types/core/runtime/initFhevmEncryptRuntime-p.d.ts +3 -0
  1613. package/_types/core/runtime/initFhevmEncryptRuntime-p.d.ts.map +1 -0
  1614. package/_types/core/runtime/initFhevmRuntime-p.d.ts +3 -0
  1615. package/_types/core/runtime/initFhevmRuntime-p.d.ts.map +1 -0
  1616. package/_types/core/types/auth.d.ts +41 -0
  1617. package/_types/core/types/auth.d.ts.map +1 -0
  1618. package/_types/core/types/configs.d.ts +21 -0
  1619. package/_types/core/types/configs.d.ts.map +1 -0
  1620. package/_types/core/types/coprocessor.d.ts +71 -0
  1621. package/_types/core/types/coprocessor.d.ts.map +1 -0
  1622. package/_types/core/types/coprocessorSignersContext.d.ts +14 -0
  1623. package/_types/core/types/coprocessorSignersContext.d.ts.map +1 -0
  1624. package/_types/core/types/coreFhevmClient.d.ts +33 -0
  1625. package/_types/core/types/coreFhevmClient.d.ts.map +1 -0
  1626. package/_types/core/types/coreFhevmRuntime.d.ts +36 -0
  1627. package/_types/core/types/coreFhevmRuntime.d.ts.map +1 -0
  1628. package/_types/core/types/encryptedTypes-p.d.ts +104 -0
  1629. package/_types/core/types/encryptedTypes-p.d.ts.map +1 -0
  1630. package/_types/core/types/encryptedTypes.d.ts +35 -0
  1631. package/_types/core/types/encryptedTypes.d.ts.map +1 -0
  1632. package/_types/core/types/fheEncryptionKey.d.ts +77 -0
  1633. package/_types/core/types/fheEncryptionKey.d.ts.map +1 -0
  1634. package/_types/core/types/fheType.d.ts +99 -0
  1635. package/_types/core/types/fheType.d.ts.map +1 -0
  1636. package/_types/core/types/fhevmChain.d.ts +75 -0
  1637. package/_types/core/types/fhevmChain.d.ts.map +1 -0
  1638. package/_types/core/types/fhevmClient.d.ts +11 -0
  1639. package/_types/core/types/fhevmClient.d.ts.map +1 -0
  1640. package/_types/core/types/fhevmDecryptionKey.d.ts +4 -0
  1641. package/_types/core/types/fhevmDecryptionKey.d.ts.map +1 -0
  1642. package/_types/core/types/fhevmUser.d.ts +7 -0
  1643. package/_types/core/types/fhevmUser.d.ts.map +1 -0
  1644. package/_types/core/types/hostContract.d.ts +22 -0
  1645. package/_types/core/types/hostContract.d.ts.map +1 -0
  1646. package/_types/core/types/index.d.ts +3 -0
  1647. package/_types/core/types/index.d.ts.map +1 -0
  1648. package/_types/core/types/inputProof.d.ts +74 -0
  1649. package/_types/core/types/inputProof.d.ts.map +1 -0
  1650. package/_types/core/types/kms-p.d.ts +17 -0
  1651. package/_types/core/types/kms-p.d.ts.map +1 -0
  1652. package/_types/core/types/kms.d.ts +179 -0
  1653. package/_types/core/types/kms.d.ts.map +1 -0
  1654. package/_types/core/types/kmsSignersContext.d.ts +48 -0
  1655. package/_types/core/types/kmsSignersContext.d.ts.map +1 -0
  1656. package/_types/core/types/logger.d.ts +5 -0
  1657. package/_types/core/types/logger.d.ts.map +1 -0
  1658. package/_types/core/types/other-p.d.ts +11 -0
  1659. package/_types/core/types/other-p.d.ts.map +1 -0
  1660. package/_types/core/types/primitives.d.ts +527 -0
  1661. package/_types/core/types/primitives.d.ts.map +1 -0
  1662. package/_types/core/types/publicDecryptionProof-p.d.ts +27 -0
  1663. package/_types/core/types/publicDecryptionProof-p.d.ts.map +1 -0
  1664. package/_types/core/types/record-p.d.ts +18 -0
  1665. package/_types/core/types/record-p.d.ts.map +1 -0
  1666. package/_types/core/types/relayer-p.d.ts +285 -0
  1667. package/_types/core/types/relayer-p.d.ts.map +1 -0
  1668. package/_types/core/types/relayer.d.ts +106 -0
  1669. package/_types/core/types/relayer.d.ts.map +1 -0
  1670. package/_types/core/types/signedDecryptionPermit.d.ts +46 -0
  1671. package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -0
  1672. package/_types/core/types/tkms-p.d.ts +5 -0
  1673. package/_types/core/types/tkms-p.d.ts.map +1 -0
  1674. package/_types/core/types/utils.d.ts +34 -0
  1675. package/_types/core/types/utils.d.ts.map +1 -0
  1676. package/_types/core/types/zkProof-p.d.ts +21 -0
  1677. package/_types/core/types/zkProof-p.d.ts.map +1 -0
  1678. package/_types/core/types/zkProofBuilder.d.ts +23 -0
  1679. package/_types/core/types/zkProofBuilder.d.ts.map +1 -0
  1680. package/_types/core/utils-p/decrypt/assertPermitMatchesKeypair.d.ts +12 -0
  1681. package/_types/core/utils-p/decrypt/assertPermitMatchesKeypair.d.ts.map +1 -0
  1682. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts +14 -0
  1683. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1684. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts +14 -0
  1685. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts.map +1 -0
  1686. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts +16 -0
  1687. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts.map +1 -0
  1688. package/_types/core/utils-p/runtime/recoverSigners.d.ts +23 -0
  1689. package/_types/core/utils-p/runtime/recoverSigners.d.ts.map +1 -0
  1690. package/_types/ethers/clients/createFhevmBaseClient.d.ts +11 -0
  1691. package/_types/ethers/clients/createFhevmBaseClient.d.ts.map +1 -0
  1692. package/_types/ethers/clients/createFhevmClient.d.ts +11 -0
  1693. package/_types/ethers/clients/createFhevmClient.d.ts.map +1 -0
  1694. package/_types/ethers/clients/createFhevmDecryptClient.d.ts +11 -0
  1695. package/_types/ethers/clients/createFhevmDecryptClient.d.ts.map +1 -0
  1696. package/_types/ethers/clients/createFhevmEncryptClient.d.ts +11 -0
  1697. package/_types/ethers/clients/createFhevmEncryptClient.d.ts.map +1 -0
  1698. package/_types/ethers/decorators/decrypt.d.ts +6 -0
  1699. package/_types/ethers/decorators/decrypt.d.ts.map +1 -0
  1700. package/_types/ethers/decorators/encrypt.d.ts +6 -0
  1701. package/_types/ethers/decorators/encrypt.d.ts.map +1 -0
  1702. package/_types/ethers/index.d.ts +9 -0
  1703. package/_types/ethers/index.d.ts.map +1 -0
  1704. package/_types/ethers/internal/ethereum.d.ts +11 -0
  1705. package/_types/ethers/internal/ethereum.d.ts.map +1 -0
  1706. package/_types/ethers/internal/ethers-p.d.ts +39 -0
  1707. package/_types/ethers/internal/ethers-p.d.ts.map +1 -0
  1708. package/_types/ethers/internal/utils.d.ts +10 -0
  1709. package/_types/ethers/internal/utils.d.ts.map +1 -0
  1710. package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts +2 -0
  1711. package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts.map +1 -0
  1712. package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts +2 -0
  1713. package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts.map +1 -0
  1714. package/_types/ethers/runtime/initFhevmRuntime.d.ts +2 -0
  1715. package/_types/ethers/runtime/initFhevmRuntime.d.ts.map +1 -0
  1716. package/_types/viem/clients/createFhevmBaseClient.d.ts +11 -0
  1717. package/_types/viem/clients/createFhevmBaseClient.d.ts.map +1 -0
  1718. package/_types/viem/clients/createFhevmClient.d.ts +11 -0
  1719. package/_types/viem/clients/createFhevmClient.d.ts.map +1 -0
  1720. package/_types/viem/clients/createFhevmDecryptClient.d.ts +11 -0
  1721. package/_types/viem/clients/createFhevmDecryptClient.d.ts.map +1 -0
  1722. package/_types/viem/clients/createFhevmEncryptClient.d.ts +11 -0
  1723. package/_types/viem/clients/createFhevmEncryptClient.d.ts.map +1 -0
  1724. package/_types/viem/decorators/decrypt.d.ts +6 -0
  1725. package/_types/viem/decorators/decrypt.d.ts.map +1 -0
  1726. package/_types/viem/decorators/encrypt.d.ts +6 -0
  1727. package/_types/viem/decorators/encrypt.d.ts.map +1 -0
  1728. package/_types/viem/index.d.ts +9 -0
  1729. package/_types/viem/index.d.ts.map +1 -0
  1730. package/_types/viem/internal/ethereum.d.ts +11 -0
  1731. package/_types/viem/internal/ethereum.d.ts.map +1 -0
  1732. package/_types/viem/internal/viem-p.d.ts +39 -0
  1733. package/_types/viem/internal/viem-p.d.ts.map +1 -0
  1734. package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts +2 -0
  1735. package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts.map +1 -0
  1736. package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts +2 -0
  1737. package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts.map +1 -0
  1738. package/_types/viem/runtime/initFhevmRuntime.d.ts +2 -0
  1739. package/_types/viem/runtime/initFhevmRuntime.d.ts.map +1 -0
  1740. package/core/_version.ts +3 -0
  1741. package/core/actions/base/canReadPublicValue.ts +28 -0
  1742. package/core/actions/base/canReadPublicValues.ts +28 -0
  1743. package/core/actions/base/createVerifiedInputProofFromRawBytes.ts +24 -0
  1744. package/core/actions/base/fetchKmsSignedcryptedShares.ts +83 -0
  1745. package/core/actions/base/fetchVerifiedInputProof.ts +25 -0
  1746. package/core/actions/base/index.ts +69 -0
  1747. package/core/actions/base/package.json +6 -0
  1748. package/core/actions/base/readCoprocessorSignersContext.ts +21 -0
  1749. package/core/actions/base/readKmsSignersContext.ts +19 -0
  1750. package/core/actions/base/readPublicValue.ts +31 -0
  1751. package/core/actions/base/readPublicValues.ts +31 -0
  1752. package/core/actions/base/readPublicValuesWithSignatures.ts +53 -0
  1753. package/core/actions/base/signDecryptionPermit.ts +41 -0
  1754. package/core/actions/base/verifyHandlesCoprocessorSignatures.ts +60 -0
  1755. package/core/actions/base/verifyInputProof.ts +45 -0
  1756. package/core/actions/base/verifyZkProofCoprocessorSignatures.ts +32 -0
  1757. package/core/actions/chain/createCoprocessorEip712Domain.ts +16 -0
  1758. package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +37 -0
  1759. package/core/actions/chain/createKmsEip712Domain.ts +16 -0
  1760. package/core/actions/chain/createKmsUserDecryptEip712.ts +35 -0
  1761. package/core/actions/chain/fetchFheEncryptionKeyBytes.ts +24 -0
  1762. package/core/actions/chain/index.ts +63 -0
  1763. package/core/actions/chain/package.json +6 -0
  1764. package/core/actions/chain/parseSignedDecryptionPermit.ts +35 -0
  1765. package/core/actions/chain/parseTransportKeypair.ts +24 -0
  1766. package/core/actions/chain/serializeSignedDecryptionPermit.ts +31 -0
  1767. package/core/actions/chain/serializeTransportKeypair.ts +28 -0
  1768. package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +16 -0
  1769. package/core/actions/chain/verifyKmsUserDecryptEip712.ts +16 -0
  1770. package/core/actions/decrypt/canDecryptValue.ts +109 -0
  1771. package/core/actions/decrypt/canDecryptValues.ts +71 -0
  1772. package/core/actions/decrypt/canDecryptValuesFromPairs.ts +68 -0
  1773. package/core/actions/decrypt/decryptKmsSignedcryptedShares.ts +31 -0
  1774. package/core/actions/decrypt/decryptValue.ts +69 -0
  1775. package/core/actions/decrypt/decryptValues.ts +66 -0
  1776. package/core/actions/decrypt/decryptValuesFromPairs.ts +66 -0
  1777. package/core/actions/decrypt/generateTransportKeypair.ts +19 -0
  1778. package/core/actions/decrypt/index.ts +58 -0
  1779. package/core/actions/decrypt/package.json +6 -0
  1780. package/core/actions/encrypt/encryptValue.ts +52 -0
  1781. package/core/actions/encrypt/encryptValues.ts +51 -0
  1782. package/core/actions/encrypt/generateZkProof.ts +34 -0
  1783. package/core/actions/encrypt/index.ts +12 -0
  1784. package/core/actions/encrypt/package.json +6 -0
  1785. package/core/actions/host/getUserDecryptionDelegationExpirationDate.ts +32 -0
  1786. package/core/actions/host/index.ts +33 -0
  1787. package/core/actions/host/isAllowedForDecryption.ts +35 -0
  1788. package/core/actions/host/package.json +6 -0
  1789. package/core/actions/host/persistAllowed.ts +35 -0
  1790. package/core/actions/host/readFhevmExecutorContractData.ts +74 -0
  1791. package/core/actions/host/readInputVerifierContractData.ts +74 -0
  1792. package/core/actions/host/readKmsVerifierContractData.ts +75 -0
  1793. package/core/actions/host/resolveChainId.ts +42 -0
  1794. package/core/actions/host/resolveFhevmConfig.ts +191 -0
  1795. package/core/base/address.ts +303 -0
  1796. package/core/base/auth.ts +38 -0
  1797. package/core/base/boolean.ts +72 -0
  1798. package/core/base/bytes.ts +2060 -0
  1799. package/core/base/cachedFetch.ts +184 -0
  1800. package/core/base/errors/AddressError.ts +20 -0
  1801. package/core/base/errors/ChecksummedAddressError.ts +23 -0
  1802. package/core/base/errors/ErrorBase.ts +79 -0
  1803. package/core/base/errors/FetchError.ts +27 -0
  1804. package/core/base/errors/FheTypeError.ts +62 -0
  1805. package/core/base/errors/InternalError.ts +33 -0
  1806. package/core/base/errors/InvalidPropertyError.ts +232 -0
  1807. package/core/base/errors/InvalidTypeError.ts +87 -0
  1808. package/core/base/errors/utils.ts +41 -0
  1809. package/core/base/fetch.ts +284 -0
  1810. package/core/base/index.ts +1 -0
  1811. package/core/base/isomorphicWorker.ts +283 -0
  1812. package/core/base/object.ts +41 -0
  1813. package/core/base/promise.ts +31 -0
  1814. package/core/base/record.ts +201 -0
  1815. package/core/base/string.ts +214 -0
  1816. package/core/base/timeout.ts +32 -0
  1817. package/core/base/trustedValue.ts +110 -0
  1818. package/core/base/typedValue.ts +326 -0
  1819. package/core/base/uid.ts +17 -0
  1820. package/core/base/uint.ts +630 -0
  1821. package/core/base/wasm.ts +97 -0
  1822. package/core/chains/definitions/localTestnet.ts +30 -0
  1823. package/core/chains/definitions/mainnet.ts +30 -0
  1824. package/core/chains/definitions/sepolia.ts +32 -0
  1825. package/core/chains/index.ts +6 -0
  1826. package/core/chains/package.json +6 -0
  1827. package/core/chains/utils.ts +6 -0
  1828. package/core/clients/decorators/base.ts +203 -0
  1829. package/core/clients/decorators/decrypt.ts +85 -0
  1830. package/core/clients/decorators/encrypt-p.ts +18 -0
  1831. package/core/clients/decorators/encrypt.ts +47 -0
  1832. package/core/coprocessor/InputProof-p.ts +424 -0
  1833. package/core/coprocessor/ZkProof-p.ts +477 -0
  1834. package/core/coprocessor/ZkProofBuilder-p.ts +295 -0
  1835. package/core/coprocessor/assertIsCoprocessorEip712Domain.ts +23 -0
  1836. package/core/coprocessor/coprocessorEip712Types.ts +39 -0
  1837. package/core/coprocessor/createCoprocessorEip712.ts +69 -0
  1838. package/core/coprocessor/createCoprocessorEip712Domain.ts +25 -0
  1839. package/core/coprocessor/encrypt.ts +48 -0
  1840. package/core/coprocessor/fetchVerifiedInputProof.ts +84 -0
  1841. package/core/coprocessor/verifyHandlesCoprocessorSignatures.ts +66 -0
  1842. package/core/coprocessor/verifyInputProof.ts +50 -0
  1843. package/core/errors/AclError.ts +55 -0
  1844. package/core/errors/ContractErrorBase.ts +38 -0
  1845. package/core/errors/EncryptionError.ts +22 -0
  1846. package/core/errors/FhevmConfigError.ts +22 -0
  1847. package/core/errors/FhevmErrorBase.ts +53 -0
  1848. package/core/errors/FhevmHandleError.ts +20 -0
  1849. package/core/errors/InputProofError.ts +43 -0
  1850. package/core/errors/RelayerAbortError.ts +27 -0
  1851. package/core/errors/RelayerErrorBase.ts +81 -0
  1852. package/core/errors/RelayerFetchError.ts +35 -0
  1853. package/core/errors/RelayerFetchErrorBase.ts +90 -0
  1854. package/core/errors/RelayerMaxRetryError.ts +28 -0
  1855. package/core/errors/RelayerRequestErrorBase.ts +56 -0
  1856. package/core/errors/RelayerRequestInternalError.ts +52 -0
  1857. package/core/errors/RelayerResponseApiError.ts +43 -0
  1858. package/core/errors/RelayerResponseErrorBase.ts +35 -0
  1859. package/core/errors/RelayerResponseInputProofRejectedError.ts +28 -0
  1860. package/core/errors/RelayerResponseInvalidBodyError.ts +43 -0
  1861. package/core/errors/RelayerResponseStatusError.ts +33 -0
  1862. package/core/errors/RelayerStateError.ts +39 -0
  1863. package/core/errors/RelayerTimeoutError.ts +31 -0
  1864. package/core/errors/SignersError.ts +73 -0
  1865. package/core/errors/TfheError.ts +26 -0
  1866. package/core/errors/ZkProofError.ts +23 -0
  1867. package/core/handle/ClearValue.ts +341 -0
  1868. package/core/handle/EncryptedValue.ts +29 -0
  1869. package/core/handle/FheType.ts +545 -0
  1870. package/core/handle/FhevmHandle.ts +740 -0
  1871. package/core/host-contracts/CoprocessorSignersContext-p.ts +167 -0
  1872. package/core/host-contracts/FhevmExecutorContractData-p.ts +133 -0
  1873. package/core/host-contracts/HostContractVersion-p.ts +155 -0
  1874. package/core/host-contracts/InputVerifierContractData-p.ts +133 -0
  1875. package/core/host-contracts/KmsSignersContext-p.ts +238 -0
  1876. package/core/host-contracts/KmsVerifierContractData-p.ts +110 -0
  1877. package/core/host-contracts/abi-fragments/fragments.ts +460 -0
  1878. package/core/host-contracts/canDecryptValuesFromPairs.ts +94 -0
  1879. package/core/host-contracts/checkAllowedForDecryption.ts +36 -0
  1880. package/core/host-contracts/checkPersistAllowed.ts +115 -0
  1881. package/core/host-contracts/decryptionResultTypehash-p.ts +47 -0
  1882. package/core/host-contracts/eip712Domain-p.ts +75 -0
  1883. package/core/host-contracts/eip712InputVerificationTypehash-p.ts +47 -0
  1884. package/core/host-contracts/getAclAddress-p.ts +47 -0
  1885. package/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.ts +136 -0
  1886. package/core/host-contracts/getCoprocessorSigners-p.ts +47 -0
  1887. package/core/host-contracts/getCurrentKmsContextId-p.ts +74 -0
  1888. package/core/host-contracts/getFhevmExecutorAddress-p.ts +47 -0
  1889. package/core/host-contracts/getHandleVersion-p.ts +43 -0
  1890. package/core/host-contracts/getHcuLimitAddress-p.ts +47 -0
  1891. package/core/host-contracts/getInputVerifierAddress-p.ts +47 -0
  1892. package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +149 -0
  1893. package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +110 -0
  1894. package/core/host-contracts/getSignersForKmsContext-p.ts +90 -0
  1895. package/core/host-contracts/isAllowedForDecryption.ts +65 -0
  1896. package/core/host-contracts/isUserDecryptable.ts +92 -0
  1897. package/core/host-contracts/persistAllowed.ts +68 -0
  1898. package/core/host-contracts/readCoprocessorSignersContext-p.ts +34 -0
  1899. package/core/host-contracts/readKmsSignersContext-p.ts +221 -0
  1900. package/core/key/FheEncryptionKeyCache-p.ts +326 -0
  1901. package/core/key/FheEncryptionKeyWasm-p.ts +97 -0
  1902. package/core/key/deserializeFheEncryptionKey.ts +24 -0
  1903. package/core/key/fetchFheEncryptionKey.ts +46 -0
  1904. package/core/key/fetchFheEncryptionKeyBytes.ts +69 -0
  1905. package/core/key/fetchFheEncryptionKeyBytesWithSource.ts +72 -0
  1906. package/core/key/serializeFheEncryptionKey.ts +36 -0
  1907. package/core/kms/KmsSigncryptedShares-p.ts +169 -0
  1908. package/core/kms/PublicDecryptionProof-p.ts +181 -0
  1909. package/core/kms/PublicDecryptionProof.ts +10 -0
  1910. package/core/kms/SignedDecryptionPermit-p.ts +453 -0
  1911. package/core/kms/TransportKeypair-p.ts +278 -0
  1912. package/core/kms/createKmsDelegatedUserDecryptEip712.ts +135 -0
  1913. package/core/kms/createKmsEip712Domain.ts +67 -0
  1914. package/core/kms/createKmsPublicDecryptEip712.ts +59 -0
  1915. package/core/kms/createKmsUserDecryptEip712.ts +172 -0
  1916. package/core/kms/decryptKmsSignedcryptedShares-p.ts +37 -0
  1917. package/core/kms/decryptValuesFromPairs.ts +57 -0
  1918. package/core/kms/fetchKmsSignedcryptedShares-p.ts +211 -0
  1919. package/core/kms/index.ts +1 -0
  1920. package/core/kms/kmsDelegatedUserDecryptEip712Types.ts +31 -0
  1921. package/core/kms/kmsExtraData.ts +51 -0
  1922. package/core/kms/kmsPublicDecryptEip712Types.ts +28 -0
  1923. package/core/kms/kmsUserDecryptEip712Types.ts +30 -0
  1924. package/core/kms/publicDecrypt.ts +109 -0
  1925. package/core/kms/utils.ts +60 -0
  1926. package/core/kms/verifyKmsPublicDecryptEip712-p.ts +75 -0
  1927. package/core/modules/decrypt/mock.ts +134 -0
  1928. package/core/modules/decrypt/module/api-p.ts +388 -0
  1929. package/core/modules/decrypt/module/index.ts +73 -0
  1930. package/core/modules/decrypt/module/init-p.ts +166 -0
  1931. package/core/modules/decrypt/types.ts +214 -0
  1932. package/core/modules/encrypt/mock.ts +111 -0
  1933. package/core/modules/encrypt/module/api-p.ts +433 -0
  1934. package/core/modules/encrypt/module/index.ts +47 -0
  1935. package/core/modules/encrypt/module/init-p.ts +249 -0
  1936. package/core/modules/encrypt/types.ts +225 -0
  1937. package/core/modules/ethereum/createTrustedClient.ts +9 -0
  1938. package/core/modules/ethereum/types.ts +153 -0
  1939. package/core/modules/relayer/mock.ts +47 -0
  1940. package/core/modules/relayer/module/RelayerAsyncRequest.ts +1771 -0
  1941. package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +45 -0
  1942. package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +67 -0
  1943. package/core/modules/relayer/module/fetchFheEncryptionKeyBytes.ts +34 -0
  1944. package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +166 -0
  1945. package/core/modules/relayer/module/fetchPublicDecrypt.ts +40 -0
  1946. package/core/modules/relayer/module/fetchUserDecrypt.ts +65 -0
  1947. package/core/modules/relayer/module/guards/RelayerInputProofSucceeded.ts +106 -0
  1948. package/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.ts +59 -0
  1949. package/core/modules/relayer/module/guards/RelayerResponseFailed.ts +244 -0
  1950. package/core/modules/relayer/module/guards/RelayerResponseQueued.ts +51 -0
  1951. package/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.ts +77 -0
  1952. package/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.ts +65 -0
  1953. package/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.ts +87 -0
  1954. package/core/modules/relayer/module/guards/api-errors/RelayerApiError404.ts +25 -0
  1955. package/core/modules/relayer/module/guards/api-errors/RelayerApiError429.ts +25 -0
  1956. package/core/modules/relayer/module/guards/api-errors/RelayerApiError500.ts +25 -0
  1957. package/core/modules/relayer/module/guards/api-errors/RelayerApiError503.ts +30 -0
  1958. package/core/modules/relayer/module/index.ts +24 -0
  1959. package/core/modules/relayer/module/relayerUrl.ts +38 -0
  1960. package/core/modules/relayer/module/utils.ts +20 -0
  1961. package/core/modules/relayer/types.ts +183 -0
  1962. package/core/runtime/CoreFhevm-p.ts +409 -0
  1963. package/core/runtime/CoreFhevmRuntime-p.ts +266 -0
  1964. package/core/runtime/FhevmRuntime.ts +2 -0
  1965. package/core/runtime/initFhevmDecryptRuntime-p.ts +9 -0
  1966. package/core/runtime/initFhevmEncryptRuntime-p.ts +9 -0
  1967. package/core/runtime/initFhevmRuntime-p.ts +10 -0
  1968. package/core/types/auth.ts +44 -0
  1969. package/core/types/configs.ts +29 -0
  1970. package/core/types/coprocessor.ts +83 -0
  1971. package/core/types/coprocessorSignersContext.ts +15 -0
  1972. package/core/types/coreFhevmClient.ts +55 -0
  1973. package/core/types/coreFhevmRuntime.ts +44 -0
  1974. package/core/types/encryptedTypes-p.ts +226 -0
  1975. package/core/types/encryptedTypes.ts +41 -0
  1976. package/core/types/fheEncryptionKey.ts +106 -0
  1977. package/core/types/fheType.ts +137 -0
  1978. package/core/types/fhevmChain.ts +86 -0
  1979. package/core/types/fhevmClient.ts +30 -0
  1980. package/core/types/fhevmDecryptionKey.ts +8 -0
  1981. package/core/types/fhevmUser.ts +7 -0
  1982. package/core/types/hostContract.ts +27 -0
  1983. package/core/types/index.ts +2 -0
  1984. package/core/types/inputProof.ts +87 -0
  1985. package/core/types/kms-p.ts +18 -0
  1986. package/core/types/kms.ts +132 -0
  1987. package/core/types/kmsSignersContext.ts +48 -0
  1988. package/core/types/logger.ts +4 -0
  1989. package/core/types/other-p.ts +12 -0
  1990. package/core/types/primitives.ts +641 -0
  1991. package/core/types/publicDecryptionProof-p.ts +33 -0
  1992. package/core/types/record-p.ts +32 -0
  1993. package/core/types/relayer-p.ts +406 -0
  1994. package/core/types/relayer.ts +183 -0
  1995. package/core/types/signedDecryptionPermit.ts +50 -0
  1996. package/core/types/tkms-p.ts +5 -0
  1997. package/core/types/utils.ts +34 -0
  1998. package/core/types/zkProof-p.ts +29 -0
  1999. package/core/types/zkProofBuilder.ts +36 -0
  2000. package/core/utils-p/decrypt/assertPermitMatchesKeypair.ts +27 -0
  2001. package/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.ts +47 -0
  2002. package/core/utils-p/decrypt/verifyKmsUserDecryptEip712.ts +47 -0
  2003. package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +27 -0
  2004. package/core/utils-p/runtime/recoverSigners.ts +46 -0
  2005. package/ethers/clients/createFhevmBaseClient.ts +24 -0
  2006. package/ethers/clients/createFhevmClient.ts +20 -0
  2007. package/ethers/clients/createFhevmDecryptClient.ts +21 -0
  2008. package/ethers/clients/createFhevmEncryptClient.ts +24 -0
  2009. package/ethers/decorators/decrypt.ts +12 -0
  2010. package/ethers/decorators/encrypt.ts +12 -0
  2011. package/ethers/index.ts +10 -0
  2012. package/ethers/internal/ethereum.ts +165 -0
  2013. package/ethers/internal/ethers-p.ts +105 -0
  2014. package/ethers/internal/utils.ts +41 -0
  2015. package/ethers/package.json +6 -0
  2016. package/ethers/runtime/initFhevmDecryptRuntime.ts +8 -0
  2017. package/ethers/runtime/initFhevmEncryptRuntime.ts +8 -0
  2018. package/ethers/runtime/initFhevmRuntime.ts +8 -0
  2019. package/package.json +90 -2
  2020. package/tsconfig.json +9 -0
  2021. package/viem/clients/createFhevmBaseClient.ts +24 -0
  2022. package/viem/clients/createFhevmClient.ts +20 -0
  2023. package/viem/clients/createFhevmDecryptClient.ts +18 -0
  2024. package/viem/clients/createFhevmEncryptClient.ts +21 -0
  2025. package/viem/decorators/decrypt.ts +12 -0
  2026. package/viem/decorators/encrypt.ts +12 -0
  2027. package/viem/index.ts +10 -0
  2028. package/viem/internal/ethereum.ts +145 -0
  2029. package/viem/internal/viem-p.ts +105 -0
  2030. package/viem/package.json +6 -0
  2031. package/viem/runtime/initFhevmDecryptRuntime.ts +8 -0
  2032. package/viem/runtime/initFhevmEncryptRuntime.ts +8 -0
  2033. package/viem/runtime/initFhevmRuntime.ts +8 -0
  2034. package/wasm/tfhe/compile-worker.js +8 -0
  2035. package/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
  2036. package/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
  2037. package/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
  2038. package/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
  2039. package/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
  2040. package/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
  2041. package/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
  2042. package/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
  2043. package/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
  2044. package/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
  2045. package/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
  2046. package/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
  2047. package/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
  2048. package/wasm/wasmBaseUrl.d.ts +7 -0
  2049. package/wasm/wasmBaseUrl.js +14 -0
@@ -0,0 +1,7 @@
1
+ // Auto-generated — do not edit. Run: node inline-worker.build.mjs
2
+ // SHA-256: caa32a0babf2c76b7097e67b1cbae06256c3db638e31c02348c9c37988cc5f2e
3
+ export const workerBase64 =
4
+ "ZnVuY3Rpb24gX19faXNCcm93c2VyTGlrZSgpe3JldHVybiB0eXBlb2YgYWRkRXZlbnRMaXN0ZW5lcj09ImZ1bmN0aW9uIiYmdHlwZW9mIHJlbW92ZUV2ZW50TGlzdGVuZXI9PSJmdW5jdGlvbiJ9YXN5bmMgZnVuY3Rpb24gX19fZ2V0VGFyZ2V0KCl7aWYoX19faXNCcm93c2VyTGlrZSgpKXJldHVybiBzZWxmO2NvbnN0IF89Im5vZGU6d29ya2VyX3RocmVhZHMiLHtwYXJlbnRQb3J0OmV9PWF3YWl0IGltcG9ydChfKTtyZXR1cm4gZX1mdW5jdGlvbiBfX193YWl0Rm9yTXNnVHlwZSh0LF8pe3JldHVybiBuZXcgUHJvbWlzZShlPT57dHlwZW9mIHQub249PSJmdW5jdGlvbiI/dC5vbigibWVzc2FnZSIsZnVuY3Rpb24gbihyKXtyPy50eXBlPT09XyYmKHQub2ZmKCJtZXNzYWdlIixuKSxlKHIpKX0pOnQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24gbih7ZGF0YTpyfSl7cj8udHlwZT09PV8mJih0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG4pLGUocikpfSl9KX1fX19nZXRUYXJnZXQoKS50aGVuKHQ9Pl9fX3dhaXRGb3JNc2dUeXBlKHQsIndhc21fYmluZGdlbl93b3JrZXJfaW5pdCIpLnRoZW4oYXN5bmMoe2luaXQ6XyxyZWNlaXZlcjplfSk9Pntjb25zdCBuPWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdGZoZX0pO2F3YWl0IG4uZGVmYXVsdChfKSx0LnBvc3RNZXNzYWdlKHt0eXBlOiJ3YXNtX2JpbmRnZW5fd29ya2VyX3JlYWR5In0pLG4ud2JnX3JheW9uX3N0YXJ0X3dvcmtlcihlKX0pKTtmdW5jdGlvbiB3YmdfcmF5b25fc3RhcnRfd29ya2VyKHQpe3dhc20ud2JnX3JheW9uX3N0YXJ0X3dvcmtlcih0KX1mdW5jdGlvbiBkZWJ1Z1N0cmluZyh0KXtjb25zdCBfPXR5cGVvZiB0O2lmKF89PSJudW1iZXIifHxfPT0iYm9vbGVhbiJ8fHQ9PW51bGwpcmV0dXJuYCR7dH1gO2lmKF89PSJzdHJpbmciKXJldHVybmAiJHt0fSJgO2lmKF89PSJzeW1ib2wiKXtjb25zdCByPXQuZGVzY3JpcHRpb247cmV0dXJuIHI9PW51bGw/IlN5bWJvbCI6YFN5bWJvbCgke3J9KWB9aWYoXz09ImZ1bmN0aW9uIil7Y29uc3Qgcj10Lm5hbWU7cmV0dXJuIHR5cGVvZiByPT0ic3RyaW5nIiYmci5sZW5ndGg+MD9gRnVuY3Rpb24oJHtyfSlgOiJGdW5jdGlvbiJ9aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3Qgcj10Lmxlbmd0aDtsZXQgbz0iWyI7cj4wJiYobys9ZGVidWdTdHJpbmcodFswXSkpO2ZvcihsZXQgaT0xO2k8cjtpKyspbys9IiwgIitkZWJ1Z1N0cmluZyh0W2ldKTtyZXR1cm4gbys9Il0iLG99Y29uc3QgZT0vXFtvYmplY3QgKFteXF1dKylcXS8uZXhlYyh0b1N0cmluZy5jYWxsKHQpKTtsZXQgbjtpZihlJiZlLmxlbmd0aD4xKW49ZVsxXTtlbHNlIHJldHVybiB0b1N0cmluZy5jYWxsKHQpO2lmKG49PSJPYmplY3QiKXRyeXtyZXR1cm4iT2JqZWN0KCIrSlNPTi5zdHJpbmdpZnkodCkrIikifWNhdGNoe3JldHVybiJPYmplY3QifXJldHVybiB0IGluc3RhbmNlb2YgRXJyb3I/YCR7dC5uYW1lfTogJHt0Lm1lc3NhZ2V9CiR7dC5zdGFja31gOm59ZnVuY3Rpb24gZ2V0U3RyaW5nRnJvbVdhc20wKHQsXyl7cmV0dXJuIHQ9dD4+PjAsZGVjb2RlVGV4dCh0LF8pfWxldCBjYWNoZWRUZXh0RGVjb2Rlcj10eXBlb2YgVGV4dERlY29kZXI8InUiP25ldyBUZXh0RGVjb2RlcigidXRmLTgiLHtpZ25vcmVCT006ITAsZmF0YWw6ITB9KTp2b2lkIDA7Y2FjaGVkVGV4dERlY29kZXImJmNhY2hlZFRleHREZWNvZGVyLmRlY29kZSgpO2NvbnN0IE1BWF9TQUZBUklfREVDT0RFX0JZVEVTPTIxNDY0MzUwNzI7bGV0IG51bUJ5dGVzRGVjb2RlZD0wO2Z1bmN0aW9uIGRlY29kZVRleHQodCxfKXtyZXR1cm4gbnVtQnl0ZXNEZWNvZGVkKz1fLG51bUJ5dGVzRGVjb2RlZD49TUFYX1NBRkFSSV9ERUNPREVfQllURVMmJihjYWNoZWRUZXh0RGVjb2Rlcj1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7aWdub3JlQk9NOiEwLGZhdGFsOiEwfSksY2FjaGVkVGV4dERlY29kZXIuZGVjb2RlKCksbnVtQnl0ZXNEZWNvZGVkPV8pLGNhY2hlZFRleHREZWNvZGVyLmRlY29kZShnZXRVaW50OEFycmF5TWVtb3J5MCgpLnNsaWNlKHQsdCtfKSl9ZnVuY3Rpb24gYWRkVG9FeHRlcm5yZWZUYWJsZTAodCl7Y29uc3QgXz13YXNtLl9fZXh0ZXJucmVmX3RhYmxlX2FsbG9jKCk7cmV0dXJuIHdhc20uX193YmluZGdlbl9leHRlcm5yZWZzLnNldChfLHQpLF99bGV0IGNhY2hlZERhdGFWaWV3TWVtb3J5MD1udWxsO2Z1bmN0aW9uIGdldERhdGFWaWV3TWVtb3J5MCgpe3JldHVybihjYWNoZWREYXRhVmlld01lbW9yeTA9PT1udWxsfHxjYWNoZWREYXRhVmlld01lbW9yeTAuYnVmZmVyIT09d2FzbS5tZW1vcnkuYnVmZmVyKSYmKGNhY2hlZERhdGFWaWV3TWVtb3J5MD1uZXcgRGF0YVZpZXcod2FzbS5tZW1vcnkuYnVmZmVyKSksY2FjaGVkRGF0YVZpZXdNZW1vcnkwfWxldCBjYWNoZWRVaW50OEFycmF5TWVtb3J5MD1udWxsO2Z1bmN0aW9uIGdldFVpbnQ4QXJyYXlNZW1vcnkwKCl7cmV0dXJuKGNhY2hlZFVpbnQ4QXJyYXlNZW1vcnkwPT09bnVsbHx8Y2FjaGVkVWludDhBcnJheU1lbW9yeTAuYnVmZmVyIT09d2FzbS5tZW1vcnkuYnVmZmVyKSYmKGNhY2hlZFVpbnQ4QXJyYXlNZW1vcnkwPW5ldyBVaW50OEFycmF5KHdhc20ubWVtb3J5LmJ1ZmZlcikpLGNhY2hlZFVpbnQ4QXJyYXlNZW1vcnkwfWZ1bmN0aW9uIGdldEFycmF5VThGcm9tV2FzbTAodCxfKXtyZXR1cm4gdD10Pj4+MCxnZXRVaW50OEFycmF5TWVtb3J5MCgpLnN1YmFycmF5KHQvMSx0LzErXyl9bGV0IFdBU01fVkVDVE9SX0xFTj0wO2NvbnN0IGNhY2hlZFRleHRFbmNvZGVyPXR5cGVvZiBUZXh0RW5jb2RlcjwidSI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDtjYWNoZWRUZXh0RW5jb2RlciYmKGNhY2hlZFRleHRFbmNvZGVyLmVuY29kZUludG89ZnVuY3Rpb24odCxfKXtjb25zdCBlPWNhY2hlZFRleHRFbmNvZGVyLmVuY29kZSh0KTtyZXR1cm4gXy5zZXQoZSkse3JlYWQ6dC5sZW5ndGgsd3JpdHRlbjplLmxlbmd0aH19KTtmdW5jdGlvbiBwYXNzU3RyaW5nVG9XYXNtMCh0LF8sZSl7aWYoZT09PXZvaWQgMCl7Y29uc3QgYz1jYWNoZWRUZXh0RW5jb2Rlci5lbmNvZGUodCkscz1fKGMubGVuZ3RoLDEpPj4+MDtyZXR1cm4gZ2V0VWludDhBcnJheU1lbW9yeTAoKS5zdWJhcnJheShzLHMrYy5sZW5ndGgpLnNldChjKSxXQVNNX1ZFQ1RPUl9MRU49Yy5sZW5ndGgsc31sZXQgbj10Lmxlbmd0aCxyPV8obiwxKT4+PjA7Y29uc3Qgbz1nZXRVaW50OEFycmF5TWVtb3J5MCgpO2xldCBpPTA7Zm9yKDtpPG47aSsrKXtjb25zdCBjPXQuY2hhckNvZGVBdChpKTtpZihjPjEyNylicmVhaztvW3IraV09Y31pZihpIT09bil7aSE9PTAmJih0PXQuc2xpY2UoaSkpLHI9ZShyLG4sbj1pK3QubGVuZ3RoKjMsMSk+Pj4wO2NvbnN0IGM9Z2V0VWludDhBcnJheU1lbW9yeTAoKS5zdWJhcnJheShyK2kscituKSxzPWNhY2hlZFRleHRFbmNvZGVyLmVuY29kZUludG8odCxjKTtpKz1zLndyaXR0ZW4scj1lKHIsbixpLDEpPj4+MH1yZXR1cm4gV0FTTV9WRUNUT1JfTEVOPWkscn1mdW5jdGlvbiBoYW5kbGVFcnJvcih0LF8pe3RyeXtyZXR1cm4gdC5hcHBseSh0aGlzLF8pfWNhdGNoKGUpe2NvbnN0IG49YWRkVG9FeHRlcm5yZWZUYWJsZTAoZSk7d2FzbS5fX3diaW5kZ2VuX2V4bl9zdG9yZShuKX19ZnVuY3Rpb24gaXNMaWtlTm9uZSh0KXtyZXR1cm4gdD09bnVsbH1mdW5jdGlvbiBfX3diZ19nZXRfaW1wb3J0cyh0KXtyZXR1cm57X19wcm90b19fOm51bGwsIi4vdGZoZV9iZy5qcyI6e19fcHJvdG9fXzpudWxsLF9fd2JnX0JpZ0ludF83ZWExZTc0OWNlNmI5MmZkOmZ1bmN0aW9uKCl7cmV0dXJuIGhhbmRsZUVycm9yKGZ1bmN0aW9uKGUpe3JldHVybiBCaWdJbnQoZSl9LGFyZ3VtZW50cyl9LF9fd2JnX0JpZ0ludF9iN2JiY2NkZmYyNThjOWYyOmZ1bmN0aW9uKGUpe3JldHVybiBCaWdJbnQoZSl9LF9fd2JnX0Vycm9yXzhjNGU0M2ZlNzQ1NTlkNzM6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gRXJyb3IoZ2V0U3RyaW5nRnJvbVdhc20wKGUsbikpfSxfX3diZ19fX3diaW5kZ2VuX2JpZ2ludF9nZXRfYXNfaTY0XzhmY2Y0Y2U3ZjFjYTcyYTI6ZnVuY3Rpb24oZSxuKXtjb25zdCByPW4sbz10eXBlb2Ygcj09ImJpZ2ludCI/cjp2b2lkIDA7Z2V0RGF0YVZpZXdNZW1vcnkwKCkuc2V0QmlnSW50NjQoZSs4LGlzTGlrZU5vbmUobyk/QmlnSW50KDApOm8sITApLGdldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGUrMCwhaXNMaWtlTm9uZShvKSwhMCl9LF9fd2JnX19fd2JpbmRnZW5fYml0X2FuZF80MzYyYjExNzY5NTBkNDJhOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGUmbn0sX193YmdfX193YmluZGdlbl9iaXRfb3JfNzFhMDJkMzk3OTZlYTEzZDpmdW5jdGlvbihlLG4pe3JldHVybiBlfG59LF9fd2JnX19fd2JpbmRnZW5fZGVidWdfc3RyaW5nXzBiYzg0ODJjNmUzNTA4YWU6ZnVuY3Rpb24oZSxuKXtjb25zdCByPWRlYnVnU3RyaW5nKG4pLG89cGFzc1N0cmluZ1RvV2FzbTAocix3YXNtLl9fd2JpbmRnZW5fbWFsbG9jLHdhc20uX193YmluZGdlbl9yZWFsbG9jKSxpPVdBU01fVkVDVE9SX0xFTjtnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzQsaSwhMCksZ2V0RGF0YVZpZXdNZW1vcnkwKCkuc2V0SW50MzIoZSswLG8sITApfSxfX3diZ19fX3diaW5kZ2VuX2lzX2Z1bmN0aW9uXzAwOTVhNzNiOGIxNTZmNzY6ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24ifSxfX3diZ19fX3diaW5kZ2VuX2lzX29iamVjdF81YWU4ZTU4ODBmMmMxZmJkOmZ1bmN0aW9uKGUpe2NvbnN0IG49ZTtyZXR1cm4gdHlwZW9mIG49PSJvYmplY3QiJiZuIT09bnVsbH0sX193YmdfX193YmluZGdlbl9pc19zdHJpbmdfY2Q0NDQ1MTZlZGM1YjE4MDpmdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmcifSxfX3diZ19fX3diaW5kZ2VuX2lzX3VuZGVmaW5lZF85ZTRkOTI1MzRjNDJkNzc4OmZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwfSxfX3diZ19fX3diaW5kZ2VuX2pzdmFsX2VxXzExODg4MzkwYjAxODYyNzA6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZT09PW59LF9fd2JnX19fd2JpbmRnZW5fbHRfYmI1OWNjM2QyMzUyNmUwZDpmdW5jdGlvbihlLG4pe3JldHVybiBlPG59LF9fd2JnX19fd2JpbmRnZW5fbWVtb3J5X2JkMWZiY2YyMWZiZWYzYzg6ZnVuY3Rpb24oKXtyZXR1cm4gd2FzbS5tZW1vcnl9LF9fd2JnX19fd2JpbmRnZW5fbW9kdWxlX2Y2YjgwNTJkNzljMWNjMTY6ZnVuY3Rpb24oKXtyZXR1cm4gd2FzbU1vZHVsZX0sX193YmdfX193YmluZGdlbl9uZWdfNmI0ZDM1NmRmZjQ5ZGNjNjpmdW5jdGlvbihlKXtyZXR1cm4tZX0sX193YmdfX193YmluZGdlbl9zaGxfOGQ2NGQwNjc2MWY5ZWE0ZTpmdW5jdGlvbihlLG4pe3JldHVybiBlPDxufSxfX3diZ19fX3diaW5kZ2VuX3Nocl9lZjhlMDdjY2U3MDllYjU0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIGU+Pm59LF9fd2JnX19fd2JpbmRnZW5fc3RyaW5nX2dldF83MmZiNjk2MjAyYzU2NzI5OmZ1bmN0aW9uKGUsbil7Y29uc3Qgcj1uLG89dHlwZW9mIHI9PSJzdHJpbmciP3I6dm9pZCAwO3ZhciBpPWlzTGlrZU5vbmUobyk/MDpwYXNzU3RyaW5nVG9XYXNtMChvLHdhc20uX193YmluZGdlbl9tYWxsb2Msd2FzbS5fX3diaW5kZ2VuX3JlYWxsb2MpLGM9V0FTTV9WRUNUT1JfTEVOO2dldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGUrNCxjLCEwKSxnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzAsaSwhMCl9LF9fd2JnX19fd2JpbmRnZW5fdGhyb3dfYmUyODlkNTAzNGVkMjcxYjpmdW5jdGlvbihlLG4pe3Rocm93IG5ldyBFcnJvcihnZXRTdHJpbmdGcm9tV2FzbTAoZSxuKSl9LF9fd2JnX2NhbGxfMzg5ZWZlMjg0MzVhOTM4ODpmdW5jdGlvbigpe3JldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbihlLG4pe3JldHVybiBlLmNhbGwobil9LGFyZ3VtZW50cyl9LF9fd2JnX2NhbGxfNDcwOGUwYzEzYmRjOGU5NTpmdW5jdGlvbigpe3JldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbihlLG4scil7cmV0dXJuIGUuY2FsbChuLHIpfSxhcmd1bWVudHMpfSxfX3diZ19jcnlwdG9fODZmMjYzMWU5MWI1MTUxMTpmdW5jdGlvbihlKXtyZXR1cm4gZS5jcnlwdG99LF9fd2JnX2Vycm9yXzc1MzRiOGU5YTM2ZjFhYjQ6ZnVuY3Rpb24oZSxuKXtsZXQgcixvO3RyeXtyPWUsbz1uLGNvbnNvbGUuZXJyb3IoZ2V0U3RyaW5nRnJvbVdhc20wKGUsbikpfWZpbmFsbHl7d2FzbS5fX3diaW5kZ2VuX2ZyZWUocixvLDEpfX0sX193YmdfZ2V0UmFuZG9tVmFsdWVzX2IzZjE1ZmNiZmFiYjBmOGI6ZnVuY3Rpb24oKXtyZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24oZSxuKXtlLmdldFJhbmRvbVZhbHVlcyhuKX0sYXJndW1lbnRzKX0sX193YmdfZ2V0VGltZV8xZTNjZDEzOTFjNWMzOTk1OmZ1bmN0aW9uKGUpe3JldHVybiBlLmdldFRpbWUoKX0sX193YmdfaW5zdGFuY2VvZl9XaW5kb3dfZWQ0OWIyZGI4ZGY5MDM1OTpmdW5jdGlvbihlKXtsZXQgbjt0cnl7bj1lIGluc3RhbmNlb2YgV2luZG93fWNhdGNoe249ITF9cmV0dXJuIG59LF9fd2JnX2xlbmd0aF8zMmVkOWEyNzlhY2QwNTRjOmZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aH0sX193YmdfbXNDcnlwdG9fZDU2MmJiZTgzZTBkNGI5MTpmdW5jdGlvbihlKXtyZXR1cm4gZS5tc0NyeXB0b30sX193YmdfbmV3XzBfNzNhZmMzNWViNTQ0ZTUzOTpmdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZX0sX193YmdfbmV3XzhhNmYyMzhhNmVjZTg2ZWE6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEVycm9yfSxfX3diZ19uZXdfbm9fYXJnc18xYzdjODQyZjA4ZDAwZWJiOmZ1bmN0aW9uKGUsbil7cmV0dXJuIG5ldyBGdW5jdGlvbihnZXRTdHJpbmdGcm9tV2FzbTAoZSxuKSl9LF9fd2JnX25ld193aXRoX2xlbmd0aF9hMmMzOWNiZTg4ZmQ4ZmYxOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVWludDhBcnJheShlPj4+MCl9LF9fd2JnX25vZGVfZTFmMjRmODlhNzMzNmMyZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlfSxfX3diZ19wcm9jZXNzXzM5NzVmZDZjNzJmNTIwYWE6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJvY2Vzc30sX193YmdfcHJvdG90eXBlc2V0Y2FsbF9iZGNkY2M1ODQyZTRkNzdkOmZ1bmN0aW9uKGUsbixyKXtVaW50OEFycmF5LnByb3RvdHlwZS5zZXQuY2FsbChnZXRBcnJheVU4RnJvbVdhc20wKGUsbikscil9LF9fd2JnX3JhbmRvbUZpbGxTeW5jX2Y4YzE1M2I3OWYyODU4MTc6ZnVuY3Rpb24oKXtyZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24oZSxuKXtlLnJhbmRvbUZpbGxTeW5jKG4pfSxhcmd1bWVudHMpfSxfX3diZ19yZXF1aXJlX2I3NGY0N2ZjMmQwMjJmZDY6ZnVuY3Rpb24oKXtyZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24oKXtyZXR1cm4gbW9kdWxlLnJlcXVpcmV9LGFyZ3VtZW50cyl9LF9fd2JnX3N0YWNrXzBlZDc1ZDY4NTc1YjBmM2M6ZnVuY3Rpb24oZSxuKXtjb25zdCByPW4uc3RhY2ssbz1wYXNzU3RyaW5nVG9XYXNtMChyLHdhc20uX193YmluZGdlbl9tYWxsb2Msd2FzbS5fX3diaW5kZ2VuX3JlYWxsb2MpLGk9V0FTTV9WRUNUT1JfTEVOO2dldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGUrNCxpLCEwKSxnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzAsbywhMCl9LF9fd2JnX3N0YXJ0V29ya2Vyc18yY2ExMTc2MWUwOGZmNWQ1OmZ1bmN0aW9uKGUsbixyKXtoYW5kbGVFcnJvcihmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigic3RhcnRXb3JrZXJzIG5vdCBzdXBwb3J0ZWQgZnJvbSBhIHdvcmtlciB0aHJlYWQiKX0pfSxfX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMXzEyODM3MTY3YWQ5MzUxMTY6ZnVuY3Rpb24oKXtjb25zdCBlPXR5cGVvZiBnbG9iYWw+InUiP251bGw6Z2xvYmFsO3JldHVybiBpc0xpa2VOb25lKGUpPzA6YWRkVG9FeHRlcm5yZWZUYWJsZTAoZSl9LF9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9HTE9CQUxfVEhJU19lNjI4ZTg5YWIzYjFjOTVmOmZ1bmN0aW9uKCl7Y29uc3QgZT10eXBlb2YgZ2xvYmFsVGhpcz4idSI/bnVsbDpnbG9iYWxUaGlzO3JldHVybiBpc0xpa2VOb25lKGUpPzA6YWRkVG9FeHRlcm5yZWZUYWJsZTAoZSl9LF9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9TRUxGX2E2MjFkM2RmYmI2MGQwY2U6ZnVuY3Rpb24oKXtjb25zdCBlPXR5cGVvZiBzZWxmPiJ1Ij9udWxsOnNlbGY7cmV0dXJuIGlzTGlrZU5vbmUoZSk/MDphZGRUb0V4dGVybnJlZlRhYmxlMChlKX0sX193Ymdfc3RhdGljX2FjY2Vzc29yX1dJTkRPV19mODcyN2YwY2Y4ODhlMGJkOmZ1bmN0aW9uKCl7Y29uc3QgZT10eXBlb2Ygd2luZG93PiJ1Ij9udWxsOndpbmRvdztyZXR1cm4gaXNMaWtlTm9uZShlKT8wOmFkZFRvRXh0ZXJucmVmVGFibGUwKGUpfSxfX3diZ19zdWJhcnJheV9hOTZlMWZlZjE3ZWQyM2NiOmZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gZS5zdWJhcnJheShuPj4+MCxyPj4+MCl9LF9fd2JnX3RvU3RyaW5nXzAyOWFjMjQ0MjFmZDdhMjQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9TdHJpbmcoKX0sX193YmdfdG9TdHJpbmdfNTZkOTQ2ZGFmZjgzODY3YjpmdW5jdGlvbihlLG4scil7Y29uc3Qgbz1uLnRvU3RyaW5nKHIpLGk9cGFzc1N0cmluZ1RvV2FzbTAobyx3YXNtLl9fd2JpbmRnZW5fbWFsbG9jLHdhc20uX193YmluZGdlbl9yZWFsbG9jKSxjPVdBU01fVkVDVE9SX0xFTjtnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihlKzQsYywhMCksZ2V0RGF0YVZpZXdNZW1vcnkwKCkuc2V0SW50MzIoZSswLGksITApfSxfX3diZ192ZXJzaW9uc180ZTMxMjI2ZjVlOGRjOTA5OmZ1bmN0aW9uKGUpe3JldHVybiBlLnZlcnNpb25zfSxfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMTpmdW5jdGlvbihlKXtyZXR1cm4gZX0sX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDI6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQmlnSW50LmFzVWludE4oNjQsZSl8bjw8QmlnSW50KDY0KX0sX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDM6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIGdldEFycmF5VThGcm9tV2FzbTAoZSxuKX0sX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZ2V0U3RyaW5nRnJvbVdhc20wKGUsbil9LF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA2OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEJpZ0ludC5hc1VpbnROKDY0LGUpfEJpZ0ludC5hc1VpbnROKDY0LG4pPDxCaWdJbnQoNjQpfSxfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwNzpmdW5jdGlvbihlKXtyZXR1cm4gQmlnSW50LmFzVWludE4oNjQsZSl9LF9fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGU6ZnVuY3Rpb24oKXtjb25zdCBlPXdhc20uX193YmluZGdlbl9leHRlcm5yZWZzLG49ZS5ncm93KDQpO2Uuc2V0KDAsdm9pZCAwKSxlLnNldChuKzAsdm9pZCAwKSxlLnNldChuKzEsbnVsbCksZS5zZXQobisyLCEwKSxlLnNldChuKzMsITEpfSxtZW1vcnk6dHx8bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDoyMSxtYXhpbXVtOjE2Mzg0LHNoYXJlZDohMH0pfX19bGV0IHdhc21Nb2R1bGUsd2FzbTtmdW5jdGlvbiBfX3diZ19maW5hbGl6ZV9pbml0KHQsXyxlKXtpZih3YXNtPXQuZXhwb3J0cyx3YXNtTW9kdWxlPV8sY2FjaGVkRGF0YVZpZXdNZW1vcnkwPW51bGwsY2FjaGVkVWludDhBcnJheU1lbW9yeTA9bnVsbCx0eXBlb2YgZTwidSImJih0eXBlb2YgZSE9Im51bWJlciJ8fGU9PT0wfHxlJTY1NTM2IT09MCkpdGhyb3ciaW52YWxpZCBzdGFjayBzaXplIjtyZXR1cm4gd2FzbS5fX3diaW5kZ2VuX3N0YXJ0KGUpLHdhc219YXN5bmMgZnVuY3Rpb24gX193YmdfbG9hZCh0LF8pe2lmKHR5cGVvZiBSZXNwb25zZT09ImZ1bmN0aW9uIiYmdCBpbnN0YW5jZW9mIFJlc3BvbnNlKXtpZih0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmc9PSJmdW5jdGlvbiIpdHJ5e3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyh0LF8pfWNhdGNoKHIpe2lmKHQub2smJmUodC50eXBlKSYmdC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikhPT0iYXBwbGljYXRpb24vd2FzbSIpY29uc29sZS53YXJuKCJgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmdgIGZhaWxlZCBiZWNhdXNlIHlvdXIgc2VydmVyIGRvZXMgbm90IHNlcnZlIFdhc20gd2l0aCBgYXBwbGljYXRpb24vd2FzbWAgTUlNRSB0eXBlLiBGYWxsaW5nIGJhY2sgdG8gYFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlYCB3aGljaCBpcyBzbG93ZXIuIE9yaWdpbmFsIGVycm9yOlxuIixyKTtlbHNlIHRocm93IHJ9Y29uc3Qgbj1hd2FpdCB0LmFycmF5QnVmZmVyKCk7cmV0dXJuIGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG4sXyl9ZWxzZXtjb25zdCBuPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHQsXyk7cmV0dXJuIG4gaW5zdGFuY2VvZiBXZWJBc3NlbWJseS5JbnN0YW5jZT97aW5zdGFuY2U6bixtb2R1bGU6dH06bn1mdW5jdGlvbiBlKG4pe3N3aXRjaChuKXtjYXNlImJhc2ljIjpjYXNlImNvcnMiOmNhc2UiZGVmYXVsdCI6cmV0dXJuITB9cmV0dXJuITF9fWFzeW5jIGZ1bmN0aW9uIF9fd2JnX2luaXQodCxfKXtpZih3YXNtIT09dm9pZCAwKXJldHVybiB3YXNtO2xldCBlO3QhPT12b2lkIDAmJihPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1PYmplY3QucHJvdG90eXBlP3ttb2R1bGVfb3JfcGF0aDp0LG1lbW9yeTpfLHRocmVhZF9zdGFja19zaXplOmV9PXQ6Y29uc29sZS53YXJuKCJ1c2luZyBkZXByZWNhdGVkIHBhcmFtZXRlcnMgZm9yIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbjsgcGFzcyBhIHNpbmdsZSBvYmplY3QgaW5zdGVhZCIpKTtjb25zdCBuPV9fd2JnX2dldF9pbXBvcnRzKF8pLHtpbnN0YW5jZTpyLG1vZHVsZTpvfT1hd2FpdCBfX3diZ19sb2FkKGF3YWl0IHQsbik7cmV0dXJuIF9fd2JnX2ZpbmFsaXplX2luaXQocixvLGUpfXZhciB0ZmhlPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGRlZmF1bHQ6X193YmdfaW5pdCx3YmdfcmF5b25fc3RhcnRfd29ya2VyfSk7Cg==";
5
+
6
+ const workerBase64_large =
7
+ "ZnVuY3Rpb24gX19faXNCcm93c2VyTGlrZSgpIHsKICByZXR1cm4gKAogICAgdHlwZW9mIGFkZEV2ZW50TGlzdGVuZXIgPT09ICdmdW5jdGlvbicgJiYKICAgIHR5cGVvZiByZW1vdmVFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nCiAgKTsKfQoKYXN5bmMgZnVuY3Rpb24gX19fZ2V0VGFyZ2V0KCkgewogIGlmIChfX19pc0Jyb3dzZXJMaWtlKCkpIHJldHVybiBzZWxmOwogIGNvbnN0IG5vZGVNb2R1bGVOYW1lID0gJ3dvcmtlcl90aHJlYWRzJzsKICBjb25zdCBub2RlTW9kdWxlSWQgPSBgbm9kZToke25vZGVNb2R1bGVOYW1lfWA7CiAgY29uc3QgeyBwYXJlbnRQb3J0IH0gPSBhd2FpdCBpbXBvcnQobm9kZU1vZHVsZUlkKTsKICByZXR1cm4gcGFyZW50UG9ydDsKfQoKY29uc29sZS5sb2coJ1t0ZmhlLXdvcmtlci52MS41LjMubWpzXTogYm9vc3RyYXAuLi4nKTsKCmZ1bmN0aW9uIF9fX3dhaXRGb3JNc2dUeXBlKHRhcmdldCwgdHlwZSkgewogIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zLm1qc106IF9fX3dhaXRGb3JNc2dUeXBlKCkuLi4nKTsKICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zLm1qc106IG5ldyBQcm9taXNlKCknKTsKICAgIGlmICh0eXBlb2YgdGFyZ2V0Lm9uID09PSAnZnVuY3Rpb24nKSB7CiAgICAgIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zLm1qc106IHRhcmdldC5vbigpJyk7CiAgICAgIC8vIE5vZGU6IEV2ZW50RW1pdHRlciwgZGF0YSBwYXNzZWQgZGlyZWN0bHkKICAgICAgdGFyZ2V0Lm9uKCdtZXNzYWdlJywgZnVuY3Rpb24gb25Nc2coZGF0YSkgewogICAgICAgIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zLm1qc106IG9uLW1lc3NhZ2UnKTsKICAgICAgICBpZiAoZGF0YT8udHlwZSAhPT0gdHlwZSkgcmV0dXJuOwogICAgICAgIHRhcmdldC5vZmYoJ21lc3NhZ2UnLCBvbk1zZyk7CiAgICAgICAgcmVzb2x2ZShkYXRhKTsKICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAvLyBCcm93c2VyOiBET00gZXZlbnRzLCBkYXRhIHdyYXBwZWQgaW4gTWVzc2FnZUV2ZW50CiAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gb25Nc2coeyBkYXRhIH0pIHsKICAgICAgICBpZiAoZGF0YT8udHlwZSAhPT0gdHlwZSkgcmV0dXJuOwogICAgICAgIHRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25Nc2cpOwogICAgICAgIHJlc29sdmUoZGF0YSk7CiAgICAgIH0pOwogICAgfQogIH0pOwp9CgpfX19nZXRUYXJnZXQoKS50aGVuKCh0YXJnZXQpID0+CiAgX19fd2FpdEZvck1zZ1R5cGUodGFyZ2V0LCAnd2FzbV9iaW5kZ2VuX3dvcmtlcl9pbml0JykudGhlbigKICAgIGFzeW5jICh7IGluaXQsIHJlY2VpdmVyIH0pID0+IHsKICAgICAgY29uc29sZS5sb2coJ1t0ZmhlLXdvcmtlci52MS41LjNdIHdhc21fYmluZGdlbl93b3JrZXJfaW5pdCByZWNlaXZlZCEnKTsKICAgICAgY29uc3QgcGtnID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRmaGU7CiAgICAgIH0pOwogICAgICBjb25zb2xlLmxvZygnW3RmaGUtd29ya2VyLnYxLjUuM10gY2FsbCB0aHJlYWQgX193YmdfaW5pdCgpLi4uJyk7CiAgICAgIGF3YWl0IHBrZy5kZWZhdWx0KGluaXQpOwogICAgICBjb25zb2xlLmxvZygKICAgICAgICAnW3RmaGUtd29ya2VyLnYxLjUuM10gcG9zdCBtZXNzYWdlIHdhc21fYmluZGdlbl93b3JrZXJfcmVhZHknLAogICAgICApOwogICAgICB0YXJnZXQucG9zdE1lc3NhZ2UoeyB0eXBlOiAnd2FzbV9iaW5kZ2VuX3dvcmtlcl9yZWFkeScgfSk7CiAgICAgIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zXSBjYWxsIHdiZ19yYXlvbl9zdGFydF93b3JrZXIuLi4nKTsKICAgICAgcGtnLndiZ19yYXlvbl9zdGFydF93b3JrZXIocmVjZWl2ZXIpOwogICAgfSwKICApLAopOwoKLyoqCiAqIEBwYXJhbSB7bnVtYmVyfSByZWNlaXZlcgogKi8KZnVuY3Rpb24gd2JnX3JheW9uX3N0YXJ0X3dvcmtlcihyZWNlaXZlcikgewogIHdhc20ud2JnX3JheW9uX3N0YXJ0X3dvcmtlcihyZWNlaXZlcik7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIEludGVybmFsIHdhc21iaW5kZ2VuIHRvb2xzCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBkZWJ1Z1N0cmluZwovLyAtIGltcG9ydHMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIGRlYnVnU3RyaW5nKHZhbCkgewogIC8vIHByaW1pdGl2ZSB0eXBlcwogIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsOwogIGlmICh0eXBlID09ICdudW1iZXInIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nIHx8IHZhbCA9PSBudWxsKSB7CiAgICByZXR1cm4gYCR7dmFsfWA7CiAgfQogIGlmICh0eXBlID09ICdzdHJpbmcnKSB7CiAgICByZXR1cm4gYCIke3ZhbH0iYDsKICB9CiAgaWYgKHR5cGUgPT0gJ3N5bWJvbCcpIHsKICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdmFsLmRlc2NyaXB0aW9uOwogICAgaWYgKGRlc2NyaXB0aW9uID09IG51bGwpIHsKICAgICAgcmV0dXJuICdTeW1ib2wnOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGBTeW1ib2woJHtkZXNjcmlwdGlvbn0pYDsKICAgIH0KICB9CiAgaWYgKHR5cGUgPT0gJ2Z1bmN0aW9uJykgewogICAgY29uc3QgbmFtZSA9IHZhbC5uYW1lOwogICAgaWYgKHR5cGVvZiBuYW1lID09ICdzdHJpbmcnICYmIG5hbWUubGVuZ3RoID4gMCkgewogICAgICByZXR1cm4gYEZ1bmN0aW9uKCR7bmFtZX0pYDsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAnRnVuY3Rpb24nOwogICAgfQogIH0KICAvLyBvYmplY3RzCiAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkgewogICAgY29uc3QgbGVuZ3RoID0gdmFsLmxlbmd0aDsKICAgIGxldCBkZWJ1ZyA9ICdbJzsKICAgIGlmIChsZW5ndGggPiAwKSB7CiAgICAgIGRlYnVnICs9IGRlYnVnU3RyaW5nKHZhbFswXSk7CiAgICB9CiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgIGRlYnVnICs9ICcsICcgKyBkZWJ1Z1N0cmluZyh2YWxbaV0pOwogICAgfQogICAgZGVidWcgKz0gJ10nOwogICAgcmV0dXJuIGRlYnVnOwogIH0KICAvLyBUZXN0IGZvciBidWlsdC1pbgogIGNvbnN0IGJ1aWx0SW5NYXRjaGVzID0gL1xbb2JqZWN0IChbXlxdXSspXF0vLmV4ZWModG9TdHJpbmcuY2FsbCh2YWwpKTsKICBsZXQgY2xhc3NOYW1lOwogIGlmIChidWlsdEluTWF0Y2hlcyAmJiBidWlsdEluTWF0Y2hlcy5sZW5ndGggPiAxKSB7CiAgICBjbGFzc05hbWUgPSBidWlsdEluTWF0Y2hlc1sxXTsKICB9IGVsc2UgewogICAgLy8gRmFpbGVkIHRvIG1hdGNoIHRoZSBzdGFuZGFyZCAnW29iamVjdCBDbGFzc05hbWVdJwogICAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKTsKICB9CiAgaWYgKGNsYXNzTmFtZSA9PSAnT2JqZWN0JykgewogICAgLy8gd2UncmUgYSB1c2VyIGRlZmluZWQgY2xhc3Mgb3IgT2JqZWN0CiAgICAvLyBKU09OLnN0cmluZ2lmeSBhdm9pZHMgcHJvYmxlbXMgd2l0aCBjeWNsZXMsIGFuZCBpcyBnZW5lcmFsbHkgbXVjaAogICAgLy8gZWFzaWVyIHRoYW4gbG9vcGluZyB0aHJvdWdoIG93blByb3BlcnRpZXMgb2YgYHZhbGAuCiAgICB0cnkgewogICAgICByZXR1cm4gJ09iamVjdCgnICsgSlNPTi5zdHJpbmdpZnkodmFsKSArICcpJzsKICAgIH0gY2F0Y2ggKF8pIHsKICAgICAgcmV0dXJuICdPYmplY3QnOwogICAgfQogIH0KICAvLyBlcnJvcnMKICBpZiAodmFsIGluc3RhbmNlb2YgRXJyb3IpIHsKICAgIHJldHVybiBgJHt2YWwubmFtZX06ICR7dmFsLm1lc3NhZ2V9XG4ke3ZhbC5zdGFja31gOwogIH0KICAvLyBUT0RPIHdlIGNvdWxkIHRlc3QgZm9yIG1vcmUgdGhpbmdzIGhlcmUsIGxpa2UgYFNldGBzIGFuZCBgTWFwYHMuCiAgcmV0dXJuIGNsYXNzTmFtZTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gZ2V0U3RyaW5nRnJvbVdhc20wCi8vIC0gaW1wb3J0cwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gZ2V0U3RyaW5nRnJvbVdhc20wKHB0ciwgbGVuKSB7CiAgcHRyID0gcHRyID4+PiAwOwogIHJldHVybiBkZWNvZGVUZXh0KHB0ciwgbGVuKTsKfQoKLy8gb25seSB1c2VkIGJ5IGdldFN0cmluZ0Zyb21XYXNtMC9kZWNvZGVUZXh0CmxldCBjYWNoZWRUZXh0RGVjb2RlciA9CiAgdHlwZW9mIFRleHREZWNvZGVyICE9PSAndW5kZWZpbmVkJwogICAgPyBuZXcgVGV4dERlY29kZXIoJ3V0Zi04JywgeyBpZ25vcmVCT006IHRydWUsIGZhdGFsOiB0cnVlIH0pCiAgICA6IHVuZGVmaW5lZDsKaWYgKGNhY2hlZFRleHREZWNvZGVyKSBjYWNoZWRUZXh0RGVjb2Rlci5kZWNvZGUoKTsKCmNvbnN0IE1BWF9TQUZBUklfREVDT0RFX0JZVEVTID0gMjE0NjQzNTA3MjsKbGV0IG51bUJ5dGVzRGVjb2RlZCA9IDA7CmZ1bmN0aW9uIGRlY29kZVRleHQocHRyLCBsZW4pIHsKICBudW1CeXRlc0RlY29kZWQgKz0gbGVuOwogIGlmIChudW1CeXRlc0RlY29kZWQgPj0gTUFYX1NBRkFSSV9ERUNPREVfQllURVMpIHsKICAgIGNhY2hlZFRleHREZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCd1dGYtOCcsIHsKICAgICAgaWdub3JlQk9NOiB0cnVlLAogICAgICBmYXRhbDogdHJ1ZSwKICAgIH0pOwogICAgY2FjaGVkVGV4dERlY29kZXIuZGVjb2RlKCk7CiAgICBudW1CeXRlc0RlY29kZWQgPSBsZW47CiAgfQogIHJldHVybiBjYWNoZWRUZXh0RGVjb2Rlci5kZWNvZGUoZ2V0VWludDhBcnJheU1lbW9yeTAoKS5zbGljZShwdHIsIHB0ciArIGxlbikpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBhZGRUb0V4dGVybnJlZlRhYmxlMAovLyAtIGhhbmRsZUVycm9yCi8vIC0gaW1wb3J0cwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gYWRkVG9FeHRlcm5yZWZUYWJsZTAob2JqKSB7CiAgY29uc3QgaWR4ID0gd2FzbS5fX2V4dGVybnJlZl90YWJsZV9hbGxvYygpOwogIHdhc20uX193YmluZGdlbl9leHRlcm5yZWZzLnNldChpZHgsIG9iaik7CiAgcmV0dXJuIGlkeDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gZ2V0RGF0YVZpZXdNZW1vcnkwCi8vIC0gaW1wb3J0cwovLyAtIF9fd2JnX2ZpbmFsaXplX2luaXQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmxldCBjYWNoZWREYXRhVmlld01lbW9yeTAgPSBudWxsOwpmdW5jdGlvbiBnZXREYXRhVmlld01lbW9yeTAoKSB7CiAgaWYgKAogICAgY2FjaGVkRGF0YVZpZXdNZW1vcnkwID09PSBudWxsIHx8CiAgICBjYWNoZWREYXRhVmlld01lbW9yeTAuYnVmZmVyICE9PSB3YXNtLm1lbW9yeS5idWZmZXIKICApIHsKICAgIGNhY2hlZERhdGFWaWV3TWVtb3J5MCA9IG5ldyBEYXRhVmlldyh3YXNtLm1lbW9yeS5idWZmZXIpOwogIH0KICByZXR1cm4gY2FjaGVkRGF0YVZpZXdNZW1vcnkwOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBnZXRVaW50OEFycmF5TWVtb3J5MAovLyAtIF9fd2JnX2ZpbmFsaXplX2luaXQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmxldCBjYWNoZWRVaW50OEFycmF5TWVtb3J5MCA9IG51bGw7CmZ1bmN0aW9uIGdldFVpbnQ4QXJyYXlNZW1vcnkwKCkgewogIGlmICgKICAgIGNhY2hlZFVpbnQ4QXJyYXlNZW1vcnkwID09PSBudWxsIHx8CiAgICBjYWNoZWRVaW50OEFycmF5TWVtb3J5MC5idWZmZXIgIT09IHdhc20ubWVtb3J5LmJ1ZmZlcgogICkgewogICAgY2FjaGVkVWludDhBcnJheU1lbW9yeTAgPSBuZXcgVWludDhBcnJheSh3YXNtLm1lbW9yeS5idWZmZXIpOwogIH0KICByZXR1cm4gY2FjaGVkVWludDhBcnJheU1lbW9yeTA7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIGdldEFycmF5VThGcm9tV2FzbTAKLy8gLSBpbXBvcnRzCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBnZXRBcnJheVU4RnJvbVdhc20wKHB0ciwgbGVuKSB7CiAgcHRyID0gcHRyID4+PiAwOwogIHJldHVybiBnZXRVaW50OEFycmF5TWVtb3J5MCgpLnN1YmFycmF5KHB0ciAvIDEsIHB0ciAvIDEgKyBsZW4pOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBXQVNNX1ZFQ1RPUl9MRU4gaXMgYSBtb2R1bGUtbGV2ZWwgdmFyaWFibGUgdGhhdCBzdG9yZXMgdGhlIGJ5dGUgbGVuZ3RoIG9mCi8vIHRoZSBkYXRhIGp1c3Qgd3JpdHRlbiBpbnRvIFdBU00gbWVtb3J5LiBJdCBhY3RzIGFzIGFuIG91dC1wYXJhbWV0ZXIg4oCUIGFmdGVyCi8vIHBhc3NTdHJpbmdUb1dhc20wIHJldHVybnMgdGhlIHBvaW50ZXIsIGNhbGxlcnMgcmVhZCBXQVNNX1ZFQ1RPUl9MRU4gdG8gZ2V0Ci8vIHRoZSBsZW5ndGguCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpsZXQgV0FTTV9WRUNUT1JfTEVOID0gMDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIHBhc3NTdHJpbmdUb1dhc20wCi8vIC0gaW1wb3J0cwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKY29uc3QgY2FjaGVkVGV4dEVuY29kZXIgPQogIHR5cGVvZiBUZXh0RW5jb2RlciAhPT0gJ3VuZGVmaW5lZCcgPyBuZXcgVGV4dEVuY29kZXIoKSA6IHVuZGVmaW5lZDsKCmlmIChjYWNoZWRUZXh0RW5jb2RlcikgewogIGNhY2hlZFRleHRFbmNvZGVyLmVuY29kZUludG8gPSBmdW5jdGlvbiAoYXJnLCB2aWV3KSB7CiAgICBjb25zdCBidWYgPSBjYWNoZWRUZXh0RW5jb2Rlci5lbmNvZGUoYXJnKTsKICAgIHZpZXcuc2V0KGJ1Zik7CiAgICByZXR1cm4gewogICAgICByZWFkOiBhcmcubGVuZ3RoLAogICAgICB3cml0dGVuOiBidWYubGVuZ3RoLAogICAgfTsKICB9Owp9CgpmdW5jdGlvbiBwYXNzU3RyaW5nVG9XYXNtMChhcmcsIG1hbGxvYywgcmVhbGxvYykgewogIGlmIChyZWFsbG9jID09PSB1bmRlZmluZWQpIHsKICAgIGNvbnN0IGJ1ZiA9IGNhY2hlZFRleHRFbmNvZGVyLmVuY29kZShhcmcpOwogICAgY29uc3QgcHRyID0gbWFsbG9jKGJ1Zi5sZW5ndGgsIDEpID4+PiAwOwogICAgZ2V0VWludDhBcnJheU1lbW9yeTAoKQogICAgICAuc3ViYXJyYXkocHRyLCBwdHIgKyBidWYubGVuZ3RoKQogICAgICAuc2V0KGJ1Zik7CiAgICBXQVNNX1ZFQ1RPUl9MRU4gPSBidWYubGVuZ3RoOwogICAgcmV0dXJuIHB0cjsKICB9CgogIGxldCBsZW4gPSBhcmcubGVuZ3RoOwogIGxldCBwdHIgPSBtYWxsb2MobGVuLCAxKSA+Pj4gMDsKCiAgY29uc3QgbWVtID0gZ2V0VWludDhBcnJheU1lbW9yeTAoKTsKCiAgbGV0IG9mZnNldCA9IDA7CgogIGZvciAoOyBvZmZzZXQgPCBsZW47IG9mZnNldCsrKSB7CiAgICBjb25zdCBjb2RlID0gYXJnLmNoYXJDb2RlQXQob2Zmc2V0KTsKICAgIGlmIChjb2RlID4gMHg3ZikgYnJlYWs7CiAgICBtZW1bcHRyICsgb2Zmc2V0XSA9IGNvZGU7CiAgfQogIGlmIChvZmZzZXQgIT09IGxlbikgewogICAgaWYgKG9mZnNldCAhPT0gMCkgewogICAgICBhcmcgPSBhcmcuc2xpY2Uob2Zmc2V0KTsKICAgIH0KICAgIHB0ciA9IHJlYWxsb2MocHRyLCBsZW4sIChsZW4gPSBvZmZzZXQgKyBhcmcubGVuZ3RoICogMyksIDEpID4+PiAwOwogICAgY29uc3QgdmlldyA9IGdldFVpbnQ4QXJyYXlNZW1vcnkwKCkuc3ViYXJyYXkocHRyICsgb2Zmc2V0LCBwdHIgKyBsZW4pOwogICAgY29uc3QgcmV0ID0gY2FjaGVkVGV4dEVuY29kZXIuZW5jb2RlSW50byhhcmcsIHZpZXcpOwoKICAgIG9mZnNldCArPSByZXQud3JpdHRlbjsKICAgIHB0ciA9IHJlYWxsb2MocHRyLCBsZW4sIG9mZnNldCwgMSkgPj4+IDA7CiAgfQoKICBXQVNNX1ZFQ1RPUl9MRU4gPSBvZmZzZXQ7CiAgcmV0dXJuIHB0cjsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gaGFuZGxlRXJyb3IKLy8gLSBpbXBvcnRzCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBoYW5kbGVFcnJvcihmLCBhcmdzKSB7CiAgdHJ5IHsKICAgIHJldHVybiBmLmFwcGx5KHRoaXMsIGFyZ3MpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGNvbnN0IGlkeCA9IGFkZFRvRXh0ZXJucmVmVGFibGUwKGUpOwogICAgd2FzbS5fX3diaW5kZ2VuX2V4bl9zdG9yZShpZHgpOwogIH0KfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gaXNMaWtlTm9uZQovLyAtIGltcG9ydHMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIGlzTGlrZU5vbmUoeCkgewogIHJldHVybiB4ID09PSB1bmRlZmluZWQgfHwgeCA9PT0gbnVsbDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gSW1wb3J0czoKLy8gX193YmdfZ2V0X2ltcG9ydHMKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fd2JnX2dldF9pbXBvcnRzKG1lbW9yeSkgewogIGNvbnN0IGltcG9ydDAgPSB7CiAgICBfX3Byb3RvX186IG51bGwsCiAgICBfX3diZ19CaWdJbnRfN2VhMWU3NDljZTZiOTJmZDogZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24gKGFyZzApIHsKICAgICAgICBjb25zdCByZXQgPSBCaWdJbnQoYXJnMCk7CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAgfSwgYXJndW1lbnRzKTsKICAgIH0sCiAgICBfX3diZ19CaWdJbnRfYjdiYmNjZGZmMjU4YzlmMjogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgcmV0ID0gQmlnSW50KGFyZzApOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JnX0Vycm9yXzhjNGU0M2ZlNzQ1NTlkNzM6IGZ1bmN0aW9uIChhcmcwLCBhcmcxKSB7CiAgICAgIGNvbnN0IHJldCA9IEVycm9yKGdldFN0cmluZ0Zyb21XYXNtMChhcmcwLCBhcmcxKSk7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfX193YmluZGdlbl9iaWdpbnRfZ2V0X2FzX2k2NF84ZmNmNGNlN2YxY2E3MmEyOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICBjb25zdCB2ID0gYXJnMTsKICAgICAgY29uc3QgcmV0ID0gdHlwZW9mIHYgPT09ICdiaWdpbnQnID8gdiA6IHVuZGVmaW5lZDsKICAgICAgZ2V0RGF0YVZpZXdNZW1vcnkwKCkuc2V0QmlnSW50NjQoCiAgICAgICAgYXJnMCArIDggKiAxLAogICAgICAgIGlzTGlrZU5vbmUocmV0KSA/IEJpZ0ludCgwKSA6IHJldCwKICAgICAgICB0cnVlLAogICAgICApOwogICAgICBnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihhcmcwICsgNCAqIDAsICFpc0xpa2VOb25lKHJldCksIHRydWUpOwogICAgfSwKICAgIF9fd2JnX19fd2JpbmRnZW5fYml0X2FuZF80MzYyYjExNzY5NTBkNDJhOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICBjb25zdCByZXQgPSBhcmcwICYgYXJnMTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19fX3diaW5kZ2VuX2JpdF9vcl83MWEwMmQzOTc5NmVhMTNkOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICBjb25zdCByZXQgPSBhcmcwIHwgYXJnMTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19fX3diaW5kZ2VuX2RlYnVnX3N0cmluZ18wYmM4NDgyYzZlMzUwOGFlOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICBjb25zdCByZXQgPSBkZWJ1Z1N0cmluZyhhcmcxKTsKICAgICAgY29uc3QgcHRyMSA9IHBhc3NTdHJpbmdUb1dhc20wKAogICAgICAgIHJldCwKICAgICAgICB3YXNtLl9fd2JpbmRnZW5fbWFsbG9jLAogICAgICAgIHdhc20uX193YmluZGdlbl9yZWFsbG9jLAogICAgICApOwogICAgICBjb25zdCBsZW4xID0gV0FTTV9WRUNUT1JfTEVOOwogICAgICBnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihhcmcwICsgNCAqIDEsIGxlbjEsIHRydWUpOwogICAgICBnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihhcmcwICsgNCAqIDAsIHB0cjEsIHRydWUpOwogICAgfSwKICAgIF9fd2JnX19fd2JpbmRnZW5faXNfZnVuY3Rpb25fMDA5NWE3M2I4YjE1NmY3NjogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgcmV0ID0gdHlwZW9mIGFyZzAgPT09ICdmdW5jdGlvbic7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfX193YmluZGdlbl9pc19vYmplY3RfNWFlOGU1ODgwZjJjMWZiZDogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgdmFsID0gYXJnMDsKICAgICAgY29uc3QgcmV0ID0gdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsICE9PSBudWxsOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JnX19fd2JpbmRnZW5faXNfc3RyaW5nX2NkNDQ0NTE2ZWRjNWIxODA6IGZ1bmN0aW9uIChhcmcwKSB7CiAgICAgIGNvbnN0IHJldCA9IHR5cGVvZiBhcmcwID09PSAnc3RyaW5nJzsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19fX3diaW5kZ2VuX2lzX3VuZGVmaW5lZF85ZTRkOTI1MzRjNDJkNzc4OiBmdW5jdGlvbiAoYXJnMCkgewogICAgICBjb25zdCByZXQgPSBhcmcwID09PSB1bmRlZmluZWQ7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfX193YmluZGdlbl9qc3ZhbF9lcV8xMTg4ODM5MGIwMTg2MjcwOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICBjb25zdCByZXQgPSBhcmcwID09PSBhcmcxOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JnX19fd2JpbmRnZW5fbHRfYmI1OWNjM2QyMzUyNmUwZDogZnVuY3Rpb24gKGFyZzAsIGFyZzEpIHsKICAgICAgY29uc3QgcmV0ID0gYXJnMCA8IGFyZzE7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfX193YmluZGdlbl9tZW1vcnlfYmQxZmJjZjIxZmJlZjNjODogZnVuY3Rpb24gKCkgewogICAgICBjb25zdCByZXQgPSB3YXNtLm1lbW9yeTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19fX3diaW5kZ2VuX21vZHVsZV9mNmI4MDUyZDc5YzFjYzE2OiBmdW5jdGlvbiAoKSB7CiAgICAgIGNvbnN0IHJldCA9IHdhc21Nb2R1bGU7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfX193YmluZGdlbl9uZWdfNmI0ZDM1NmRmZjQ5ZGNjNjogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgcmV0ID0gLWFyZzA7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfX193YmluZGdlbl9zaGxfOGQ2NGQwNjc2MWY5ZWE0ZTogZnVuY3Rpb24gKGFyZzAsIGFyZzEpIHsKICAgICAgY29uc3QgcmV0ID0gYXJnMCA8PCBhcmcxOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JnX19fd2JpbmRnZW5fc2hyX2VmOGUwN2NjZTcwOWViNTQ6IGZ1bmN0aW9uIChhcmcwLCBhcmcxKSB7CiAgICAgIGNvbnN0IHJldCA9IGFyZzAgPj4gYXJnMTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19fX3diaW5kZ2VuX3N0cmluZ19nZXRfNzJmYjY5NjIwMmM1NjcyOTogZnVuY3Rpb24gKGFyZzAsIGFyZzEpIHsKICAgICAgY29uc3Qgb2JqID0gYXJnMTsKICAgICAgY29uc3QgcmV0ID0gdHlwZW9mIG9iaiA9PT0gJ3N0cmluZycgPyBvYmogOiB1bmRlZmluZWQ7CiAgICAgIHZhciBwdHIxID0gaXNMaWtlTm9uZShyZXQpCiAgICAgICAgPyAwCiAgICAgICAgOiBwYXNzU3RyaW5nVG9XYXNtMCgKICAgICAgICAgICAgcmV0LAogICAgICAgICAgICB3YXNtLl9fd2JpbmRnZW5fbWFsbG9jLAogICAgICAgICAgICB3YXNtLl9fd2JpbmRnZW5fcmVhbGxvYywKICAgICAgICAgICk7CiAgICAgIHZhciBsZW4xID0gV0FTTV9WRUNUT1JfTEVOOwogICAgICBnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihhcmcwICsgNCAqIDEsIGxlbjEsIHRydWUpOwogICAgICBnZXREYXRhVmlld01lbW9yeTAoKS5zZXRJbnQzMihhcmcwICsgNCAqIDAsIHB0cjEsIHRydWUpOwogICAgfSwKICAgIF9fd2JnX19fd2JpbmRnZW5fdGhyb3dfYmUyODlkNTAzNGVkMjcxYjogZnVuY3Rpb24gKGFyZzAsIGFyZzEpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKGdldFN0cmluZ0Zyb21XYXNtMChhcmcwLCBhcmcxKSk7CiAgICB9LAogICAgX193YmdfY2FsbF8zODllZmUyODQzNWE5Mzg4OiBmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICAgIGNvbnN0IHJldCA9IGFyZzAuY2FsbChhcmcxKTsKICAgICAgICByZXR1cm4gcmV0OwogICAgICB9LCBhcmd1bWVudHMpOwogICAgfSwKICAgIF9fd2JnX2NhbGxfNDcwOGUwYzEzYmRjOGU5NTogZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gaGFuZGxlRXJyb3IoZnVuY3Rpb24gKGFyZzAsIGFyZzEsIGFyZzIpIHsKICAgICAgICBjb25zdCByZXQgPSBhcmcwLmNhbGwoYXJnMSwgYXJnMik7CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAgfSwgYXJndW1lbnRzKTsKICAgIH0sCiAgICBfX3diZ19jcnlwdG9fODZmMjYzMWU5MWI1MTUxMTogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgcmV0ID0gYXJnMC5jcnlwdG87CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfZXJyb3JfNzUzNGI4ZTlhMzZmMWFiNDogZnVuY3Rpb24gKGFyZzAsIGFyZzEpIHsKICAgICAgbGV0IGRlZmVycmVkMF8wOwogICAgICBsZXQgZGVmZXJyZWQwXzE7CiAgICAgIHRyeSB7CiAgICAgICAgZGVmZXJyZWQwXzAgPSBhcmcwOwogICAgICAgIGRlZmVycmVkMF8xID0gYXJnMTsKICAgICAgICBjb25zb2xlLmVycm9yKGdldFN0cmluZ0Zyb21XYXNtMChhcmcwLCBhcmcxKSk7CiAgICAgIH0gZmluYWxseSB7CiAgICAgICAgd2FzbS5fX3diaW5kZ2VuX2ZyZWUoZGVmZXJyZWQwXzAsIGRlZmVycmVkMF8xLCAxKTsKICAgICAgfQogICAgfSwKICAgIF9fd2JnX2dldFJhbmRvbVZhbHVlc19iM2YxNWZjYmZhYmIwZjhiOiBmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICAgIGFyZzAuZ2V0UmFuZG9tVmFsdWVzKGFyZzEpOwogICAgICB9LCBhcmd1bWVudHMpOwogICAgfSwKICAgIF9fd2JnX2dldFRpbWVfMWUzY2QxMzkxYzVjMzk5NTogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgcmV0ID0gYXJnMC5nZXRUaW1lKCk7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfaW5zdGFuY2VvZl9XaW5kb3dfZWQ0OWIyZGI4ZGY5MDM1OTogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgbGV0IHJlc3VsdDsKICAgICAgdHJ5IHsKICAgICAgICByZXN1bHQgPSBhcmcwIGluc3RhbmNlb2YgV2luZG93OwogICAgICB9IGNhdGNoIChfKSB7CiAgICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICAgIH0KICAgICAgY29uc3QgcmV0ID0gcmVzdWx0OwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JnX2xlbmd0aF8zMmVkOWEyNzlhY2QwNTRjOiBmdW5jdGlvbiAoYXJnMCkgewogICAgICBjb25zdCByZXQgPSBhcmcwLmxlbmd0aDsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19tc0NyeXB0b19kNTYyYmJlODNlMGQ0YjkxOiBmdW5jdGlvbiAoYXJnMCkgewogICAgICBjb25zdCByZXQgPSBhcmcwLm1zQ3J5cHRvOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JnX25ld18wXzczYWZjMzVlYjU0NGU1Mzk6IGZ1bmN0aW9uICgpIHsKICAgICAgY29uc3QgcmV0ID0gbmV3IERhdGUoKTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19uZXdfOGE2ZjIzOGE2ZWNlODZlYTogZnVuY3Rpb24gKCkgewogICAgICBjb25zdCByZXQgPSBuZXcgRXJyb3IoKTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19uZXdfbm9fYXJnc18xYzdjODQyZjA4ZDAwZWJiOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICBjb25zdCByZXQgPSBuZXcgRnVuY3Rpb24oZ2V0U3RyaW5nRnJvbVdhc20wKGFyZzAsIGFyZzEpKTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ19uZXdfd2l0aF9sZW5ndGhfYTJjMzljYmU4OGZkOGZmMTogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgcmV0ID0gbmV3IFVpbnQ4QXJyYXkoYXJnMCA+Pj4gMCk7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193Ymdfbm9kZV9lMWYyNGY4OWE3MzM2YzJlOiBmdW5jdGlvbiAoYXJnMCkgewogICAgICBjb25zdCByZXQgPSBhcmcwLm5vZGU7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfcHJvY2Vzc18zOTc1ZmQ2YzcyZjUyMGFhOiBmdW5jdGlvbiAoYXJnMCkgewogICAgICBjb25zdCByZXQgPSBhcmcwLnByb2Nlc3M7CiAgICAgIHJldHVybiByZXQ7CiAgICB9LAogICAgX193YmdfcHJvdG90eXBlc2V0Y2FsbF9iZGNkY2M1ODQyZTRkNzdkOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMikgewogICAgICBVaW50OEFycmF5LnByb3RvdHlwZS5zZXQuY2FsbChnZXRBcnJheVU4RnJvbVdhc20wKGFyZzAsIGFyZzEpLCBhcmcyKTsKICAgIH0sCiAgICBfX3diZ19yYW5kb21GaWxsU3luY19mOGMxNTNiNzlmMjg1ODE3OiBmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICAgIGFyZzAucmFuZG9tRmlsbFN5bmMoYXJnMSk7CiAgICAgIH0sIGFyZ3VtZW50cyk7CiAgICB9LAogICAgX193YmdfcmVxdWlyZV9iNzRmNDdmYzJkMDIyZmQ2OiBmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiBoYW5kbGVFcnJvcihmdW5jdGlvbiAoKSB7CiAgICAgICAgY29uc3QgcmV0ID0gbW9kdWxlLnJlcXVpcmU7CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAgfSwgYXJndW1lbnRzKTsKICAgIH0sCiAgICBfX3diZ19zdGFja18wZWQ3NWQ2ODU3NWIwZjNjOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICBjb25zdCByZXQgPSBhcmcxLnN0YWNrOwogICAgICBjb25zdCBwdHIxID0gcGFzc1N0cmluZ1RvV2FzbTAoCiAgICAgICAgcmV0LAogICAgICAgIHdhc20uX193YmluZGdlbl9tYWxsb2MsCiAgICAgICAgd2FzbS5fX3diaW5kZ2VuX3JlYWxsb2MsCiAgICAgICk7CiAgICAgIGNvbnN0IGxlbjEgPSBXQVNNX1ZFQ1RPUl9MRU47CiAgICAgIGdldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGFyZzAgKyA0ICogMSwgbGVuMSwgdHJ1ZSk7CiAgICAgIGdldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGFyZzAgKyA0ICogMCwgcHRyMSwgdHJ1ZSk7CiAgICB9LAogICAgX193Ymdfc3RhcnRXb3JrZXJzXzJjYTExNzYxZTA4ZmY1ZDU6IGZ1bmN0aW9uIChhcmcwLCBhcmcxLCBhcmcyKSB7CiAgICAgIGhhbmRsZUVycm9yKGZ1bmN0aW9uICgpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3N0YXJ0V29ya2VycyBub3Qgc3VwcG9ydGVkIGZyb20gYSB3b3JrZXIgdGhyZWFkJyk7CiAgICAgIH0pOwogICAgICAvLyBjb25zdCByZXQgPSBzdGFydFdvcmtlcnMoYXJnMCwgYXJnMSwgd2JnX3JheW9uX1Bvb2xCdWlsZGVyLl9fd3JhcChhcmcyKSk7CiAgICAgIC8vIHJldHVybiByZXQ7CiAgICB9LAogICAgX193Ymdfc3RhdGljX2FjY2Vzc29yX0dMT0JBTF8xMjgzNzE2N2FkOTM1MTE2OiBmdW5jdGlvbiAoKSB7CiAgICAgIGNvbnN0IHJldCA9IHR5cGVvZiBnbG9iYWwgPT09ICd1bmRlZmluZWQnID8gbnVsbCA6IGdsb2JhbDsKICAgICAgcmV0dXJuIGlzTGlrZU5vbmUocmV0KSA/IDAgOiBhZGRUb0V4dGVybnJlZlRhYmxlMChyZXQpOwogICAgfSwKICAgIF9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9HTE9CQUxfVEhJU19lNjI4ZTg5YWIzYjFjOTVmOiBmdW5jdGlvbiAoKSB7CiAgICAgIGNvbnN0IHJldCA9IHR5cGVvZiBnbG9iYWxUaGlzID09PSAndW5kZWZpbmVkJyA/IG51bGwgOiBnbG9iYWxUaGlzOwogICAgICByZXR1cm4gaXNMaWtlTm9uZShyZXQpID8gMCA6IGFkZFRvRXh0ZXJucmVmVGFibGUwKHJldCk7CiAgICB9LAogICAgX193Ymdfc3RhdGljX2FjY2Vzc29yX1NFTEZfYTYyMWQzZGZiYjYwZDBjZTogZnVuY3Rpb24gKCkgewogICAgICBjb25zdCByZXQgPSB0eXBlb2Ygc2VsZiA9PT0gJ3VuZGVmaW5lZCcgPyBudWxsIDogc2VsZjsKICAgICAgcmV0dXJuIGlzTGlrZU5vbmUocmV0KSA/IDAgOiBhZGRUb0V4dGVybnJlZlRhYmxlMChyZXQpOwogICAgfSwKICAgIF9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9XSU5ET1dfZjg3MjdmMGNmODg4ZTBiZDogZnVuY3Rpb24gKCkgewogICAgICBjb25zdCByZXQgPSB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyA/IG51bGwgOiB3aW5kb3c7CiAgICAgIHJldHVybiBpc0xpa2VOb25lKHJldCkgPyAwIDogYWRkVG9FeHRlcm5yZWZUYWJsZTAocmV0KTsKICAgIH0sCiAgICBfX3diZ19zdWJhcnJheV9hOTZlMWZlZjE3ZWQyM2NiOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMikgewogICAgICBjb25zdCByZXQgPSBhcmcwLnN1YmFycmF5KGFyZzEgPj4+IDAsIGFyZzIgPj4+IDApOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JnX3RvU3RyaW5nXzAyOWFjMjQ0MjFmZDdhMjQ6IGZ1bmN0aW9uIChhcmcwKSB7CiAgICAgIGNvbnN0IHJldCA9IGFyZzAudG9TdHJpbmcoKTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diZ190b1N0cmluZ181NmQ5NDZkYWZmODM4NjdiOiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMikgewogICAgICBjb25zdCByZXQgPSBhcmcxLnRvU3RyaW5nKGFyZzIpOwogICAgICBjb25zdCBwdHIxID0gcGFzc1N0cmluZ1RvV2FzbTAoCiAgICAgICAgcmV0LAogICAgICAgIHdhc20uX193YmluZGdlbl9tYWxsb2MsCiAgICAgICAgd2FzbS5fX3diaW5kZ2VuX3JlYWxsb2MsCiAgICAgICk7CiAgICAgIGNvbnN0IGxlbjEgPSBXQVNNX1ZFQ1RPUl9MRU47CiAgICAgIGdldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGFyZzAgKyA0ICogMSwgbGVuMSwgdHJ1ZSk7CiAgICAgIGdldERhdGFWaWV3TWVtb3J5MCgpLnNldEludDMyKGFyZzAgKyA0ICogMCwgcHRyMSwgdHJ1ZSk7CiAgICB9LAogICAgX193YmdfdmVyc2lvbnNfNGUzMTIyNmY1ZThkYzkwOTogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgY29uc3QgcmV0ID0gYXJnMC52ZXJzaW9uczsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMTogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgLy8gQ2FzdCBpbnRyaW5zaWMgZm9yIGBGNjQgLT4gRXh0ZXJucmVmYC4KICAgICAgY29uc3QgcmV0ID0gYXJnMDsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMjogZnVuY3Rpb24gKGFyZzAsIGFyZzEpIHsKICAgICAgLy8gQ2FzdCBpbnRyaW5zaWMgZm9yIGBJMTI4IC0+IEV4dGVybnJlZmAuCiAgICAgIGNvbnN0IHJldCA9IEJpZ0ludC5hc1VpbnROKDY0LCBhcmcwKSB8IChhcmcxIDw8IEJpZ0ludCg2NCkpOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzOiBmdW5jdGlvbiAoYXJnMCkgewogICAgICAvLyBDYXN0IGludHJpbnNpYyBmb3IgYEk2NCAtPiBFeHRlcm5yZWZgLgogICAgICBjb25zdCByZXQgPSBhcmcwOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA0OiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICAvLyBDYXN0IGludHJpbnNpYyBmb3IgYFJlZihTbGljZShVOCkpIC0+IE5hbWVkRXh0ZXJucmVmKCJVaW50OEFycmF5IilgLgogICAgICBjb25zdCByZXQgPSBnZXRBcnJheVU4RnJvbVdhc20wKGFyZzAsIGFyZzEpOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDA1OiBmdW5jdGlvbiAoYXJnMCwgYXJnMSkgewogICAgICAvLyBDYXN0IGludHJpbnNpYyBmb3IgYFJlZihTdHJpbmcpIC0+IEV4dGVybnJlZmAuCiAgICAgIGNvbnN0IHJldCA9IGdldFN0cmluZ0Zyb21XYXNtMChhcmcwLCBhcmcxKTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwNjogZnVuY3Rpb24gKGFyZzAsIGFyZzEpIHsKICAgICAgLy8gQ2FzdCBpbnRyaW5zaWMgZm9yIGBVMTI4IC0+IEV4dGVybnJlZmAuCiAgICAgIGNvbnN0IHJldCA9CiAgICAgICAgQmlnSW50LmFzVWludE4oNjQsIGFyZzApIHwgKEJpZ0ludC5hc1VpbnROKDY0LCBhcmcxKSA8PCBCaWdJbnQoNjQpKTsKICAgICAgcmV0dXJuIHJldDsKICAgIH0sCiAgICBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwNzogZnVuY3Rpb24gKGFyZzApIHsKICAgICAgLy8gQ2FzdCBpbnRyaW5zaWMgZm9yIGBVNjQgLT4gRXh0ZXJucmVmYC4KICAgICAgY29uc3QgcmV0ID0gQmlnSW50LmFzVWludE4oNjQsIGFyZzApOwogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIF9fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGU6IGZ1bmN0aW9uICgpIHsKICAgICAgY29uc3QgdGFibGUgPSB3YXNtLl9fd2JpbmRnZW5fZXh0ZXJucmVmczsKICAgICAgY29uc3Qgb2Zmc2V0ID0gdGFibGUuZ3Jvdyg0KTsKICAgICAgdGFibGUuc2V0KDAsIHVuZGVmaW5lZCk7CiAgICAgIHRhYmxlLnNldChvZmZzZXQgKyAwLCB1bmRlZmluZWQpOwogICAgICB0YWJsZS5zZXQob2Zmc2V0ICsgMSwgbnVsbCk7CiAgICAgIHRhYmxlLnNldChvZmZzZXQgKyAyLCB0cnVlKTsKICAgICAgdGFibGUuc2V0KG9mZnNldCArIDMsIGZhbHNlKTsKICAgIH0sCiAgICBtZW1vcnk6CiAgICAgIG1lbW9yeSB8fAogICAgICBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHsgaW5pdGlhbDogMjEsIG1heGltdW06IDE2Mzg0LCBzaGFyZWQ6IHRydWUgfSksCiAgfTsKICByZXR1cm4gewogICAgX19wcm90b19fOiBudWxsLAogICAgJy4vdGZoZV9iZy5qcyc6IGltcG9ydDAsCiAgfTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gRW5kIG9mIGltcG9ydHMKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIF9fd2JnX2luaXQgdG9vbGJveAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKbGV0IHdhc21Nb2R1bGUsIHdhc207CmZ1bmN0aW9uIF9fd2JnX2ZpbmFsaXplX2luaXQoaW5zdGFuY2UsIG1vZHVsZSwgdGhyZWFkX3N0YWNrX3NpemUpIHsKICB3YXNtID0gaW5zdGFuY2UuZXhwb3J0czsKICB3YXNtTW9kdWxlID0gbW9kdWxlOwogIGNhY2hlZERhdGFWaWV3TWVtb3J5MCA9IG51bGw7CiAgY2FjaGVkVWludDhBcnJheU1lbW9yeTAgPSBudWxsOwogIGlmICgKICAgIHR5cGVvZiB0aHJlYWRfc3RhY2tfc2l6ZSAhPT0gJ3VuZGVmaW5lZCcgJiYKICAgICh0eXBlb2YgdGhyZWFkX3N0YWNrX3NpemUgIT09ICdudW1iZXInIHx8CiAgICAgIHRocmVhZF9zdGFja19zaXplID09PSAwIHx8CiAgICAgIHRocmVhZF9zdGFja19zaXplICUgNjU1MzYgIT09IDApCiAgKSB7CiAgICB0aHJvdyAnaW52YWxpZCBzdGFjayBzaXplJzsKICB9CiAgd2FzbS5fX3diaW5kZ2VuX3N0YXJ0KHRocmVhZF9zdGFja19zaXplKTsKICByZXR1cm4gd2FzbTsKfQoKYXN5bmMgZnVuY3Rpb24gX193YmdfbG9hZChtb2R1bGUsIGltcG9ydHMpIHsKICBjb25zb2xlLmxvZygnW3RmaGUtd29ya2VyLnYxLjUuM10gX193YmdfbG9hZCgpLi4uJyk7CiAgaWYgKHR5cGVvZiBSZXNwb25zZSA9PT0gJ2Z1bmN0aW9uJyAmJiBtb2R1bGUgaW5zdGFuY2VvZiBSZXNwb25zZSkgewogICAgY29uc29sZS5sb2coJ1t0ZmhlLXdvcmtlci52MS41LjNdIF9fd2JnX2xvYWQoUmVzcG9uc2UpLi4uJyk7CiAgICBpZiAodHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nID09PSAnZnVuY3Rpb24nKSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKG1vZHVsZSwgaW1wb3J0cyk7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBjb25zdCB2YWxpZFJlc3BvbnNlID0gbW9kdWxlLm9rICYmIGV4cGVjdGVkUmVzcG9uc2VUeXBlKG1vZHVsZS50eXBlKTsKCiAgICAgICAgaWYgKAogICAgICAgICAgdmFsaWRSZXNwb25zZSAmJgogICAgICAgICAgbW9kdWxlLmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKSAhPT0gJ2FwcGxpY2F0aW9uL3dhc20nCiAgICAgICAgKSB7CiAgICAgICAgICBjb25zb2xlLndhcm4oCiAgICAgICAgICAgICdgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmdgIGZhaWxlZCBiZWNhdXNlIHlvdXIgc2VydmVyIGRvZXMgbm90IHNlcnZlIFdhc20gd2l0aCBgYXBwbGljYXRpb24vd2FzbWAgTUlNRSB0eXBlLiBGYWxsaW5nIGJhY2sgdG8gYFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlYCB3aGljaCBpcyBzbG93ZXIuIE9yaWdpbmFsIGVycm9yOlxuJywKICAgICAgICAgICAgZSwKICAgICAgICAgICk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRocm93IGU7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgY29uc3QgYnl0ZXMgPSBhd2FpdCBtb2R1bGUuYXJyYXlCdWZmZXIoKTsKICAgIHJldHVybiBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShieXRlcywgaW1wb3J0cyk7CiAgfSBlbHNlIHsKICAgIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zXSBfX3diZ19sb2FkKG1vZHVsZSkuLi4nKTsKICAgIGNvbnN0IGluc3RhbmNlID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUobW9kdWxlLCBpbXBvcnRzKTsKCiAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBXZWJBc3NlbWJseS5JbnN0YW5jZSkgewogICAgICByZXR1cm4geyBpbnN0YW5jZSwgbW9kdWxlIH07CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBleHBlY3RlZFJlc3BvbnNlVHlwZSh0eXBlKSB7CiAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgY2FzZSAnYmFzaWMnOgogICAgICBjYXNlICdjb3JzJzoKICAgICAgY2FzZSAnZGVmYXVsdCc6CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQp9Cgphc3luYyBmdW5jdGlvbiBfX3diZ19pbml0KG1vZHVsZV9vcl9wYXRoLCBtZW1vcnkpIHsKICBjb25zb2xlLmxvZygnW3RmaGUtd29ya2VyLnYxLjUuM10gX193YmdfaW5pdCgpICcgKyB0eXBlb2YgbW9kdWxlX29yX3BhdGgpOwogIGlmICh3YXNtICE9PSB1bmRlZmluZWQpIHJldHVybiB3YXNtOwoKICBsZXQgdGhyZWFkX3N0YWNrX3NpemU7CiAgaWYgKG1vZHVsZV9vcl9wYXRoICE9PSB1bmRlZmluZWQpIHsKICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YobW9kdWxlX29yX3BhdGgpID09PSBPYmplY3QucHJvdG90eXBlKSB7CiAgICAgICh7IG1vZHVsZV9vcl9wYXRoLCBtZW1vcnksIHRocmVhZF9zdGFja19zaXplIH0gPSBtb2R1bGVfb3JfcGF0aCk7CiAgICB9IGVsc2UgewogICAgICBjb25zb2xlLndhcm4oCiAgICAgICAgJ3VzaW5nIGRlcHJlY2F0ZWQgcGFyYW1ldGVycyBmb3IgdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uOyBwYXNzIGEgc2luZ2xlIG9iamVjdCBpbnN0ZWFkJywKICAgICAgKTsKICAgIH0KICB9CgogIGlmIChtb2R1bGVfb3JfcGF0aCA9PT0gdW5kZWZpbmVkKSB7CiAgICBtb2R1bGVfb3JfcGF0aCA9IG5ldyBVUkwoJ3RmaGVfYmcud2FzbScsIGltcG9ydC5tZXRhLnVybCk7CiAgfQogIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zXSBfX3diZ19nZXRfaW1wb3J0cygpICcpOwogIGNvbnN0IGltcG9ydHMgPSBfX3diZ19nZXRfaW1wb3J0cyhtZW1vcnkpOwoKICBpZiAoCiAgICB0eXBlb2YgbW9kdWxlX29yX3BhdGggPT09ICdzdHJpbmcnIHx8CiAgICAodHlwZW9mIFJlcXVlc3QgPT09ICdmdW5jdGlvbicgJiYgbW9kdWxlX29yX3BhdGggaW5zdGFuY2VvZiBSZXF1ZXN0KSB8fAogICAgKHR5cGVvZiBVUkwgPT09ICdmdW5jdGlvbicgJiYgbW9kdWxlX29yX3BhdGggaW5zdGFuY2VvZiBVUkwpCiAgKSB7CiAgICBjb25zb2xlLmxvZygnW3RmaGUtd29ya2VyLnYxLjUuM10gZmV0Y2ggPz8/Pz8nKTsKICAgIG1vZHVsZV9vcl9wYXRoID0gZmV0Y2gobW9kdWxlX29yX3BhdGgpOwogIH0KCiAgY29uc29sZS5sb2coJ1t0ZmhlLXdvcmtlci52MS41LjNdIF9fd2JnX2xvYWQoKS4uLicpOwogIGNvbnN0IHsgaW5zdGFuY2UsIG1vZHVsZSB9ID0gYXdhaXQgX193YmdfbG9hZChhd2FpdCBtb2R1bGVfb3JfcGF0aCwgaW1wb3J0cyk7CgogIGNvbnNvbGUubG9nKCdbdGZoZS13b3JrZXIudjEuNS4zXSBfX3diZ19maW5hbGl6ZV9pbml0KCkuLi4nKTsKICByZXR1cm4gX193YmdfZmluYWxpemVfaW5pdChpbnN0YW5jZSwgbW9kdWxlLCB0aHJlYWRfc3RhY2tfc2l6ZSk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIFRoZSAndGZoZScgZ2xvYmFsIG9iamVjdAovLyA9PT09PT09PT09PT09PT09PT09PT09PT0KLy8gRmluYWwgdGZoZSBvYmplY3QgZ2xvYmFsIGRlY2xhcmF0aW9uIGNhbGxlZCBieSAnd2FpdEZvck1zZ1R5cGUnIG9ubHkKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB0ZmhlID0gLyojX19QVVJFX18qLyBPYmplY3QuZnJlZXplKHsKICBfX3Byb3RvX186IG51bGwsCiAgZGVmYXVsdDogX193YmdfaW5pdCwKICB3YmdfcmF5b25fc3RhcnRfd29ya2VyOiB3YmdfcmF5b25fc3RhcnRfd29ya2VyLAp9KTsK";