@atomicfinance/types 4.1.1 → 4.1.2

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 (656) hide show
  1. package/.turbo/turbo-build.log +5 -4
  2. package/.turbo/turbo-lint.log +5 -0
  3. package/.turbo/turbo-test.log +0 -0
  4. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  5. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  6. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
  7. package/.yalc/@node-dlc/bitcoin/README.md +11 -0
  8. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
  9. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
  10. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
  11. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
  12. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
  13. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
  14. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
  15. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
  25. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Tx.ts.html +1520 -0
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
  35. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.html +126 -0
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
  43. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
  44. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
  45. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
  46. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
  47. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
  48. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
  49. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
  50. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
  51. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
  52. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
  53. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
  54. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
  55. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
  56. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
  57. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
  58. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
  59. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
  60. package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
  61. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
  62. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
  63. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
  64. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
  65. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
  66. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
  67. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
  68. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
  69. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
  70. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
  71. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
  72. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
  73. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
  74. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
  75. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
  76. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
  77. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
  78. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
  79. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
  80. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
  81. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
  82. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
  83. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
  84. package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
  85. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
  86. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
  87. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
  88. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
  89. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
  90. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
  91. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
  92. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
  93. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
  94. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
  95. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
  96. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
  97. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
  98. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
  99. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
  100. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
  101. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
  102. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
  103. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
  104. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
  105. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
  106. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
  107. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
  108. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
  109. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
  110. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
  111. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
  112. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
  113. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
  114. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
  115. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
  116. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
  117. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
  118. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
  119. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
  120. package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
  121. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
  122. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
  123. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
  124. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
  125. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
  126. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
  127. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
  128. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
  129. package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
  130. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
  131. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
  132. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
  133. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
  134. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
  135. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
  136. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
  137. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
  138. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
  139. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
  140. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
  141. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
  142. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
  143. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
  144. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
  145. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
  146. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
  147. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
  148. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
  149. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
  150. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
  151. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
  152. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
  153. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
  154. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
  155. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
  156. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
  157. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
  158. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
  159. package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
  160. package/.yalc/@node-dlc/bitcoin/package.json +31 -0
  161. package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
  162. package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
  163. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  164. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  165. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  166. package/.yalc/@node-dlc/messaging/README.md +24 -0
  167. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +13 -0
  168. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  169. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +439 -0
  170. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +255 -0
  171. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +342 -0
  172. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  173. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  174. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  175. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  176. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  177. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +266 -0
  178. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  179. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  180. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +314 -0
  181. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  182. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  183. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
  184. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +589 -0
  185. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  186. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  187. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  188. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  189. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +169 -0
  190. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  191. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  192. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  193. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  194. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +324 -0
  195. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  196. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  197. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  198. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  199. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +75 -0
  200. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +299 -0
  201. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  202. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  203. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  204. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  205. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  206. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +261 -0
  207. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  208. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  209. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  210. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  211. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  212. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +500 -0
  213. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1061 -0
  214. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  215. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  216. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  217. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  218. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  219. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +215 -0
  220. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  221. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  222. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  223. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  224. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  225. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +356 -0
  226. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
  227. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1031 -0
  228. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1397 -0
  229. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1997 -0
  230. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  231. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +995 -0
  232. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +434 -0
  233. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  234. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  235. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
  236. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  237. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +2075 -0
  238. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1157 -0
  239. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  240. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +962 -0
  241. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +860 -0
  242. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  243. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +344 -0
  244. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +848 -0
  245. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  246. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  247. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +383 -0
  248. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  249. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +479 -0
  250. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  251. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  252. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  253. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +503 -0
  254. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  255. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  256. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1658 -0
  257. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +308 -0
  258. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +602 -0
  259. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  260. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  261. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +710 -0
  262. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1334 -0
  263. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +521 -0
  264. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1442 -0
  265. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +806 -0
  266. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +464 -0
  267. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +428 -0
  268. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  269. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +651 -0
  270. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1091 -0
  271. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  272. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  273. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  274. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +191 -0
  275. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  276. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  277. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  278. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  279. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  280. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  281. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5617 -0
  282. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +101 -0
  283. package/.yalc/@node-dlc/messaging/dist/MessageType.js +118 -0
  284. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  285. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  286. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +212 -0
  287. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  288. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  289. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  290. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  291. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  292. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  293. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  294. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  295. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  296. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  297. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  298. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  299. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  300. package/.yalc/@node-dlc/messaging/dist/index.d.ts +45 -0
  301. package/.yalc/@node-dlc/messaging/dist/index.js +64 -0
  302. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  303. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  304. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  305. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  306. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  307. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  308. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  309. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  310. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  311. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  312. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  313. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  314. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  315. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
  316. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
  317. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
  318. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
  319. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
  320. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
  321. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +121 -0
  322. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +221 -0
  323. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  324. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  325. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +308 -0
  326. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  327. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +160 -0
  328. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +469 -0
  329. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  330. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  331. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  332. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  333. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  334. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +214 -0
  335. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  336. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  337. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  338. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  339. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  340. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  341. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  342. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  343. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  344. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  345. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
  346. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
  347. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
  348. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  349. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  350. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  351. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +146 -0
  352. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +463 -0
  353. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  354. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  355. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +275 -0
  356. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  357. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  358. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  359. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  360. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +107 -0
  361. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +212 -0
  362. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  363. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +69 -0
  364. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +193 -0
  365. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  366. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  367. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  368. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  369. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
  370. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
  371. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
  372. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  373. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  374. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  375. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  376. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +189 -0
  377. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  378. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  379. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  380. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  381. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  382. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  383. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  384. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
  385. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
  386. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
  387. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  388. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  389. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  390. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
  391. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
  392. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
  393. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  394. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  395. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  396. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  397. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  398. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  399. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
  400. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
  401. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
  402. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
  403. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
  404. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
  405. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  406. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  407. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  408. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  409. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  410. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  411. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +163 -0
  412. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +393 -0
  413. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  414. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +35 -0
  415. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +58 -0
  416. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  417. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +66 -0
  418. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +140 -0
  419. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  420. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  421. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  422. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  423. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  424. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  425. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  426. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +81 -0
  427. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +161 -0
  428. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  429. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  430. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  431. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  432. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +44 -0
  433. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +111 -0
  434. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  435. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  436. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +332 -0
  437. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  438. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  439. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +173 -0
  440. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  441. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  442. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +96 -0
  443. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  444. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
  445. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
  446. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
  447. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  448. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  449. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  450. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  451. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  452. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  453. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +146 -0
  454. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +294 -0
  455. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  456. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  457. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  458. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  459. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  460. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  461. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  462. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  463. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  464. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  465. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  466. package/.yalc/@node-dlc/messaging/dist/util.js +42 -0
  467. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  468. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  469. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  470. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  471. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +140 -0
  472. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +327 -0
  473. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  474. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  475. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  476. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  477. package/.yalc/@node-dlc/messaging/lib/index.ts +45 -0
  478. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  479. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  480. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  481. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  482. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +317 -0
  483. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +439 -0
  484. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +639 -0
  485. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  486. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +305 -0
  487. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +118 -0
  488. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  489. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  490. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
  491. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  492. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +665 -0
  493. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +359 -0
  494. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  495. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +294 -0
  496. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +260 -0
  497. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  498. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  499. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +256 -0
  500. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  501. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  502. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  503. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  504. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  505. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  506. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +526 -0
  507. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +174 -0
  508. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  509. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  510. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +210 -0
  511. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +418 -0
  512. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +147 -0
  513. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +454 -0
  514. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +242 -0
  515. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +128 -0
  516. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  517. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  518. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +337 -0
  519. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  520. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  521. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  522. package/.yalc/@node-dlc/messaging/lib/util.ts +37 -0
  523. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  524. package/.yalc/@node-dlc/messaging/package.json +42 -0
  525. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +212 -0
  526. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +470 -0
  527. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1519 -0
  528. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +547 -0
  529. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  530. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  531. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +166 -0
  532. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +504 -0
  533. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +264 -0
  534. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  535. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +326 -0
  536. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  537. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1140 -0
  538. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  539. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
  540. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
  541. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
  542. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
  543. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  544. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  545. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
  546. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
  547. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
  548. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  549. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
  550. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  551. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
  552. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  553. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
  554. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
  555. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
  556. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
  557. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  558. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  559. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
  560. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
  561. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
  562. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  563. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
  564. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  565. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
  566. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  567. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  568. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  569. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  570. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  571. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  572. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  573. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  574. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  575. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  576. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  577. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  578. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  579. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  580. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  581. package/.yalc/@node-dlc/noise/.eslintrc +6 -0
  582. package/.yalc/@node-dlc/noise/.nyc_output/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  583. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  584. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/index.json +1 -0
  585. package/.yalc/@node-dlc/noise/README.md +165 -0
  586. package/.yalc/@node-dlc/noise/__integration__/ping-pong.spec.ts +85 -0
  587. package/.yalc/@node-dlc/noise/__tests__/noise-server.spec.ts +82 -0
  588. package/.yalc/@node-dlc/noise/__tests__/noise-socket.spec.ts +574 -0
  589. package/.yalc/@node-dlc/noise/__tests__/noise-state.spec.ts +485 -0
  590. package/.yalc/@node-dlc/noise/coverage/lcov-report/base.css +224 -0
  591. package/.yalc/@node-dlc/noise/coverage/lcov-report/block-navigation.js +79 -0
  592. package/.yalc/@node-dlc/noise/coverage/lcov-report/favicon.png +0 -0
  593. package/.yalc/@node-dlc/noise/coverage/lcov-report/handshake-state.ts.html +230 -0
  594. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.html +201 -0
  595. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.ts.html +344 -0
  596. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-error.ts.html +89 -0
  597. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-server.ts.html +485 -0
  598. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-socket.ts.html +1223 -0
  599. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-state.ts.html +1523 -0
  600. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.css +1 -0
  601. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.js +2 -0
  602. package/.yalc/@node-dlc/noise/coverage/lcov-report/read-state.ts.html +95 -0
  603. package/.yalc/@node-dlc/noise/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  604. package/.yalc/@node-dlc/noise/coverage/lcov-report/sorter.js +170 -0
  605. package/.yalc/@node-dlc/noise/coverage/lcov.info +565 -0
  606. package/.yalc/@node-dlc/noise/dist/handshake-state.d.ts +46 -0
  607. package/.yalc/@node-dlc/noise/dist/handshake-state.js +51 -0
  608. package/.yalc/@node-dlc/noise/dist/handshake-state.js.map +1 -0
  609. package/.yalc/@node-dlc/noise/dist/index.d.ts +46 -0
  610. package/.yalc/@node-dlc/noise/dist/index.js +69 -0
  611. package/.yalc/@node-dlc/noise/dist/index.js.map +1 -0
  612. package/.yalc/@node-dlc/noise/dist/noise-error.d.ts +3 -0
  613. package/.yalc/@node-dlc/noise/dist/noise-error.js +11 -0
  614. package/.yalc/@node-dlc/noise/dist/noise-error.js.map +1 -0
  615. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.d.ts +23 -0
  616. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js +3 -0
  617. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js.map +1 -0
  618. package/.yalc/@node-dlc/noise/dist/noise-server-options.d.ts +13 -0
  619. package/.yalc/@node-dlc/noise/dist/noise-server-options.js +3 -0
  620. package/.yalc/@node-dlc/noise/dist/noise-server-options.js.map +1 -0
  621. package/.yalc/@node-dlc/noise/dist/noise-server.d.ts +71 -0
  622. package/.yalc/@node-dlc/noise/dist/noise-server.js +125 -0
  623. package/.yalc/@node-dlc/noise/dist/noise-server.js.map +1 -0
  624. package/.yalc/@node-dlc/noise/dist/noise-socket-options.d.ts +28 -0
  625. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js +3 -0
  626. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js.map +1 -0
  627. package/.yalc/@node-dlc/noise/dist/noise-socket.d.ts +98 -0
  628. package/.yalc/@node-dlc/noise/dist/noise-socket.js +278 -0
  629. package/.yalc/@node-dlc/noise/dist/noise-socket.js.map +1 -0
  630. package/.yalc/@node-dlc/noise/dist/noise-state-options.d.ts +16 -0
  631. package/.yalc/@node-dlc/noise/dist/noise-state-options.js +3 -0
  632. package/.yalc/@node-dlc/noise/dist/noise-state-options.js.map +1 -0
  633. package/.yalc/@node-dlc/noise/dist/noise-state.d.ts +164 -0
  634. package/.yalc/@node-dlc/noise/dist/noise-state.js +304 -0
  635. package/.yalc/@node-dlc/noise/dist/noise-state.js.map +1 -0
  636. package/.yalc/@node-dlc/noise/dist/read-state.d.ts +5 -0
  637. package/.yalc/@node-dlc/noise/dist/read-state.js +10 -0
  638. package/.yalc/@node-dlc/noise/dist/read-state.js.map +1 -0
  639. package/.yalc/@node-dlc/noise/lib/handshake-state.ts +50 -0
  640. package/.yalc/@node-dlc/noise/lib/index.ts +88 -0
  641. package/.yalc/@node-dlc/noise/lib/noise-error.ts +3 -0
  642. package/.yalc/@node-dlc/noise/lib/noise-server-listen-options.ts +25 -0
  643. package/.yalc/@node-dlc/noise/lib/noise-server-options.ts +13 -0
  644. package/.yalc/@node-dlc/noise/lib/noise-server.ts +135 -0
  645. package/.yalc/@node-dlc/noise/lib/noise-socket-options.ts +32 -0
  646. package/.yalc/@node-dlc/noise/lib/noise-socket.ts +381 -0
  647. package/.yalc/@node-dlc/noise/lib/noise-state-options.ts +18 -0
  648. package/.yalc/@node-dlc/noise/lib/noise-state.ts +481 -0
  649. package/.yalc/@node-dlc/noise/lib/read-state.ts +5 -0
  650. package/.yalc/@node-dlc/noise/package.json +35 -0
  651. package/.yalc/@node-dlc/noise/tsconfig-build.json +7 -0
  652. package/.yalc/@node-dlc/noise/tsconfig.json +4 -0
  653. package/.yalc/@node-dlc/noise/yalc.sig +1 -0
  654. package/CHANGELOG.md +6 -0
  655. package/package.json +1 -1
  656. package/yalc.lock +20 -0
@@ -0,0 +1,1523 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for noise-state.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="prettify.css" />
9
+ <link rel="stylesheet" href="base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="index.html">All files</a> noise-state.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">93.75% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>135/144</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">73.53% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>25/34</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>15/15</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>127/127</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a>
90
+ <a name='L31'></a><a href='#L31'>31</a>
91
+ <a name='L32'></a><a href='#L32'>32</a>
92
+ <a name='L33'></a><a href='#L33'>33</a>
93
+ <a name='L34'></a><a href='#L34'>34</a>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a>
96
+ <a name='L37'></a><a href='#L37'>37</a>
97
+ <a name='L38'></a><a href='#L38'>38</a>
98
+ <a name='L39'></a><a href='#L39'>39</a>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a>
106
+ <a name='L47'></a><a href='#L47'>47</a>
107
+ <a name='L48'></a><a href='#L48'>48</a>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
115
+ <a name='L56'></a><a href='#L56'>56</a>
116
+ <a name='L57'></a><a href='#L57'>57</a>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a>
136
+ <a name='L77'></a><a href='#L77'>77</a>
137
+ <a name='L78'></a><a href='#L78'>78</a>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a>
146
+ <a name='L87'></a><a href='#L87'>87</a>
147
+ <a name='L88'></a><a href='#L88'>88</a>
148
+ <a name='L89'></a><a href='#L89'>89</a>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a>
169
+ <a name='L110'></a><a href='#L110'>110</a>
170
+ <a name='L111'></a><a href='#L111'>111</a>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a>
175
+ <a name='L116'></a><a href='#L116'>116</a>
176
+ <a name='L117'></a><a href='#L117'>117</a>
177
+ <a name='L118'></a><a href='#L118'>118</a>
178
+ <a name='L119'></a><a href='#L119'>119</a>
179
+ <a name='L120'></a><a href='#L120'>120</a>
180
+ <a name='L121'></a><a href='#L121'>121</a>
181
+ <a name='L122'></a><a href='#L122'>122</a>
182
+ <a name='L123'></a><a href='#L123'>123</a>
183
+ <a name='L124'></a><a href='#L124'>124</a>
184
+ <a name='L125'></a><a href='#L125'>125</a>
185
+ <a name='L126'></a><a href='#L126'>126</a>
186
+ <a name='L127'></a><a href='#L127'>127</a>
187
+ <a name='L128'></a><a href='#L128'>128</a>
188
+ <a name='L129'></a><a href='#L129'>129</a>
189
+ <a name='L130'></a><a href='#L130'>130</a>
190
+ <a name='L131'></a><a href='#L131'>131</a>
191
+ <a name='L132'></a><a href='#L132'>132</a>
192
+ <a name='L133'></a><a href='#L133'>133</a>
193
+ <a name='L134'></a><a href='#L134'>134</a>
194
+ <a name='L135'></a><a href='#L135'>135</a>
195
+ <a name='L136'></a><a href='#L136'>136</a>
196
+ <a name='L137'></a><a href='#L137'>137</a>
197
+ <a name='L138'></a><a href='#L138'>138</a>
198
+ <a name='L139'></a><a href='#L139'>139</a>
199
+ <a name='L140'></a><a href='#L140'>140</a>
200
+ <a name='L141'></a><a href='#L141'>141</a>
201
+ <a name='L142'></a><a href='#L142'>142</a>
202
+ <a name='L143'></a><a href='#L143'>143</a>
203
+ <a name='L144'></a><a href='#L144'>144</a>
204
+ <a name='L145'></a><a href='#L145'>145</a>
205
+ <a name='L146'></a><a href='#L146'>146</a>
206
+ <a name='L147'></a><a href='#L147'>147</a>
207
+ <a name='L148'></a><a href='#L148'>148</a>
208
+ <a name='L149'></a><a href='#L149'>149</a>
209
+ <a name='L150'></a><a href='#L150'>150</a>
210
+ <a name='L151'></a><a href='#L151'>151</a>
211
+ <a name='L152'></a><a href='#L152'>152</a>
212
+ <a name='L153'></a><a href='#L153'>153</a>
213
+ <a name='L154'></a><a href='#L154'>154</a>
214
+ <a name='L155'></a><a href='#L155'>155</a>
215
+ <a name='L156'></a><a href='#L156'>156</a>
216
+ <a name='L157'></a><a href='#L157'>157</a>
217
+ <a name='L158'></a><a href='#L158'>158</a>
218
+ <a name='L159'></a><a href='#L159'>159</a>
219
+ <a name='L160'></a><a href='#L160'>160</a>
220
+ <a name='L161'></a><a href='#L161'>161</a>
221
+ <a name='L162'></a><a href='#L162'>162</a>
222
+ <a name='L163'></a><a href='#L163'>163</a>
223
+ <a name='L164'></a><a href='#L164'>164</a>
224
+ <a name='L165'></a><a href='#L165'>165</a>
225
+ <a name='L166'></a><a href='#L166'>166</a>
226
+ <a name='L167'></a><a href='#L167'>167</a>
227
+ <a name='L168'></a><a href='#L168'>168</a>
228
+ <a name='L169'></a><a href='#L169'>169</a>
229
+ <a name='L170'></a><a href='#L170'>170</a>
230
+ <a name='L171'></a><a href='#L171'>171</a>
231
+ <a name='L172'></a><a href='#L172'>172</a>
232
+ <a name='L173'></a><a href='#L173'>173</a>
233
+ <a name='L174'></a><a href='#L174'>174</a>
234
+ <a name='L175'></a><a href='#L175'>175</a>
235
+ <a name='L176'></a><a href='#L176'>176</a>
236
+ <a name='L177'></a><a href='#L177'>177</a>
237
+ <a name='L178'></a><a href='#L178'>178</a>
238
+ <a name='L179'></a><a href='#L179'>179</a>
239
+ <a name='L180'></a><a href='#L180'>180</a>
240
+ <a name='L181'></a><a href='#L181'>181</a>
241
+ <a name='L182'></a><a href='#L182'>182</a>
242
+ <a name='L183'></a><a href='#L183'>183</a>
243
+ <a name='L184'></a><a href='#L184'>184</a>
244
+ <a name='L185'></a><a href='#L185'>185</a>
245
+ <a name='L186'></a><a href='#L186'>186</a>
246
+ <a name='L187'></a><a href='#L187'>187</a>
247
+ <a name='L188'></a><a href='#L188'>188</a>
248
+ <a name='L189'></a><a href='#L189'>189</a>
249
+ <a name='L190'></a><a href='#L190'>190</a>
250
+ <a name='L191'></a><a href='#L191'>191</a>
251
+ <a name='L192'></a><a href='#L192'>192</a>
252
+ <a name='L193'></a><a href='#L193'>193</a>
253
+ <a name='L194'></a><a href='#L194'>194</a>
254
+ <a name='L195'></a><a href='#L195'>195</a>
255
+ <a name='L196'></a><a href='#L196'>196</a>
256
+ <a name='L197'></a><a href='#L197'>197</a>
257
+ <a name='L198'></a><a href='#L198'>198</a>
258
+ <a name='L199'></a><a href='#L199'>199</a>
259
+ <a name='L200'></a><a href='#L200'>200</a>
260
+ <a name='L201'></a><a href='#L201'>201</a>
261
+ <a name='L202'></a><a href='#L202'>202</a>
262
+ <a name='L203'></a><a href='#L203'>203</a>
263
+ <a name='L204'></a><a href='#L204'>204</a>
264
+ <a name='L205'></a><a href='#L205'>205</a>
265
+ <a name='L206'></a><a href='#L206'>206</a>
266
+ <a name='L207'></a><a href='#L207'>207</a>
267
+ <a name='L208'></a><a href='#L208'>208</a>
268
+ <a name='L209'></a><a href='#L209'>209</a>
269
+ <a name='L210'></a><a href='#L210'>210</a>
270
+ <a name='L211'></a><a href='#L211'>211</a>
271
+ <a name='L212'></a><a href='#L212'>212</a>
272
+ <a name='L213'></a><a href='#L213'>213</a>
273
+ <a name='L214'></a><a href='#L214'>214</a>
274
+ <a name='L215'></a><a href='#L215'>215</a>
275
+ <a name='L216'></a><a href='#L216'>216</a>
276
+ <a name='L217'></a><a href='#L217'>217</a>
277
+ <a name='L218'></a><a href='#L218'>218</a>
278
+ <a name='L219'></a><a href='#L219'>219</a>
279
+ <a name='L220'></a><a href='#L220'>220</a>
280
+ <a name='L221'></a><a href='#L221'>221</a>
281
+ <a name='L222'></a><a href='#L222'>222</a>
282
+ <a name='L223'></a><a href='#L223'>223</a>
283
+ <a name='L224'></a><a href='#L224'>224</a>
284
+ <a name='L225'></a><a href='#L225'>225</a>
285
+ <a name='L226'></a><a href='#L226'>226</a>
286
+ <a name='L227'></a><a href='#L227'>227</a>
287
+ <a name='L228'></a><a href='#L228'>228</a>
288
+ <a name='L229'></a><a href='#L229'>229</a>
289
+ <a name='L230'></a><a href='#L230'>230</a>
290
+ <a name='L231'></a><a href='#L231'>231</a>
291
+ <a name='L232'></a><a href='#L232'>232</a>
292
+ <a name='L233'></a><a href='#L233'>233</a>
293
+ <a name='L234'></a><a href='#L234'>234</a>
294
+ <a name='L235'></a><a href='#L235'>235</a>
295
+ <a name='L236'></a><a href='#L236'>236</a>
296
+ <a name='L237'></a><a href='#L237'>237</a>
297
+ <a name='L238'></a><a href='#L238'>238</a>
298
+ <a name='L239'></a><a href='#L239'>239</a>
299
+ <a name='L240'></a><a href='#L240'>240</a>
300
+ <a name='L241'></a><a href='#L241'>241</a>
301
+ <a name='L242'></a><a href='#L242'>242</a>
302
+ <a name='L243'></a><a href='#L243'>243</a>
303
+ <a name='L244'></a><a href='#L244'>244</a>
304
+ <a name='L245'></a><a href='#L245'>245</a>
305
+ <a name='L246'></a><a href='#L246'>246</a>
306
+ <a name='L247'></a><a href='#L247'>247</a>
307
+ <a name='L248'></a><a href='#L248'>248</a>
308
+ <a name='L249'></a><a href='#L249'>249</a>
309
+ <a name='L250'></a><a href='#L250'>250</a>
310
+ <a name='L251'></a><a href='#L251'>251</a>
311
+ <a name='L252'></a><a href='#L252'>252</a>
312
+ <a name='L253'></a><a href='#L253'>253</a>
313
+ <a name='L254'></a><a href='#L254'>254</a>
314
+ <a name='L255'></a><a href='#L255'>255</a>
315
+ <a name='L256'></a><a href='#L256'>256</a>
316
+ <a name='L257'></a><a href='#L257'>257</a>
317
+ <a name='L258'></a><a href='#L258'>258</a>
318
+ <a name='L259'></a><a href='#L259'>259</a>
319
+ <a name='L260'></a><a href='#L260'>260</a>
320
+ <a name='L261'></a><a href='#L261'>261</a>
321
+ <a name='L262'></a><a href='#L262'>262</a>
322
+ <a name='L263'></a><a href='#L263'>263</a>
323
+ <a name='L264'></a><a href='#L264'>264</a>
324
+ <a name='L265'></a><a href='#L265'>265</a>
325
+ <a name='L266'></a><a href='#L266'>266</a>
326
+ <a name='L267'></a><a href='#L267'>267</a>
327
+ <a name='L268'></a><a href='#L268'>268</a>
328
+ <a name='L269'></a><a href='#L269'>269</a>
329
+ <a name='L270'></a><a href='#L270'>270</a>
330
+ <a name='L271'></a><a href='#L271'>271</a>
331
+ <a name='L272'></a><a href='#L272'>272</a>
332
+ <a name='L273'></a><a href='#L273'>273</a>
333
+ <a name='L274'></a><a href='#L274'>274</a>
334
+ <a name='L275'></a><a href='#L275'>275</a>
335
+ <a name='L276'></a><a href='#L276'>276</a>
336
+ <a name='L277'></a><a href='#L277'>277</a>
337
+ <a name='L278'></a><a href='#L278'>278</a>
338
+ <a name='L279'></a><a href='#L279'>279</a>
339
+ <a name='L280'></a><a href='#L280'>280</a>
340
+ <a name='L281'></a><a href='#L281'>281</a>
341
+ <a name='L282'></a><a href='#L282'>282</a>
342
+ <a name='L283'></a><a href='#L283'>283</a>
343
+ <a name='L284'></a><a href='#L284'>284</a>
344
+ <a name='L285'></a><a href='#L285'>285</a>
345
+ <a name='L286'></a><a href='#L286'>286</a>
346
+ <a name='L287'></a><a href='#L287'>287</a>
347
+ <a name='L288'></a><a href='#L288'>288</a>
348
+ <a name='L289'></a><a href='#L289'>289</a>
349
+ <a name='L290'></a><a href='#L290'>290</a>
350
+ <a name='L291'></a><a href='#L291'>291</a>
351
+ <a name='L292'></a><a href='#L292'>292</a>
352
+ <a name='L293'></a><a href='#L293'>293</a>
353
+ <a name='L294'></a><a href='#L294'>294</a>
354
+ <a name='L295'></a><a href='#L295'>295</a>
355
+ <a name='L296'></a><a href='#L296'>296</a>
356
+ <a name='L297'></a><a href='#L297'>297</a>
357
+ <a name='L298'></a><a href='#L298'>298</a>
358
+ <a name='L299'></a><a href='#L299'>299</a>
359
+ <a name='L300'></a><a href='#L300'>300</a>
360
+ <a name='L301'></a><a href='#L301'>301</a>
361
+ <a name='L302'></a><a href='#L302'>302</a>
362
+ <a name='L303'></a><a href='#L303'>303</a>
363
+ <a name='L304'></a><a href='#L304'>304</a>
364
+ <a name='L305'></a><a href='#L305'>305</a>
365
+ <a name='L306'></a><a href='#L306'>306</a>
366
+ <a name='L307'></a><a href='#L307'>307</a>
367
+ <a name='L308'></a><a href='#L308'>308</a>
368
+ <a name='L309'></a><a href='#L309'>309</a>
369
+ <a name='L310'></a><a href='#L310'>310</a>
370
+ <a name='L311'></a><a href='#L311'>311</a>
371
+ <a name='L312'></a><a href='#L312'>312</a>
372
+ <a name='L313'></a><a href='#L313'>313</a>
373
+ <a name='L314'></a><a href='#L314'>314</a>
374
+ <a name='L315'></a><a href='#L315'>315</a>
375
+ <a name='L316'></a><a href='#L316'>316</a>
376
+ <a name='L317'></a><a href='#L317'>317</a>
377
+ <a name='L318'></a><a href='#L318'>318</a>
378
+ <a name='L319'></a><a href='#L319'>319</a>
379
+ <a name='L320'></a><a href='#L320'>320</a>
380
+ <a name='L321'></a><a href='#L321'>321</a>
381
+ <a name='L322'></a><a href='#L322'>322</a>
382
+ <a name='L323'></a><a href='#L323'>323</a>
383
+ <a name='L324'></a><a href='#L324'>324</a>
384
+ <a name='L325'></a><a href='#L325'>325</a>
385
+ <a name='L326'></a><a href='#L326'>326</a>
386
+ <a name='L327'></a><a href='#L327'>327</a>
387
+ <a name='L328'></a><a href='#L328'>328</a>
388
+ <a name='L329'></a><a href='#L329'>329</a>
389
+ <a name='L330'></a><a href='#L330'>330</a>
390
+ <a name='L331'></a><a href='#L331'>331</a>
391
+ <a name='L332'></a><a href='#L332'>332</a>
392
+ <a name='L333'></a><a href='#L333'>333</a>
393
+ <a name='L334'></a><a href='#L334'>334</a>
394
+ <a name='L335'></a><a href='#L335'>335</a>
395
+ <a name='L336'></a><a href='#L336'>336</a>
396
+ <a name='L337'></a><a href='#L337'>337</a>
397
+ <a name='L338'></a><a href='#L338'>338</a>
398
+ <a name='L339'></a><a href='#L339'>339</a>
399
+ <a name='L340'></a><a href='#L340'>340</a>
400
+ <a name='L341'></a><a href='#L341'>341</a>
401
+ <a name='L342'></a><a href='#L342'>342</a>
402
+ <a name='L343'></a><a href='#L343'>343</a>
403
+ <a name='L344'></a><a href='#L344'>344</a>
404
+ <a name='L345'></a><a href='#L345'>345</a>
405
+ <a name='L346'></a><a href='#L346'>346</a>
406
+ <a name='L347'></a><a href='#L347'>347</a>
407
+ <a name='L348'></a><a href='#L348'>348</a>
408
+ <a name='L349'></a><a href='#L349'>349</a>
409
+ <a name='L350'></a><a href='#L350'>350</a>
410
+ <a name='L351'></a><a href='#L351'>351</a>
411
+ <a name='L352'></a><a href='#L352'>352</a>
412
+ <a name='L353'></a><a href='#L353'>353</a>
413
+ <a name='L354'></a><a href='#L354'>354</a>
414
+ <a name='L355'></a><a href='#L355'>355</a>
415
+ <a name='L356'></a><a href='#L356'>356</a>
416
+ <a name='L357'></a><a href='#L357'>357</a>
417
+ <a name='L358'></a><a href='#L358'>358</a>
418
+ <a name='L359'></a><a href='#L359'>359</a>
419
+ <a name='L360'></a><a href='#L360'>360</a>
420
+ <a name='L361'></a><a href='#L361'>361</a>
421
+ <a name='L362'></a><a href='#L362'>362</a>
422
+ <a name='L363'></a><a href='#L363'>363</a>
423
+ <a name='L364'></a><a href='#L364'>364</a>
424
+ <a name='L365'></a><a href='#L365'>365</a>
425
+ <a name='L366'></a><a href='#L366'>366</a>
426
+ <a name='L367'></a><a href='#L367'>367</a>
427
+ <a name='L368'></a><a href='#L368'>368</a>
428
+ <a name='L369'></a><a href='#L369'>369</a>
429
+ <a name='L370'></a><a href='#L370'>370</a>
430
+ <a name='L371'></a><a href='#L371'>371</a>
431
+ <a name='L372'></a><a href='#L372'>372</a>
432
+ <a name='L373'></a><a href='#L373'>373</a>
433
+ <a name='L374'></a><a href='#L374'>374</a>
434
+ <a name='L375'></a><a href='#L375'>375</a>
435
+ <a name='L376'></a><a href='#L376'>376</a>
436
+ <a name='L377'></a><a href='#L377'>377</a>
437
+ <a name='L378'></a><a href='#L378'>378</a>
438
+ <a name='L379'></a><a href='#L379'>379</a>
439
+ <a name='L380'></a><a href='#L380'>380</a>
440
+ <a name='L381'></a><a href='#L381'>381</a>
441
+ <a name='L382'></a><a href='#L382'>382</a>
442
+ <a name='L383'></a><a href='#L383'>383</a>
443
+ <a name='L384'></a><a href='#L384'>384</a>
444
+ <a name='L385'></a><a href='#L385'>385</a>
445
+ <a name='L386'></a><a href='#L386'>386</a>
446
+ <a name='L387'></a><a href='#L387'>387</a>
447
+ <a name='L388'></a><a href='#L388'>388</a>
448
+ <a name='L389'></a><a href='#L389'>389</a>
449
+ <a name='L390'></a><a href='#L390'>390</a>
450
+ <a name='L391'></a><a href='#L391'>391</a>
451
+ <a name='L392'></a><a href='#L392'>392</a>
452
+ <a name='L393'></a><a href='#L393'>393</a>
453
+ <a name='L394'></a><a href='#L394'>394</a>
454
+ <a name='L395'></a><a href='#L395'>395</a>
455
+ <a name='L396'></a><a href='#L396'>396</a>
456
+ <a name='L397'></a><a href='#L397'>397</a>
457
+ <a name='L398'></a><a href='#L398'>398</a>
458
+ <a name='L399'></a><a href='#L399'>399</a>
459
+ <a name='L400'></a><a href='#L400'>400</a>
460
+ <a name='L401'></a><a href='#L401'>401</a>
461
+ <a name='L402'></a><a href='#L402'>402</a>
462
+ <a name='L403'></a><a href='#L403'>403</a>
463
+ <a name='L404'></a><a href='#L404'>404</a>
464
+ <a name='L405'></a><a href='#L405'>405</a>
465
+ <a name='L406'></a><a href='#L406'>406</a>
466
+ <a name='L407'></a><a href='#L407'>407</a>
467
+ <a name='L408'></a><a href='#L408'>408</a>
468
+ <a name='L409'></a><a href='#L409'>409</a>
469
+ <a name='L410'></a><a href='#L410'>410</a>
470
+ <a name='L411'></a><a href='#L411'>411</a>
471
+ <a name='L412'></a><a href='#L412'>412</a>
472
+ <a name='L413'></a><a href='#L413'>413</a>
473
+ <a name='L414'></a><a href='#L414'>414</a>
474
+ <a name='L415'></a><a href='#L415'>415</a>
475
+ <a name='L416'></a><a href='#L416'>416</a>
476
+ <a name='L417'></a><a href='#L417'>417</a>
477
+ <a name='L418'></a><a href='#L418'>418</a>
478
+ <a name='L419'></a><a href='#L419'>419</a>
479
+ <a name='L420'></a><a href='#L420'>420</a>
480
+ <a name='L421'></a><a href='#L421'>421</a>
481
+ <a name='L422'></a><a href='#L422'>422</a>
482
+ <a name='L423'></a><a href='#L423'>423</a>
483
+ <a name='L424'></a><a href='#L424'>424</a>
484
+ <a name='L425'></a><a href='#L425'>425</a>
485
+ <a name='L426'></a><a href='#L426'>426</a>
486
+ <a name='L427'></a><a href='#L427'>427</a>
487
+ <a name='L428'></a><a href='#L428'>428</a>
488
+ <a name='L429'></a><a href='#L429'>429</a>
489
+ <a name='L430'></a><a href='#L430'>430</a>
490
+ <a name='L431'></a><a href='#L431'>431</a>
491
+ <a name='L432'></a><a href='#L432'>432</a>
492
+ <a name='L433'></a><a href='#L433'>433</a>
493
+ <a name='L434'></a><a href='#L434'>434</a>
494
+ <a name='L435'></a><a href='#L435'>435</a>
495
+ <a name='L436'></a><a href='#L436'>436</a>
496
+ <a name='L437'></a><a href='#L437'>437</a>
497
+ <a name='L438'></a><a href='#L438'>438</a>
498
+ <a name='L439'></a><a href='#L439'>439</a>
499
+ <a name='L440'></a><a href='#L440'>440</a>
500
+ <a name='L441'></a><a href='#L441'>441</a>
501
+ <a name='L442'></a><a href='#L442'>442</a>
502
+ <a name='L443'></a><a href='#L443'>443</a>
503
+ <a name='L444'></a><a href='#L444'>444</a>
504
+ <a name='L445'></a><a href='#L445'>445</a>
505
+ <a name='L446'></a><a href='#L446'>446</a>
506
+ <a name='L447'></a><a href='#L447'>447</a>
507
+ <a name='L448'></a><a href='#L448'>448</a>
508
+ <a name='L449'></a><a href='#L449'>449</a>
509
+ <a name='L450'></a><a href='#L450'>450</a>
510
+ <a name='L451'></a><a href='#L451'>451</a>
511
+ <a name='L452'></a><a href='#L452'>452</a>
512
+ <a name='L453'></a><a href='#L453'>453</a>
513
+ <a name='L454'></a><a href='#L454'>454</a>
514
+ <a name='L455'></a><a href='#L455'>455</a>
515
+ <a name='L456'></a><a href='#L456'>456</a>
516
+ <a name='L457'></a><a href='#L457'>457</a>
517
+ <a name='L458'></a><a href='#L458'>458</a>
518
+ <a name='L459'></a><a href='#L459'>459</a>
519
+ <a name='L460'></a><a href='#L460'>460</a>
520
+ <a name='L461'></a><a href='#L461'>461</a>
521
+ <a name='L462'></a><a href='#L462'>462</a>
522
+ <a name='L463'></a><a href='#L463'>463</a>
523
+ <a name='L464'></a><a href='#L464'>464</a>
524
+ <a name='L465'></a><a href='#L465'>465</a>
525
+ <a name='L466'></a><a href='#L466'>466</a>
526
+ <a name='L467'></a><a href='#L467'>467</a>
527
+ <a name='L468'></a><a href='#L468'>468</a>
528
+ <a name='L469'></a><a href='#L469'>469</a>
529
+ <a name='L470'></a><a href='#L470'>470</a>
530
+ <a name='L471'></a><a href='#L471'>471</a>
531
+ <a name='L472'></a><a href='#L472'>472</a>
532
+ <a name='L473'></a><a href='#L473'>473</a>
533
+ <a name='L474'></a><a href='#L474'>474</a>
534
+ <a name='L475'></a><a href='#L475'>475</a>
535
+ <a name='L476'></a><a href='#L476'>476</a>
536
+ <a name='L477'></a><a href='#L477'>477</a>
537
+ <a name='L478'></a><a href='#L478'>478</a>
538
+ <a name='L479'></a><a href='#L479'>479</a>
539
+ <a name='L480'></a><a href='#L480'>480</a>
540
+ <a name='L481'></a><a href='#L481'>481</a>
541
+ <a name='L482'></a><a href='#L482'>482</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
542
+ <span class="cline-any cline-yes">1x</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-yes">1x</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-yes">20x</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-yes">20x</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-yes">20x</span>
659
+ <span class="cline-any cline-yes">20x</span>
660
+ <span class="cline-any cline-yes">20x</span>
661
+ <span class="cline-any cline-yes">20x</span>
662
+ <span class="cline-any cline-yes">20x</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-yes">7x</span>
675
+ <span class="cline-any cline-yes">7x</span>
676
+ <span class="cline-any cline-yes">7x</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-yes">7x</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-yes">7x</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-neutral">&nbsp;</span>
685
+ <span class="cline-any cline-yes">7x</span>
686
+ <span class="cline-any cline-yes">7x</span>
687
+ <span class="cline-any cline-yes">7x</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-yes">7x</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-yes">7x</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-yes">7x</span>
702
+ <span class="cline-any cline-yes">7x</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-yes">7x</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-yes">7x</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-yes">6x</span>
720
+ <span class="cline-any cline-yes">6x</span>
721
+ <span class="cline-any cline-yes">6x</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-yes">6x</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-yes">6x</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-yes">5x</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-yes">5x</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-yes">4x</span>
737
+ <span class="cline-any cline-yes">4x</span>
738
+ <span class="cline-any cline-yes">4x</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-yes">4x</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-yes">3x</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-yes">3x</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-yes">3x</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-yes">3x</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-yes">3x</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-yes">3x</span>
772
+ <span class="cline-any cline-yes">3x</span>
773
+ <span class="cline-any cline-yes">3x</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-yes">3x</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-yes">3x</span>
785
+ <span class="cline-any cline-yes">3x</span>
786
+ <span class="cline-any cline-yes">3x</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-yes">3x</span>
790
+ <span class="cline-any cline-yes">3x</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-yes">3x</span>
794
+ <span class="cline-any cline-yes">3x</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-neutral">&nbsp;</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-yes">13x</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-yes">13x</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-yes">13x</span>
809
+ <span class="cline-any cline-neutral">&nbsp;</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-yes">12x</span>
812
+ <span class="cline-any cline-yes">12x</span>
813
+ <span class="cline-any cline-yes">12x</span>
814
+ <span class="cline-any cline-yes">12x</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-yes">12x</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-yes">11x</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-yes">11x</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-yes">10x</span>
827
+ <span class="cline-any cline-yes">10x</span>
828
+ <span class="cline-any cline-yes">10x</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-yes">10x</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-yes">9x</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-yes">9x</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-yes">9x</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-yes">9x</span>
852
+ <span class="cline-any cline-yes">9x</span>
853
+ <span class="cline-any cline-yes">9x</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-yes">9x</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-yes">9x</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-yes">9x</span>
868
+ <span class="cline-any cline-yes">9x</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-yes">9x</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-yes">8x</span>
883
+ <span class="cline-any cline-yes">8x</span>
884
+ <span class="cline-any cline-yes">8x</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-yes">8x</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-yes">7x</span>
891
+ <span class="cline-any cline-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-yes">6x</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-yes">6x</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-yes">6x</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-yes">5x</span>
906
+ <span class="cline-any cline-yes">5x</span>
907
+ <span class="cline-any cline-yes">5x</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-yes">5x</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-yes">4x</span>
914
+ <span class="cline-any cline-yes">4x</span>
915
+ <span class="cline-any cline-yes">4x</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-yes">4x</span>
919
+ <span class="cline-any cline-yes">4x</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-neutral">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-yes">4005x</span>
931
+ <span class="cline-any cline-yes">4005x</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-neutral">&nbsp;</span>
934
+ <span class="cline-any cline-yes">4005x</span>
935
+ <span class="cline-any cline-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-yes">4005x</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-yes">4005x</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-yes">4005x</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-yes">4005x</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-neutral">&nbsp;</span>
954
+ <span class="cline-any cline-yes">4005x</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-yes">4005x</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-yes">4005x</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-yes">4005x</span>
967
+ <span class="cline-any cline-neutral">&nbsp;</span>
968
+ <span class="cline-any cline-yes">4005x</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-yes">4005x</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-neutral">&nbsp;</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-neutral">&nbsp;</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-yes">20x</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-yes">20x</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-neutral">&nbsp;</span>
985
+ <span class="cline-any cline-yes">20x</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-yes">20x</span>
989
+ <span class="cline-any cline-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-yes">20x</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-yes">8010x</span>
996
+ <span class="cline-any cline-yes">8010x</span>
997
+ <span class="cline-any cline-yes">8010x</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-neutral">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-yes">8010x</span>
1002
+ <span class="cline-any cline-yes">8010x</span>
1003
+ <span class="cline-any cline-yes">8010x</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-neutral">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-yes">8x</span>
1008
+ <span class="cline-any cline-yes">8x</span>
1009
+ <span class="cline-any cline-yes">8x</span>
1010
+ <span class="cline-any cline-yes">8x</span>
1011
+ <span class="cline-any cline-yes">8x</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-neutral">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-yes">8x</span>
1016
+ <span class="cline-any cline-yes">8x</span>
1017
+ <span class="cline-any cline-yes">8x</span>
1018
+ <span class="cline-any cline-yes">8x</span>
1019
+ <span class="cline-any cline-yes">8x</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { ccpDecrypt, ccpEncrypt, ecdh, hkdf, sha256 } from '@node-dlc/crypto';
1023
+ import { getPublicKey } from '@node-dlc/crypto';
1024
+ import { ILogger } from '@node-dlc/logger';
1025
+ &nbsp;
1026
+ import { NoiseStateOptions } from './noise-state-options';
1027
+ &nbsp;
1028
+ export class NoiseState {
1029
+ public logger: ILogger;
1030
+ &nbsp;
1031
+ /**
1032
+ * The official protocol name for the Lightning variant of Noise. This
1033
+ * value is mixed into the iniitialiization function to start the
1034
+ * handshake.
1035
+ */
1036
+ public protocolName = Buffer.from('Noise_XK_secp256k1_ChaChaPoly_SHA256');
1037
+ &nbsp;
1038
+ /**
1039
+ * Appended to the hash of the protocolName during initialization.
1040
+ */
1041
+ public prologue = Buffer.from('lightning');
1042
+ &nbsp;
1043
+ /**
1044
+ * Local secret is a 32-bit private key valid in elliptic curve
1045
+ * secp256k1. This value is unique to the node and should be
1046
+ * chosen with strong cryptographic randomness.
1047
+ */
1048
+ public ls: Buffer;
1049
+ &nbsp;
1050
+ /**
1051
+ * Local compressed public key derviced from the local secret `ls`.
1052
+ * This value is stored as a 33-byte buffer.
1053
+ */
1054
+ public lpk: Buffer;
1055
+ &nbsp;
1056
+ /**
1057
+ * Ephemeral secret is a 32-bit private key valid in elliptic curve
1058
+ * secp256k1. This value is generated by each node for each connection.
1059
+ * This value must be generated with strong cryptographic randomness.
1060
+ */
1061
+ public es: Buffer;
1062
+ &nbsp;
1063
+ /**
1064
+ * Ephemeral compressed public key derived from the ephemeral secret
1065
+ * `es`. This value is stored as a 33-byte buffer.
1066
+ */
1067
+ public epk: Buffer;
1068
+ &nbsp;
1069
+ /**
1070
+ * Remote compressed public key stored as a 33-byte buffer.
1071
+ */
1072
+ public rpk: Buffer;
1073
+ &nbsp;
1074
+ /**
1075
+ * Remote party's ephemeral public key as a 33-byte buffer storing
1076
+ * the compressed public key. This value is extracted in act 2 where
1077
+ * it is sent during act 1 to the opposing side.
1078
+ */
1079
+ public repk: Buffer;
1080
+ &nbsp;
1081
+ /**
1082
+ * Hanshake hash. This value is the accumulated hash of all handshake data that
1083
+ * has been sent and received during the handshake process.
1084
+ */
1085
+ public h: Buffer;
1086
+ &nbsp;
1087
+ /**
1088
+ * Chaining key. This value is the accumulated hash of all previous ECDH outputs.
1089
+ * At the end of the handshake, `ck` is used to dervice the encryption keys
1090
+ * for messages.
1091
+ */
1092
+ public ck: Buffer;
1093
+ &nbsp;
1094
+ /**
1095
+ * The key used is the receiving key used to decrypt messages sent by the
1096
+ * other side. It is generated in Act3.
1097
+ */
1098
+ public rk: Buffer;
1099
+ &nbsp;
1100
+ /**
1101
+ * The key used by the sender to encrypt messages to the receiver. This value
1102
+ * is generated in Act3.
1103
+ */
1104
+ public sk: Buffer;
1105
+ &nbsp;
1106
+ /**
1107
+ * Nonce incremented when sending messages. Initialized to zero in Act3.
1108
+ */
1109
+ public sn: Buffer;
1110
+ &nbsp;
1111
+ /**
1112
+ * Nonce incremented when receiving messages. Initialized to zero in Act3.
1113
+ */
1114
+ public rn: Buffer;
1115
+ &nbsp;
1116
+ /**
1117
+ * Intermediate key 1. Used to encrypt or decrypt the zero-length AEAD
1118
+ * payload in the corresponding initiator or receiver act.
1119
+ */
1120
+ public tempK1: Buffer;
1121
+ &nbsp;
1122
+ /**
1123
+ * Intermediate key 2. Used to encrypt or decrypt the zero-length AEAD
1124
+ * payload in the corresponding initiator or receiver act.
1125
+ */
1126
+ public tempK2: Buffer;
1127
+ &nbsp;
1128
+ /**
1129
+ * Intermediate key 3. Used to encrypt or decrypt the zero-length AEAD
1130
+ * payload in the corresponding initiator or receiver act.
1131
+ */
1132
+ public tempK3: Buffer;
1133
+ &nbsp;
1134
+ /**
1135
+ * State machine for perforing noise-protocol handshake, message
1136
+ * encryption and decryption, and key rotation.
1137
+ */
1138
+ constructor({ ls, es, logger }: NoiseStateOptions) {
1139
+ this.logger = logger;
1140
+ this.ls = ls;
1141
+ this.lpk = getPublicKey(ls);
1142
+ this.es = es;
1143
+ this.epk = getPublicKey(es);
1144
+ }
1145
+ &nbsp;
1146
+ /**
1147
+ * Initiator Act1 is the starting point for the authenticated key exchange
1148
+ * handshake. The initiator attempts to satisfy an implicit challenge by the
1149
+ * responder: knowledge of the static public key of the responder. It also
1150
+ * transmits the initiators ephemeral key.
1151
+ * @param rpk remote public key
1152
+ * @return Buffer that is 50 bytes
1153
+ */
1154
+ public initiatorAct1(rpk: Buffer): Buffer {
1155
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.logger) <span class="cstat-no" title="statement not covered" >this.logger.debug('initiator act1');</span>
1156
+ this.rpk = rpk;
1157
+ this._initialize(this.rpk);
1158
+ &nbsp;
1159
+ // 2. h = SHA-256(h || epk)
1160
+ this.h = sha256(Buffer.concat([this.h, this.epk]));
1161
+ &nbsp;
1162
+ // 3. es = ECDH(e.priv, rs)
1163
+ const ss = ecdh(this.rpk, this.es);
1164
+ &nbsp;
1165
+ // 4. ck, temp_k1 = HKDF(ck, es)
1166
+ const tempK1 = hkdf(ss, 64, this.ck);
1167
+ this.ck = tempK1.slice(0, 32);
1168
+ this.tempK1 = tempK1.slice(32);
1169
+ &nbsp;
1170
+ // 5. c = encryptWithAD(temp_k1, 0, h, zero)
1171
+ const c = ccpEncrypt(
1172
+ this.tempK1,
1173
+ Buffer.alloc(12),
1174
+ this.h,
1175
+ Buffer.alloc(0),
1176
+ );
1177
+ &nbsp;
1178
+ // 6. h = SHA-256(h || c)
1179
+ this.h = sha256(Buffer.concat([this.h, c]));
1180
+ &nbsp;
1181
+ // 7. m = 0 || epk || c
1182
+ const m = Buffer.concat([Buffer.alloc(1), this.epk, c]);
1183
+ return m;
1184
+ }
1185
+ &nbsp;
1186
+ /**
1187
+ * Initiator Act2 handles the response generated by the receiver's
1188
+ * Act1, a 50-byte message. The responder's ephemeral key is extacted
1189
+ * from the message during this phase.
1190
+ *
1191
+ * @param m 50-byte message from responder's act1
1192
+ */
1193
+ public initiatorAct2(m: Buffer): void {
1194
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.logger) <span class="cstat-no" title="statement not covered" >this.logger.debug('initiator act2');</span>
1195
+ &nbsp;
1196
+ // 1. read exactly 50 bytes off the stream
1197
+ if (m.length !== 50) throw new Error('ACT2_READ_FAILED');
1198
+ &nbsp;
1199
+ // 2. parse th read message m into v, re, and c
1200
+ const v = m.slice(0, 1)[0];
1201
+ const re = m.slice(1, 34);
1202
+ const c = m.slice(34);
1203
+ &nbsp;
1204
+ // 2a. convert re to public key
1205
+ this.repk = re;
1206
+ &nbsp;
1207
+ // 3. assert version is known version
1208
+ if (v !== 0) throw new Error('ACT2_BAD_VERSION');
1209
+ &nbsp;
1210
+ // 4. sha256(h || re.serializedCompressed');
1211
+ this.h = sha256(Buffer.concat([this.h, this.repk]));
1212
+ &nbsp;
1213
+ // 5. ss = ECDH(re, e.priv);
1214
+ const ss = ecdh(this.repk, this.es);
1215
+ &nbsp;
1216
+ // 6. ck, temp_k2 = HKDF(cd, ss)
1217
+ const tempK2 = hkdf(ss, 64, this.ck);
1218
+ this.ck = tempK2.slice(0, 32);
1219
+ this.tempK2 = tempK2.slice(32);
1220
+ &nbsp;
1221
+ // 7. p = decryptWithAD()
1222
+ ccpDecrypt(this.tempK2, Buffer.alloc(12), this.h, c);
1223
+ &nbsp;
1224
+ // 8. h = sha256(h || c)
1225
+ this.h = sha256(Buffer.concat([this.h, c]));
1226
+ }
1227
+ &nbsp;
1228
+ /**
1229
+ * Initiator Act3 is the final phase in the authenticated
1230
+ * key agreement. This act is executed only if act 2
1231
+ * was successful. The initiator transports its static public key
1232
+ * to the responder.
1233
+ */
1234
+ public initiatorAct3(): Buffer {
1235
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.logger) <span class="cstat-no" title="statement not covered" >this.logger.debug('initiator act3');</span>
1236
+ &nbsp;
1237
+ // 1. c = encryptWithAD(temp_k2, 1, h, lpk)
1238
+ const c = ccpEncrypt(
1239
+ this.tempK2,
1240
+ Buffer.from([0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]),
1241
+ this.h,
1242
+ this.lpk,
1243
+ );
1244
+ &nbsp;
1245
+ // 2. h = sha256(h || c)
1246
+ this.h = sha256(Buffer.concat([this.h, c]));
1247
+ &nbsp;
1248
+ // 3. ss = ECDH(re, s.priv)
1249
+ const ss = ecdh(this.repk, this.ls);
1250
+ &nbsp;
1251
+ // 4. ck, temp_k3 = HKDF(ck, ss)
1252
+ const tempK3 = hkdf(ss, 64, this.ck);
1253
+ this.ck = tempK3.slice(0, 32);
1254
+ this.tempK3 = tempK3.slice(32);
1255
+ &nbsp;
1256
+ // 5. t = encryptWithAD(temp_k3, 0, h, zero)
1257
+ const t = ccpEncrypt(
1258
+ this.tempK3,
1259
+ Buffer.alloc(12),
1260
+ this.h,
1261
+ Buffer.alloc(0),
1262
+ );
1263
+ &nbsp;
1264
+ // 6. sk, rk = hkdf(ck, zero)
1265
+ const sk = hkdf(Buffer.alloc(0), 64, this.ck);
1266
+ this.rk = sk.slice(32);
1267
+ this.sk = sk.slice(0, 32);
1268
+ &nbsp;
1269
+ // 7. rn = 0, sn = 0
1270
+ this.sn = Buffer.alloc(12);
1271
+ this.rn = Buffer.alloc(12);
1272
+ &nbsp;
1273
+ // 8. send m = 0 || c || t
1274
+ const m = Buffer.concat([Buffer.alloc(1), c, t]);
1275
+ return m;
1276
+ }
1277
+ &nbsp;
1278
+ /**
1279
+ * Receiver Act1 extracts the initiators ephemeral key. It also
1280
+ * validates that the initiator knows the receivers public key.
1281
+ * @param m 50-byte message sent by the initiator
1282
+ */
1283
+ public receiveAct1(m: Buffer): void {
1284
+ this._initialize(this.lpk);
1285
+ &nbsp;
1286
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.logger) <span class="cstat-no" title="statement not covered" >this.logger.debug('receive act1');</span>
1287
+ &nbsp;
1288
+ // 1. read exactly 50 bytes off the stream
1289
+ if (m.length !== 50) throw new Error('ACT1_READ_FAILED');
1290
+ &nbsp;
1291
+ // 2. parse th read message m into v,re, and c
1292
+ const v = m.slice(0, 1)[0];
1293
+ const re = m.slice(1, 34);
1294
+ const c = m.slice(34);
1295
+ this.repk = re;
1296
+ &nbsp;
1297
+ // 3. assert version is known version
1298
+ if (v !== 0) throw new Error('ACT1_BAD_VERSION');
1299
+ &nbsp;
1300
+ // 4. sha256(h || re.serializedCompressed');
1301
+ this.h = sha256(Buffer.concat([this.h, re]));
1302
+ &nbsp;
1303
+ // 5. ss = ECDH(re, ls.priv);
1304
+ const ss = ecdh(re, this.ls);
1305
+ &nbsp;
1306
+ // 6. ck, temp_k1 = HKDF(cd, ss)
1307
+ const tempK1 = hkdf(ss, 64, this.ck);
1308
+ this.ck = tempK1.slice(0, 32);
1309
+ this.tempK1 = tempK1.slice(32);
1310
+ &nbsp;
1311
+ // 7. p = decryptWithAD(temp_k1, 0, h, c)
1312
+ ccpDecrypt(this.tempK1, Buffer.alloc(12), this.h, c);
1313
+ &nbsp;
1314
+ // 8. h = sha256(h || c)
1315
+ this.h = sha256(Buffer.concat([this.h, c]));
1316
+ }
1317
+ &nbsp;
1318
+ /**
1319
+ * Receiver Act2 takes place only if Act1 was successful.
1320
+ * This act sends responder's ephermeral key to the initiator.
1321
+ */
1322
+ public recieveAct2(): Buffer {
1323
+ // 1. e = generateKey() =&gt; done in initialization
1324
+ &nbsp;
1325
+ // 2. h = sha256(h || e.pub.compressed())
1326
+ this.h = sha256(Buffer.concat([this.h, this.epk]));
1327
+ &nbsp;
1328
+ // 3. ss = ecdh(re, e.priv)
1329
+ const ss = ecdh(this.repk, this.es);
1330
+ &nbsp;
1331
+ // 4. ck, temp_k2 = hkdf(ck, ss)
1332
+ const tempK2 = hkdf(ss, 64, this.ck);
1333
+ this.ck = tempK2.slice(0, 32);
1334
+ this.tempK2 = tempK2.slice(32);
1335
+ &nbsp;
1336
+ // 5. c = encryptWithAd(temp_k2, 0, h, zero)
1337
+ const c = ccpEncrypt(
1338
+ this.tempK2,
1339
+ Buffer.alloc(12),
1340
+ this.h,
1341
+ Buffer.alloc(0),
1342
+ );
1343
+ &nbsp;
1344
+ // 6. h = sha256(h || c)
1345
+ this.h = sha256(Buffer.concat([this.h, c]));
1346
+ &nbsp;
1347
+ // 7. m = 0 || e.pub.compressed() Z|| c
1348
+ const m = Buffer.concat([Buffer.alloc(1), this.epk, c]);
1349
+ return m;
1350
+ }
1351
+ &nbsp;
1352
+ /**
1353
+ * Receiver Act3 is the final phase in the authenticated key
1354
+ * agreement. This act is executed only if act 2 was successful.
1355
+ * The receiver extracts the public key of the initiator.
1356
+ * @param m 66-byte message
1357
+ */
1358
+ public receiveAct3(m: Buffer): void {
1359
+ // 1. read exactly 66 bytes from the network buffer
1360
+ if (m.length !== 66) throw new Error('ACT3_READ_FAILED');
1361
+ &nbsp;
1362
+ // 2. parse m into v, c, t
1363
+ const v = m.slice(0, 1)[0];
1364
+ const c = m.slice(1, 50);
1365
+ const t = m.slice(50);
1366
+ &nbsp;
1367
+ // 3. validate v is recognized
1368
+ if (v !== 0) throw new Error('ACT3_BAD_VERSION');
1369
+ &nbsp;
1370
+ // 4. rs = decryptWithAD(temp_k2, 1, h, c)
1371
+ const rs = ccpDecrypt(
1372
+ this.tempK2,
1373
+ Buffer.from('000000000100000000000000', 'hex'),
1374
+ this.h,
1375
+ c,
1376
+ );
1377
+ this.rpk = rs;
1378
+ &nbsp;
1379
+ // 5. h = sha256(h || c)
1380
+ this.h = sha256(Buffer.concat([this.h, c]));
1381
+ &nbsp;
1382
+ // 6. ss = ECDH(rs, e.priv)
1383
+ const ss = ecdh(this.rpk, this.es);
1384
+ &nbsp;
1385
+ // 7. ck, temp_k3 = hkdf(cs, ss)
1386
+ const tempK3 = hkdf(ss, 64, this.ck);
1387
+ this.ck = tempK3.slice(0, 32);
1388
+ this.tempK3 = tempK3.slice(32);
1389
+ &nbsp;
1390
+ // 8. p = decryptWithAD(temp_k3, 0, h, t)
1391
+ ccpDecrypt(this.tempK3, Buffer.alloc(12), this.h, t);
1392
+ &nbsp;
1393
+ // 9. rk, sk = hkdf(ck, zero)
1394
+ const sk = hkdf(Buffer.alloc(0), 64, this.ck);
1395
+ this.rk = sk.slice(0, 32);
1396
+ this.sk = sk.slice(32);
1397
+ &nbsp;
1398
+ // 10. rn = 0, sn = 0
1399
+ this.rn = Buffer.alloc(12);
1400
+ this.sn = Buffer.alloc(12);
1401
+ }
1402
+ &nbsp;
1403
+ /**
1404
+ * Sends an encrypted message using the shared sending key and nonce.
1405
+ * The nonce is rotated once the message is sent. The sending key is
1406
+ * rotated every 1000 messages.
1407
+ * @param m
1408
+ */
1409
+ public encryptMessage(m: Buffer): Buffer {
1410
+ // step 1/2. serialize m length into int16
1411
+ const l = Buffer.alloc(2);
1412
+ l.writeUInt16BE(m.length, 0);
1413
+ &nbsp;
1414
+ // step 3. encrypt l, using chachapoly1305, sn, sk)
1415
+ const lc = ccpEncrypt(this.sk, this.sn, Buffer.alloc(0), l);
1416
+ &nbsp;
1417
+ // step 3a: increment sn
1418
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this._incrementSendingNonce() &gt;= 1000) <span class="cstat-no" title="statement not covered" >this._rotateSendingKeys();</span>
1419
+ &nbsp;
1420
+ // step 4 encrypt m using chachapoly1305, sn, sk
1421
+ const c = ccpEncrypt(this.sk, this.sn, Buffer.alloc(0), m);
1422
+ &nbsp;
1423
+ // step 4a: increment sn
1424
+ if (this._incrementSendingNonce() &gt;= 1000) this._rotateSendingKeys();
1425
+ &nbsp;
1426
+ // step 5 return m to be sent
1427
+ return Buffer.concat([lc, c]);
1428
+ }
1429
+ &nbsp;
1430
+ /**
1431
+ * Decrypts the length of the message using the receiving key and nonce.
1432
+ * The receiving key is rotated every 1000 messages.
1433
+ */
1434
+ public decryptLength(lc: Buffer): number {
1435
+ const l = ccpDecrypt(this.rk, this.rn, Buffer.alloc(0), lc);
1436
+ &nbsp;
1437
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this._incrementRecievingNonce() &gt;= 1000) <span class="cstat-no" title="statement not covered" >this._rotateRecievingKeys();</span>
1438
+ &nbsp;
1439
+ return l.readUInt16BE(0);
1440
+ }
1441
+ &nbsp;
1442
+ /**
1443
+ * Decrypts the message using the receiving key and nonce. The receiving
1444
+ * key is rotated every 1000 messages.
1445
+ */
1446
+ public decryptMessage(c: Buffer): Buffer {
1447
+ const m = ccpDecrypt(this.rk, this.rn, Buffer.alloc(0), c);
1448
+ &nbsp;
1449
+ if (this._incrementRecievingNonce() &gt;= 1000) this._rotateRecievingKeys();
1450
+ &nbsp;
1451
+ return m;
1452
+ }
1453
+ &nbsp;
1454
+ /////////////////////////////////////
1455
+ &nbsp;
1456
+ /**
1457
+ * Initializes the noise state prior to Act1.
1458
+ */
1459
+ private _initialize(pubkey: Buffer) {
1460
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.logger) <span class="cstat-no" title="statement not covered" >this.logger.debug('initialize noise state');</span>
1461
+ &nbsp;
1462
+ // 1. h = SHA-256(protocolName)
1463
+ this.h = sha256(Buffer.from(this.protocolName));
1464
+ &nbsp;
1465
+ // 2. ck = h
1466
+ this.ck = this.h;
1467
+ &nbsp;
1468
+ // 3. h = SHA-256(h || prologue)
1469
+ this.h = sha256(Buffer.concat([this.h, this.prologue]));
1470
+ &nbsp;
1471
+ // 4. h = SHA-256(h || pubkey)
1472
+ this.h = sha256(Buffer.concat([this.h, pubkey]));
1473
+ }
1474
+ &nbsp;
1475
+ private _incrementSendingNonce() {
1476
+ const newValue = this.sn.readUInt16LE(4) + 1;
1477
+ this.sn.writeUInt16LE(newValue, 4);
1478
+ return newValue;
1479
+ }
1480
+ &nbsp;
1481
+ private _incrementRecievingNonce() {
1482
+ const newValue = this.rn.readUInt16LE(4) + 1;
1483
+ this.rn.writeUInt16LE(newValue, 4);
1484
+ return newValue;
1485
+ }
1486
+ &nbsp;
1487
+ private _rotateSendingKeys() {
1488
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.logger) <span class="cstat-no" title="statement not covered" >this.logger.debug('rotating sending key');</span>
1489
+ const result = hkdf(this.sk, 64, this.ck);
1490
+ this.sk = result.slice(32);
1491
+ this.ck = result.slice(0, 32);
1492
+ this.sn = Buffer.alloc(12);
1493
+ }
1494
+ &nbsp;
1495
+ private _rotateRecievingKeys() {
1496
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.logger) <span class="cstat-no" title="statement not covered" >this.logger.debug('rotating receiving key');</span>
1497
+ const result = hkdf(this.rk, 64, this.ck);
1498
+ this.rk = result.slice(32);
1499
+ this.ck = result.slice(0, 32);
1500
+ this.rn = Buffer.alloc(12);
1501
+ }
1502
+ }
1503
+ &nbsp;</pre></td></tr></table></pre>
1504
+
1505
+ <div class='push'></div><!-- for sticky footer -->
1506
+ </div><!-- /wrapper -->
1507
+ <div class='footer quiet pad2 space-top1 center small'>
1508
+ Code coverage generated by
1509
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1510
+ at Sat Jul 19 2025 19:05:18 GMT-0700 (Pacific Daylight Saving Time)
1511
+ </div>
1512
+ </div>
1513
+ <script src="prettify.js"></script>
1514
+ <script>
1515
+ window.onload = function () {
1516
+ prettyPrint();
1517
+ };
1518
+ </script>
1519
+ <script src="sorter.js"></script>
1520
+ <script src="block-navigation.js"></script>
1521
+ </body>
1522
+ </html>
1523
+