pcm-agents 0.6.11 → 0.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/dist/cjs/error-event-J_ZWIqWF.js +33 -0
  2. package/dist/cjs/error-event-J_ZWIqWF.js.map +1 -0
  3. package/dist/cjs/{index-CvEfNyEj.js → index-CRlt8Nv6.js} +53 -3
  4. package/dist/cjs/index-CRlt8Nv6.js.map +1 -0
  5. package/dist/cjs/index-WNdOTXnX.js +11068 -0
  6. package/dist/cjs/index-WNdOTXnX.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +2 -2
  8. package/dist/cjs/loader.cjs.js +3 -5
  9. package/dist/cjs/loader.cjs.js.map +1 -1
  10. package/dist/cjs/message.service-DGUsA-FY.js +135 -0
  11. package/dist/cjs/message.service-DGUsA-FY.js.map +1 -0
  12. package/dist/cjs/{pcm-1zhanshi-mnms-modal_17.cjs.entry.js → pcm-1zhanshi-mnms-modal_21.cjs.entry.js} +3276 -216
  13. package/dist/cjs/pcm-1zhanshi-mnms-modal_21.cjs.entry.js.map +1 -0
  14. package/dist/cjs/pcm-agents.cjs.js +4 -6
  15. package/dist/cjs/pcm-agents.cjs.js.map +1 -1
  16. package/dist/cjs/pcm-message.cjs.entry.js +3 -3
  17. package/dist/cjs/pcm-message.cjs.entry.js.map +1 -1
  18. package/dist/cjs/pcm-message.entry.cjs.js.map +1 -1
  19. package/dist/cjs/pcm-mnms-video-modal.cjs.entry.js +8 -8
  20. package/dist/cjs/pcm-mnms-video-modal.cjs.entry.js.map +1 -1
  21. package/dist/cjs/pcm-mnms-video-modal.entry.cjs.js.map +1 -1
  22. package/dist/cjs/pcm-mnms-zp-modal.cjs.entry.js +29 -86
  23. package/dist/cjs/pcm-mnms-zp-modal.cjs.entry.js.map +1 -1
  24. package/dist/cjs/pcm-mnms-zp-modal.entry.cjs.js.map +1 -1
  25. package/dist/cjs/{sentry-reporter-BWFtw_aT.js → sentry-reporter-tpI4WdkE.js} +12 -40
  26. package/dist/cjs/sentry-reporter-tpI4WdkE.js.map +1 -0
  27. package/dist/collection/collection-manifest.json +5 -1
  28. package/dist/collection/components/pcm-1zhanshi-mnms-modal/pcm-1zhanshi-mnms-modal.js.map +1 -1
  29. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.css +986 -986
  30. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js +7 -9
  31. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js.map +1 -1
  32. package/dist/collection/components/pcm-button/pcm-button.css +199 -199
  33. package/dist/collection/components/pcm-button/pcm-button.js +6 -6
  34. package/dist/collection/components/pcm-button/pcm-button.js.map +1 -1
  35. package/dist/collection/components/pcm-card/pcm-card.css +259 -259
  36. package/dist/collection/components/pcm-card/pcm-card.js +1 -1
  37. package/dist/collection/components/pcm-card/pcm-card.js.map +1 -1
  38. package/dist/collection/components/pcm-chat-message/pcm-chat-message.css +554 -554
  39. package/dist/collection/components/pcm-chat-message/pcm-chat-message.js +3 -3
  40. package/dist/collection/components/pcm-chat-message/pcm-chat-message.js.map +1 -1
  41. package/dist/collection/components/pcm-drawer/pcm-drawer.css +102 -102
  42. package/dist/collection/components/pcm-drawer/pcm-drawer.js +1 -1
  43. package/dist/collection/components/pcm-drawer/pcm-drawer.js.map +1 -1
  44. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.css +854 -854
  45. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js +5 -7
  46. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js.map +1 -1
  47. package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.css +95 -95
  48. package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.js +1 -1
  49. package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.js.map +1 -1
  50. package/dist/collection/components/pcm-hyzj-modal/pcm-hyzj-modal.js +2 -2
  51. package/dist/collection/components/pcm-hyzj-modal/pcm-hyzj-modal.js.map +1 -1
  52. package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.css +312 -312
  53. package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.js +1 -1
  54. package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.js.map +1 -1
  55. package/dist/collection/components/pcm-jlpp-modal/pcm-jlpp-modal.js +2 -2
  56. package/dist/collection/components/pcm-jlpp-modal/pcm-jlpp-modal.js.map +1 -1
  57. package/dist/collection/components/pcm-message/pcm-message.css +64 -64
  58. package/dist/collection/components/pcm-message/pcm-message.js +2 -2
  59. package/dist/collection/components/pcm-message/pcm-message.js.map +1 -1
  60. package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.css +1 -1
  61. package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.js +2 -2
  62. package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.js.map +1 -1
  63. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js +67 -84
  64. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js.map +1 -1
  65. package/dist/collection/components/pcm-mnms-video-modal/pcm-mnms-video-modal.js +2 -2
  66. package/dist/collection/components/pcm-mnms-video-modal/pcm-mnms-video-modal.js.map +1 -1
  67. package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js +67 -84
  68. package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js.map +1 -1
  69. package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.css +140 -0
  70. package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.js +307 -0
  71. package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.js.map +1 -0
  72. package/dist/collection/components/pcm-mobile-input-btn/uploadNumberSDK.js +25 -0
  73. package/dist/collection/components/pcm-mobile-input-btn/uploadNumberSDK.js.map +1 -0
  74. package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.css +127 -0
  75. package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.js +350 -0
  76. package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.js.map +1 -0
  77. package/dist/collection/components/pcm-mobile-upload-btn/uploadNumberSDK.js +25 -0
  78. package/dist/collection/components/pcm-mobile-upload-btn/uploadNumberSDK.js.map +1 -0
  79. package/dist/collection/components/pcm-msbg-modal/pcm-msbg-modal.js +2 -2
  80. package/dist/collection/components/pcm-msbg-modal/pcm-msbg-modal.js.map +1 -1
  81. package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.css +1 -1
  82. package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.js +2 -2
  83. package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.js.map +1 -1
  84. package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.css +0 -0
  85. package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.js +106 -0
  86. package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.js.map +1 -0
  87. package/dist/collection/components/pcm-upload/pcm-upload.css +0 -0
  88. package/dist/collection/components/pcm-upload/pcm-upload.js +408 -0
  89. package/dist/collection/components/pcm-upload/pcm-upload.js.map +1 -0
  90. package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.css +969 -969
  91. package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.js +3 -5
  92. package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.js.map +1 -1
  93. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.css +68 -68
  94. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js +4 -4
  95. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js.map +1 -1
  96. package/dist/collection/global/global.css +401 -398
  97. package/dist/collection/global/markdown.css +1233 -1233
  98. package/dist/collection/global/message.js.map +1 -1
  99. package/dist/collection/index.js.map +1 -1
  100. package/dist/collection/interfaces/chat.js.map +1 -1
  101. package/dist/collection/interfaces/events.js.map +1 -1
  102. package/dist/collection/services/message.service.js.map +1 -1
  103. package/dist/collection/utils/env.js +3 -0
  104. package/dist/collection/utils/env.js.map +1 -1
  105. package/dist/collection/utils/error-event.js.map +1 -1
  106. package/dist/collection/utils/init.js.map +1 -1
  107. package/dist/collection/utils/sentry-reporter.js.map +1 -1
  108. package/dist/collection/utils/utils.js +48 -24
  109. package/dist/collection/utils/utils.js.map +1 -1
  110. package/dist/components/index.js +3 -5482
  111. package/dist/components/index.js.map +1 -1
  112. package/dist/components/{p-AYWZDCn8.js → p-B0WOTw9J.js} +51 -4
  113. package/dist/components/p-B0WOTw9J.js.map +1 -0
  114. package/dist/components/{p-DUQ46MUh.js → p-BGXbWUJg.js} +3 -3
  115. package/dist/components/{p-DUQ46MUh.js.map → p-BGXbWUJg.js.map} +1 -1
  116. package/dist/{esm/sentry-reporter-BFBS363a.js → components/p-BW3r6Lrf.js} +5 -32
  117. package/dist/components/p-BW3r6Lrf.js.map +1 -0
  118. package/dist/{esm/app-globals-Chti62re.js → components/p-BdiUKin5.js} +9619 -4296
  119. package/dist/components/p-BdiUKin5.js.map +1 -0
  120. package/dist/components/{p-FjtoYPVY.js → p-BywzltXy.js} +10 -9
  121. package/dist/components/p-BywzltXy.js.map +1 -0
  122. package/dist/components/p-C2OsjtRx.js +208 -0
  123. package/dist/components/p-C2OsjtRx.js.map +1 -0
  124. package/dist/components/{p-D2Z8casl.js → p-CuIvbaWY.js} +5 -5
  125. package/dist/components/p-CuIvbaWY.js.map +1 -0
  126. package/dist/components/p-D0ZMoyH8.js +251 -0
  127. package/dist/components/p-D0ZMoyH8.js.map +1 -0
  128. package/dist/components/{p-CjbFHLT7.js → p-De3VHEUn.js} +7 -71
  129. package/dist/components/p-De3VHEUn.js.map +1 -0
  130. package/dist/components/p-Dv8qvK0w.js +2646 -0
  131. package/dist/components/p-Dv8qvK0w.js.map +1 -0
  132. package/dist/components/p-RD3mwuBX.js +226 -0
  133. package/dist/components/p-RD3mwuBX.js.map +1 -0
  134. package/dist/components/p-njngFX_n.js +80 -0
  135. package/dist/components/p-njngFX_n.js.map +1 -0
  136. package/dist/components/pcm-1zhanshi-mnms-modal.js +7 -7
  137. package/dist/components/pcm-1zhanshi-mnms-modal.js.map +1 -1
  138. package/dist/components/pcm-app-chat-modal.js +1 -1
  139. package/dist/components/pcm-button.js +2 -2
  140. package/dist/components/pcm-button.js.map +1 -1
  141. package/dist/components/pcm-card.js +3 -3
  142. package/dist/components/pcm-card.js.map +1 -1
  143. package/dist/components/pcm-chat-message.js +1 -1
  144. package/dist/components/pcm-drawer.js +1 -1
  145. package/dist/components/pcm-hr-chat-modal.js +5 -4
  146. package/dist/components/pcm-hr-chat-modal.js.map +1 -1
  147. package/dist/components/pcm-htws-modal.js +8 -7
  148. package/dist/components/pcm-htws-modal.js.map +1 -1
  149. package/dist/components/pcm-hyzj-modal.js +8 -7
  150. package/dist/components/pcm-hyzj-modal.js.map +1 -1
  151. package/dist/components/pcm-jd-modal.js +8 -7
  152. package/dist/components/pcm-jd-modal.js.map +1 -1
  153. package/dist/components/pcm-jlpp-modal.js +8 -7
  154. package/dist/components/pcm-jlpp-modal.js.map +1 -1
  155. package/dist/components/pcm-message.js +3 -3
  156. package/dist/components/pcm-message.js.map +1 -1
  157. package/dist/components/pcm-mnct-modal.js +8 -7
  158. package/dist/components/pcm-mnct-modal.js.map +1 -1
  159. package/dist/components/pcm-mnms-modal.js +60 -90
  160. package/dist/components/pcm-mnms-modal.js.map +1 -1
  161. package/dist/components/pcm-mnms-video-modal.js +8 -7
  162. package/dist/components/pcm-mnms-video-modal.js.map +1 -1
  163. package/dist/components/pcm-mnms-zp-modal.js +60 -90
  164. package/dist/components/pcm-mnms-zp-modal.js.map +1 -1
  165. package/dist/components/pcm-mobile-input-btn.d.ts +11 -0
  166. package/dist/components/pcm-mobile-input-btn.js +9 -0
  167. package/dist/components/pcm-mobile-input-btn.js.map +1 -0
  168. package/dist/components/pcm-mobile-upload-btn.d.ts +11 -0
  169. package/dist/components/pcm-mobile-upload-btn.js +9 -0
  170. package/dist/components/pcm-mobile-upload-btn.js.map +1 -0
  171. package/dist/components/pcm-msbg-modal.js +8 -7
  172. package/dist/components/pcm-msbg-modal.js.map +1 -1
  173. package/dist/components/pcm-qgqjl-modal.js +8 -7
  174. package/dist/components/pcm-qgqjl-modal.js.map +1 -1
  175. package/dist/components/pcm-time-count-down.d.ts +11 -0
  176. package/dist/components/pcm-time-count-down.js +9 -0
  177. package/dist/components/pcm-time-count-down.js.map +1 -0
  178. package/dist/components/pcm-upload.d.ts +11 -0
  179. package/dist/components/pcm-upload.js +9 -0
  180. package/dist/components/pcm-upload.js.map +1 -0
  181. package/dist/components/pcm-zsk-chat-modal.js +4 -4
  182. package/dist/components/pcm-zsk-chat-modal.js.map +1 -1
  183. package/dist/components/pcm-zygh-modal.js +8 -7
  184. package/dist/components/pcm-zygh-modal.js.map +1 -1
  185. package/dist/esm/error-event-C0FYX2-Z.js +31 -0
  186. package/dist/esm/error-event-C0FYX2-Z.js.map +1 -0
  187. package/dist/esm/{index-GyOE8SlD.js → index-BnNqOUZf.js} +51 -4
  188. package/dist/esm/index-BnNqOUZf.js.map +1 -0
  189. package/dist/esm/index-BuVfV0zo.js +11035 -0
  190. package/dist/esm/index-BuVfV0zo.js.map +1 -0
  191. package/dist/esm/index.js +2 -2
  192. package/dist/esm/loader.js +3 -5
  193. package/dist/esm/loader.js.map +1 -1
  194. package/dist/esm/message.service-DXVhHj6-.js +133 -0
  195. package/dist/esm/message.service-DXVhHj6-.js.map +1 -0
  196. package/dist/esm/{pcm-1zhanshi-mnms-modal_17.entry.js → pcm-1zhanshi-mnms-modal_21.entry.js} +3225 -169
  197. package/dist/esm/pcm-1zhanshi-mnms-modal_21.entry.js.map +1 -0
  198. package/dist/esm/pcm-agents.js +4 -6
  199. package/dist/esm/pcm-agents.js.map +1 -1
  200. package/dist/esm/pcm-message.entry.js +3 -3
  201. package/dist/esm/pcm-message.entry.js.map +1 -1
  202. package/dist/esm/pcm-mnms-video-modal.entry.js +5 -5
  203. package/dist/esm/pcm-mnms-video-modal.entry.js.map +1 -1
  204. package/dist/esm/pcm-mnms-zp-modal.entry.js +28 -85
  205. package/dist/esm/pcm-mnms-zp-modal.entry.js.map +1 -1
  206. package/dist/esm/sentry-reporter-CYzy4_8O.js +70 -0
  207. package/dist/esm/sentry-reporter-CYzy4_8O.js.map +1 -0
  208. package/dist/pcm-agents/index.esm.js +1 -1
  209. package/dist/pcm-agents/loader.esm.js.map +1 -1
  210. package/dist/pcm-agents/p-18a06873.entry.js +2 -0
  211. package/dist/pcm-agents/p-18a06873.entry.js.map +1 -0
  212. package/dist/pcm-agents/p-47e2e1d0.entry.js +2 -0
  213. package/dist/pcm-agents/p-47e2e1d0.entry.js.map +1 -0
  214. package/dist/pcm-agents/{p-3608c0c6.entry.js → p-7a582f00.entry.js} +2 -2
  215. package/dist/pcm-agents/p-7a582f00.entry.js.map +1 -0
  216. package/dist/pcm-agents/p-BhFnI70g.js +2 -0
  217. package/dist/pcm-agents/p-BhFnI70g.js.map +1 -0
  218. package/dist/pcm-agents/p-BuVfV0zo.js +3 -0
  219. package/dist/pcm-agents/p-BuVfV0zo.js.map +1 -0
  220. package/dist/pcm-agents/p-C0FYX2-Z.js +2 -0
  221. package/dist/pcm-agents/p-C0FYX2-Z.js.map +1 -0
  222. package/dist/pcm-agents/p-DXVhHj6-.js +2 -0
  223. package/dist/pcm-agents/p-DXVhHj6-.js.map +1 -0
  224. package/dist/pcm-agents/p-DkeaAFic.js +2 -0
  225. package/dist/pcm-agents/p-DkeaAFic.js.map +1 -0
  226. package/dist/pcm-agents/p-f5f96853.entry.js +245 -0
  227. package/dist/pcm-agents/p-f5f96853.entry.js.map +1 -0
  228. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  229. package/dist/pcm-agents/pcm-agents.esm.js.map +1 -1
  230. package/dist/pcm-agents/pcm-message.entry.esm.js.map +1 -1
  231. package/dist/pcm-agents/pcm-mnms-video-modal.entry.esm.js.map +1 -1
  232. package/dist/pcm-agents/pcm-mnms-zp-modal.entry.esm.js.map +1 -1
  233. package/dist/store/auth.store.js.map +1 -1
  234. package/dist/store/config.store.js.map +1 -1
  235. package/dist/types/components/pcm-mnms-modal/pcm-mnms-modal.d.ts +9 -4
  236. package/dist/types/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.d.ts +9 -4
  237. package/dist/types/components/pcm-mobile-input-btn/pcm-mobile-input-btn.d.ts +36 -0
  238. package/dist/types/components/pcm-mobile-input-btn/uploadNumberSDK.d.ts +9 -0
  239. package/dist/types/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.d.ts +44 -0
  240. package/dist/types/components/pcm-mobile-upload-btn/uploadNumberSDK.d.ts +9 -0
  241. package/dist/types/components/pcm-time-count-down/pcm-time-count-down.d.ts +15 -0
  242. package/dist/types/components/pcm-upload/pcm-upload.d.ts +54 -0
  243. package/dist/types/components/pcm-upload/type.d.ts +4 -0
  244. package/dist/types/components.d.ts +798 -30
  245. package/dist/types/stencil-public-runtime.d.ts +1 -1
  246. package/dist/types/utils/env.d.ts +2 -0
  247. package/dist/types/utils/utils.d.ts +30 -12
  248. package/package.json +70 -69
  249. package/dist/cjs/app-globals-BIO4q6tX.js +0 -5487
  250. package/dist/cjs/app-globals-BIO4q6tX.js.map +0 -1
  251. package/dist/cjs/exports-Dc-pQh4A.js +0 -4087
  252. package/dist/cjs/exports-Dc-pQh4A.js.map +0 -1
  253. package/dist/cjs/index-C_qhED9Z.js +0 -1538
  254. package/dist/cjs/index-C_qhED9Z.js.map +0 -1
  255. package/dist/cjs/index-CvEfNyEj.js.map +0 -1
  256. package/dist/cjs/pcm-1zhanshi-mnms-modal_17.cjs.entry.js.map +0 -1
  257. package/dist/cjs/sentry-reporter-BWFtw_aT.js.map +0 -1
  258. package/dist/components/p-75J0r72D.js +0 -4017
  259. package/dist/components/p-75J0r72D.js.map +0 -1
  260. package/dist/components/p-AYWZDCn8.js.map +0 -1
  261. package/dist/components/p-CR7WLzmM.js +0 -1303
  262. package/dist/components/p-CR7WLzmM.js.map +0 -1
  263. package/dist/components/p-CjbFHLT7.js.map +0 -1
  264. package/dist/components/p-D2Z8casl.js.map +0 -1
  265. package/dist/components/p-FjtoYPVY.js.map +0 -1
  266. package/dist/esm/app-globals-Chti62re.js.map +0 -1
  267. package/dist/esm/exports-Bs-zO1WZ.js +0 -4017
  268. package/dist/esm/exports-Bs-zO1WZ.js.map +0 -1
  269. package/dist/esm/index-Bq0K-WqZ.js +0 -1528
  270. package/dist/esm/index-Bq0K-WqZ.js.map +0 -1
  271. package/dist/esm/index-GyOE8SlD.js.map +0 -1
  272. package/dist/esm/pcm-1zhanshi-mnms-modal_17.entry.js.map +0 -1
  273. package/dist/esm/sentry-reporter-BFBS363a.js.map +0 -1
  274. package/dist/pcm-agents/p-2Gpw8rvH.js +0 -2
  275. package/dist/pcm-agents/p-2Gpw8rvH.js.map +0 -1
  276. package/dist/pcm-agents/p-3608c0c6.entry.js.map +0 -1
  277. package/dist/pcm-agents/p-60d7a0b0.entry.js +0 -2
  278. package/dist/pcm-agents/p-60d7a0b0.entry.js.map +0 -1
  279. package/dist/pcm-agents/p-9e6efc2d.entry.js +0 -2
  280. package/dist/pcm-agents/p-9e6efc2d.entry.js.map +0 -1
  281. package/dist/pcm-agents/p-BUV0S8Cc.js +0 -2
  282. package/dist/pcm-agents/p-BUV0S8Cc.js.map +0 -1
  283. package/dist/pcm-agents/p-Bq0K-WqZ.js +0 -3
  284. package/dist/pcm-agents/p-Bq0K-WqZ.js.map +0 -1
  285. package/dist/pcm-agents/p-Bs-zO1WZ.js +0 -2
  286. package/dist/pcm-agents/p-Bs-zO1WZ.js.map +0 -1
  287. package/dist/pcm-agents/p-CeRTfvY9.js +0 -2
  288. package/dist/pcm-agents/p-CeRTfvY9.js.map +0 -1
  289. package/dist/pcm-agents/p-e6c87a78.entry.js +0 -2
  290. package/dist/pcm-agents/p-e6c87a78.entry.js.map +0 -1
  291. /package/dist/types/{code/agents-sdk → Users/debugksir/Documents/pcm/sdk}/packages/pcm-agents/.stencil/store/auth.store.d.ts +0 -0
  292. /package/dist/types/{code/agents-sdk → Users/debugksir/Documents/pcm/sdk}/packages/pcm-agents/.stencil/store/config.store.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"file":"p-Dv8qvK0w.js","mappings":"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","names":["encode","Encoder","encode$1"],"sources":["src/services/message.service.ts","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/Charset.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/utils.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/Mode.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/mask.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/ECLevel.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/ECB.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/ECBlocks.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/Version.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/reedsolomon/Polynomial.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/reedsolomon/GaloisField.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/encoding/index.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/BitArray.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/ByteMatrix.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/encoder/utils/matrix.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/encoder/BlockPair.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/reedsolomon/Encoder.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/encoder/utils/encoder.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/image/utils/lzw/Dict.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/image/utils/lzw/DictStream.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/image/utils/lzw/index.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/image/utils/ByteStream.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/image/utils/Base64Stream.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/common/image/GIFImage.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/encoder/Encoded.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/encoder/utils/asserts.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/encoder/Encoder.js","node_modules/.pnpm/@nuintun+qrcode@5.0.2/node_modules/@nuintun/qrcode/esm/encoder/segments/Byte.js"],"sourcesContent":["export interface MessageOptions {\n content: string;\n type?: 'success' | 'error' | 'info' | 'warning';\n duration?: number;\n key?: string; // 消息唯一标识\n}\n\ninterface MessageInstance {\n id: string;\n element: HTMLElement;\n timer?: number;\n options: MessageOptions;\n}\n\nclass MessageService {\n private _container: HTMLDivElement | null = null;\n private _instances: Map<string, MessageInstance> = new Map();\n private _maxCount: number = 2; // 最大同时显示数量\n private _idCounter: number = 0;\n\n private getContainer(): HTMLDivElement {\n if (!this._container) {\n this._container = document.createElement('div');\n this._container.className = 'pcm-message-container';\n document.body.appendChild(this._container);\n }\n return this._container;\n }\n\n private generateId(): string {\n return `pcm-message-${++this._idCounter}`;\n }\n\n private getMessageKey(options: MessageOptions): string {\n // 如果提供了key,使用key;否则使用content+type作为key\n return options.key || `${options.content}-${options.type}`;\n }\n\n private removeOldestMessage(): void {\n if (this._instances.size >= this._maxCount) {\n const firstKey = this._instances.keys().next().value;\n if (firstKey) {\n this.removeMessage(firstKey);\n }\n }\n }\n\n private removeMessage(key: string): void {\n const instance = this._instances.get(key);\n if (instance) {\n // 清除定时器\n if (instance.timer) {\n clearTimeout(instance.timer);\n }\n \n // 移除DOM元素\n if (instance.element && instance.element.parentNode) {\n instance.element.parentNode.removeChild(instance.element);\n }\n \n // 从实例映射中移除\n this._instances.delete(key);\n }\n }\n\n private create(options: MessageOptions): HTMLElement {\n const messageKey = this.getMessageKey(options);\n \n // 如果相同key的消息已存在,先移除\n if (this._instances.has(messageKey)) {\n this.removeMessage(messageKey);\n }\n \n // 检查数量限制\n this.removeOldestMessage();\n \n const messageElement = document.createElement('pcm-message');\n messageElement.setAttribute('content', options.content);\n \n if (options.type) {\n messageElement.setAttribute('type', options.type);\n }\n \n if (options.duration !== undefined) {\n messageElement.setAttribute('duration', options.duration.toString());\n }\n \n const container = this.getContainer();\n container.appendChild(messageElement);\n \n // 创建实例记录\n const id = this.generateId();\n const instance: MessageInstance = {\n id,\n element: messageElement,\n options: { ...options }\n };\n \n // 设置自动移除定时器\n const duration = options.duration ?? 3000;\n if (duration > 0) {\n instance.timer = window.setTimeout(() => {\n this.removeMessage(messageKey);\n }, duration);\n }\n \n // 保存实例\n this._instances.set(messageKey, instance);\n \n return messageElement;\n }\n\n success(content: string | MessageOptions, duration?: number): void {\n const options: MessageOptions = typeof content === 'string' \n ? { content, type: 'success', duration } \n : { ...content, type: 'success' };\n \n this.create(options);\n }\n\n error(content: string | MessageOptions, duration?: number): void {\n const options: MessageOptions = typeof content === 'string' \n ? { content, type: 'error', duration } \n : { ...content, type: 'error' };\n \n this.create(options);\n }\n\n info(content: string | MessageOptions, duration?: number): void {\n const options: MessageOptions = typeof content === 'string' \n ? { content, type: 'info', duration } \n : { ...content, type: 'info' };\n \n this.create(options);\n }\n\n warning(content: string | MessageOptions, duration?: number): void {\n const options: MessageOptions = typeof content === 'string' \n ? { content, type: 'warning', duration } \n : { ...content, type: 'warning' };\n \n this.create(options);\n }\n\n // 清除所有消息\n clear(): void {\n this._instances.forEach((_, key) => {\n this.removeMessage(key);\n });\n }\n\n // 清除指定key的消息\n remove(key: string): void {\n this.removeMessage(key);\n }\n\n // 设置最大显示数量\n setMaxCount(count: number): void {\n this._maxCount = Math.max(1, count);\n }\n\n // 销毁服务(清理资源)\n destroy(): void {\n this.clear();\n if (this._container && this._container.parentNode) {\n this._container.parentNode.removeChild(this._container);\n this._container = null;\n }\n }\n}\n\n// 创建单例实例\nexport const Message = new MessageService(); ","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module Charset\n */\nconst VALUES_TO_CHARSET = new Map();\nfunction fromCharsetValue(value) {\n const charset = VALUES_TO_CHARSET.get(value);\n if (charset != null) {\n return charset;\n }\n throw Error('illegal charset value');\n}\nclass Charset {\n #label;\n #values;\n // See: https://en.wikipedia.org/wiki/Extended_Channel_Interpretation\n static CP437 = new Charset('cp437', 2, 0);\n static ISO_8859_1 = new Charset('iso-8859-1', 3, 1);\n static ISO_8859_2 = new Charset('iso-8859-2', 4);\n static ISO_8859_3 = new Charset('iso-8859-3', 5);\n static ISO_8859_4 = new Charset('iso-8859-4', 6);\n static ISO_8859_5 = new Charset('iso-8859-5', 7);\n static ISO_8859_6 = new Charset('iso-8859-6', 8);\n static ISO_8859_7 = new Charset('iso-8859-7', 9);\n static ISO_8859_8 = new Charset('iso-8859-8', 10);\n static ISO_8859_9 = new Charset('iso-8859-9', 11);\n static ISO_8859_10 = new Charset('iso-8859-10', 12);\n static ISO_8859_11 = new Charset('iso-8859-11', 13);\n static ISO_8859_13 = new Charset('iso-8859-13', 15);\n static ISO_8859_14 = new Charset('iso-8859-14', 16);\n static ISO_8859_15 = new Charset('iso-8859-15', 17);\n static ISO_8859_16 = new Charset('iso-8859-16', 18);\n static SHIFT_JIS = new Charset('shift-jis', 20);\n static CP1250 = new Charset('cp1250', 21);\n static CP1251 = new Charset('cp1251', 22);\n static CP1252 = new Charset('cp1252', 23);\n static CP1256 = new Charset('cp1256', 24);\n static UTF_16BE = new Charset('utf-16be', 25);\n static UTF_8 = new Charset('utf-8', 26);\n static ASCII = new Charset('ascii', 27);\n static BIG5 = new Charset('big5', 28);\n static GB2312 = new Charset('gb2312', 29);\n static EUC_KR = new Charset('euc-kr', 30);\n static GBK = new Charset('gbk', 31);\n static GB18030 = new Charset('gb18030', 32);\n static UTF_16LE = new Charset('utf-16le', 33);\n static UTF_32BE = new Charset('utf-32be', 34);\n static UTF_32LE = new Charset('utf-32le', 35);\n static ISO_646_INV = new Charset('iso-646-inv', 170);\n static BINARY = new Charset('binary', 899);\n /**\n * @constructor\n * @param label The label of charset.\n * @param values The values of charset.\n */\n constructor(label, ...values) {\n this.#label = label;\n this.#values = Object.freeze(values);\n for (const value of values) {\n if (value >= 0 && value <= 999999 && Number.isInteger(value)) {\n VALUES_TO_CHARSET.set(value, this);\n } else {\n throw new Error('illegal extended channel interpretation value');\n }\n }\n }\n /**\n * @property label\n * @description Get the label of charset.\n */\n get label() {\n return this.#label;\n }\n /**\n * @property values\n * @description Get the values of charset.\n */\n get values() {\n return this.#values;\n }\n}\n\nexport { Charset, fromCharsetValue };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module utils\n */\nfunction toBit(value) {\n return value & 0x01;\n}\nfunction toInt32(value) {\n return value | 0;\n}\nfunction round(value) {\n return toInt32(value + (value < 0 ? -0.5 : 0.5));\n}\nfunction getBitMask(value) {\n return 1 << getBitOffset(value);\n}\nfunction getBitOffset(value) {\n return value & 0x1f;\n}\nfunction charAt(value, index) {\n const character = value.at(index);\n return character != null ? character : '';\n}\n// Get hamming weight of int32.\nfunction hammingWeight(value) {\n // HD, Figure 5-2.\n value = value - ((value >> 1) & 0x55555555);\n value = (value & 0x33333333) + ((value >> 2) & 0x33333333);\n return (((value + (value >> 4)) & 0xf0f0f0f) * 0x1010101) >> 24;\n}\n// Return the position of the most significant bit set (to one) in the \"value\". The most\n// significant bit is position 32. If there is no bit set, return 0. Examples:\n// - findMSBSet(0) => 0\n// - findMSBSet(1) => 1\n// - findMSBSet(255) => 8\nfunction findMSBSet(value) {\n return 32 - Math.clz32(value);\n}\n// Calculate BCH (Bose-Chaudhuri-Hocquenghem) code for \"value\" using polynomial \"poly\". The BCH\n// code is used for encoding type information and version information.\n// Example: Calculation of version information of 7.\n// f(x) is created from 7.\n// - 7 = 000111 in 6 bits\n// - f(x) = x^2 + x^1 + x^0\n// g(x) is given by the standard (p. 67)\n// - g(x) = x^12 + x^11 + x^10 + x^9 + x^8 + x^5 + x^2 + 1\n// Multiply f(x) by x^(18 - 6)\n// - f'(x) = f(x) * x^(18 - 6)\n// - f'(x) = x^14 + x^13 + x^12\n// Calculate the remainder of f'(x) / g(x)\n// x^2\n// __________________________________________________\n// g(x) )x^14 + x^13 + x^12\n// x^14 + x^13 + x^12 + x^11 + x^10 + x^7 + x^4 + x^2\n// --------------------------------------------------\n// x^11 + x^10 + x^7 + x^4 + x^2\n//\n// The remainder is x^11 + x^10 + x^7 + x^4 + x^2\n// Encode it in binary: 110010010100\n// The return value is 0xc94 (1100 1001 0100)\n//\n// Since all coefficients in the polynomials are 1 or 0, we can do the calculation by bit\n// operations. We don't care if coefficients are positive or negative.\nfunction calculateBCHCode(value, poly) {\n // If poly is \"1 1111 0010 0101\" (version info poly), msbSetInPoly is 13. We'll subtract 1\n // from 13 to make it 12.\n const msbSetInPoly = findMSBSet(poly);\n value <<= msbSetInPoly - 1;\n // Do the division business using exclusive-or operations.\n while (findMSBSet(value) >= msbSetInPoly) {\n value ^= poly << (findMSBSet(value) - msbSetInPoly);\n }\n // Now the \"value\" is the remainder (i.e. the BCH code).\n return value;\n}\nfunction accumulate(array, start = 0, end = array.length) {\n let total = 0;\n for (let i = start; i < end; i++) {\n total += array[i];\n }\n return total;\n}\n\nexport { accumulate, calculateBCHCode, charAt, findMSBSet, getBitMask, getBitOffset, hammingWeight, round, toBit, toInt32 };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module Mode\n */\nconst VALUES_TO_MODE = new Map();\nfunction fromModeBits(bits) {\n const mode = VALUES_TO_MODE.get(bits);\n if (mode != null) {\n return mode;\n }\n throw new Error('illegal mode bits');\n}\nclass Mode {\n #bits;\n #characterCountBitsSet;\n static TERMINATOR = new Mode([0, 0, 0], 0x00);\n static NUMERIC = new Mode([10, 12, 14], 0x01);\n static ALPHANUMERIC = new Mode([9, 11, 13], 0x02);\n static STRUCTURED_APPEND = new Mode([0, 0, 0], 0x03);\n static BYTE = new Mode([8, 16, 16], 0x04);\n static ECI = new Mode([0, 0, 0], 0x07);\n static KANJI = new Mode([8, 10, 12], 0x08);\n static FNC1_FIRST_POSITION = new Mode([0, 0, 0], 0x05);\n static FNC1_SECOND_POSITION = new Mode([0, 0, 0], 0x09);\n static HANZI = new Mode([8, 10, 12], 0x0d);\n constructor(characterCountBitsSet, bits) {\n this.#bits = bits;\n this.#characterCountBitsSet = new Int32Array(characterCountBitsSet);\n VALUES_TO_MODE.set(bits, this);\n }\n get bits() {\n return this.#bits;\n }\n getCharacterCountBits({ version }) {\n let offset;\n if (version <= 9) {\n offset = 0;\n } else if (version <= 26) {\n offset = 1;\n } else {\n offset = 2;\n }\n return this.#characterCountBitsSet[offset];\n }\n}\n\nexport { Mode, fromModeBits };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { toInt32 } from './utils.js';\n\n/**\n * @module mask\n */\n// Penalty weights.\nconst N1 = 3;\nconst N2 = 3;\nconst N3 = 40;\nconst N4 = 10;\n// Is dark point.\nfunction isDark(matrix, x, y) {\n return matrix.get(x, y) === 1;\n}\n// Helper function for applyMaskPenaltyRule1. We need this for doing this calculation in both\n// horizontal and vertical orders respectively.\nfunction applyMaskPenaltyRule1Internal(matrix, isVertical) {\n let penalty = 0;\n const { size } = matrix;\n for (let y = 0; y < size; y++) {\n let prevBit = -1;\n let numSameBitCells = 0;\n for (let x = 0; x < size; x++) {\n const bit = isVertical ? matrix.get(y, x) : matrix.get(x, y);\n if (bit === prevBit) {\n numSameBitCells++;\n } else {\n if (numSameBitCells >= 5) {\n penalty += N1 + (numSameBitCells - 5);\n }\n // set prev bit.\n prevBit = bit;\n // include the cell itself.\n numSameBitCells = 1;\n }\n }\n if (numSameBitCells >= 5) {\n penalty += N1 + (numSameBitCells - 5);\n }\n }\n return penalty;\n}\n// Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and\n// give penalty to them. Example: 00000 or 11111.\nfunction applyMaskPenaltyRule1(matrix) {\n return applyMaskPenaltyRule1Internal(matrix) + applyMaskPenaltyRule1Internal(matrix, true);\n}\n// Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give\n// penalty to them. This is actually equivalent to the spec's rule, which is to find MxN blocks and give a\n// penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks inside such a block.\nfunction applyMaskPenaltyRule2(matrix) {\n let penalty = 0;\n const size = matrix.size - 1;\n for (let y = 0; y < size; y++) {\n for (let x = 0; x < size; x++) {\n const bit = matrix.get(x, y);\n if (\n // Find 2x2 blocks with the same color.\n bit === matrix.get(x + 1, y) &&\n bit === matrix.get(x, y + 1) &&\n bit === matrix.get(x + 1, y + 1)\n ) {\n penalty += N2;\n }\n }\n }\n return penalty;\n}\n// Is is four white, check on horizontal and vertical.\nfunction isFourWhite(matrix, offset, from, to, isVertical) {\n if (from < 0 || to > matrix.size) {\n return false;\n }\n for (let i = from; i < to; i++) {\n if (isVertical ? isDark(matrix, offset, i) : isDark(matrix, i, offset)) {\n return false;\n }\n }\n return true;\n}\n// Apply mask penalty rule 3 and return the penalty. Find consecutive runs of 1:1:3:1:1:4\n// starting with black, or 4:1:1:3:1:1 starting with white, and give penalty to them. If we\n// find patterns like 000010111010000, we give penalty once.\nfunction applyMaskPenaltyRule3(matrix) {\n let numPenalties = 0;\n const { size } = matrix;\n for (let y = 0; y < size; y++) {\n for (let x = 0; x < size; x++) {\n if (\n // Find consecutive runs of 1:1:3:1:1:4 or 4:1:1:3:1:1, patterns like 000010111010000.\n x + 6 < size &&\n isDark(matrix, x, y) &&\n !isDark(matrix, x + 1, y) &&\n isDark(matrix, x + 2, y) &&\n isDark(matrix, x + 3, y) &&\n isDark(matrix, x + 4, y) &&\n !isDark(matrix, x + 5, y) &&\n isDark(matrix, x + 6, y) &&\n (isFourWhite(matrix, y, x - 4, x) || isFourWhite(matrix, y, x + 7, x + 11))\n ) {\n numPenalties++;\n }\n if (\n // Find consecutive runs of 1:1:3:1:1:4 or 4:1:1:3:1:1, patterns like 000010111010000.\n y + 6 < size &&\n isDark(matrix, x, y) &&\n !isDark(matrix, x, y + 1) &&\n isDark(matrix, x, y + 2) &&\n isDark(matrix, x, y + 3) &&\n isDark(matrix, x, y + 4) &&\n !isDark(matrix, x, y + 5) &&\n isDark(matrix, x, y + 6) &&\n (isFourWhite(matrix, x, y - 4, y, true) || isFourWhite(matrix, x, y + 7, y + 11, true))\n ) {\n numPenalties++;\n }\n }\n }\n return numPenalties * N3;\n}\n// Apply mask penalty rule 4 and return the penalty. Calculate the ratio of dark cells and give\n// penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.\nfunction applyMaskPenaltyRule4(matrix) {\n let numDarkCells = 0;\n const { size } = matrix;\n for (let y = 0; y < size; y++) {\n for (let x = 0; x < size; x++) {\n if (isDark(matrix, x, y)) {\n numDarkCells++;\n }\n }\n }\n const numTotalCells = size * size;\n const fivePercentVariances = toInt32((Math.abs(numDarkCells * 2 - numTotalCells) * 10) / numTotalCells);\n return fivePercentVariances * N4;\n}\n// The mask penalty calculation is complicated. See Table 11 of ISO/IEC 18004:2015(E)(p.54) for details.\n// Basically it applies four rules and summate all penalties.\nfunction calculateMaskPenalty(matrix) {\n return (\n applyMaskPenaltyRule1(matrix) +\n applyMaskPenaltyRule2(matrix) +\n applyMaskPenaltyRule3(matrix) +\n applyMaskPenaltyRule4(matrix)\n );\n}\n// Return is apply mask at \"x\" and \"y\". See 7.8 of ISO/IEC 18004:2015(E)(p.50) for mask pattern conditions.\nfunction isApplyMask(mask, x, y) {\n let temporary;\n let intermediate;\n switch (mask) {\n case 0:\n intermediate = (y + x) & 0x01;\n break;\n case 1:\n intermediate = y & 0x01;\n break;\n case 2:\n intermediate = x % 3;\n break;\n case 3:\n intermediate = (y + x) % 3;\n break;\n case 4:\n intermediate = (toInt32(y / 2) + toInt32(x / 3)) & 0x01;\n break;\n case 5:\n temporary = y * x;\n intermediate = (temporary & 0x01) + (temporary % 3);\n break;\n case 6:\n temporary = y * x;\n intermediate = ((temporary & 0x01) + (temporary % 3)) & 0x01;\n break;\n case 7:\n intermediate = (((y * x) % 3) + ((y + x) & 0x01)) & 0x01;\n break;\n default:\n throw new Error(`illegal mask: ${mask}`);\n }\n return intermediate === 0;\n}\n\nexport { calculateMaskPenalty, isApplyMask };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module ECLevel\n */\nconst VALUES_TO_ECLEVEL = new Map();\nfunction fromECLevelBits(bits) {\n const ecLevel = VALUES_TO_ECLEVEL.get(bits);\n if (ecLevel != null) {\n return ecLevel;\n }\n throw new Error('illegal error correction bits');\n}\nclass ECLevel {\n #name;\n #bits;\n #level;\n // L = ~7% correction.\n static L = new ECLevel('L', 0, 0x01);\n // L = ~15% correction.\n static M = new ECLevel('M', 1, 0x00);\n // L = ~25% correction.\n static Q = new ECLevel('Q', 2, 0x03);\n // L = ~30% correction.\n static H = new ECLevel('H', 3, 0x02);\n constructor(name, level, bits) {\n this.#bits = bits;\n this.#name = name;\n this.#level = level;\n VALUES_TO_ECLEVEL.set(bits, this);\n }\n get bits() {\n return this.#bits;\n }\n get name() {\n return this.#name;\n }\n get level() {\n return this.#level;\n }\n}\n\nexport { ECLevel, fromECLevelBits };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module ECB\n */\nclass ECB {\n #count;\n #numDataCodewords;\n constructor(count, numDataCodewords) {\n this.#count = count;\n this.#numDataCodewords = numDataCodewords;\n }\n get count() {\n return this.#count;\n }\n get numDataCodewords() {\n return this.#numDataCodewords;\n }\n}\n\nexport { ECB };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module ECBlocks\n */\nclass ECBlocks {\n #ecBlocks;\n #numTotalCodewords;\n #numTotalECCodewords;\n #numTotalDataCodewords;\n #numECCodewordsPerBlock;\n constructor(numECCodewordsPerBlock, ...ecBlocks) {\n let numBlocks = 0;\n let numTotalDataCodewords = 0;\n for (const { count, numDataCodewords } of ecBlocks) {\n numBlocks += count;\n numTotalDataCodewords += numDataCodewords * count;\n }\n const numTotalECCodewords = numECCodewordsPerBlock * numBlocks;\n this.#ecBlocks = ecBlocks;\n this.#numTotalECCodewords = numTotalECCodewords;\n this.#numTotalDataCodewords = numTotalDataCodewords;\n this.#numECCodewordsPerBlock = numECCodewordsPerBlock;\n this.#numTotalCodewords = numTotalDataCodewords + numTotalECCodewords;\n }\n get ecBlocks() {\n return this.#ecBlocks;\n }\n get numTotalCodewords() {\n return this.#numTotalCodewords;\n }\n get numTotalECCodewords() {\n return this.#numTotalECCodewords;\n }\n get numTotalDataCodewords() {\n return this.#numTotalDataCodewords;\n }\n get numECCodewordsPerBlock() {\n return this.#numECCodewordsPerBlock;\n }\n}\n\nexport { ECBlocks };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { ECB } from './ECB.js';\nimport { ECBlocks } from './ECBlocks.js';\nimport { BitMatrix } from './BitMatrix.js';\nimport { hammingWeight } from './utils.js';\n\n/**\n * @module Version\n */\nconst MIN_VERSION_SIZE = 21;\nconst MAX_VERSION_SIZE = 177;\nconst VERSION_DECODE_TABLE = [\n // Version 7 - 11.\n 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6,\n // Version 12 - 16.\n 0x0c762, 0x0d847, 0x0e60d, 0x0f928, 0x10b78,\n // Version 17 - 21.\n 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683,\n // Version 22 - 26.\n 0x168c9, 0x177ec, 0x18ec4, 0x191e1, 0x1afab,\n // Version 27 - 31.\n 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, 0x1f250,\n // Version 32 - 36.\n 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b,\n // Version 37 - 40.\n 0x2542e, 0x26a64, 0x27541, 0x28c69\n];\n// Version > 2 has alignment patterns.\nconst MIN_VERSION_SIZE_WITH_ALIGNMENTS = 25;\nclass Version {\n #size;\n #version;\n #ecBlocks;\n #alignmentPatterns;\n constructor(version, alignmentPatterns, ...ecBlocks) {\n this.#version = version;\n this.#ecBlocks = ecBlocks;\n this.#size = 17 + 4 * version;\n this.#alignmentPatterns = alignmentPatterns;\n }\n get size() {\n return this.#size;\n }\n get version() {\n return this.#version;\n }\n get alignmentPatterns() {\n return this.#alignmentPatterns;\n }\n getECBlocks({ level }) {\n return this.#ecBlocks[level];\n }\n}\nconst VERSIONS = [\n new Version(\n 1,\n [],\n new ECBlocks(7, new ECB(1, 19)),\n new ECBlocks(10, new ECB(1, 16)),\n new ECBlocks(13, new ECB(1, 13)),\n new ECBlocks(17, new ECB(1, 9))\n ),\n new Version(\n 2,\n [6, 18],\n new ECBlocks(10, new ECB(1, 34)),\n new ECBlocks(16, new ECB(1, 28)),\n new ECBlocks(22, new ECB(1, 22)),\n new ECBlocks(28, new ECB(1, 16))\n ),\n new Version(\n 3,\n [6, 22],\n new ECBlocks(15, new ECB(1, 55)),\n new ECBlocks(26, new ECB(1, 44)),\n new ECBlocks(18, new ECB(2, 17)),\n new ECBlocks(22, new ECB(2, 13))\n ),\n new Version(\n 4,\n [6, 26],\n new ECBlocks(20, new ECB(1, 80)),\n new ECBlocks(18, new ECB(2, 32)),\n new ECBlocks(26, new ECB(2, 24)),\n new ECBlocks(16, new ECB(4, 9))\n ),\n new Version(\n 5,\n [6, 30],\n new ECBlocks(26, new ECB(1, 108)),\n new ECBlocks(24, new ECB(2, 43)),\n new ECBlocks(18, new ECB(2, 15), new ECB(2, 16)),\n new ECBlocks(22, new ECB(2, 11), new ECB(2, 12))\n ),\n new Version(\n 6,\n [6, 34],\n new ECBlocks(18, new ECB(2, 68)),\n new ECBlocks(16, new ECB(4, 27)),\n new ECBlocks(24, new ECB(4, 19)),\n new ECBlocks(28, new ECB(4, 15))\n ),\n new Version(\n 7,\n [6, 22, 38],\n new ECBlocks(20, new ECB(2, 78)),\n new ECBlocks(18, new ECB(4, 31)),\n new ECBlocks(18, new ECB(2, 14), new ECB(4, 15)),\n new ECBlocks(26, new ECB(4, 13), new ECB(1, 14))\n ),\n new Version(\n 8,\n [6, 24, 42],\n new ECBlocks(24, new ECB(2, 97)),\n new ECBlocks(22, new ECB(2, 38), new ECB(2, 39)),\n new ECBlocks(22, new ECB(4, 18), new ECB(2, 19)),\n new ECBlocks(26, new ECB(4, 14), new ECB(2, 15))\n ),\n new Version(\n 9,\n [6, 26, 46],\n new ECBlocks(30, new ECB(2, 116)),\n new ECBlocks(22, new ECB(3, 36), new ECB(2, 37)),\n new ECBlocks(20, new ECB(4, 16), new ECB(4, 17)),\n new ECBlocks(24, new ECB(4, 12), new ECB(4, 13))\n ),\n new Version(\n 10,\n [6, 28, 50],\n new ECBlocks(18, new ECB(2, 68), new ECB(2, 69)),\n new ECBlocks(26, new ECB(4, 43), new ECB(1, 44)),\n new ECBlocks(24, new ECB(6, 19), new ECB(2, 20)),\n new ECBlocks(28, new ECB(6, 15), new ECB(2, 16))\n ),\n new Version(\n 11,\n [6, 30, 54],\n new ECBlocks(20, new ECB(4, 81)),\n new ECBlocks(30, new ECB(1, 50), new ECB(4, 51)),\n new ECBlocks(28, new ECB(4, 22), new ECB(4, 23)),\n new ECBlocks(24, new ECB(3, 12), new ECB(8, 13))\n ),\n new Version(\n 12,\n [6, 32, 58],\n new ECBlocks(24, new ECB(2, 92), new ECB(2, 93)),\n new ECBlocks(22, new ECB(6, 36), new ECB(2, 37)),\n new ECBlocks(26, new ECB(4, 20), new ECB(6, 21)),\n new ECBlocks(28, new ECB(7, 14), new ECB(4, 15))\n ),\n new Version(\n 13,\n [6, 34, 62],\n new ECBlocks(26, new ECB(4, 107)),\n new ECBlocks(22, new ECB(8, 37), new ECB(1, 38)),\n new ECBlocks(24, new ECB(8, 20), new ECB(4, 21)),\n new ECBlocks(22, new ECB(12, 11), new ECB(4, 12))\n ),\n new Version(\n 14,\n [6, 26, 46, 66],\n new ECBlocks(30, new ECB(3, 115), new ECB(1, 116)),\n new ECBlocks(24, new ECB(4, 40), new ECB(5, 41)),\n new ECBlocks(20, new ECB(11, 16), new ECB(5, 17)),\n new ECBlocks(24, new ECB(11, 12), new ECB(5, 13))\n ),\n new Version(\n 15,\n [6, 26, 48, 70],\n new ECBlocks(22, new ECB(5, 87), new ECB(1, 88)),\n new ECBlocks(24, new ECB(5, 41), new ECB(5, 42)),\n new ECBlocks(30, new ECB(5, 24), new ECB(7, 25)),\n new ECBlocks(24, new ECB(11, 12), new ECB(7, 13))\n ),\n new Version(\n 16,\n [6, 26, 50, 74],\n new ECBlocks(24, new ECB(5, 98), new ECB(1, 99)),\n new ECBlocks(28, new ECB(7, 45), new ECB(3, 46)),\n new ECBlocks(24, new ECB(15, 19), new ECB(2, 20)),\n new ECBlocks(30, new ECB(3, 15), new ECB(13, 16))\n ),\n new Version(\n 17,\n [6, 30, 54, 78],\n new ECBlocks(28, new ECB(1, 107), new ECB(5, 108)),\n new ECBlocks(28, new ECB(10, 46), new ECB(1, 47)),\n new ECBlocks(28, new ECB(1, 22), new ECB(15, 23)),\n new ECBlocks(28, new ECB(2, 14), new ECB(17, 15))\n ),\n new Version(\n 18,\n [6, 30, 56, 82],\n new ECBlocks(30, new ECB(5, 120), new ECB(1, 121)),\n new ECBlocks(26, new ECB(9, 43), new ECB(4, 44)),\n new ECBlocks(28, new ECB(17, 22), new ECB(1, 23)),\n new ECBlocks(28, new ECB(2, 14), new ECB(19, 15))\n ),\n new Version(\n 19,\n [6, 30, 58, 86],\n new ECBlocks(28, new ECB(3, 113), new ECB(4, 114)),\n new ECBlocks(26, new ECB(3, 44), new ECB(11, 45)),\n new ECBlocks(26, new ECB(17, 21), new ECB(4, 22)),\n new ECBlocks(26, new ECB(9, 13), new ECB(16, 14))\n ),\n new Version(\n 20,\n [6, 34, 62, 90],\n new ECBlocks(28, new ECB(3, 107), new ECB(5, 108)),\n new ECBlocks(26, new ECB(3, 41), new ECB(13, 42)),\n new ECBlocks(30, new ECB(15, 24), new ECB(5, 25)),\n new ECBlocks(28, new ECB(15, 15), new ECB(10, 16))\n ),\n new Version(\n 21,\n [6, 28, 50, 72, 94],\n new ECBlocks(28, new ECB(4, 116), new ECB(4, 117)),\n new ECBlocks(26, new ECB(17, 42)),\n new ECBlocks(28, new ECB(17, 22), new ECB(6, 23)),\n new ECBlocks(30, new ECB(19, 16), new ECB(6, 17))\n ),\n new Version(\n 22,\n [6, 26, 50, 74, 98],\n new ECBlocks(28, new ECB(2, 111), new ECB(7, 112)),\n new ECBlocks(28, new ECB(17, 46)),\n new ECBlocks(30, new ECB(7, 24), new ECB(16, 25)),\n new ECBlocks(24, new ECB(34, 13))\n ),\n new Version(\n 23,\n [6, 30, 54, 78, 102],\n new ECBlocks(30, new ECB(4, 121), new ECB(5, 122)),\n new ECBlocks(28, new ECB(4, 47), new ECB(14, 48)),\n new ECBlocks(30, new ECB(11, 24), new ECB(14, 25)),\n new ECBlocks(30, new ECB(16, 15), new ECB(14, 16))\n ),\n new Version(\n 24,\n [6, 28, 54, 80, 106],\n new ECBlocks(30, new ECB(6, 117), new ECB(4, 118)),\n new ECBlocks(28, new ECB(6, 45), new ECB(14, 46)),\n new ECBlocks(30, new ECB(11, 24), new ECB(16, 25)),\n new ECBlocks(30, new ECB(30, 16), new ECB(2, 17))\n ),\n new Version(\n 25,\n [6, 32, 58, 84, 110],\n new ECBlocks(26, new ECB(8, 106), new ECB(4, 107)),\n new ECBlocks(28, new ECB(8, 47), new ECB(13, 48)),\n new ECBlocks(30, new ECB(7, 24), new ECB(22, 25)),\n new ECBlocks(30, new ECB(22, 15), new ECB(13, 16))\n ),\n new Version(\n 26,\n [6, 30, 58, 86, 114],\n new ECBlocks(28, new ECB(10, 114), new ECB(2, 115)),\n new ECBlocks(28, new ECB(19, 46), new ECB(4, 47)),\n new ECBlocks(28, new ECB(28, 22), new ECB(6, 23)),\n new ECBlocks(30, new ECB(33, 16), new ECB(4, 17))\n ),\n new Version(\n 27,\n [6, 34, 62, 90, 118],\n new ECBlocks(30, new ECB(8, 122), new ECB(4, 123)),\n new ECBlocks(28, new ECB(22, 45), new ECB(3, 46)),\n new ECBlocks(30, new ECB(8, 23), new ECB(26, 24)),\n new ECBlocks(30, new ECB(12, 15), new ECB(28, 16))\n ),\n new Version(\n 28,\n [6, 26, 50, 74, 98, 122],\n new ECBlocks(30, new ECB(3, 117), new ECB(10, 118)),\n new ECBlocks(28, new ECB(3, 45), new ECB(23, 46)),\n new ECBlocks(30, new ECB(4, 24), new ECB(31, 25)),\n new ECBlocks(30, new ECB(11, 15), new ECB(31, 16))\n ),\n new Version(\n 29,\n [6, 30, 54, 78, 102, 126],\n new ECBlocks(30, new ECB(7, 116), new ECB(7, 117)),\n new ECBlocks(28, new ECB(21, 45), new ECB(7, 46)),\n new ECBlocks(30, new ECB(1, 23), new ECB(37, 24)),\n new ECBlocks(30, new ECB(19, 15), new ECB(26, 16))\n ),\n new Version(\n 30,\n [6, 26, 52, 78, 104, 130],\n new ECBlocks(30, new ECB(5, 115), new ECB(10, 116)),\n new ECBlocks(28, new ECB(19, 47), new ECB(10, 48)),\n new ECBlocks(30, new ECB(15, 24), new ECB(25, 25)),\n new ECBlocks(30, new ECB(23, 15), new ECB(25, 16))\n ),\n new Version(\n 31,\n [6, 30, 56, 82, 108, 134],\n new ECBlocks(30, new ECB(13, 115), new ECB(3, 116)),\n new ECBlocks(28, new ECB(2, 46), new ECB(29, 47)),\n new ECBlocks(30, new ECB(42, 24), new ECB(1, 25)),\n new ECBlocks(30, new ECB(23, 15), new ECB(28, 16))\n ),\n new Version(\n 32,\n [6, 34, 60, 86, 112, 138],\n new ECBlocks(30, new ECB(17, 115)),\n new ECBlocks(28, new ECB(10, 46), new ECB(23, 47)),\n new ECBlocks(30, new ECB(10, 24), new ECB(35, 25)),\n new ECBlocks(30, new ECB(19, 15), new ECB(35, 16))\n ),\n new Version(\n 33,\n [6, 30, 58, 86, 114, 142],\n new ECBlocks(30, new ECB(17, 115), new ECB(1, 116)),\n new ECBlocks(28, new ECB(14, 46), new ECB(21, 47)),\n new ECBlocks(30, new ECB(29, 24), new ECB(19, 25)),\n new ECBlocks(30, new ECB(11, 15), new ECB(46, 16))\n ),\n new Version(\n 34,\n [6, 34, 62, 90, 118, 146],\n new ECBlocks(30, new ECB(13, 115), new ECB(6, 116)),\n new ECBlocks(28, new ECB(14, 46), new ECB(23, 47)),\n new ECBlocks(30, new ECB(44, 24), new ECB(7, 25)),\n new ECBlocks(30, new ECB(59, 16), new ECB(1, 17))\n ),\n new Version(\n 35,\n [6, 30, 54, 78, 102, 126, 150],\n new ECBlocks(30, new ECB(12, 121), new ECB(7, 122)),\n new ECBlocks(28, new ECB(12, 47), new ECB(26, 48)),\n new ECBlocks(30, new ECB(39, 24), new ECB(14, 25)),\n new ECBlocks(30, new ECB(22, 15), new ECB(41, 16))\n ),\n new Version(\n 36,\n [6, 24, 50, 76, 102, 128, 154],\n new ECBlocks(30, new ECB(6, 121), new ECB(14, 122)),\n new ECBlocks(28, new ECB(6, 47), new ECB(34, 48)),\n new ECBlocks(30, new ECB(46, 24), new ECB(10, 25)),\n new ECBlocks(30, new ECB(2, 15), new ECB(64, 16))\n ),\n new Version(\n 37,\n [6, 28, 54, 80, 106, 132, 158],\n new ECBlocks(30, new ECB(17, 122), new ECB(4, 123)),\n new ECBlocks(28, new ECB(29, 46), new ECB(14, 47)),\n new ECBlocks(30, new ECB(49, 24), new ECB(10, 25)),\n new ECBlocks(30, new ECB(24, 15), new ECB(46, 16))\n ),\n new Version(\n 38,\n [6, 32, 58, 84, 110, 136, 162],\n new ECBlocks(30, new ECB(4, 122), new ECB(18, 123)),\n new ECBlocks(28, new ECB(13, 46), new ECB(32, 47)),\n new ECBlocks(30, new ECB(48, 24), new ECB(14, 25)),\n new ECBlocks(30, new ECB(42, 15), new ECB(32, 16))\n ),\n new Version(\n 39,\n [6, 26, 54, 82, 110, 138, 166],\n new ECBlocks(30, new ECB(20, 117), new ECB(4, 118)),\n new ECBlocks(28, new ECB(40, 47), new ECB(7, 48)),\n new ECBlocks(30, new ECB(43, 24), new ECB(22, 25)),\n new ECBlocks(30, new ECB(10, 15), new ECB(67, 16))\n ),\n new Version(\n 40,\n [6, 30, 58, 86, 114, 142, 170],\n new ECBlocks(30, new ECB(19, 118), new ECB(6, 119)),\n new ECBlocks(28, new ECB(18, 47), new ECB(31, 48)),\n new ECBlocks(30, new ECB(34, 24), new ECB(34, 25)),\n new ECBlocks(30, new ECB(20, 15), new ECB(61, 16))\n )\n];\nfunction decodeVersion(version1, version2) {\n let bestDiff = 32;\n let bestVersion = 0;\n const { length } = VERSION_DECODE_TABLE;\n for (let i = 0; i < length; i++) {\n const maskedVersion = VERSION_DECODE_TABLE[i];\n // Do the version info bits match exactly done?\n if (version1 === maskedVersion || version2 === maskedVersion) {\n return VERSIONS[i + 6];\n }\n // Otherwise see if this is the closest to a real version info bit string we have seen so far.\n let bitsDiff = hammingWeight(version1 ^ maskedVersion);\n if (bitsDiff < bestDiff) {\n bestDiff = bitsDiff;\n bestVersion = i + 7;\n }\n if (version1 !== version2) {\n // Also try the other option.\n bitsDiff = hammingWeight(version2 ^ maskedVersion);\n if (bitsDiff < bestDiff) {\n bestDiff = bitsDiff;\n bestVersion = i + 7;\n }\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will differ in less than 8 bits.\n if (bestDiff <= 3 && bestVersion >= 7) {\n return VERSIONS[bestVersion - 1];\n }\n // If we didn't find a close enough match, fail.\n throw new Error('unable to decode version');\n}\n// See ISO 18004:2006 Annex E\nfunction buildFunctionPattern({ size, version, alignmentPatterns }) {\n // Alignment patterns\n const { length } = alignmentPatterns;\n const matrix = new BitMatrix(size);\n const max = length - 1;\n // Top left finder pattern + separator + format.\n matrix.setRegion(0, 0, 9, 9);\n // Top right finder pattern + separator + format.\n matrix.setRegion(size - 8, 0, 8, 9);\n // Bottom left finder pattern + separator + format.\n matrix.setRegion(0, size - 8, 9, 8);\n for (let x = 0; x < length; x++) {\n const top = alignmentPatterns[x] - 2;\n for (let y = 0; y < length; y++) {\n if ((x !== 0 || (y !== 0 && y !== max)) && (x !== max || y !== 0)) {\n matrix.setRegion(alignmentPatterns[y] - 2, top, 5, 5);\n }\n // Else no o alignment patterns near the three finder patterns.\n }\n }\n // Vertical timing pattern.\n matrix.setRegion(6, 9, 1, size - 17);\n // Horizontal timing pattern.\n matrix.setRegion(9, 6, size - 17, 1);\n if (version > 6) {\n // Version info, top right.\n matrix.setRegion(size - 11, 0, 3, 6);\n // Version info, bottom left.\n matrix.setRegion(0, size - 11, 6, 3);\n }\n return matrix;\n}\n\nexport {\n MAX_VERSION_SIZE,\n MIN_VERSION_SIZE,\n MIN_VERSION_SIZE_WITH_ALIGNMENTS,\n VERSIONS,\n Version,\n buildFunctionPattern,\n decodeVersion\n};\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module Polynomial\n */\nclass Polynomial {\n #field;\n #coefficients;\n constructor(field, coefficients) {\n const { length } = coefficients;\n if (length <= 0) {\n throw new Error('polynomial coefficients cannot empty');\n }\n this.#field = field;\n if (length > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\".\n let firstNonZero = 1;\n while (firstNonZero < length && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === length) {\n this.#coefficients = new Int32Array([0]);\n } else {\n const array = new Int32Array(length - firstNonZero);\n array.set(coefficients.subarray(firstNonZero));\n this.#coefficients = array;\n }\n } else {\n this.#coefficients = coefficients;\n }\n }\n get coefficients() {\n return this.#coefficients;\n }\n isZero() {\n return this.#coefficients[0] === 0;\n }\n getDegree() {\n return this.#coefficients.length - 1;\n }\n getCoefficient(degree) {\n const coefficients = this.#coefficients;\n return coefficients[coefficients.length - 1 - degree];\n }\n evaluate(a) {\n if (a === 0) {\n // Just return the x^0 coefficient.\n return this.getCoefficient(0);\n }\n let result;\n const coefficients = this.#coefficients;\n if (a === 1) {\n // Just the sum of the coefficients.\n result = 0;\n for (const coefficient of coefficients) {\n result ^= coefficient;\n }\n return result;\n }\n [result] = coefficients;\n const field = this.#field;\n const { length } = coefficients;\n for (let i = 1; i < length; i++) {\n result = field.multiply(a, result) ^ coefficients[i];\n }\n return result;\n }\n multiply(other) {\n const field = this.#field;\n const coefficients = this.#coefficients;\n const { length } = coefficients;\n if (other instanceof Polynomial) {\n if (this.isZero() || other.isZero()) {\n return field.zero;\n }\n const otherCoefficients = other.#coefficients;\n const otherLength = otherCoefficients.length;\n const product = new Int32Array(length + otherLength - 1);\n for (let i = 0; i < length; i++) {\n const coefficient = coefficients[i];\n for (let j = 0; j < otherLength; j++) {\n product[i + j] ^= field.multiply(coefficient, otherCoefficients[j]);\n }\n }\n return new Polynomial(field, product);\n }\n if (other === 0) {\n return field.zero;\n }\n if (other === 1) {\n return this;\n }\n const product = new Int32Array(length);\n for (let i = 0; i < length; i++) {\n product[i] = field.multiply(coefficients[i], other);\n }\n return new Polynomial(field, product);\n }\n multiplyByMonomial(degree, coefficient) {\n const field = this.#field;\n if (coefficient === 0) {\n return field.zero;\n }\n const coefficients = this.#coefficients;\n const { length } = coefficients;\n const product = new Int32Array(length + degree);\n for (let i = 0; i < length; i++) {\n product[i] = field.multiply(coefficients[i], coefficient);\n }\n return new Polynomial(field, product);\n }\n addOrSubtract(other) {\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n let largerCoefficients = other.#coefficients;\n let largerLength = largerCoefficients.length;\n let smallerCoefficients = this.#coefficients;\n let smallerLength = smallerCoefficients.length;\n if (largerLength < smallerLength) {\n [largerLength, smallerLength] = [smallerLength, largerLength];\n [largerCoefficients, smallerCoefficients] = [smallerCoefficients, largerCoefficients];\n }\n // Diff index offset.\n const offset = largerLength - smallerLength;\n const coefficients = new Int32Array(largerLength);\n // Copy high-order terms only found in higher-degree polynomial's coefficients.\n coefficients.set(largerCoefficients.subarray(0, offset));\n for (let i = offset; i < largerLength; i++) {\n coefficients[i] = smallerCoefficients[i - offset] ^ largerCoefficients[i];\n }\n return new Polynomial(this.#field, coefficients);\n }\n divide(other) {\n const field = this.#field;\n let quotient = field.zero;\n let remainder = this;\n const denominatorLeadingTerm = other.getCoefficient(other.getDegree());\n const invertDenominatorLeadingTerm = field.invert(denominatorLeadingTerm);\n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n const remainderDegree = remainder.getDegree();\n const degreeDiff = remainderDegree - other.getDegree();\n const scale = field.multiply(remainder.getCoefficient(remainderDegree), invertDenominatorLeadingTerm);\n const term = other.multiplyByMonomial(degreeDiff, scale);\n const iterationQuotient = field.buildPolynomial(degreeDiff, scale);\n quotient = quotient.addOrSubtract(iterationQuotient);\n remainder = remainder.addOrSubtract(term);\n }\n return [quotient, remainder];\n }\n}\n\nexport { Polynomial };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { Polynomial } from './Polynomial.js';\n\n/**\n * @module GaloisField\n */\nclass GaloisField {\n #size;\n #one;\n #zero;\n #generator;\n #expTable;\n #logTable;\n constructor(primitive, size, generator) {\n let x = 1;\n const expTable = new Int32Array(size);\n for (let i = 0; i < size; i++) {\n expTable[i] = x;\n // We're assuming the generator alpha is 2.\n x *= 2;\n if (x >= size) {\n x ^= primitive;\n x &= size - 1;\n }\n }\n const logTable = new Int32Array(size);\n for (let i = 0, length = size - 1; i < length; i++) {\n logTable[expTable[i]] = i;\n }\n this.#size = size;\n this.#expTable = expTable;\n this.#logTable = logTable;\n this.#generator = generator;\n this.#one = new Polynomial(this, new Int32Array([1]));\n this.#zero = new Polynomial(this, new Int32Array([0]));\n }\n get size() {\n return this.#size;\n }\n get one() {\n return this.#one;\n }\n get zero() {\n return this.#zero;\n }\n get generator() {\n return this.#generator;\n }\n exp(a) {\n return this.#expTable[a];\n }\n log(a) {\n return this.#logTable[a];\n }\n invert(a) {\n return this.#expTable[this.#size - this.#logTable[a] - 1];\n }\n multiply(a, b) {\n if (a === 0 || b === 0) {\n return 0;\n }\n const logTable = this.#logTable;\n return this.#expTable[(logTable[a] + logTable[b]) % (this.#size - 1)];\n }\n buildPolynomial(degree, coefficient) {\n if (coefficient === 0) {\n return this.#zero;\n }\n const coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new Polynomial(this, coefficients);\n }\n}\nconst QR_CODE_FIELD_256 = new GaloisField(0x011d, 256, 0);\n\nexport { GaloisField, QR_CODE_FIELD_256 };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { Charset } from '../Charset.js';\n\n/**\n * @module index\n */\nfunction getUnicodeCodes(content, maxCode) {\n const bytes = [];\n for (const character of content) {\n const code = character.codePointAt(0);\n // If gt max code, push \"?\".\n bytes.push(code == null || code > maxCode ? 63 : code);\n }\n return new Uint8Array(bytes);\n}\nfunction encode(content, charset) {\n switch (charset) {\n case Charset.ASCII:\n return getUnicodeCodes(content, 0x7f);\n case Charset.ISO_8859_1:\n return getUnicodeCodes(content, 0xff);\n case Charset.UTF_8:\n return new TextEncoder().encode(content);\n default:\n throw Error(`built-in encode not support charset: ${charset.label}`);\n }\n}\nfunction decode(bytes, charset) {\n try {\n return new TextDecoder(charset.label).decode(bytes);\n } catch {\n throw Error(`built-in decode not support charset: ${charset.label}`);\n }\n}\n\nexport { decode, encode };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { getBitMask, toBit, getBitOffset, toInt32 } from './utils.js';\n\n/**\n * @module BitArray\n */\nconst LOAD_FACTOR = 0.75;\nfunction offset(index) {\n return toInt32(index / 32);\n}\nfunction makeArray(length) {\n return new Int32Array(Math.ceil(length / 32));\n}\nclass BitArray {\n #length;\n #bits;\n constructor(length = 0) {\n this.#length = length;\n this.#bits = makeArray(length);\n }\n #alloc(length) {\n const bits = this.#bits;\n if (length > bits.length * 32) {\n const array = makeArray(Math.ceil(length / LOAD_FACTOR));\n array.set(bits);\n this.#bits = array;\n }\n this.#length = length;\n }\n get length() {\n return this.#length;\n }\n get byteLength() {\n return Math.ceil(this.#length / 8);\n }\n set(index) {\n this.#bits[offset(index)] |= getBitMask(index);\n }\n get(index) {\n return toBit(this.#bits[offset(index)] >>> getBitOffset(index));\n }\n xor(mask) {\n const bits = this.#bits;\n const maskBits = mask.#bits;\n const length = Math.min(this.#length, mask.#length);\n for (let i = 0; i < length; i++) {\n // The last int could be incomplete (i.e. not have 32 bits in\n // it) but there is no problem since 0 XOR 0 == 0.\n bits[i] ^= maskBits[i];\n }\n }\n append(value, length = 1) {\n let index = this.#length;\n if (value instanceof BitArray) {\n length = value.#length;\n this.#alloc(index + length);\n for (let i = 0; i < length; i++) {\n if (value.get(i) !== 0) {\n this.set(index);\n }\n index++;\n }\n } else {\n this.#alloc(index + length);\n for (let i = length - 1; i >= 0; i--) {\n if (toBit(value >>> i) !== 0) {\n this.set(index);\n }\n index++;\n }\n }\n }\n writeToUint8Array(bitOffset, target, byteOffset, byteLength) {\n for (let i = 0; i < byteLength; i++) {\n let byte = 0;\n for (let j = 0; j < 8; j++) {\n if (this.get(bitOffset++) !== 0) {\n byte |= 1 << (7 - j);\n }\n }\n target[byteOffset + i] = byte;\n }\n }\n clear() {\n this.#bits.fill(0);\n }\n}\n\nexport { BitArray };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module ByteMatrix\n */\nclass ByteMatrix {\n #size;\n #bytes;\n constructor(size) {\n this.#size = size;\n this.#bytes = new Int8Array(size * size);\n }\n get size() {\n return this.#size;\n }\n set(x, y, value) {\n this.#bytes[y * this.#size + x] = value;\n }\n get(x, y) {\n return this.#bytes[y * this.#size + x];\n }\n clear(value) {\n this.#bytes.fill(value);\n }\n}\n\nexport { ByteMatrix };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { isApplyMask } from '../../common/mask.js';\nimport { BitArray } from '../../common/BitArray.js';\nimport { ByteMatrix } from '../../common/ByteMatrix.js';\nimport { calculateBCHCode } from '../../common/utils.js';\nimport { VERSIONS } from '../../common/Version.js';\n\n/**\n * @module matrix\n */\n// Format information poly: 101 0011 0111.\nconst FORMAT_INFO_POLY = 0x537;\n// Format information mask.\nconst FORMAT_INFO_MASK = 0x5412;\n// Version information poly: 1 1111 0010 0101.\nconst VERSION_INFO_POLY = 0x1f25;\n// Finder pattern shape.\nconst FINDER_PATTERN_SHAPE = [\n [1, 1, 1, 1, 1, 1, 1],\n [1, 0, 0, 0, 0, 0, 1],\n [1, 0, 1, 1, 1, 0, 1],\n [1, 0, 1, 1, 1, 0, 1],\n [1, 0, 1, 1, 1, 0, 1],\n [1, 0, 0, 0, 0, 0, 1],\n [1, 1, 1, 1, 1, 1, 1]\n];\n// Alignment pattern shape.\nconst ALIGNMENT_PATTERN_SHAPE = [\n [1, 1, 1, 1, 1],\n [1, 0, 0, 0, 1],\n [1, 0, 1, 0, 1],\n [1, 0, 0, 0, 1],\n [1, 1, 1, 1, 1]\n];\n// Format information coordinates.\nconst FORMAT_INFO_COORDINATES = [\n [8, 0],\n [8, 1],\n [8, 2],\n [8, 3],\n [8, 4],\n [8, 5],\n [8, 7],\n [8, 8],\n [7, 8],\n [5, 8],\n [4, 8],\n [3, 8],\n [2, 8],\n [1, 8],\n [0, 8]\n];\n// Is empty point.\nfunction isEmpty(matrix, x, y) {\n return matrix.get(x, y) === -1;\n}\nfunction embedFinderPattern(matrix, x, y) {\n for (let i = 0; i < 7; i++) {\n const pattern = FINDER_PATTERN_SHAPE[i];\n for (let j = 0; j < 7; j++) {\n matrix.set(x + j, y + i, pattern[j]);\n }\n }\n}\nfunction embedHorizontalSeparator(matrix, x, y) {\n for (let j = 0; j < 8; j++) {\n matrix.set(x + j, y, 0);\n }\n}\nfunction embedVerticalSeparator(matrix, x, y) {\n for (let i = 0; i < 7; i++) {\n matrix.set(x, y + i, 0);\n }\n}\n// Embed finder patterns and surrounding vertical/horizontal separators.\nfunction embedFinderPatternsAndSeparators(matrix) {\n // Embed three big squares at corners.\n const pdpWidth = 7;\n // Embed horizontal separation patterns around the squares.\n const hspWidth = 8;\n // Embed vertical separation patterns around the squares.\n const vspHeight = 7;\n // Matrix width\n const { size } = matrix;\n // Left top corner.\n embedFinderPattern(matrix, 0, 0);\n // Right top corner.\n embedFinderPattern(matrix, size - pdpWidth, 0);\n // Left bottom corner.\n embedFinderPattern(matrix, 0, size - pdpWidth);\n // Left top corner.\n embedHorizontalSeparator(matrix, 0, hspWidth - 1);\n // Right top corner.\n embedHorizontalSeparator(matrix, size - hspWidth, hspWidth - 1);\n // Left bottom corner.\n embedHorizontalSeparator(matrix, 0, size - hspWidth);\n // Left top corner.\n embedVerticalSeparator(matrix, vspHeight, 0);\n // Right top corner.\n embedVerticalSeparator(matrix, size - vspHeight - 1, 0);\n // Left bottom corner.\n embedVerticalSeparator(matrix, vspHeight, size - vspHeight);\n}\nfunction embedTimingPatterns(matrix) {\n const size = matrix.size - 8;\n // -8 is for skipping position detection patterns (7: size)\n // separation patterns (1: size). Thus, 8 = 7 + 1.\n for (let x = 8; x < size; x++) {\n const bit = (x + 1) & 0x01;\n // Horizontal line.\n if (isEmpty(matrix, x, 6)) {\n matrix.set(x, 6, bit);\n }\n }\n // -8 is for skipping position detection patterns (7: size)\n // separation patterns (1: size). Thus, 8 = 7 + 1.\n for (let y = 8; y < size; y++) {\n const bit = (y + 1) & 0x01;\n // Vertical line.\n if (isEmpty(matrix, 6, y)) {\n matrix.set(6, y, bit);\n }\n }\n}\nfunction embedAlignmentPattern(matrix, x, y) {\n for (let i = 0; i < 5; i++) {\n const pattern = ALIGNMENT_PATTERN_SHAPE[i];\n for (let j = 0; j < 5; j++) {\n matrix.set(x + j, y + i, pattern[j]);\n }\n }\n}\n// Embed position alignment patterns if need be.\nfunction embedAlignmentPatterns(matrix, { version }) {\n if (version >= 2) {\n const { alignmentPatterns } = VERSIONS[version - 1];\n const { length } = alignmentPatterns;\n for (let i = 0; i < length; i++) {\n const y = alignmentPatterns[i];\n for (let j = 0; j < length; j++) {\n const x = alignmentPatterns[j];\n if (isEmpty(matrix, x, y)) {\n // If the cell is unset, we embed the position alignment pattern here.\n // -2 is necessary since the x/y coordinates point to the center of the pattern, not the\n // left top corner.\n embedAlignmentPattern(matrix, x - 2, y - 2);\n }\n }\n }\n }\n}\n// Embed the lonely dark dot at left bottom corner. ISO/IEC 18004:2015(E)(p.56)\nfunction embedDarkModule(matrix) {\n matrix.set(8, matrix.size - 8, 1);\n}\n// Make bit vector of format information. On success, store the result in \"bits\".\n// Encode error correction level and mask pattern. See 8.9 of\n// ISO/IEC 18004:2015(E)(p.55) for details.\nfunction makeFormatInfoBits(bits, ecLevel, mask) {\n const formatInfo = (ecLevel.bits << 3) | mask;\n bits.append(formatInfo, 5);\n const bchCode = calculateBCHCode(formatInfo, FORMAT_INFO_POLY);\n bits.append(bchCode, 10);\n const maskBits = new BitArray();\n maskBits.append(FORMAT_INFO_MASK, 15);\n bits.xor(maskBits);\n}\n// Embed format information. On success, modify the matrix.\nfunction embedFormatInfo(matrix, ecLevel, mask) {\n const formatInfoBits = new BitArray();\n makeFormatInfoBits(formatInfoBits, ecLevel, mask);\n const { size } = matrix;\n const { length } = formatInfoBits;\n for (let i = 0; i < length; i++) {\n // Type info bits at the left top corner.\n const [x, y] = FORMAT_INFO_COORDINATES[i];\n // Place bits in LSB to MSB order. LSB (least significant bit) is the last value in formatInfoBits.\n const bit = formatInfoBits.get(length - 1 - i);\n matrix.set(x, y, bit);\n if (i < 8) {\n // Right top corner.\n matrix.set(size - i - 1, 8, bit);\n } else {\n // Left bottom corner.\n matrix.set(8, size - 7 + (i - 8), bit);\n }\n }\n // Then, embed the dark dot at the left bottom corner.\n embedDarkModule(matrix);\n}\n// Make bit vector of version information. On success, store the result in \"bits\".\n// See 7.10 of ISO/IEC 18004:2015(E)(p.58) for details.\nfunction makeVersionInfoBits(bits, version) {\n bits.append(version, 6);\n const bchCode = calculateBCHCode(version, VERSION_INFO_POLY);\n bits.append(bchCode, 12);\n}\n// Embed version information if need be. On success, modify the matrix.\n// See 7.10 of ISO/IEC 18004:2015(E)(p.58) for how to embed version information.\nfunction embedVersionInfo(matrix, { version }) {\n if (version >= 7) {\n const versionInfoBits = new BitArray();\n makeVersionInfoBits(versionInfoBits, version);\n // It will decrease from 17 to 0.\n let bitIndex = 6 * 3 - 1;\n const { size } = matrix;\n for (let i = 0; i < 6; i++) {\n for (let j = 0; j < 3; j++) {\n // Place bits in LSB (least significant bit) to MSB order.\n const bit = versionInfoBits.get(bitIndex--);\n // Left bottom corner.\n matrix.set(i, size - 11 + j, bit);\n // Right bottom corner.\n matrix.set(size - 11 + j, i, bit);\n }\n }\n }\n}\n// Embed \"codewords\". On success, modify the matrix.\n// See 7.7.3 of ISO/IEC 18004:2015(E)(p.46) for how to embed codewords.\nfunction embedCodewords(matrix, codewords, mask) {\n let bitIndex = 0;\n const { size } = matrix;\n const { length } = codewords;\n // Start from the right bottom cell.\n for (let x = size - 1; x >= 1; x -= 2) {\n // Skip the vertical timing pattern.\n if (x === 6) {\n x = 5;\n }\n for (let y = 0; y < size; y++) {\n for (let i = 0; i < 2; i++) {\n const offsetX = x - i;\n const upward = ((x + 1) & 2) === 0;\n const offsetY = upward ? size - 1 - y : y;\n // Skip the cell if it's not empty.\n if (isEmpty(matrix, offsetX, offsetY)) {\n // Padding bit. If there is no bit left, we'll fill the left cells with 0.\n let bit = 0;\n if (bitIndex < length) {\n bit = codewords.get(bitIndex++);\n }\n // Is apply mask.\n if (isApplyMask(mask, offsetX, offsetY)) {\n bit ^= 1;\n }\n matrix.set(offsetX, offsetY, bit);\n }\n }\n }\n }\n}\n// Embed function patterns. On success, modify the matrix.\n// The function patterns are:\n// - Finder patterns and separators\n// - Alignment patterns, if version >= 2\n// - Timing patterns\nfunction embedFunctionPatterns(matrix, version) {\n // Let's get started with embedding big squares at corners.\n embedFinderPatternsAndSeparators(matrix);\n // Alignment patterns appear if version >= 2.\n embedAlignmentPatterns(matrix, version);\n // Timing patterns should be embedded after position adj. patterns.\n embedTimingPatterns(matrix);\n}\n// Embed encoding region. On success, modify the matrix.\n// The encoding region are:\n// - Format Info\n// - Version Info, if version >= 7\n// - Data with correction\nfunction embedEncodingRegion(matrix, codewords, version, ecLevel, mask) {\n // Type information appear with any version.\n embedFormatInfo(matrix, ecLevel, mask);\n // Version info appear if version >= 7.\n embedVersionInfo(matrix, version);\n // Data should be embedded at end.\n embedCodewords(matrix, codewords, mask);\n}\n// Build 2D matrix of QR Code from \"codewords\" with \"ecLevel\", \"version\" and \"getMaskPattern\". On\n// success, store the result in \"matrix\".\nfunction buildMatrix(codewords, version, ecLevel, mask) {\n const matrix = new ByteMatrix(version.size);\n // Clear matrix.\n matrix.clear(-1);\n // Embed function patterns.\n embedFunctionPatterns(matrix, version);\n // Embed encoding region.\n embedEncodingRegion(matrix, codewords, version, ecLevel, mask);\n return matrix;\n}\n\nexport { buildMatrix };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module BlockPair\n */\nclass BlockPair {\n #ecCodewords;\n #dataCodewords;\n constructor(dataCodewords, ecCodewords) {\n this.#ecCodewords = ecCodewords;\n this.#dataCodewords = dataCodewords;\n }\n get ecCodewords() {\n return this.#ecCodewords;\n }\n get dataCodewords() {\n return this.#dataCodewords;\n }\n}\n\nexport { BlockPair };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { Polynomial } from './Polynomial.js';\nimport { QR_CODE_FIELD_256 } from './GaloisField.js';\n\n/**\n * @module Encoder\n */\nfunction buildGenerator(field, generators, degree) {\n const { length } = generators;\n if (degree >= length) {\n const { generator } = field;\n let lastGenerator = generators[length - 1];\n for (let i = length; i <= degree; i++) {\n const coefficients = new Int32Array([1, field.exp(i - 1 + generator)]);\n const nextGenerator = lastGenerator.multiply(new Polynomial(field, coefficients));\n generators.push(nextGenerator);\n lastGenerator = nextGenerator;\n }\n }\n return generators[degree];\n}\nclass Encoder {\n #field;\n #generators;\n constructor(field = QR_CODE_FIELD_256) {\n this.#field = field;\n this.#generators = [new Polynomial(field, new Int32Array([1]))];\n }\n encode(received, ecLength) {\n const dataBytes = received.length - ecLength;\n const infoCoefficients = new Int32Array(dataBytes);\n const generator = buildGenerator(this.#field, this.#generators, ecLength);\n infoCoefficients.set(received.subarray(0, dataBytes));\n const base = new Polynomial(this.#field, infoCoefficients);\n const info = base.multiplyByMonomial(ecLength, 1);\n const [, remainder] = info.divide(generator);\n const { coefficients } = remainder;\n const numZeroCoefficients = ecLength - coefficients.length;\n const zeroCoefficientsOffset = dataBytes + numZeroCoefficients;\n received.fill(0, dataBytes, zeroCoefficientsOffset);\n received.set(coefficients, zeroCoefficientsOffset);\n }\n}\n\nexport { Encoder };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { Mode } from '../../common/Mode.js';\nimport { buildMatrix } from './matrix.js';\nimport { BitArray } from '../../common/BitArray.js';\nimport { BlockPair } from '../BlockPair.js';\nimport { VERSIONS } from '../../common/Version.js';\nimport { calculateMaskPenalty } from '../../common/mask.js';\nimport { Encoder } from '../../common/reedsolomon/Encoder.js';\n\n/**\n * @module encoder\n */\nfunction generateECCodewords(codewords, numECCodewords) {\n const numDataCodewords = codewords.length;\n const buffer = new Int32Array(numDataCodewords + numECCodewords);\n // Copy data codewords.\n buffer.set(codewords);\n // Reed solomon encode.\n new Encoder().encode(buffer, numECCodewords);\n // Get ec codewords.\n return new Uint8Array(buffer.subarray(numDataCodewords));\n}\nfunction injectECCodewords(bits, { ecBlocks, numECCodewordsPerBlock }) {\n // Step 1. Divide data bytes into blocks and generate error correction bytes for them. We'll\n // store the divided data bytes blocks and error correction bytes blocks into \"blocks\".\n let maxNumECCodewords = 0;\n let maxNumDataCodewords = 0;\n let dataCodewordsOffset = 0;\n // Block pair.\n const blocks = [];\n for (const { count, numDataCodewords } of ecBlocks) {\n for (let i = 0; i < count; i++) {\n const dataCodewords = new Uint8Array(numDataCodewords);\n bits.writeToUint8Array(dataCodewordsOffset * 8, dataCodewords, 0, numDataCodewords);\n const ecCodewords = generateECCodewords(dataCodewords, numECCodewordsPerBlock);\n blocks.push(new BlockPair(dataCodewords, ecCodewords));\n dataCodewordsOffset += numDataCodewords;\n maxNumECCodewords = Math.max(maxNumECCodewords, ecCodewords.length);\n maxNumDataCodewords = Math.max(maxNumDataCodewords, numDataCodewords);\n }\n }\n const codewords = new BitArray();\n // First, place data blocks.\n for (let i = 0; i < maxNumDataCodewords; i++) {\n for (const { dataCodewords } of blocks) {\n if (i < dataCodewords.length) {\n codewords.append(dataCodewords[i], 8);\n }\n }\n }\n // Then, place error correction blocks.\n for (let i = 0; i < maxNumECCodewords; i++) {\n for (const { ecCodewords } of blocks) {\n if (i < ecCodewords.length) {\n codewords.append(ecCodewords[i], 8);\n }\n }\n }\n return codewords;\n}\nfunction appendTerminator(bits, numDataCodewords) {\n const capacity = numDataCodewords * 8;\n // Append terminator if there is enough space (value is 0000).\n for (let i = 0; i < 4 && bits.length < capacity; i++) {\n bits.append(0);\n }\n // Append terminator. See 7.4.9 of ISO/IEC 18004:2015(E)(p.32) for details.\n // If the last byte isn't 8-bit aligned, we'll add padding bits.\n const numBitsInLastByte = bits.length & 0x07;\n if (numBitsInLastByte > 0) {\n for (let i = numBitsInLastByte; i < 8; i++) {\n bits.append(0);\n }\n }\n // If we have more space, we'll fill the space with padding patterns defined in 8.4.9 (p.24).\n const numPaddingCodewords = numDataCodewords - bits.byteLength;\n for (let i = 0; i < numPaddingCodewords; i++) {\n bits.append(i & 0x01 ? 0x11 : 0xec, 8);\n }\n}\nfunction isByteMode(segment) {\n return segment.mode === Mode.BYTE;\n}\nfunction isHanziMode(segment) {\n return segment.mode === Mode.HANZI;\n}\nfunction appendModeInfo(bits, mode) {\n bits.append(mode.bits, 4);\n}\nfunction appendECI(bits, segment, currentECIValue) {\n if (isByteMode(segment)) {\n const [value] = segment.charset.values;\n if (value !== currentECIValue) {\n bits.append(Mode.ECI.bits, 4);\n // See 7.4.2.2 of ISO/IEC 18004:2015(E)(p.24) for details.\n if (value <= 127) {\n bits.append(value, 8);\n } else if (value <= 16383) {\n bits.append(0x8000 | value, 16);\n } else {\n bits.append(0xc00000 | value, 24);\n }\n return value;\n }\n }\n return currentECIValue;\n}\nfunction appendFNC1Info(bits, fnc1) {\n const [mode, indicator] = fnc1;\n // Append FNC1 if applicable.\n switch (mode) {\n case 'GS1':\n // GS1 formatted codes are prefixed with a FNC1 in first position mode header.\n appendModeInfo(bits, Mode.FNC1_FIRST_POSITION);\n break;\n case 'AIM':\n // AIM formatted codes are prefixed with a FNC1 in first position mode header.\n appendModeInfo(bits, Mode.FNC1_SECOND_POSITION);\n // Append AIM application indicator.\n bits.append(indicator, 8);\n break;\n }\n}\nfunction getSegmentLength(segment, bits) {\n // Byte segment use byte Length.\n if (isByteMode(segment)) {\n return bits.byteLength;\n }\n // Other segments use the real length of characters.\n // All rest segments content codePointAt at 0x0000 to 0xffff, so use length directly.\n return segment.content.length;\n}\nfunction appendLengthInfo(bits, mode, version, numLetters) {\n bits.append(numLetters, mode.getCharacterCountBits(version));\n}\nfunction willFit(numInputBits, version, ecLevel) {\n // In the following comments, we use numbers of Version 7-H.\n const ecBlocks = version.getECBlocks(ecLevel);\n const numInputCodewords = Math.ceil(numInputBits / 8);\n return ecBlocks.numTotalDataCodewords >= numInputCodewords;\n}\nfunction chooseVersion(numInputBits, ecLevel) {\n for (const version of VERSIONS) {\n if (willFit(numInputBits, version, ecLevel)) {\n return version;\n }\n }\n throw new Error('data too big for all versions');\n}\nfunction calculateBitsNeeded(segmentBlocks, version) {\n let bitsNeeded = 0;\n for (const { mode, head, body } of segmentBlocks) {\n bitsNeeded += head.length + mode.getCharacterCountBits(version) + body.length;\n }\n return bitsNeeded;\n}\nfunction chooseRecommendVersion(segmentBlocks, ecLevel) {\n // Hard part: need to know version to know how many bits length takes. But need to know how many\n // bits it takes to know version. First we take a guess at version by assuming version will be\n // the minimum, 1:\n const provisionalBitsNeeded = calculateBitsNeeded(segmentBlocks, VERSIONS[0]);\n const provisionalVersion = chooseVersion(provisionalBitsNeeded, ecLevel);\n // Use that guess to calculate the right version. I am still not sure this works in 100% of cases.\n const bitsNeeded = calculateBitsNeeded(segmentBlocks, provisionalVersion);\n return chooseVersion(bitsNeeded, ecLevel);\n}\nfunction chooseBestMaskAndMatrix(codewords, version, ecLevel) {\n let bestMask = 0;\n let bestMatrix = buildMatrix(codewords, version, ecLevel, bestMask);\n let minPenalty = calculateMaskPenalty(bestMatrix);\n // We try all rest mask patterns to choose the best one.\n for (let mask = 1; mask < 8; mask++) {\n const matrix = buildMatrix(codewords, version, ecLevel, mask);\n const penalty = calculateMaskPenalty(matrix);\n // Lower penalty is better.\n if (penalty < minPenalty) {\n bestMask = mask;\n bestMatrix = matrix;\n minPenalty = penalty;\n }\n }\n return [bestMask, bestMatrix];\n}\n\nexport {\n appendECI,\n appendFNC1Info,\n appendLengthInfo,\n appendModeInfo,\n appendTerminator,\n calculateBitsNeeded,\n chooseBestMaskAndMatrix,\n chooseRecommendVersion,\n getSegmentLength,\n injectECCodewords,\n isByteMode,\n isHanziMode,\n willFit\n};\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module Dict\n * @see https://github.com/google/dart-gif-encoder\n */\n// The highest code that can be defined in the CodeBook.\nconst MAX_CODE = (1 << 12) - 1;\n/**\n * A dict contains codes defined during LZW compression. It's a mapping from a string\n * of pixels to the code that represents it. The codes are stored in a trie which is\n * represented as a map. Codes may be up to 12 bits. The size of the codebook is always\n * the minimum power of 2 needed to represent all the codes and automatically increases\n * as new codes are defined.\n */\nclass Dict {\n #bof;\n #eof;\n #bits;\n #depth;\n #size;\n #unused;\n #codes;\n constructor(depth) {\n const bof = 1 << depth;\n const eof = bof + 1;\n this.#bof = bof;\n this.#eof = eof;\n this.#depth = depth;\n this.reset();\n }\n get bof() {\n return this.#bof;\n }\n get eof() {\n return this.#eof;\n }\n get bits() {\n return this.#bits;\n }\n get depth() {\n return this.#depth;\n }\n reset() {\n const bits = this.#depth + 1;\n this.#bits = bits;\n this.#size = 1 << bits;\n this.#codes = new Map();\n this.#unused = this.#eof + 1;\n }\n add(code, index) {\n let unused = this.#unused;\n if (unused > MAX_CODE) {\n return false;\n }\n this.#codes.set((code << 8) | index, unused++);\n let bits = this.#bits;\n let size = this.#size;\n if (unused > size) {\n size = 1 << ++bits;\n }\n this.#bits = bits;\n this.#size = size;\n this.#unused = unused;\n return true;\n }\n get(code, index) {\n return this.#codes.get((code << 8) | index);\n }\n}\n\nexport { Dict };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module DictStream\n * @see https://github.com/google/dart-gif-encoder\n */\nclass DictStream {\n #bits = 0;\n #dict;\n #buffer = 0;\n #bytes = [];\n constructor(dict) {\n this.#dict = dict;\n }\n write(code) {\n let bits = this.#bits;\n let buffer = this.#buffer | (code << bits);\n bits += this.#dict.bits;\n const bytes = this.#bytes;\n while (bits >= 8) {\n bytes.push(buffer & 0xff);\n buffer >>= 8;\n bits -= 8;\n }\n this.#bits = bits;\n this.#buffer = buffer;\n }\n pipe(stream) {\n const bytes = this.#bytes;\n // Add the remaining bits. (Unused bits are set to zero.)\n if (this.#bits > 0) {\n bytes.push(this.#buffer);\n }\n stream.writeByte(this.#dict.depth);\n // Divide it up into blocks with a size in front of each block.\n const { length } = bytes;\n for (let i = 0; i < length; ) {\n const remain = length - i;\n if (remain >= 255) {\n stream.writeByte(0xff);\n stream.writeBytes(bytes, i, 255);\n i += 255;\n } else {\n stream.writeByte(remain);\n stream.writeBytes(bytes, i, remain);\n i = length;\n }\n }\n stream.writeByte(0);\n }\n}\n\nexport { DictStream };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { Dict } from './Dict.js';\nimport { DictStream } from './DictStream.js';\n\n/**\n * @module index\n * @see https://github.com/google/dart-gif-encoder\n */\nfunction compress(pixels, depth, stream) {\n const dict = new Dict(depth);\n const buffer = new DictStream(dict);\n buffer.write(dict.bof);\n if (pixels.length > 0) {\n let code = pixels[0];\n const { length } = pixels;\n for (let i = 1; i < length; i++) {\n const pixelIndex = pixels[i];\n const nextCode = dict.get(code, pixelIndex);\n if (nextCode != null) {\n code = nextCode;\n } else {\n buffer.write(code);\n // Reset dict when full.\n if (!dict.add(code, pixelIndex)) {\n buffer.write(dict.bof);\n dict.reset();\n }\n code = pixelIndex;\n }\n }\n buffer.write(code);\n }\n buffer.write(dict.eof);\n buffer.pipe(stream);\n}\n\nexport { compress };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\n/**\n * @module ByteStream\n */\nclass ByteStream {\n #bytes = [];\n get bytes() {\n return this.#bytes;\n }\n writeByte(value) {\n this.#bytes.push(value & 0xff);\n }\n writeInt16(value) {\n this.#bytes.push(value & 0xff, (value >> 8) & 0xff);\n }\n writeBytes(bytes, offset = 0, length = bytes.length) {\n const buffer = this.#bytes;\n for (let i = 0; i < length; i++) {\n buffer.push(bytes[offset + i] & 0xff);\n }\n }\n}\n\nexport { ByteStream };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { ByteStream } from './ByteStream.js';\n\n/**\n * @module Base64Stream\n */\nconst { fromCharCode } = String;\nfunction encode(byte) {\n byte &= 0x3f;\n if (byte >= 0) {\n if (byte < 26) {\n // A.\n return 0x41 + byte;\n } else if (byte < 52) {\n // a.\n return 0x61 + (byte - 26);\n } else if (byte < 62) {\n // 0.\n return 0x30 + (byte - 52);\n } else if (byte === 62) {\n // +.\n return 0x2b;\n } else if (byte === 63) {\n // /.\n return 0x2f;\n }\n }\n throw new Error(`illegal char: ${fromCharCode(byte)}`);\n}\nclass Base64Stream {\n #bits = 0;\n #buffer = 0;\n #length = 0;\n #stream = new ByteStream();\n get bytes() {\n return this.#stream.bytes;\n }\n write(byte) {\n let bits = this.#bits + 8;\n const stream = this.#stream;\n const buffer = (this.#buffer << 8) | (byte & 0xff);\n while (bits >= 6) {\n stream.writeByte(encode(buffer >>> (bits - 6)));\n bits -= 6;\n }\n this.#length++;\n this.#bits = bits;\n this.#buffer = buffer;\n }\n close() {\n const bits = this.#bits;\n const stream = this.#stream;\n if (bits > 0) {\n stream.writeByte(encode(this.#buffer << (6 - bits)));\n this.#bits = 0;\n this.#buffer = 0;\n }\n const length = this.#length;\n if (length % 3 != 0) {\n // Padding.\n const pad = 3 - (length % 3);\n for (let i = 0; i < pad; i++) {\n // =.\n stream.writeByte(0x3d);\n }\n }\n }\n}\n\nexport { Base64Stream, fromCharCode };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { compress } from './utils/lzw/index.js';\nimport { ByteStream } from './utils/ByteStream.js';\nimport { Base64Stream, fromCharCode } from './utils/Base64Stream.js';\n\n/**\n * @module GIFImage\n */\nclass GIFImage {\n #width;\n #height;\n #foreground;\n #background;\n #pixels = [];\n constructor(width, height, { foreground = [0x00, 0x00, 0x00], background = [0xff, 0xff, 0xff] } = {}) {\n this.#width = width;\n this.#height = height;\n this.#foreground = foreground;\n this.#background = background;\n }\n #encode() {\n const width = this.#width;\n const height = this.#height;\n const stream = new ByteStream();\n const background = this.#background;\n const foreground = this.#foreground;\n // GIF signature: GIF89a.\n stream.writeBytes([0x47, 0x49, 0x46, 0x38, 0x39, 0x61]);\n // Logical screen descriptor.\n stream.writeInt16(width);\n stream.writeInt16(height);\n stream.writeBytes([0x80, 0, 0]);\n // Global background color palette.\n stream.writeBytes([background[0], background[1], background[2]]);\n // Global foreground color palette.\n stream.writeBytes([foreground[0], foreground[1], foreground[2]]);\n // Image descriptor.\n stream.writeByte(0x2c);\n stream.writeInt16(0);\n stream.writeInt16(0);\n stream.writeInt16(width);\n stream.writeInt16(height);\n stream.writeByte(0);\n // Compress pixels to stream.\n compress(this.#pixels, 2, stream);\n // GIF terminator.\n stream.writeByte(0x3b);\n return stream.bytes;\n }\n set(x, y, color) {\n this.#pixels[y * this.#width + x] = color;\n }\n toDataURL() {\n const bytes = this.#encode();\n const stream = new Base64Stream();\n for (const byte of bytes) {\n stream.write(byte);\n }\n stream.close();\n const base64 = stream.bytes;\n let url = 'data:image/gif;base64,';\n for (const byte of base64) {\n url += fromCharCode(byte);\n }\n return url;\n }\n}\n\nexport { GIFImage };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { toInt32 } from '../common/utils.js';\nimport { GIFImage } from '../common/image/GIFImage.js';\n\n/**\n * @module Encoded\n */\nclass Encoded {\n #mask;\n #level;\n #version;\n #matrix;\n constructor(matrix, version, level, mask) {\n this.#mask = mask;\n this.#level = level;\n this.#matrix = matrix;\n this.#version = version;\n }\n /**\n * @property matrix\n * @description Get the size of qrcode.\n */\n get size() {\n return this.#matrix.size;\n }\n /**\n * @property mask\n * @description Get the mask of qrcode.\n */\n get mask() {\n return this.#mask;\n }\n /**\n * @property level\n * @description Get the error correction level of qrcode.\n */\n get level() {\n return this.#level.name;\n }\n /**\n * @property version\n * @description Get the version of qrcode.\n */\n get version() {\n return this.#version.version;\n }\n /**\n * @method get\n * @description Get the bit value of the specified coordinate of qrcode.\n */\n get(x, y) {\n const { size } = this.#matrix;\n if (x < 0 || y < 0 || x >= size || y >= size) {\n throw new Error(`illegal coordinate: [${x}, ${y}]`);\n }\n return this.#matrix.get(x, y);\n }\n /**\n * @method toDataURL\n * @param moduleSize The size of one qrcode module\n * @param options Set rest options of gif, like margin, foreground and background.\n */\n toDataURL(moduleSize = 2, { margin = moduleSize * 4, ...colors } = {}) {\n moduleSize = Math.max(1, moduleSize >> 0);\n margin = Math.max(0, margin >> 0);\n const matrix = this.#matrix;\n const matrixSize = matrix.size;\n const size = moduleSize * matrixSize + margin * 2;\n const gif = new GIFImage(size, size, colors);\n const max = size - margin;\n for (let y = 0; y < size; y++) {\n for (let x = 0; x < size; x++) {\n if (x >= margin && x < max && y >= margin && y < max) {\n const offsetX = toInt32((x - margin) / moduleSize);\n const offsetY = toInt32((y - margin) / moduleSize);\n gif.set(x, y, matrix.get(offsetX, offsetY));\n } else {\n // Margin pixels.\n gif.set(x, y, 0);\n }\n }\n }\n return gif.toDataURL();\n }\n}\n\nexport { Encoded };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { Charset } from '../../common/Charset.js';\n\n/**\n * @module asserts\n */\nfunction assertContent(content) {\n if (content === '') {\n throw new Error('segment content should be at least 1 character');\n }\n}\nfunction assertCharset(charset) {\n if (!(charset instanceof Charset)) {\n throw new Error('illegal charset');\n }\n}\nfunction assertHints(hints) {\n const { fnc1 } = hints;\n // FNC1.\n if (fnc1 != null) {\n const [mode] = fnc1;\n if (mode !== 'GS1' && mode !== 'AIM') {\n throw new Error('illegal fn1 hint');\n }\n if (mode === 'AIM') {\n const [, indicator] = fnc1;\n if (indicator < 0 || indicator > 0xff || !Number.isInteger(indicator)) {\n throw new Error('illegal fn1 application indicator');\n }\n }\n }\n}\nfunction assertLevel(level) {\n if (['L', 'M', 'Q', 'H'].indexOf(level) < 0) {\n throw new Error('illegal error correction level');\n }\n}\nfunction assertVersion(version) {\n if (version !== 'Auto') {\n if (version < 1 || version > 40 || !Number.isInteger(version)) {\n throw new Error('illegal version');\n }\n }\n}\n\nexport { assertCharset, assertContent, assertHints, assertLevel, assertVersion };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport {\n getSegmentLength,\n appendECI,\n appendFNC1Info,\n appendModeInfo,\n isHanziMode,\n chooseRecommendVersion,\n calculateBitsNeeded,\n willFit,\n appendLengthInfo,\n appendTerminator,\n injectECCodewords,\n chooseBestMaskAndMatrix\n} from './utils/encoder.js';\nimport { Encoded } from './Encoded.js';\nimport { Charset } from '../common/Charset.js';\nimport { ECLevel } from '../common/ECLevel.js';\nimport { BitArray } from '../common/BitArray.js';\nimport { VERSIONS } from '../common/Version.js';\nimport { encode } from '../common/encoding/index.js';\nimport { assertHints, assertLevel, assertVersion } from './utils/asserts.js';\n\n/**\n * @module Encoder\n */\nclass Encoder {\n #hints;\n #level;\n #encode;\n #version;\n /**\n * @constructor\n * @param options The options of encoder.\n */\n constructor({ hints = {}, level = 'L', version = 'Auto', encode: encode$1 = encode } = {}) {\n assertHints(hints);\n assertLevel(level);\n assertVersion(version);\n this.#hints = hints;\n this.#encode = encode$1;\n this.#version = version;\n this.#level = ECLevel[level];\n }\n /**\n * @method encode\n * @description Encode the segments.\n * @param segments The segments.\n */\n encode(...segments) {\n const ecLevel = this.#level;\n const encode = this.#encode;\n const { fnc1 } = this.#hints;\n const versionNumber = this.#version;\n const segmentBlocks = [];\n // Only append FNC1 once.\n let isFNC1Appended = false;\n // Current ECI value.\n let [currentECIValue] = Charset.ISO_8859_1.values;\n // Init segments.\n for (const segment of segments) {\n const { mode } = segment;\n const head = new BitArray();\n const body = segment.encode(encode);\n const length = getSegmentLength(segment, body);\n // Append ECI segment if applicable.\n currentECIValue = appendECI(head, segment, currentECIValue);\n // Append FNC1 if applicable.\n if (fnc1 != null && !isFNC1Appended) {\n isFNC1Appended = true;\n appendFNC1Info(head, fnc1);\n }\n // With ECI in place, Write the mode marker.\n appendModeInfo(head, mode);\n // If is Hanzi mode append GB2312 subset.\n if (isHanziMode(segment)) {\n head.append(1, 4);\n }\n // Push segment block.\n segmentBlocks.push({ mode, head, body, length });\n }\n let version;\n if (versionNumber === 'Auto') {\n version = chooseRecommendVersion(segmentBlocks, ecLevel);\n } else {\n version = VERSIONS[versionNumber - 1];\n const bitsNeeded = calculateBitsNeeded(segmentBlocks, version);\n if (!willFit(bitsNeeded, version, ecLevel)) {\n throw new Error('data too big for requested version');\n }\n }\n const buffer = new BitArray();\n for (const { mode, head, body, length } of segmentBlocks) {\n buffer.append(head);\n appendLengthInfo(buffer, mode, version, length);\n buffer.append(body);\n }\n const ecBlocks = version.getECBlocks(ecLevel);\n appendTerminator(buffer, ecBlocks.numTotalDataCodewords);\n const codewords = injectECCodewords(buffer, ecBlocks);\n const [mask, matrix] = chooseBestMaskAndMatrix(codewords, version, ecLevel);\n return new Encoded(matrix, version, ecLevel, mask);\n }\n}\n\nexport { Encoder };\n","/**\n * @module QRCode\n * @package @nuintun/qrcode\n * @license MIT\n * @version 5.0.2\n * @author nuintun <nuintun@qq.com>\n * @description A pure JavaScript QRCode encode and decode library.\n * @see https://github.com/nuintun/qrcode#readme\n */\n\nimport { Mode } from '../../common/Mode.js';\nimport { Charset } from '../../common/Charset.js';\nimport { BitArray } from '../../common/BitArray.js';\nimport { assertContent, assertCharset } from '../utils/asserts.js';\n\n/**\n * @module Byte\n */\nclass Byte {\n #content;\n #charset;\n /**\n * @constructor\n * @param content The content to encode.\n * @param charset The charset of the content.\n */\n constructor(content, charset = Charset.ISO_8859_1) {\n assertContent(content);\n assertCharset(charset);\n this.#content = content;\n this.#charset = charset;\n }\n /**\n * @property mode\n * @description The mode of the segment.\n */\n get mode() {\n return Mode.BYTE;\n }\n /**\n * @property content\n * @description The content of the segment.\n */\n get content() {\n return this.#content;\n }\n /**\n * @property charset\n * @description The charset of the content.\n */\n get charset() {\n return this.#charset;\n }\n /**\n * @method encode\n * @description Encode the segment.\n * @param encode The text encode function.\n */\n encode(encode) {\n const bits = new BitArray();\n const bytes = encode(this.#content, this.#charset);\n for (const byte of bytes) {\n bits.append(byte, 8);\n }\n return bits;\n }\n}\n\nexport { Byte };\n"],"version":3}