@bergetai/ui 0.14.2 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/README.md +32 -46
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  3. package/dist/components/alert/Alert.cjs +31 -0
  4. package/dist/components/alert/Alert.cjs.map +1 -0
  5. package/dist/components/alert/Alert.d.cts +14 -0
  6. package/dist/components/alert/Alert.d.cts.map +1 -0
  7. package/dist/components/alert/Alert.d.mts +14 -0
  8. package/dist/components/alert/Alert.d.mts.map +1 -0
  9. package/dist/components/alert/Alert.mjs +27 -0
  10. package/dist/components/alert/Alert.mjs.map +1 -0
  11. package/dist/components/alert/index.d.cts +3 -0
  12. package/dist/components/alert/index.d.mts +3 -0
  13. package/dist/components/alert-dialog/AlertDialog.cjs +95 -0
  14. package/dist/components/alert-dialog/AlertDialog.cjs.map +1 -0
  15. package/dist/components/alert-dialog/AlertDialog.d.cts +46 -0
  16. package/dist/components/alert-dialog/AlertDialog.d.cts.map +1 -0
  17. package/dist/components/alert-dialog/AlertDialog.d.mts +46 -0
  18. package/dist/components/alert-dialog/AlertDialog.d.mts.map +1 -0
  19. package/dist/components/alert-dialog/AlertDialog.mjs +83 -0
  20. package/dist/components/alert-dialog/AlertDialog.mjs.map +1 -0
  21. package/dist/components/alert-dialog/index.d.cts +2 -0
  22. package/dist/components/alert-dialog/index.d.mts +2 -0
  23. package/dist/components/badge/Badge.cjs +57 -0
  24. package/dist/components/badge/Badge.cjs.map +1 -0
  25. package/dist/components/badge/Badge.d.cts +16 -0
  26. package/dist/components/badge/Badge.d.cts.map +1 -0
  27. package/dist/components/badge/Badge.d.mts +16 -0
  28. package/dist/components/badge/Badge.d.mts.map +1 -0
  29. package/dist/components/badge/Badge.mjs +55 -0
  30. package/dist/components/badge/Badge.mjs.map +1 -0
  31. package/dist/components/badge/index.d.cts +2 -0
  32. package/dist/components/badge/index.d.mts +2 -0
  33. package/dist/components/berget-logo/BergetLogo.cjs +87 -0
  34. package/dist/components/berget-logo/BergetLogo.cjs.map +1 -0
  35. package/dist/components/berget-logo/BergetLogo.d.cts +14 -0
  36. package/dist/components/berget-logo/BergetLogo.d.cts.map +1 -0
  37. package/dist/components/berget-logo/BergetLogo.d.mts +14 -0
  38. package/dist/components/berget-logo/BergetLogo.d.mts.map +1 -0
  39. package/dist/components/berget-logo/BergetLogo.mjs +85 -0
  40. package/dist/components/berget-logo/BergetLogo.mjs.map +1 -0
  41. package/dist/components/berget-logo/index.d.cts +2 -0
  42. package/dist/components/berget-logo/index.d.mts +2 -0
  43. package/dist/components/box/Box.cjs +67 -0
  44. package/dist/components/box/Box.cjs.map +1 -0
  45. package/dist/components/box/Box.d.cts +21 -0
  46. package/dist/components/box/Box.d.cts.map +1 -0
  47. package/dist/components/box/Box.d.mts +21 -0
  48. package/dist/components/box/Box.d.mts.map +1 -0
  49. package/dist/components/box/Box.mjs +64 -0
  50. package/dist/components/box/Box.mjs.map +1 -0
  51. package/dist/components/box/index.d.cts +2 -0
  52. package/dist/components/box/index.d.mts +2 -0
  53. package/dist/components/button/Button.cjs +75 -0
  54. package/dist/components/button/Button.cjs.map +1 -0
  55. package/dist/components/button/Button.d.cts +19 -0
  56. package/dist/components/button/Button.d.cts.map +1 -0
  57. package/dist/components/button/Button.d.mts +19 -0
  58. package/dist/components/button/Button.d.mts.map +1 -0
  59. package/dist/components/button/Button.mjs +74 -0
  60. package/dist/components/button/Button.mjs.map +1 -0
  61. package/dist/components/button/index.d.cts +3 -0
  62. package/dist/components/button/index.d.mts +3 -0
  63. package/dist/components/card/Card.cjs +36 -0
  64. package/dist/components/card/Card.cjs.map +1 -0
  65. package/dist/components/card/Card.d.cts +15 -0
  66. package/dist/components/card/Card.d.cts.map +1 -0
  67. package/dist/components/card/Card.d.mts +15 -0
  68. package/dist/components/card/Card.d.mts.map +1 -0
  69. package/dist/components/card/Card.mjs +28 -0
  70. package/dist/components/card/Card.mjs.map +1 -0
  71. package/dist/components/card/index.d.cts +3 -0
  72. package/dist/components/card/index.d.mts +3 -0
  73. package/dist/components/checkbox/Checkbox.cjs +87 -0
  74. package/dist/components/checkbox/Checkbox.cjs.map +1 -0
  75. package/dist/components/checkbox/Checkbox.d.cts +18 -0
  76. package/dist/components/checkbox/Checkbox.d.cts.map +1 -0
  77. package/dist/components/checkbox/Checkbox.d.mts +18 -0
  78. package/dist/components/checkbox/Checkbox.d.mts.map +1 -0
  79. package/dist/components/checkbox/Checkbox.mjs +84 -0
  80. package/dist/components/checkbox/Checkbox.mjs.map +1 -0
  81. package/dist/components/checkbox/index.d.cts +2 -0
  82. package/dist/components/checkbox/index.d.mts +2 -0
  83. package/dist/components/code-block/CodeBlock.cjs +58 -0
  84. package/dist/components/code-block/CodeBlock.cjs.map +1 -0
  85. package/dist/components/code-block/CodeBlock.d.cts +10 -0
  86. package/dist/components/code-block/CodeBlock.d.cts.map +1 -0
  87. package/dist/components/code-block/CodeBlock.d.mts +10 -0
  88. package/dist/components/code-block/CodeBlock.d.mts.map +1 -0
  89. package/dist/components/code-block/CodeBlock.mjs +58 -0
  90. package/dist/components/code-block/CodeBlock.mjs.map +1 -0
  91. package/dist/components/container/Container.cjs +50 -0
  92. package/dist/components/container/Container.cjs.map +1 -0
  93. package/dist/components/container/Container.d.cts +17 -0
  94. package/dist/components/container/Container.d.cts.map +1 -0
  95. package/dist/components/container/Container.d.mts +17 -0
  96. package/dist/components/container/Container.d.mts.map +1 -0
  97. package/dist/components/container/Container.mjs +47 -0
  98. package/dist/components/container/Container.mjs.map +1 -0
  99. package/dist/components/container/index.d.cts +2 -0
  100. package/dist/components/container/index.d.mts +2 -0
  101. package/dist/components/country-select/CountrySelect.cjs +95 -0
  102. package/dist/components/country-select/CountrySelect.cjs.map +1 -0
  103. package/dist/components/country-select/CountrySelect.d.cts +16 -0
  104. package/dist/components/country-select/CountrySelect.d.cts.map +1 -0
  105. package/dist/components/country-select/CountrySelect.d.mts +16 -0
  106. package/dist/components/country-select/CountrySelect.d.mts.map +1 -0
  107. package/dist/components/country-select/CountrySelect.mjs +93 -0
  108. package/dist/components/country-select/CountrySelect.mjs.map +1 -0
  109. package/dist/components/country-select/countries.cjs +409 -0
  110. package/dist/components/country-select/countries.cjs.map +1 -0
  111. package/dist/components/country-select/countries.d.cts +17 -0
  112. package/dist/components/country-select/countries.d.cts.map +1 -0
  113. package/dist/components/country-select/countries.d.mts +17 -0
  114. package/dist/components/country-select/countries.d.mts.map +1 -0
  115. package/dist/components/country-select/countries.mjs +405 -0
  116. package/dist/components/country-select/countries.mjs.map +1 -0
  117. package/dist/components/country-select/index.d.cts +3 -0
  118. package/dist/components/country-select/index.d.mts +3 -0
  119. package/dist/components/dialog/Dialog.cjs +85 -0
  120. package/dist/components/dialog/Dialog.cjs.map +1 -0
  121. package/dist/components/dialog/Dialog.d.cts +35 -0
  122. package/dist/components/dialog/Dialog.d.cts.map +1 -0
  123. package/dist/components/dialog/Dialog.d.mts +35 -0
  124. package/dist/components/dialog/Dialog.d.mts.map +1 -0
  125. package/dist/components/dialog/Dialog.mjs +74 -0
  126. package/dist/components/dialog/Dialog.mjs.map +1 -0
  127. package/dist/components/dialog/index.d.cts +2 -0
  128. package/dist/components/dialog/index.d.mts +2 -0
  129. package/dist/components/divider/Divider.cjs +72 -0
  130. package/dist/components/divider/Divider.cjs.map +1 -0
  131. package/dist/components/divider/Divider.mjs +70 -0
  132. package/dist/components/divider/Divider.mjs.map +1 -0
  133. package/dist/components/dropdown-menu/DropdownMenu.cjs +101 -0
  134. package/dist/components/dropdown-menu/DropdownMenu.cjs.map +1 -0
  135. package/dist/components/dropdown-menu/DropdownMenu.d.cts +62 -0
  136. package/dist/components/dropdown-menu/DropdownMenu.d.cts.map +1 -0
  137. package/dist/components/dropdown-menu/DropdownMenu.d.mts +62 -0
  138. package/dist/components/dropdown-menu/DropdownMenu.d.mts.map +1 -0
  139. package/dist/components/dropdown-menu/DropdownMenu.mjs +85 -0
  140. package/dist/components/dropdown-menu/DropdownMenu.mjs.map +1 -0
  141. package/dist/components/dropdown-menu/index.d.cts +3 -0
  142. package/dist/components/dropdown-menu/index.d.mts +3 -0
  143. package/dist/components/empty/Empty.cjs +51 -0
  144. package/dist/components/empty/Empty.cjs.map +1 -0
  145. package/dist/components/empty/Empty.d.cts +17 -0
  146. package/dist/components/empty/Empty.d.cts.map +1 -0
  147. package/dist/components/empty/Empty.d.mts +17 -0
  148. package/dist/components/empty/Empty.d.mts.map +1 -0
  149. package/dist/components/empty/Empty.mjs +44 -0
  150. package/dist/components/empty/Empty.mjs.map +1 -0
  151. package/dist/components/empty/index.d.cts +3 -0
  152. package/dist/components/empty/index.d.mts +3 -0
  153. package/dist/components/field/index.d.cts +2 -0
  154. package/dist/components/field/index.d.mts +2 -0
  155. package/dist/components/fog-illustration/FogIllustration.cjs +342 -0
  156. package/dist/components/fog-illustration/FogIllustration.cjs.map +1 -0
  157. package/dist/components/fog-illustration/FogIllustration.d.cts +35 -0
  158. package/dist/components/fog-illustration/FogIllustration.d.cts.map +1 -0
  159. package/dist/components/fog-illustration/FogIllustration.d.mts +35 -0
  160. package/dist/components/fog-illustration/FogIllustration.d.mts.map +1 -0
  161. package/dist/components/fog-illustration/FogIllustration.mjs +341 -0
  162. package/dist/components/fog-illustration/FogIllustration.mjs.map +1 -0
  163. package/dist/components/grid/Grid.cjs +51 -0
  164. package/dist/components/grid/Grid.cjs.map +1 -0
  165. package/dist/components/grid/Grid.d.cts +25 -0
  166. package/dist/components/grid/Grid.d.cts.map +1 -0
  167. package/dist/components/grid/Grid.d.mts +25 -0
  168. package/dist/components/grid/Grid.d.mts.map +1 -0
  169. package/dist/components/grid/Grid.mjs +48 -0
  170. package/dist/components/grid/Grid.mjs.map +1 -0
  171. package/dist/components/grid/index.d.cts +2 -0
  172. package/dist/components/grid/index.d.mts +2 -0
  173. package/dist/components/icon/Icon.cjs +30 -0
  174. package/dist/components/icon/Icon.cjs.map +1 -0
  175. package/dist/components/icon/Icon.d.cts +14 -0
  176. package/dist/components/icon/Icon.d.cts.map +1 -0
  177. package/dist/components/icon/Icon.d.mts +14 -0
  178. package/dist/components/icon/Icon.d.mts.map +1 -0
  179. package/dist/components/icon/Icon.mjs +28 -0
  180. package/dist/components/icon/Icon.mjs.map +1 -0
  181. package/dist/components/icon/index.d.cts +2 -0
  182. package/dist/components/icon/index.d.mts +2 -0
  183. package/dist/components/input/index.d.cts +2 -0
  184. package/dist/components/input/index.d.mts +2 -0
  185. package/dist/components/item/Item.cjs +65 -0
  186. package/dist/components/item/Item.cjs.map +1 -0
  187. package/dist/components/item/Item.d.cts +24 -0
  188. package/dist/components/item/Item.d.cts.map +1 -0
  189. package/dist/components/item/Item.d.mts +24 -0
  190. package/dist/components/item/Item.d.mts.map +1 -0
  191. package/dist/components/item/Item.mjs +54 -0
  192. package/dist/components/item/Item.mjs.map +1 -0
  193. package/dist/components/item/index.d.cts +3 -0
  194. package/dist/components/item/index.d.mts +3 -0
  195. package/dist/components/label/index.d.cts +2 -0
  196. package/dist/components/label/index.d.mts +2 -0
  197. package/dist/components/language-select/LanguageSelect.cjs +48 -0
  198. package/dist/components/language-select/LanguageSelect.cjs.map +1 -0
  199. package/dist/components/language-select/LanguageSelect.d.cts +17 -0
  200. package/dist/components/language-select/LanguageSelect.d.cts.map +1 -0
  201. package/dist/components/language-select/LanguageSelect.d.mts +17 -0
  202. package/dist/components/language-select/LanguageSelect.d.mts.map +1 -0
  203. package/dist/components/language-select/LanguageSelect.mjs +46 -0
  204. package/dist/components/language-select/LanguageSelect.mjs.map +1 -0
  205. package/dist/components/language-select/index.d.cts +2 -0
  206. package/dist/components/language-select/index.d.mts +2 -0
  207. package/dist/components/link/Link.cjs +71 -0
  208. package/dist/components/link/Link.cjs.map +1 -0
  209. package/dist/components/link/Link.d.cts +18 -0
  210. package/dist/components/link/Link.d.cts.map +1 -0
  211. package/dist/components/link/Link.d.mts +18 -0
  212. package/dist/components/link/Link.d.mts.map +1 -0
  213. package/dist/components/link/Link.mjs +68 -0
  214. package/dist/components/link/Link.mjs.map +1 -0
  215. package/dist/components/link/index.d.cts +2 -0
  216. package/dist/components/link/index.d.mts +2 -0
  217. package/dist/components/list/List.cjs +71 -0
  218. package/dist/components/list/List.cjs.map +1 -0
  219. package/dist/components/list/List.d.cts +24 -0
  220. package/dist/components/list/List.d.cts.map +1 -0
  221. package/dist/components/list/List.d.mts +24 -0
  222. package/dist/components/list/List.d.mts.map +1 -0
  223. package/dist/components/list/List.mjs +66 -0
  224. package/dist/components/list/List.mjs.map +1 -0
  225. package/dist/components/list/index.d.cts +2 -0
  226. package/dist/components/list/index.d.mts +2 -0
  227. package/dist/components/model-card/ModelCard.cjs +108 -0
  228. package/dist/components/model-card/ModelCard.cjs.map +1 -0
  229. package/dist/components/model-card/ModelCard.d.cts +58 -0
  230. package/dist/components/model-card/ModelCard.d.cts.map +1 -0
  231. package/dist/components/model-card/ModelCard.d.mts +58 -0
  232. package/dist/components/model-card/ModelCard.d.mts.map +1 -0
  233. package/dist/components/model-card/ModelCard.mjs +106 -0
  234. package/dist/components/model-card/ModelCard.mjs.map +1 -0
  235. package/dist/components/model-card/index.d.cts +3 -0
  236. package/dist/components/model-card/index.d.mts +3 -0
  237. package/dist/components/model-logo/ModelLogo.cjs +98 -0
  238. package/dist/components/model-logo/ModelLogo.cjs.map +1 -0
  239. package/dist/components/model-logo/ModelLogo.d.cts +32 -0
  240. package/dist/components/model-logo/ModelLogo.d.cts.map +1 -0
  241. package/dist/components/model-logo/ModelLogo.d.mts +32 -0
  242. package/dist/components/model-logo/ModelLogo.d.mts.map +1 -0
  243. package/dist/components/model-logo/ModelLogo.mjs +95 -0
  244. package/dist/components/model-logo/ModelLogo.mjs.map +1 -0
  245. package/dist/components/model-logo/index.d.cts +2 -0
  246. package/dist/components/model-logo/index.d.mts +2 -0
  247. package/dist/components/navigation-menu/NavigationMenu.cjs +65 -0
  248. package/dist/components/navigation-menu/NavigationMenu.cjs.map +1 -0
  249. package/dist/components/navigation-menu/NavigationMenu.d.cts +11 -0
  250. package/dist/components/navigation-menu/NavigationMenu.d.cts.map +1 -0
  251. package/dist/components/navigation-menu/NavigationMenu.d.mts +11 -0
  252. package/dist/components/navigation-menu/NavigationMenu.d.mts.map +1 -0
  253. package/dist/components/navigation-menu/NavigationMenu.mjs +57 -0
  254. package/dist/components/navigation-menu/NavigationMenu.mjs.map +1 -0
  255. package/dist/components/navigation-menu/index.d.cts +3 -0
  256. package/dist/components/navigation-menu/index.d.mts +3 -0
  257. package/dist/components/neural-flow/NeuralFlow.cjs +1038 -0
  258. package/dist/components/neural-flow/NeuralFlow.cjs.map +1 -0
  259. package/dist/components/neural-flow/NeuralFlow.d.cts +47 -0
  260. package/dist/components/neural-flow/NeuralFlow.d.cts.map +1 -0
  261. package/dist/components/neural-flow/NeuralFlow.d.mts +47 -0
  262. package/dist/components/neural-flow/NeuralFlow.d.mts.map +1 -0
  263. package/dist/components/neural-flow/NeuralFlow.mjs +1032 -0
  264. package/dist/components/neural-flow/NeuralFlow.mjs.map +1 -0
  265. package/dist/components/neural-flow/index.d.cts +2 -0
  266. package/dist/components/neural-flow/index.d.mts +2 -0
  267. package/dist/components/neural-flow/mnist-samples.cjs +73 -0
  268. package/dist/components/neural-flow/mnist-samples.cjs.map +1 -0
  269. package/dist/components/neural-flow/mnist-samples.mjs +73 -0
  270. package/dist/components/neural-flow/mnist-samples.mjs.map +1 -0
  271. package/dist/components/neural-flow/sparse-weights.cjs +21 -0
  272. package/dist/components/neural-flow/sparse-weights.cjs.map +1 -0
  273. package/dist/components/neural-flow/sparse-weights.mjs +21 -0
  274. package/dist/components/neural-flow/sparse-weights.mjs.map +1 -0
  275. package/dist/components/progress/Progress.cjs +25 -0
  276. package/dist/components/progress/Progress.cjs.map +1 -0
  277. package/dist/components/progress/Progress.d.cts +8 -0
  278. package/dist/components/progress/Progress.d.cts.map +1 -0
  279. package/dist/components/progress/Progress.d.mts +8 -0
  280. package/dist/components/progress/Progress.d.mts.map +1 -0
  281. package/dist/components/progress/Progress.mjs +19 -0
  282. package/dist/components/progress/Progress.mjs.map +1 -0
  283. package/dist/components/progress/index.d.cts +3 -0
  284. package/dist/components/progress/index.d.mts +3 -0
  285. package/dist/components/search-input/SearchInput.cjs +28 -0
  286. package/dist/components/search-input/SearchInput.cjs.map +1 -0
  287. package/dist/components/search-input/SearchInput.d.cts +10 -0
  288. package/dist/components/search-input/SearchInput.d.cts.map +1 -0
  289. package/dist/components/search-input/SearchInput.d.mts +10 -0
  290. package/dist/components/search-input/SearchInput.d.mts.map +1 -0
  291. package/dist/components/search-input/SearchInput.mjs +26 -0
  292. package/dist/components/search-input/SearchInput.mjs.map +1 -0
  293. package/dist/components/search-input/index.d.cts +2 -0
  294. package/dist/components/search-input/index.d.mts +2 -0
  295. package/dist/components/select/index.d.cts +2 -0
  296. package/dist/components/select/index.d.mts +2 -0
  297. package/dist/components/sidebar/Sidebar.cjs +203 -0
  298. package/dist/components/sidebar/Sidebar.cjs.map +1 -0
  299. package/dist/components/sidebar/Sidebar.d.cts +69 -0
  300. package/dist/components/sidebar/Sidebar.d.cts.map +1 -0
  301. package/dist/components/sidebar/Sidebar.d.mts +69 -0
  302. package/dist/components/sidebar/Sidebar.d.mts.map +1 -0
  303. package/dist/components/sidebar/Sidebar.mjs +150 -0
  304. package/dist/components/sidebar/Sidebar.mjs.map +1 -0
  305. package/dist/components/sidebar/index.d.cts +3 -0
  306. package/dist/components/sidebar/index.d.mts +3 -0
  307. package/dist/components/skeleton/Skeleton.cjs +20 -0
  308. package/dist/components/skeleton/Skeleton.cjs.map +1 -0
  309. package/dist/components/skeleton/Skeleton.d.cts +7 -0
  310. package/dist/components/skeleton/Skeleton.d.cts.map +1 -0
  311. package/dist/components/skeleton/Skeleton.d.mts +7 -0
  312. package/dist/components/skeleton/Skeleton.d.mts.map +1 -0
  313. package/dist/components/skeleton/Skeleton.mjs +18 -0
  314. package/dist/components/skeleton/Skeleton.mjs.map +1 -0
  315. package/dist/components/skeleton/index.d.cts +2 -0
  316. package/dist/components/skeleton/index.d.mts +2 -0
  317. package/dist/components/switch/Switch.cjs +85 -0
  318. package/dist/components/switch/Switch.cjs.map +1 -0
  319. package/dist/components/switch/Switch.d.cts +21 -0
  320. package/dist/components/switch/Switch.d.cts.map +1 -0
  321. package/dist/components/switch/Switch.d.mts +21 -0
  322. package/dist/components/switch/Switch.d.mts.map +1 -0
  323. package/dist/components/switch/Switch.mjs +81 -0
  324. package/dist/components/switch/Switch.mjs.map +1 -0
  325. package/dist/components/switch/index.d.cts +2 -0
  326. package/dist/components/switch/index.d.mts +2 -0
  327. package/dist/components/table/Table.cjs +67 -0
  328. package/dist/components/table/Table.cjs.map +1 -0
  329. package/dist/components/table/Table.d.cts +13 -0
  330. package/dist/components/table/Table.d.cts.map +1 -0
  331. package/dist/components/table/Table.d.mts +13 -0
  332. package/dist/components/table/Table.d.mts.map +1 -0
  333. package/dist/components/table/Table.mjs +58 -0
  334. package/dist/components/table/Table.mjs.map +1 -0
  335. package/dist/components/table/index.d.cts +2 -0
  336. package/dist/components/table/index.d.mts +2 -0
  337. package/dist/components/text-area/index.d.cts +2 -0
  338. package/dist/components/text-area/index.d.mts +2 -0
  339. package/dist/components/theme-provider/ThemeProvider.cjs +81 -0
  340. package/dist/components/theme-provider/ThemeProvider.cjs.map +1 -0
  341. package/dist/components/theme-provider/ThemeProvider.d.cts +21 -0
  342. package/dist/components/theme-provider/ThemeProvider.d.cts.map +1 -0
  343. package/dist/components/theme-provider/ThemeProvider.d.mts +21 -0
  344. package/dist/components/theme-provider/ThemeProvider.d.mts.map +1 -0
  345. package/dist/components/theme-provider/ThemeProvider.mjs +78 -0
  346. package/dist/components/theme-provider/ThemeProvider.mjs.map +1 -0
  347. package/dist/components/theme-provider/ThemeToggle.cjs +56 -0
  348. package/dist/components/theme-provider/ThemeToggle.cjs.map +1 -0
  349. package/dist/components/theme-provider/ThemeToggle.d.cts +12 -0
  350. package/dist/components/theme-provider/ThemeToggle.d.cts.map +1 -0
  351. package/dist/components/theme-provider/ThemeToggle.d.mts +12 -0
  352. package/dist/components/theme-provider/ThemeToggle.d.mts.map +1 -0
  353. package/dist/components/theme-provider/ThemeToggle.mjs +54 -0
  354. package/dist/components/theme-provider/ThemeToggle.mjs.map +1 -0
  355. package/dist/components/theme-provider/index.d.cts +3 -0
  356. package/dist/components/theme-provider/index.d.mts +3 -0
  357. package/dist/components/tooltip/Tooltip.cjs +28 -0
  358. package/dist/components/tooltip/Tooltip.cjs.map +1 -0
  359. package/dist/components/tooltip/Tooltip.d.cts +14 -0
  360. package/dist/components/tooltip/Tooltip.d.cts.map +1 -0
  361. package/dist/components/tooltip/Tooltip.d.mts +14 -0
  362. package/dist/components/tooltip/Tooltip.d.mts.map +1 -0
  363. package/dist/components/tooltip/Tooltip.mjs +23 -0
  364. package/dist/components/tooltip/Tooltip.mjs.map +1 -0
  365. package/dist/components/tooltip/index.d.cts +3 -0
  366. package/dist/components/tooltip/index.d.mts +3 -0
  367. package/dist/components/typography/Typography.cjs +69 -0
  368. package/dist/components/typography/Typography.cjs.map +1 -0
  369. package/dist/components/typography/Typography.d.cts +14 -0
  370. package/dist/components/typography/Typography.d.cts.map +1 -0
  371. package/dist/components/typography/Typography.d.mts +14 -0
  372. package/dist/components/typography/Typography.d.mts.map +1 -0
  373. package/dist/components/typography/Typography.mjs +67 -0
  374. package/dist/components/typography/Typography.mjs.map +1 -0
  375. package/dist/components/typography/index.d.cts +2 -0
  376. package/dist/components/typography/index.d.mts +2 -0
  377. package/dist/components/window-frame/WindowFrame.cjs +47 -0
  378. package/dist/components/window-frame/WindowFrame.cjs.map +1 -0
  379. package/dist/components/window-frame/WindowFrame.d.cts +19 -0
  380. package/dist/components/window-frame/WindowFrame.d.cts.map +1 -0
  381. package/dist/components/window-frame/WindowFrame.d.mts +19 -0
  382. package/dist/components/window-frame/WindowFrame.d.mts.map +1 -0
  383. package/dist/components/window-frame/WindowFrame.mjs +46 -0
  384. package/dist/components/window-frame/WindowFrame.mjs.map +1 -0
  385. package/dist/components/window-frame/index.d.cts +2 -0
  386. package/dist/components/window-frame/index.d.mts +2 -0
  387. package/dist/hooks/use-mobile.cjs +23 -0
  388. package/dist/hooks/use-mobile.cjs.map +1 -0
  389. package/dist/hooks/use-mobile.mjs +21 -0
  390. package/dist/hooks/use-mobile.mjs.map +1 -0
  391. package/dist/index.cjs +235 -5940
  392. package/dist/index.d.cts +90 -840
  393. package/dist/index.d.mts +90 -0
  394. package/dist/index.mjs +52 -0
  395. package/dist/lib/shiki-theme.cjs +10 -0
  396. package/dist/lib/shiki-theme.cjs.map +1 -0
  397. package/dist/lib/shiki-theme.d.cts +4 -0
  398. package/dist/lib/shiki-theme.d.cts.map +1 -0
  399. package/dist/lib/shiki-theme.d.mts +4 -0
  400. package/dist/lib/shiki-theme.d.mts.map +1 -0
  401. package/dist/lib/shiki-theme.mjs +11 -0
  402. package/dist/lib/shiki-theme.mjs.map +1 -0
  403. package/dist/lib/shiki.cjs +31 -0
  404. package/dist/lib/shiki.cjs.map +1 -0
  405. package/dist/lib/shiki.d.cts +6 -0
  406. package/dist/lib/shiki.d.cts.map +1 -0
  407. package/dist/lib/shiki.d.mts +6 -0
  408. package/dist/lib/shiki.d.mts.map +1 -0
  409. package/dist/lib/shiki.mjs +30 -0
  410. package/dist/lib/shiki.mjs.map +1 -0
  411. package/dist/lib/terminal.d.cts +12 -0
  412. package/dist/lib/terminal.d.cts.map +1 -0
  413. package/dist/lib/terminal.d.mts +12 -0
  414. package/dist/lib/terminal.d.mts.map +1 -0
  415. package/dist/lib/utils.cjs +43 -0
  416. package/dist/lib/utils.cjs.map +1 -0
  417. package/dist/lib/utils.mjs +41 -0
  418. package/dist/lib/utils.mjs.map +1 -0
  419. package/dist/neural-flow.cjs +3 -1015
  420. package/dist/neural-flow.d.cts +3 -47
  421. package/dist/neural-flow.d.mts +3 -0
  422. package/dist/neural-flow.mjs +1 -0
  423. package/dist/primitives/alert.cjs +43 -0
  424. package/dist/primitives/alert.cjs.map +1 -0
  425. package/dist/primitives/alert.d.cts +8 -0
  426. package/dist/primitives/alert.d.cts.map +1 -0
  427. package/dist/primitives/alert.d.mts +8 -0
  428. package/dist/primitives/alert.d.mts.map +1 -0
  429. package/dist/primitives/alert.mjs +39 -0
  430. package/dist/primitives/alert.mjs.map +1 -0
  431. package/dist/primitives/button.cjs +48 -0
  432. package/dist/primitives/button.cjs.map +1 -0
  433. package/dist/primitives/button.d.cts +11 -0
  434. package/dist/primitives/button.d.cts.map +1 -0
  435. package/dist/primitives/button.d.mts +11 -0
  436. package/dist/primitives/button.d.mts.map +1 -0
  437. package/dist/primitives/button.mjs +47 -0
  438. package/dist/primitives/button.mjs.map +1 -0
  439. package/dist/primitives/card.cjs +67 -0
  440. package/dist/primitives/card.cjs.map +1 -0
  441. package/dist/primitives/card.d.cts +11 -0
  442. package/dist/primitives/card.d.cts.map +1 -0
  443. package/dist/primitives/card.d.mts +11 -0
  444. package/dist/primitives/card.d.mts.map +1 -0
  445. package/dist/primitives/card.mjs +59 -0
  446. package/dist/primitives/card.mjs.map +1 -0
  447. package/dist/primitives/checkbox.cjs +22 -0
  448. package/dist/primitives/checkbox.cjs.map +1 -0
  449. package/dist/primitives/checkbox.mjs +22 -0
  450. package/dist/primitives/checkbox.mjs.map +1 -0
  451. package/dist/primitives/command.cjs +69 -0
  452. package/dist/primitives/command.cjs.map +1 -0
  453. package/dist/primitives/command.mjs +62 -0
  454. package/dist/primitives/command.mjs.map +1 -0
  455. package/dist/primitives/dropdown-menu.cjs +155 -0
  456. package/dist/primitives/dropdown-menu.cjs.map +1 -0
  457. package/dist/primitives/dropdown-menu.d.cts +30 -0
  458. package/dist/primitives/dropdown-menu.d.cts.map +1 -0
  459. package/dist/primitives/dropdown-menu.d.mts +30 -0
  460. package/dist/primitives/dropdown-menu.d.mts.map +1 -0
  461. package/dist/primitives/dropdown-menu.mjs +139 -0
  462. package/dist/primitives/dropdown-menu.mjs.map +1 -0
  463. package/dist/primitives/empty.cjs +67 -0
  464. package/dist/primitives/empty.cjs.map +1 -0
  465. package/dist/primitives/empty.d.cts +8 -0
  466. package/dist/primitives/empty.d.cts.map +1 -0
  467. package/dist/primitives/empty.d.mts +8 -0
  468. package/dist/primitives/empty.d.mts.map +1 -0
  469. package/dist/primitives/empty.mjs +62 -0
  470. package/dist/primitives/empty.mjs.map +1 -0
  471. package/dist/primitives/field.cjs +121 -0
  472. package/dist/primitives/field.cjs.map +1 -0
  473. package/dist/primitives/field.d.cts +27 -0
  474. package/dist/primitives/field.d.cts.map +1 -0
  475. package/dist/primitives/field.d.mts +27 -0
  476. package/dist/primitives/field.d.mts.map +1 -0
  477. package/dist/primitives/field.mjs +112 -0
  478. package/dist/primitives/field.mjs.map +1 -0
  479. package/dist/primitives/input-group.cjs +52 -0
  480. package/dist/primitives/input-group.cjs.map +1 -0
  481. package/dist/primitives/input-group.mjs +49 -0
  482. package/dist/primitives/input-group.mjs.map +1 -0
  483. package/dist/primitives/input.cjs +20 -0
  484. package/dist/primitives/input.cjs.map +1 -0
  485. package/dist/primitives/input.d.cts +6 -0
  486. package/dist/primitives/input.d.cts.map +1 -0
  487. package/dist/primitives/input.d.mts +6 -0
  488. package/dist/primitives/input.d.mts.map +1 -0
  489. package/dist/primitives/input.mjs +18 -0
  490. package/dist/primitives/input.mjs.map +1 -0
  491. package/dist/primitives/item.cjs +135 -0
  492. package/dist/primitives/item.cjs.map +1 -0
  493. package/dist/primitives/item.d.cts +18 -0
  494. package/dist/primitives/item.d.cts.map +1 -0
  495. package/dist/primitives/item.d.mts +18 -0
  496. package/dist/primitives/item.d.mts.map +1 -0
  497. package/dist/primitives/item.mjs +124 -0
  498. package/dist/primitives/item.mjs.map +1 -0
  499. package/dist/primitives/label.cjs +18 -0
  500. package/dist/primitives/label.cjs.map +1 -0
  501. package/dist/primitives/label.d.cts +6 -0
  502. package/dist/primitives/label.d.cts.map +1 -0
  503. package/dist/primitives/label.d.mts +6 -0
  504. package/dist/primitives/label.d.mts.map +1 -0
  505. package/dist/primitives/label.mjs +16 -0
  506. package/dist/primitives/label.mjs.map +1 -0
  507. package/dist/primitives/navigation-menu.cjs +44 -0
  508. package/dist/primitives/navigation-menu.cjs.map +1 -0
  509. package/dist/primitives/navigation-menu.d.cts +9 -0
  510. package/dist/primitives/navigation-menu.d.cts.map +1 -0
  511. package/dist/primitives/navigation-menu.d.mts +9 -0
  512. package/dist/primitives/navigation-menu.d.mts.map +1 -0
  513. package/dist/primitives/navigation-menu.mjs +41 -0
  514. package/dist/primitives/navigation-menu.mjs.map +1 -0
  515. package/dist/primitives/popover.cjs +40 -0
  516. package/dist/primitives/popover.cjs.map +1 -0
  517. package/dist/primitives/popover.mjs +36 -0
  518. package/dist/primitives/popover.mjs.map +1 -0
  519. package/dist/primitives/progress.cjs +50 -0
  520. package/dist/primitives/progress.cjs.map +1 -0
  521. package/dist/primitives/progress.d.cts +10 -0
  522. package/dist/primitives/progress.d.cts.map +1 -0
  523. package/dist/primitives/progress.d.mts +10 -0
  524. package/dist/primitives/progress.d.mts.map +1 -0
  525. package/dist/primitives/progress.mjs +46 -0
  526. package/dist/primitives/progress.mjs.map +1 -0
  527. package/dist/primitives/select.cjs +111 -0
  528. package/dist/primitives/select.cjs.map +1 -0
  529. package/dist/primitives/select.d.cts +18 -0
  530. package/dist/primitives/select.d.cts.map +1 -0
  531. package/dist/primitives/select.d.mts +18 -0
  532. package/dist/primitives/select.d.mts.map +1 -0
  533. package/dist/primitives/select.mjs +100 -0
  534. package/dist/primitives/select.mjs.map +1 -0
  535. package/dist/primitives/separator.cjs +17 -0
  536. package/dist/primitives/separator.cjs.map +1 -0
  537. package/dist/primitives/separator.d.cts +6 -0
  538. package/dist/primitives/separator.d.cts.map +1 -0
  539. package/dist/primitives/separator.d.mts +6 -0
  540. package/dist/primitives/separator.d.mts.map +1 -0
  541. package/dist/primitives/separator.mjs +17 -0
  542. package/dist/primitives/separator.mjs.map +1 -0
  543. package/dist/primitives/sheet.cjs +78 -0
  544. package/dist/primitives/sheet.cjs.map +1 -0
  545. package/dist/primitives/sheet.mjs +72 -0
  546. package/dist/primitives/sheet.mjs.map +1 -0
  547. package/dist/primitives/sidebar.cjs +413 -0
  548. package/dist/primitives/sidebar.cjs.map +1 -0
  549. package/dist/primitives/sidebar.d.cts +66 -0
  550. package/dist/primitives/sidebar.d.cts.map +1 -0
  551. package/dist/primitives/sidebar.d.mts +66 -0
  552. package/dist/primitives/sidebar.d.mts.map +1 -0
  553. package/dist/primitives/sidebar.mjs +388 -0
  554. package/dist/primitives/sidebar.mjs.map +1 -0
  555. package/dist/primitives/skeleton.cjs +15 -0
  556. package/dist/primitives/skeleton.cjs.map +1 -0
  557. package/dist/primitives/skeleton.mjs +15 -0
  558. package/dist/primitives/skeleton.mjs.map +1 -0
  559. package/dist/primitives/table.cjs +78 -0
  560. package/dist/primitives/table.cjs.map +1 -0
  561. package/dist/primitives/table.mjs +69 -0
  562. package/dist/primitives/table.mjs.map +1 -0
  563. package/dist/primitives/textarea.cjs +18 -0
  564. package/dist/primitives/textarea.cjs.map +1 -0
  565. package/dist/primitives/textarea.d.cts +6 -0
  566. package/dist/primitives/textarea.d.cts.map +1 -0
  567. package/dist/primitives/textarea.d.mts +6 -0
  568. package/dist/primitives/textarea.d.mts.map +1 -0
  569. package/dist/primitives/textarea.mjs +16 -0
  570. package/dist/primitives/textarea.mjs.map +1 -0
  571. package/dist/primitives/tooltip.cjs +46 -0
  572. package/dist/primitives/tooltip.cjs.map +1 -0
  573. package/dist/primitives/tooltip.d.cts +9 -0
  574. package/dist/primitives/tooltip.d.cts.map +1 -0
  575. package/dist/primitives/tooltip.d.mts +9 -0
  576. package/dist/primitives/tooltip.d.mts.map +1 -0
  577. package/dist/primitives/tooltip.mjs +43 -0
  578. package/dist/primitives/tooltip.mjs.map +1 -0
  579. package/dist/shiki.cjs +6 -80
  580. package/dist/shiki.d.cts +3 -10
  581. package/dist/shiki.d.mts +3 -0
  582. package/dist/shiki.mjs +3 -0
  583. package/dist/styles/index.css +11 -0
  584. package/package.json +19 -13
  585. package/dist/chunk-3LBFYXI6.js +0 -42
  586. package/dist/chunk-3LBFYXI6.js.map +0 -1
  587. package/dist/index.cjs.map +0 -1
  588. package/dist/index.d.ts +0 -840
  589. package/dist/index.js +0 -5685
  590. package/dist/index.js.map +0 -1
  591. package/dist/neural-flow.cjs.map +0 -1
  592. package/dist/neural-flow.d.ts +0 -47
  593. package/dist/neural-flow.js +0 -978
  594. package/dist/neural-flow.js.map +0 -1
  595. package/dist/shiki.cjs.map +0 -1
  596. package/dist/shiki.d.ts +0 -10
  597. package/dist/shiki.js +0 -11
  598. package/dist/shiki.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NeuralFlow.mjs","names":[],"sources":["../../../src/components/neural-flow/NeuralFlow.tsx"],"sourcesContent":["'use client';\n\n/* cspell:disable */\nimport { Canvas, useFrame, useThree } from '@react-three/fiber';\nimport { useEffect, useMemo, useRef, type CSSProperties, type FC, type RefObject } from 'react';\nimport * as THREE from 'three';\nimport { MNIST_SAMPLES } from './mnist-samples';\nimport { SPARSE_WEIGHTS } from './sparse-weights';\n\n/**\n * NeuralFlow — AI inference, rendered live.\n *\n * An MLP in the shape of a classic MNIST classifier (784-256-128-64-10)\n * floats in the Berget green, layer plane after plane receding into the\n * depth. Tokens — signal packets — travel edge to edge through the net;\n * every hop a weight attenuates them (they fade) or amplifies them\n * (they swell bright), until a sample rolls the whole way through and\n * the predicted output node blooms white-green. A CPU sim drives the\n * state (1.2k nodes, ~1.8k live tokens is trivial arithmetic per\n * frame); three.js only paints points, lines and a fog plane — which\n * keeps this Safari-safe with zero float-FBO involvement.\n *\n * Props: every visual knob is a plain number prop read each frame —\n * exposure, focus/blurK depth-of-field, sim speed (a true timeline:\n * 0 pauses pixel-for-pixel, 0.2 is dream's pace), token intensity and\n * camera drift. Reduced motion paints one deterministic still.\n */\n\n// ---------------------------------------------------------------- layout ---\n\nconst LAYER_SIZES = [784, 256, 128, 64, 10] as const;\nconst LAYER_GRID: [rows: number, cols: number][] = [\n [28, 28],\n [16, 16],\n [16, 8],\n [8, 8],\n [10, 1],\n];\nconst LAYER_X = 1.35; // camera-to-plane spacing along the stack axis\nconst CELL = 0.05; // world units between neighbours in a plane\nconst TOKEN_POOL = 1800;\nconst SAMPLE_INTERVAL = 6.5; // seconds between input samples\nconst SAMPLE_WINDOW = 2.6; // sample emission window — long enough to paint the numeral\nconst SAMPLE_RATE = 420; // tokens/second during a sample (x intensity)\nconst TRICKLE_RATE = 40; // idle tokens/second\nconst CLASSES = 10;\n\nexport type NeuralFlowOrientation = 'horizontal' | 'vertical';\n\n/** Classic 5x7 numerals — the actual \"images\" the net sees per class. */\nconst DIGITS: string[][] = [\n ['.###.', '#...#', '#..##', '#.#.#', '##..#', '#...#', '.###.'],\n ['..#..', '.##..', '..#..', '..#..', '..#..', '..#..', '#####'],\n ['.###.', '#...#', '....#', '...#.', '..#..', '.#...', '#####'],\n ['#####', '...#.', '..#..', '...#.', '....#', '#...#', '.###.'],\n ['...#.', '..##.', '.#.#.', '#..#.', '#####', '...#.', '...#.'],\n ['#####', '#....', '####.', '....#', '....#', '#...#', '.###.'],\n ['..##.', '.#...', '#....', '####.', '#...#', '#...#', '.###.'],\n ['#####', '....#', '...#.', '..#..', '.#...', '.#...', '.#...'],\n ['.###.', '#...#', '#...#', '.###.', '#...#', '#...#', '.###.'],\n ['.###.', '#...#', '#...#', '.####', '....#', '...#.', '.##..'],\n];\n\nconst PALETTE = {\n deep: [0.027, 0.235, 0.2] as const,\n mid: [0.051, 0.42, 0.322] as const,\n crest: [0.137, 0.627, 0.36] as const,\n slate: [0.12, 0.17, 0.19] as const,\n white: [0.85, 1.0, 0.9] as const,\n};\n\n/** The dark well behind the fog plane, in brand tokens — the gradient\n the raw canvas painted under itself. Requires the package's\n styles (dist/styles/index.css), like every themed component here. */\nconst BACKDROP =\n 'radial-gradient(120% 95% at 28% 58%, var(--berget-brand-moss-900) 0%, var(--berget-brand-moss-950) 55%, var(--berget-brand-granite-950) 100%)';\n\n// ---------------------------------------------------------------- rng ------\n\nfunction mulberry32(seed: number) {\n let a = seed >>> 0;\n return () => {\n a |= 0;\n a = (a + 0x6d2b79f5) | 0;\n let t = Math.imul(a ^ (a >>> 15), 1 | a);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n };\n}\n\n// ------------------------------------------------------------- network -----\n\ntype Network = {\n /** Flat node positions, xyz per node. */\n positions: Float32Array;\n nodeCount: number;\n layerStart: number[]; // first flat index of each layer\n /** For each node: outgoing targets [dstFlatIndex, weight] pairs. */\n out: { dst: number[]; w: number[] }[];\n /** For each node: incoming edges (needed for the forward pass). */\n inEdges: { src: number; w: number }[][];\n /** Static line segments between connected nodes, xyz per vertex. */\n edgePositions: Float32Array;\n /** Per-vertex edge weight, mirrored into the line shader. */\n edgeWeights: Float32Array;\n edgeCount: number;\n};\n\nexport type InputBlob = { i: number; w: number }[];\n/** One entry per class; each holds that class's candidate input cells. */\nexport type ClassBlobs = InputBlob[];\n\nfunction buildNetwork(seed: number, orientation: NeuralFlowOrientation): Network {\n const rng = mulberry32(seed);\n const nodeCount = LAYER_SIZES.reduce((a, b) => a + b, 0);\n const positions = new Float32Array(nodeCount * 3);\n const layerStart: number[] = [];\n let flat = 0;\n\n LAYER_SIZES.forEach((size, li) => {\n layerStart.push(flat);\n const [rows, cols] = LAYER_GRID[li]!;\n for (let i = 0; i < size; i++) {\n const r = Math.floor(i / cols);\n const c = i % cols;\n const o = flat * 3;\n if (orientation === 'vertical') {\n // Upright stack: layers rise in +Y, each plane a floor slab in X-Z.\n positions[o] = (c - (cols - 1) / 2) * CELL;\n positions[o + 1] = li * LAYER_X;\n positions[o + 2] = (r - (rows - 1) / 2) * CELL;\n } else {\n positions[o] = li * LAYER_X;\n positions[o + 1] = (r - (rows - 1) / 2) * CELL;\n positions[o + 2] = (c - (cols - 1) / 2) * CELL;\n }\n flat++;\n }\n });\n\n // Sparse random inter-layer connectivity — fan-in per node, mostly\n // excitatory weights with a minority of inhibitory ones; weakly\n // 1/sqrt(fanIn) normalised like a real init.\n const fanIn = [0, 9, 10, 10, 7]; // sources per node, per layer\n const inEdges: { src: number; w: number }[][] = [];\n for (let i = 0; i < nodeCount; i++) inEdges.push([]);\n for (let li = 1; li < LAYER_SIZES.length; li++) {\n const srcBase = layerStart[li - 1]!;\n const dstBase = layerStart[li]!;\n for (let d = 0; d < LAYER_SIZES[li]!; d++) {\n const k = fanIn[li]!;\n for (let e = 0; e < k; e++) {\n const src = srcBase + Math.floor(rng() * LAYER_SIZES[li - 1]!);\n const excitatory = rng() < 0.85;\n // Excitatory weights amplify (0.75-1.65) so a signal can really\n // SURVIVE end-to-end; inhibitory ones bleed a token hard.\n const w = excitatory ? 0.75 + 0.9 * rng() : -(0.35 + 0.35 * rng());\n inEdges[dstBase + d]!.push({ src, w });\n }\n }\n }\n\n // Transpose to outgoing lists + build static line geometry.\n const out: { dst: number[]; w: number[] }[] = [];\n for (let i = 0; i < nodeCount; i++) out.push({ dst: [], w: [] });\n let edgeCount = 0;\n for (let d = 0; d < nodeCount; d++) edgeCount += inEdges[d]!.length;\n const edgePositions = new Float32Array(edgeCount * 2 * 3);\n const edgeWeights = new Float32Array(edgeCount * 2);\n let eo = 0;\n for (let d = 0; d < nodeCount; d++) {\n for (const e of inEdges[d]!) {\n out[e.src]!.dst.push(d);\n out[e.src]!.w.push(e.w);\n edgePositions[eo * 6] = positions[e.src * 3]!;\n edgePositions[eo * 6 + 1] = positions[e.src * 3 + 1]!;\n edgePositions[eo * 6 + 2] = positions[e.src * 3 + 2]!;\n edgePositions[eo * 6 + 3] = positions[d * 3]!;\n edgePositions[eo * 6 + 4] = positions[d * 3 + 1]!;\n edgePositions[eo * 6 + 5] = positions[d * 3 + 2]!;\n const a = Math.min(1, Math.abs(e.w) * 1.6);\n edgeWeights[eo * 2] = a;\n edgeWeights[eo * 2 + 1] = a;\n eo++;\n }\n }\n\n return {\n positions,\n nodeCount,\n layerStart,\n out,\n inEdges,\n edgePositions,\n edgeWeights,\n edgeCount,\n };\n}\n\n// ------------------------------------------------------------------ sim ----\n\ntype Token = {\n src: number;\n dst: number;\n w: number;\n layer: number; // source layer index\n t: number; // 0..1 along the edge\n rate: number; // t units per second\n gain: number;\n pos: [number, number, number];\n};\n\nexport class FlowSim {\n private net: Network;\n private blobs: ClassBlobs[];\n private images: Float32Array[][];\n private trained: { w: Float32Array[]; b: Float32Array[] };\n /** Per-node energy of the CURRENT sample's real forward pass; decays\n after the sample window. */\n private energy: Float32Array;\n private predictedClass = 0;\n private act: Float32Array;\n private rng = mulberry32(0xc0ffee);\n private tokens: (Token | null)[] = [];\n private time = 0;\n private nextSample = 0.8;\n private sampleUntil = -10; // far past\n private sampleClass = 0;\n private sampleVariant = 0;\n private emitAcc = 0;\n readonly nodeAttr: Float32Array;\n readonly tokenPos: Float32Array;\n readonly tokenGain: Float32Array;\n\n constructor(\n seed = 1337,\n orientation: NeuralFlowOrientation = 'horizontal',\n blobs: ClassBlobs[] = glyphBlobs(),\n images: Float32Array[][] = [],\n trained: { w: Float32Array[]; b: Float32Array[] } = decodeWeights(),\n ) {\n this.net = buildNetwork(seed, orientation);\n attachWeights(this.net, trained);\n this.blobs = blobs;\n this.images = images;\n this.trained = trained;\n this.energy = new Float32Array(this.net.nodeCount);\n this.act = new Float32Array(this.net.nodeCount);\n this.nodeAttr = new Float32Array(this.net.nodeCount);\n this.tokenPos = new Float32Array(TOKEN_POOL * 3);\n this.tokenGain = new Float32Array(TOKEN_POOL);\n for (let i = 0; i < TOKEN_POOL; i++) this.tokens.push(null);\n }\n\n get network() {\n return this.net;\n }\n\n /** Advance the whole inference world by dt seconds (clamped internally). */\n step(dt: number, intensity: number) {\n dt = Math.min(dt, 0.12);\n this.time += dt;\n\n // Activation half-lives: mid-net ~0.8 s (0.42^dt); input ~1.4 s\n // (0.6^dt) so the numeral stays readable while it feeds; output\n // ~0.6 s (0.3^dt) so the column flickers with live traffic while\n // the continuously re-fed prediction still dominates.\n const decay = Math.pow(0.42, dt);\n const inDecay = Math.pow(0.6, dt);\n const outDecay = Math.pow(0.3, dt);\n const inEnd = this.net.layerStart[1]!;\n const outStart = this.net.layerStart[LAYER_SIZES.length - 1]!;\n for (let i = 0; i < this.act.length; i++) {\n this.act[i] = this.act[i]! * (i >= outStart ? outDecay : i < inEnd ? inDecay : decay);\n }\n\n // Sample scheduling: enter the emission window, pick the class.\n if (this.time >= this.nextSample) {\n this.sampleClass = Math.floor(this.rng() * CLASSES);\n const variants = this.blobs[this.sampleClass]!;\n this.sampleVariant = Math.floor(this.rng() * variants.length);\n this.sampleUntil = this.time + SAMPLE_WINDOW;\n this.nextSample = this.time + SAMPLE_INTERVAL;\n // The REAL forward pass: energy per node for this exact image,\n // and which class the net actually predicts (honest misses and all).\n const { predicted, energy } = forwardPass(\n this.net,\n this.trained,\n this.imageOf(this.sampleClass, this.sampleVariant),\n );\n this.predictedClass = predicted;\n this.energy = energy;\n }\n\n // The last sample's energy fades once its window ends.\n const fade = Math.pow(0.55, dt);\n if (this.time > this.sampleUntil) {\n for (let i = 0; i < this.energy.length; i++) this.energy[i] = this.energy[i]! * fade;\n }\n\n // Token injection — sample burst from its class blob, plus an\n // ever-present idle trickle so the net never looks dead.\n const inSample = this.time < this.sampleUntil;\n const rate = (inSample ? SAMPLE_RATE : TRICKLE_RATE) * intensity;\n\n this.emitAcc += rate * dt;\n while (this.emitAcc >= 1) {\n this.emitAcc -= 1;\n this.inject(inSample);\n }\n\n // Advance tokens, fire arrivals, hand on the baton or bury it.\n for (let i = 0; i < TOKEN_POOL; i++) {\n const tok = this.tokens[i];\n if (!tok) continue;\n tok.t += tok.rate * dt;\n const p = this.net.positions;\n const s3 = tok.src * 3;\n const d3 = tok.dst * 3;\n const t = Math.min(tok.t, 1);\n tok.pos = [\n p[s3]! + (p[d3]! - p[s3]!) * t,\n p[s3 + 1]! + (p[d3 + 1]! - p[s3 + 1]!) * t,\n p[s3 + 2]! + (p[d3 + 2]! - p[s3 + 2]!) * t,\n ];\n if (tok.t < 1) continue;\n\n // Arrival: EVERY deposit lights its node, everywhere in the net.\n // The output layer keeps a soft one-hot read — the net's OWN\n // prediction blooms high above the rest, which shimmer with the\n // live traffic like any other layer.\n const isFinal = tok.layer === LAYER_SIZES.length - 2;\n let pulse = tok.gain * 0.55;\n if (isFinal) {\n const c = tok.dst - this.net.layerStart[LAYER_SIZES.length - 1]!;\n if (c === this.predictedClass) pulse *= 3.8;\n }\n this.act[tok.dst] = Math.min(2, Math.max(-2, this.act[tok.dst]! + pulse));\n\n // Hop gating: during a sample the forward energy decides how much\n // signal THIS node holds — hot routes carry on, dead routes fade.\n // Between samples the idle trickle wanders freely, so the net\n // never looks dead.\n const energyHere = this.energy[tok.dst]!;\n if (inSample && !isFinal && energyHere < 0.1 && this.rng() < 0.7) {\n this.tokens[i] = null; // route is cold for this image\n continue;\n }\n const gain = Math.min(0.25 + 1.6 * energyHere, 2.4);\n if (isFinal) {\n this.tokens[i] = null; // dissolved in the output\n continue;\n }\n // Hand the signal on through a random outgoing edge.\n const outs = this.net.out[tok.dst]!;\n if (outs.dst.length === 0) {\n this.tokens[i] = null;\n continue;\n }\n const pick = Math.floor(this.rng() * outs.dst.length);\n tok.src = tok.dst;\n tok.dst = outs.dst[pick]!;\n tok.w = outs.w[pick]!;\n tok.layer += 1;\n tok.t = 0;\n const len = edgeLen(this.net.positions, tok.src, tok.dst);\n tok.rate = (1.35 / Math.max(len, 0.05)) * (0.75 + this.rng() * 0.5);\n tok.gain = gain;\n }\n\n // Push node activations into the point shader attribute.\n for (let i = 0; i < this.act.length; i++) this.nodeAttr[i] = this.act[i]!;\n }\n\n /** The 784-vector for a class variant: real image if we have one,\n otherwise intensities derived from the blob shape. */\n private imageOf(cls: number, variant: number): Float32Array {\n const list = this.images[cls];\n if (list && list.length > 0) return list[Math.min(variant, list.length - 1)]!;\n const img = new Float32Array(784);\n const blob = this.blobs[cls]![Math.min(variant, this.blobs[cls]!.length - 1)]!;\n for (const c of blob) img[c.i] = Math.min(1, c.w + 0.25);\n return img;\n }\n\n private inject(fromBlob: boolean) {\n const slot = this.tokens.indexOf(null);\n if (slot < 0) return;\n const rng = this.rng;\n let src: number;\n if (fromBlob) {\n const variants = this.blobs[this.sampleClass]!;\n const blob = variants[Math.min(this.sampleVariant, variants.length - 1)]!;\n src = pickWeightedBlob(blob, rng());\n } else {\n src = Math.floor(rng() * LAYER_SIZES[0]);\n }\n const outs = this.net.out[src]!;\n // Sparse fan-out: some nodes happen to have no outgoing edge\n // (every input node is not reachable) — those tokens never spawn.\n if (outs.dst.length === 0) return;\n const pick = Math.floor(rng() * outs.dst.length);\n const len = edgeLen(this.net.positions, src, outs.dst[pick]!);\n this.tokens[slot] = {\n src,\n dst: outs.dst[pick]!,\n w: outs.w[pick]!,\n layer: 0,\n t: 0,\n rate: (1.35 / Math.max(len, 0.05)) * (0.75 + rng() * 0.5),\n gain: fromBlob ? 1.0 : 0.6,\n pos: [0, 0, 0],\n };\n // The emitting input node flashes — a sample draws its \"digit\" on\n // the 28x28 plane, idle trickle pins it barely.\n this.act[src] = Math.min(2, this.act[src]! + (fromBlob ? 0.9 : 0.12));\n }\n\n /** Write live token rows into the point buffers (dead rows stay 0). */\n writeTokenBuffers() {\n for (let i = 0; i < TOKEN_POOL; i++) {\n const tok = this.tokens[i];\n const o = i * 3;\n if (!tok) {\n this.tokenGain[i] = 0;\n this.tokenPos[o] = 0;\n this.tokenPos[o + 1] = 0;\n this.tokenPos[o + 2] = 0;\n continue;\n }\n this.tokenPos[o] = tok.pos[0];\n this.tokenPos[o + 1] = tok.pos[1];\n this.tokenPos[o + 2] = tok.pos[2];\n this.tokenGain[i] = tok.gain;\n }\n }\n}\n\n/** Procedural 5x7-glyph digits — fallback when no samples are given. */\nfunction glyphBlobs(): ClassBlobs[] {\n const rng = mulberry32(0xd1617);\n const all: ClassBlobs[] = [];\n for (let cls = 0; cls < CLASSES; cls++) {\n const field = new Float32Array(28 * 28);\n const glyph = DIGITS[cls]!;\n const dx = 4 + Math.floor(rng() * 3);\n const dy = Math.floor(rng() * 3) - 1;\n for (let gr = 0; gr < 7; gr++) {\n const row = glyph[gr]!;\n for (let gc = 0; gc < 5; gc++) {\n if (row[gc] !== '#') continue;\n for (let k = 0; k < 4; k++) {\n for (let l = 0; l < 4; l++) {\n const r = gr * 4 + l + dy;\n const c = gc * 4 + k + dx;\n if (r < 28 && c < 28) field[r * 28 + c] = 1;\n }\n }\n }\n }\n const blob: InputBlob = [];\n for (let i = 0; i < 784; i++) {\n if (field[i]! > 0) blob.push({ i, w: 1 });\n }\n for (let k = 0; k < 8; k++) blob.push({ i: Math.floor(rng() * 784), w: 0.15 });\n all.push([blob]);\n }\n return all;\n}\n\n/** Decode base64url into raw bytes — shared by weights and samples. */\nfunction decodeB64(b64: string): Uint8Array {\n const bin = atob(b64.replace(/-/g, '+').replace(/_/g, '/'));\n const buf = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; i++) buf[i] = bin.charCodeAt(i);\n return buf;\n}\n\n/** Decode packed FP32 little-endian base64url into a Float32Array. */\nfunction decodeF32(b64: string): Float32Array {\n return new Float32Array(decodeB64(b64).buffer);\n}\n\n/** The trained sparse weight set (see train-sparse.py). */\nexport function decodeWeights(): { w: Float32Array[]; b: Float32Array[] } {\n return {\n w: [\n decodeF32(SPARSE_WEIGHTS.weights1),\n decodeF32(SPARSE_WEIGHTS.weights2),\n decodeF32(SPARSE_WEIGHTS.weights3),\n decodeF32(SPARSE_WEIGHTS.weights4),\n ],\n b: [\n decodeF32(SPARSE_WEIGHTS.biases1),\n decodeF32(SPARSE_WEIGHTS.biases2),\n decodeF32(SPARSE_WEIGHTS.biases3),\n decodeF32(SPARSE_WEIGHTS.biases4),\n ],\n };\n}\n\n/**\n * Splice trained weights into the visible net: every rendered edge\n * gets its trained value, the edge-alpha map follows |w|, and `out`\n * is rebuilt with the trained magnitudes for the hop visuals.\n */\nfunction attachWeights(net: Network, trained: { w: Float32Array[]; b: Float32Array[] }) {\n const layerStart = net.layerStart;\n for (let li = 1; li < 5; li++) {\n const base = layerStart[li]!;\n const w = trained.w[li - 1]!;\n let eo = 0;\n const nextBase = li < 4 ? layerStart[li + 1]! : net.nodeCount;\n for (let dlocal = 0; dlocal < nextBase - base; dlocal++) {\n const dst = base + dlocal;\n const list = net.inEdges[dst]!;\n for (const e of list) {\n e.w = w[eo]!;\n eo++;\n }\n }\n if (eo !== w.length) throw new Error(`layer ${li}: expected ${w.length} edges, got ${eo}`);\n }\n // rebuild out + edge alpha from trained weights\n for (const o of net.out) {\n o.dst.length = 0;\n o.w.length = 0;\n }\n let eo = 0;\n for (let d = 0; d < net.nodeCount; d++) {\n for (const e of net.inEdges[d]!) {\n net.out[e.src]!.dst.push(d);\n net.out[e.src]!.w.push(e.w);\n net.edgeWeights[eo * 2] = Math.min(1, Math.abs(e.w) * 1.7);\n net.edgeWeights[eo * 2 + 1] = Math.min(1, Math.abs(e.w) * 1.7);\n eo++;\n }\n }\n}\n\n/** Real forward pass through the visible, trained edges. */\nexport function forwardPass(\n net: Network,\n trained: { w: Float32Array[]; b: Float32Array[] },\n img: Float32Array,\n): { predicted: number; energy: Float32Array } {\n const act = new Float32Array(net.nodeCount);\n act.set(img);\n const layerStart = net.layerStart;\n // NOTE: layerStart has one entry per layer (no sentinel) — the size\n // must come from LAYER_SIZES, or the output layer gets size NaN and\n // every prediction collapses to a constant class.\n for (let li = 1; li < 5; li++) {\n const base = layerStart[li]!;\n const size = LAYER_SIZES[li]!;\n const bias = trained.b[li - 1]!;\n for (let dl = 0; dl < size; dl++) {\n let z = bias[dl]!;\n for (const e of net.inEdges[base + dl]!) z += act[e.src]! * e.w;\n act[base + dl] = li < 4 ? Math.max(z, 0) : z;\n }\n }\n // per-layer normalisation for the gating map\n const energy = new Float32Array(act.length);\n for (let li = 0; li < 5; li++) {\n const base = layerStart[li]!;\n const size = LAYER_SIZES[li]!;\n let max = 1e-4;\n for (let i = base; i < base + size; i++) max = Math.max(max, act[i]!);\n for (let i = base; i < base + size; i++) energy[i] = Math.max(act[i]!, 0) / max;\n }\n const outBase = layerStart[4]!;\n let predicted = 0;\n let top = -1e9;\n for (let c = 0; c < CLASSES; c++) {\n if (act[outBase + c]! > top) {\n top = act[outBase + c]!;\n predicted = c;\n }\n }\n return { predicted, energy };\n}\n\nexport function decodeAll(samples: Record<number, readonly string[]>): {\n blobs: InputBlob[][];\n images: Float32Array[][];\n} {\n const blobs: InputBlob[][] = [];\n const images: Float32Array[][] = [];\n for (let c = 0; c < CLASSES; c++) {\n const cellList: InputBlob[] = [];\n const imgList: Float32Array[] = [];\n for (const b64 of samples[c] ?? []) {\n // One binary decode per sample drives both representations:\n // the weighted emission blob and the 784-vector the forward\n // pass consumes.\n const buf = decodeB64(b64);\n const cells: InputBlob = [];\n const img = new Float32Array(784);\n for (let n = 0; n < 784; n++) {\n const byte = buf[n >> 1]!;\n const v = n & 1 ? byte & 15 : byte >> 4;\n if (v >= 5) cells.push({ i: n, w: (v - 4) / 11 });\n img[n] = v / 15;\n }\n cellList.push(cells);\n imgList.push(img);\n }\n blobs.push(cellList);\n images.push(imgList);\n }\n return { blobs, images };\n}\n\nfunction pickWeightedBlob(blob: InputBlob, r: number): number {\n let total = 0;\n for (const c of blob) total += c.w;\n let acc = r * total;\n for (const c of blob) {\n acc -= c.w;\n if (acc <= 0) return c.i;\n }\n return blob[blob.length - 1]!.i;\n}\n\nfunction edgeLen(p: Float32Array, a: number, b: number): number {\n const a3 = a * 3;\n const b3 = b * 3;\n const dx = p[b3]! - p[a3]!;\n const dy = p[b3 + 1]! - p[a3 + 1]!;\n const dz = p[b3 + 2]! - p[a3 + 2]!;\n return Math.sqrt(dx * dx + dy * dy + dz * dz);\n}\n\n// -------------------------------------------------------------- shader -----\n\nconst POINT_VERT = /* glsl */ `\nattribute float aAct; // node activation, or token gain for tokens\nuniform float uHeightPx, uFovTan, uDpr, uFocusDist, uBlurK;\nuniform float uBaseSize;\nvarying float vAct;\nvarying float vFade;\nvoid main() {\n vec4 mv = modelViewMatrix * vec4(position, 1.0);\n float dist = max(-mv.z, 0.001);\n vAct = aAct;\n float a = max(aAct, 0.0);\n float worldSize = uBaseSize * (1.0 + clamp(a, 0.0, 2.0) * 0.9);\n // uHeightPx is the drawing-buffer height (already device px), so the\n // world-size term needs no uDpr; the pixel-space defocus offset does.\n float px = worldSize * (uHeightPx * 0.5) / (uFovTan * dist);\n float dz = dist - uFocusDist;\n px += (dz < 0.0 ? -dz * 0.55 : dz * 0.8) * uBlurK * uDpr;\n gl_PointSize = min(px, 90.0 * uDpr);\n vFade = clamp(1.0 - abs(dz) * 0.16, 0.25, 1.0);\n gl_Position = projectionMatrix * mv;\n}\n`;\n\nconst NODE_FRAG = /* glsl */ `\nuniform float uExposure;\nvarying float vAct;\nvarying float vFade;\nconst vec3 DEEP = vec3(${PALETTE.deep.join(',')});\nconst vec3 MID = vec3(${PALETTE.mid.join(',')});\nconst vec3 CREST = vec3(${PALETTE.crest.join(',')});\nconst vec3 SLATE = vec3(${PALETTE.slate.join(',')});\nconst vec3 WHITE = vec3(${PALETTE.white.join(',')});\nvoid main() {\n float d = length(gl_PointCoord - 0.5) * 2.0;\n float disc = smoothstep(1.0, 0.35, d);\n if (disc < 0.01) discard;\n float a = vAct;\n vec3 col;\n float glow;\n if (a >= 0.0) {\n col = mix(MID, CREST, clamp(a, 0.0, 1.0));\n // Overdriven nodes bloom toward the brand's crystal white-green.\n float bloom = smoothstep(1.05, 1.9, a);\n col = mix(col, WHITE, bloom);\n glow = 0.36 + 0.64 * clamp(a, 0.0, 1.0) + bloom * 0.9;\n } else {\n col = mix(DEEP, SLATE, clamp(-a, 0.0, 1.0));\n glow = 0.16 + 0.25 * clamp(-a, 0.0, 1.0);\n }\n gl_FragColor = vec4(col * uExposure, disc * 0.62 * glow * vFade);\n}\n`;\n\nconst TOKEN_FRAG = /* glsl */ `\nuniform float uExposure;\nvarying float vAct;\nvarying float vFade;\nconst vec3 CREST = vec3(${PALETTE.crest.join(',')});\nconst vec3 WHITE = vec3(${PALETTE.white.join(',')});\nvoid main() {\n float g = vAct;\n if (g < 0.004) discard;\n float d = length(gl_PointCoord - 0.5) * 2.0;\n float core = smoothstep(0.55, 0.05, d);\n float halo = smoothstep(1.0, 0.3, d) * 0.45;\n if (core + halo < 0.01) discard;\n // Amplified tokens run hot toward white-green.\n vec3 col = mix(CREST, WHITE, smoothstep(1.1, 2.1, g));\n float b = (0.35 + 0.65 * clamp(g, 0.0, 1.6)) * (core + halo);\n gl_FragColor = vec4(col * uExposure, b * 0.78 * vFade);\n}\n`;\n\nconst EDGE_VERT = /* glsl */ `\nattribute float aEdgeW;\nvarying float vW;\nvoid main() {\n vW = aEdgeW;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n`;\n\nconst EDGE_FRAG = /* glsl */ `\nvarying float vW;\nconst vec3 DEEP = vec3(${PALETTE.crest.join(',')});\nvoid main() {\n gl_FragColor = vec4(DEEP, 0.02 + 0.05 * vW);\n}\n`;\n\nconst FOG_VERT = /* glsl */ `\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n`;\n\nconst FOG_FRAG = /* glsl */ `\nuniform float uTime;\nvarying vec2 vUv;\n\nfloat hash(vec2 p) {\n return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);\n}\nfloat noise(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n f = f * f * (3.0 - 2.0 * f);\n return mix(\n mix(hash(i), hash(i + vec2(1, 0)), f.x),\n mix(hash(i + vec2(0, 1)), hash(i + vec2(1, 1)), f.x),\n f.y\n );\n}\n\nvoid main() {\n vec2 c = vUv - 0.5;\n float r = length(c) * 2.0;\n // Soft brand-green well behind the stack, vignetted to darkness.\n vec3 col = vec3(0.012, 0.05, 0.04) * max(1.0 - r, 0.0);\n col += vec3(0.01, 0.06, 0.045) * max(1.5 - r * 1.25, 0.0);\n // Slow drifting wisps crossing in front of the black.\n float w = noise(vec2(vUv.x * 3.0 - uTime * 0.02, vUv.y * 6.0 + uTime * 0.013));\n w = pow(w, 3.0) * 0.5;\n col += vec3(0.05, 0.11, 0.09) * w * (1.0 - smoothstep(0.6, 1.2, r));\n gl_FragColor = vec4(col, 1.0);\n}\n`;\n\n// ------------------------------------------------------------ component ----\n\nexport type NeuralFlowKnobs = {\n /** Lens zoom divisor of the base fov. @default 1 */\n zoom: number;\n /** Exposure multiplier. @default 1.45 */\n exposure: number;\n /** Focal plane view-distance. @default 8.0 */\n focus: number;\n /** Depth-of-field strength in px. @default 4 */\n blurK: number;\n /** Timeline scale — 0 pauses time, 0.1-0.5 slow motion. @default 1 */\n speed: number;\n /** Token emission rate multiplier. @default 1 */\n intensity: number;\n /** Camera drift amplitude multiplier. @default 1 */\n drift: number;\n /** Turntable spin around the stack's centre, rad/s. 0 parks it.\n @default 0.02 — a full turn in ~5 minutes */\n spin: number;\n};\n\nconst DEFAULT_KNOBS: NeuralFlowKnobs = {\n zoom: 1,\n exposure: 1.45,\n focus: 8.0,\n blurK: 4,\n speed: 1,\n intensity: 1,\n drift: 1,\n spin: 0.02,\n};\n\nconst BASE_FOV = 36;\n// Horizontal: side-on vantage, the stack reads left (input 28x28) to\n// right (softmax column). Vertical: the stack rises bottom to top.\nfunction camFor(orientation: NeuralFlowOrientation) {\n return orientation === 'vertical'\n ? {\n base: new THREE.Vector3(0.7, 3.5, 9.6),\n target: new THREE.Vector3(0, 2.45, 0),\n center: new THREE.Vector3(0, 2.7, 0),\n fogSize: [13, 15] as const,\n fogPos: new THREE.Vector3(1.5, 2.7, -6.5),\n fogRot: 0,\n }\n : {\n base: new THREE.Vector3(-0.9, 0.88, 6.1),\n target: new THREE.Vector3(2.35, -0.08, -0.2),\n center: new THREE.Vector3(2.7, 0, 0),\n fogSize: [14, 8] as const,\n fogPos: new THREE.Vector3(7.2, 0, 0),\n fogRot: -Math.PI / 2,\n };\n}\n\nfunction SceneContent({\n knobs: knobsRef,\n orientation,\n blobs,\n images,\n}: {\n knobs: RefObject<NeuralFlowKnobs>;\n orientation: NeuralFlowOrientation;\n blobs: ClassBlobs[];\n images: Float32Array[][];\n}) {\n const { invalidate } = useThree();\n const trained = useMemo(() => decodeWeights(), []);\n const sim = useMemo(\n () => new FlowSim(1337, orientation, blobs, images, trained),\n [orientation, blobs, images, trained],\n );\n const camCfg = useMemo(() => camFor(orientation), [orientation]);\n\n const fogPlane = useMemo(\n () => new THREE.PlaneGeometry(camCfg.fogSize[0], camCfg.fogSize[1]),\n [camCfg],\n );\n\n const geos = useMemo(() => {\n const net = sim.network;\n const nodes = new THREE.BufferGeometry();\n nodes.setAttribute('position', new THREE.BufferAttribute(net.positions, 3));\n const actAttr = new THREE.BufferAttribute(sim.nodeAttr, 1);\n actAttr.setUsage(THREE.DynamicDrawUsage);\n nodes.setAttribute('aAct', actAttr);\n\n const tokens = new THREE.BufferGeometry();\n const posAttr = new THREE.BufferAttribute(sim.tokenPos, 3);\n posAttr.setUsage(THREE.DynamicDrawUsage);\n tokens.setAttribute('position', posAttr);\n const gainAttr = new THREE.BufferAttribute(sim.tokenGain, 1);\n gainAttr.setUsage(THREE.DynamicDrawUsage);\n tokens.setAttribute('aAct', gainAttr);\n // Frustum culling must never hide the moving token cloud.\n const b = 6;\n nodes.boundingSphere = new THREE.Sphere(camCfg.center.clone(), b);\n tokens.boundingSphere = new THREE.Sphere(camCfg.center.clone(), b);\n\n const edges = new THREE.BufferGeometry();\n edges.setAttribute('position', new THREE.BufferAttribute(net.edgePositions, 3));\n edges.setAttribute('aEdgeW', new THREE.BufferAttribute(net.edgeWeights, 1));\n edges.boundingSphere = new THREE.Sphere(camCfg.center.clone(), b);\n return [nodes, tokens, edges];\n }, [sim, camCfg]);\n\n const nodeMat = useMemo(() => makePointMaterial(), []);\n const tokenMat = useMemo(() => makeTokenMaterial(), []);\n const edgeMat = useMemo(\n () =>\n new THREE.ShaderMaterial({\n vertexShader: EDGE_VERT,\n fragmentShader: EDGE_FRAG,\n transparent: true,\n depthWrite: false,\n blending: THREE.AdditiveBlending,\n uniforms: {},\n }),\n [],\n );\n const fogMat = useMemo(\n () =>\n new THREE.ShaderMaterial({\n vertexShader: FOG_VERT,\n fragmentShader: FOG_FRAG,\n depthWrite: false,\n blending: THREE.NoBlending,\n uniforms: { uTime: { value: 0 } },\n }),\n [],\n );\n\n useEffect(\n () => () => {\n for (const g of geos) g.dispose();\n fogPlane.dispose();\n nodeMat.dispose();\n tokenMat.dispose();\n edgeMat.dispose();\n fogMat.dispose();\n },\n [geos, fogPlane, nodeMat, tokenMat, edgeMat, fogMat],\n );\n\n const worldTimeRef = useRef(0);\n const lastElapsedRef = useRef(0);\n // Tracks WHICH sim got its warm-up burst — a rebuilt sim (orientation\n // flip) must warm again or the net starts dead for seconds.\n const warmedSimRef = useRef<FlowSim | null>(null);\n const spinRef = useRef<THREE.Group>(null);\n\n /* eslint-disable react-hooks/immutability -- R3F frame loop drives\n GL uniform state by design; nothing here is React state. */\n useFrame((state) => {\n const speed = reduced() ? 0 : knobsRef.current.speed;\n const dt = Math.min(state.clock.elapsedTime - lastElapsedRef.current, 0.25);\n lastElapsedRef.current = state.clock.elapsedTime;\n worldTimeRef.current += dt * Math.max(speed, 0);\n const t = reduced() ? 8 : worldTimeRef.current;\n\n // Warm streaks once per sim so the first painted frame already\n // shows a working net (and the reduced-motion still isn't empty).\n const justWarmed = warmedSimRef.current !== sim;\n if (justWarmed) {\n for (let i = 0; i < 120; i++) sim.step(1 / 30, 1);\n warmedSimRef.current = sim;\n } else if (!reduced()) {\n sim.step(dt * Math.max(speed, 0), knobsRef.current.intensity);\n }\n sim.writeTokenBuffers();\n\n for (const [geo, attr] of [\n [geos[0]!, 'aAct'],\n [geos[1]!, 'position'],\n [geos[1]!, 'aAct'],\n ] as const) {\n const a = geo.getAttribute(attr) as THREE.BufferAttribute;\n a.needsUpdate = true;\n }\n\n const cam = state.camera as THREE.PerspectiveCamera;\n // Clamp: zoom=0 would yield fov=Infinity and a NaN projection.\n const fov = BASE_FOV / Math.max(knobsRef.current.zoom, 0.05);\n if (Math.abs(cam.fov - fov) > 0.01) {\n cam.fov = fov;\n cam.updateProjectionMatrix();\n }\n const drift = knobsRef.current.drift;\n cam.position.set(\n camCfg.base.x + Math.sin(t * 0.11) * 0.16 * drift,\n camCfg.base.y + Math.sin(t * 0.073 + 2.0) * 0.09 * drift,\n camCfg.base.z + Math.cos(t * 0.091) * 0.16 * drift,\n );\n cam.lookAt(camCfg.target);\n\n const height = state.gl.domElement.height;\n const fovTan = Math.tan(THREE.MathUtils.degToRad(cam.fov * 0.5));\n for (const m of [nodeMat, tokenMat]) {\n m.uniforms.uHeightPx!.value = height;\n m.uniforms.uFovTan!.value = fovTan;\n m.uniforms.uDpr!.value = state.gl.getPixelRatio();\n m.uniforms.uFocusDist!.value = knobsRef.current.focus;\n m.uniforms.uBlurK!.value = knobsRef.current.blurK;\n m.uniforms.uExposure!.value = knobsRef.current.exposure;\n }\n if (spinRef.current) spinRef.current.rotation.y = t * knobsRef.current.spin;\n fogMat.uniforms.uTime!.value = t;\n // Under frameloop='demand' an unconditional invalidate keeps a\n // vsync-rate loop alive forever — reduced motion paints its still\n // on warm-up, then rendering truly stops.\n if (!reduced() || justWarmed) invalidate();\n });\n /* eslint-enable react-hooks/immutability */\n\n return (\n <group>\n <mesh\n geometry={fogPlane}\n material={fogMat}\n position={camCfg.fogPos.toArray()}\n rotation={[0, camCfg.fogRot, 0]}\n renderOrder={0}\n key={orientation}\n />\n {/* Turntable: rotate the whole net around the stack's centre\n without touching the camera or the fog backdrop. */}\n <group ref={spinRef} position={camCfg.center.toArray()}>\n <group position={camCfg.center.clone().negate().toArray()}>\n <lineSegments geometry={geos[2]} material={edgeMat} renderOrder={1} />\n <points geometry={geos[0]} material={nodeMat} renderOrder={2} />\n <points geometry={geos[1]} material={tokenMat} renderOrder={3} />\n </group>\n </group>\n </group>\n );\n}\n\nfunction makePointMaterial() {\n return new THREE.ShaderMaterial({\n vertexShader: POINT_VERT,\n fragmentShader: NODE_FRAG,\n transparent: true,\n depthWrite: false,\n blending: THREE.AdditiveBlending,\n uniforms: {\n uHeightPx: { value: 600 },\n uFovTan: { value: 0.3 },\n uDpr: { value: 1 },\n uFocusDist: { value: 8.0 },\n uBlurK: { value: 4 },\n uBaseSize: { value: 0.025 },\n uExposure: { value: 1.45 },\n },\n });\n}\n\nfunction makeTokenMaterial() {\n return new THREE.ShaderMaterial({\n vertexShader: POINT_VERT,\n fragmentShader: TOKEN_FRAG,\n transparent: true,\n depthWrite: false,\n blending: THREE.AdditiveBlending,\n uniforms: {\n uHeightPx: { value: 600 },\n uFovTan: { value: 0.3 },\n uDpr: { value: 1 },\n uFocusDist: { value: 8.0 },\n uBlurK: { value: 4 },\n uBaseSize: { value: 0.011 },\n uExposure: { value: 1.35 },\n },\n });\n}\n\nfunction reduced(): boolean {\n return (\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches\n );\n}\n\nexport interface NeuralFlowProps {\n /** Additional CSS classes for the container element */\n className?: string;\n style?: CSSProperties;\n /** Lay the net down left-to-right (default) or stand it upright,\n input at the bottom, prediction at the top. */\n orientation?: NeuralFlowOrientation;\n /** Packed input samples: class index → base64url 4-bit-nibble strings\n (see mnist-samples.ts). Omit to use the bundled real MNIST set;\n pass a record missing any class (or {}) to fall back to\n procedural 5x7 numerals. Keep a STABLE reference — decoding and\n all geometry rebuild on prop identity. */\n inputSamples?: Record<number, readonly string[]>;\n zoom?: number;\n exposure?: number;\n focus?: number;\n blurK?: number;\n speed?: number;\n intensity?: number;\n drift?: number;\n spin?: number;\n}\n\nexport const NeuralFlow: FC<NeuralFlowProps> = ({\n className,\n style,\n orientation = 'horizontal',\n inputSamples,\n zoom,\n exposure,\n focus,\n blurK,\n speed,\n intensity,\n drift,\n spin,\n}) => {\n // atob-less environments (SSR, exotic runtimes): neither the bundled\n // samples nor the trained weights can decode — render the static\n // backdrop below instead of crashing mid-tree.\n const noAtob = typeof atob === 'undefined';\n const { blobs, images } = useMemo(() => {\n const src = inputSamples === undefined ? MNIST_SAMPLES : inputSamples;\n if (noAtob || Object.keys(src).length === 0) {\n return { blobs: glyphBlobs(), images: [] as Float32Array[][] };\n }\n const decoded = decodeAll(src);\n return decoded.blobs.every((v) => v.length > 0)\n ? decoded\n : { blobs: glyphBlobs(), images: [] as Float32Array[][] };\n }, [inputSamples, noAtob]);\n const knobs = useRef<NeuralFlowKnobs>({ ...DEFAULT_KNOBS });\n useEffect(() => {\n knobs.current = {\n zoom: zoom ?? DEFAULT_KNOBS.zoom,\n exposure: exposure ?? DEFAULT_KNOBS.exposure,\n focus: focus ?? DEFAULT_KNOBS.focus,\n blurK: blurK ?? DEFAULT_KNOBS.blurK,\n speed: speed ?? DEFAULT_KNOBS.speed,\n intensity: intensity ?? DEFAULT_KNOBS.intensity,\n drift: drift ?? DEFAULT_KNOBS.drift,\n spin: spin ?? DEFAULT_KNOBS.spin,\n };\n }, [zoom, exposure, focus, blurK, speed, intensity, drift, spin]);\n\n if (noAtob) {\n return (\n <div\n aria-hidden=\"true\"\n className={className}\n style={{ ...style, position: 'absolute', inset: 0, background: BACKDROP }}\n />\n );\n }\n\n return (\n <div\n className={className}\n style={{\n ...style,\n position: 'absolute',\n inset: 0,\n background: BACKDROP,\n }}\n >\n <Canvas\n aria-hidden=\"true\"\n dpr={[1, 2]}\n frameloop={reduced() ? 'demand' : 'always'}\n camera={{ position: camFor(orientation).base.toArray(), fov: BASE_FOV }}\n gl={{\n // Opaque canvas — sidesteps compositing quirks around\n // premultiplied additive pixels (renders black-transparent on\n // some stacks, stalls readback on others). The backdrop tone\n // comes from the clear color + fog plane instead.\n alpha: false,\n antialias: true,\n powerPreference: 'high-performance',\n preserveDrawingBuffer: true,\n }}\n onCreated={({ gl }) => {\n gl.setClearColor(0x010806, 1);\n }}\n >\n <SceneContent knobs={knobs} orientation={orientation} blobs={blobs} images={images} />\n </Canvas>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { NeuralFlow, NeuralFlowKnobs, NeuralFlowOrientation, NeuralFlowProps } from "./NeuralFlow.cjs";
2
+ export { NeuralFlow, type NeuralFlowKnobs, type NeuralFlowOrientation, type NeuralFlowProps };
@@ -0,0 +1,2 @@
1
+ import { NeuralFlow, NeuralFlowKnobs, NeuralFlowOrientation, NeuralFlowProps } from "./NeuralFlow.mjs";
2
+ export { NeuralFlow, type NeuralFlowKnobs, type NeuralFlowOrientation, type NeuralFlowProps };
@@ -0,0 +1,73 @@
1
+ //#region src/components/neural-flow/mnist-samples.ts
2
+ /**
3
+ * Real MNIST test-set samples: four canonical images per class
4
+ * (closest to the class centroid, via sklearn fetch_openml). 784 greyscale pixels
5
+ * quantized to 4-bit nibbles, packed two per byte, base64url-encoded.
6
+ * ~392 bytes per sample — 40 samples in ~16 KB text.
7
+ */
8
+ const MNIST_SAMPLES = {
9
+ 0: [
10
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4tgAAAAAAAAAAAAAAff_-gAAAAAAAAAAAACv____8IAAAAAAAAAAD7_2v__-gAAAAAAAAAC3_-wAv__UAAAAAAAAAr_-yAGz_9QAAAAAAAAf_9wAAAu_1AAAAAAAALv-hAAAAb_kQAAAAAALf-wAAAABf_RAAAAAAA__iAAAAAF_-IAAAAAAG_4AAAAAAf_8wAAAAAAr_cAAAAAPv_AAAAAAACv8AAAAACP_VAAAAAAAK_wAAAACP_1AAAAAAAAr_AAAAB__6AAAAAAAACv9gAAKf_9EAAAAAAAAK_7iL___-YAAAAAAAAAb______7IAAAAAAAAAAY7___6kAAAAAAAAAAAABI35gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
11
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzKIAAAAAAAAAAAAAAE3_-wAAAAAAAAAAAAAE3__2AAAAAAAAAAAAAC3____HEAAAAAAAAAAEv__t__-gAAAAAAAAAAj9z6FL__YAAAAAAAAADfgXYAF__kAAAAAAAAA-0QAAABf_0AAAAAAAA9-AAAAAA__gAAAAAAAF_zAAAAAAn-AAAAAAAAn5AAAAAAG_4AAAAAAADvcAAAAABP-AAAAAAAAO9wAAAAA-_AAAAAAAAA76AAAAAJ_3AAAAAAAADvwAAAAZ_6AAAAAAAAAO_RAAAb_6AAAAAAAAAA7_1Cd9_6AAAAAAAAAADP_____6AAAAAAAAAAAE7____WAAAAAAAAAAAABIr_tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
12
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHuAAAAAAAAAAAAAAAAU7_oAAAAAAAAAAAAAAG__9RAAAAAAAAAAAAAD7___ySAAAAAAAAAAAAn_____5SAAAAAAAAAAHP_XREXvsQAAAAAAAACf_zAAAE74AAAAAAAAAu__EAAAC_4QAAAAAAAG_9gQAAAL_0AAAAAAABz_cAAAAAv_gAAAAAAAn_kQAAAALf-AAAAAAAHP8wAAAACP_xAAAAAAB_-wAAAABP_6EAAAAAAL_7AAAAB9_8EAAAAAAAz_oAAAAf__UAAAAAAACf9AAABc__YQAAAAAAAJ_6AAWP_-UQAAAAAAAAb_52j__6IAAAAAAAAAAK____-UEAAAAAAAAAAAAjashAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
13
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VaYAAAAAAAAAAAAAed___lAAAAAAAAAAADj____bYAAAAAAAAAAAz_-Xz7EAAAAAAAAAAAj_-RB__BAAAAAAAAAAP_-QAAj_gAAAAAAAAAG_-hAAAZ_jAAAAAAAAK__lAAAAXvgAAAAAAAC__2AAAAAF_gAAAAAAAO_4AAAAAAL-MAAAAAAG_9MAAAAAAv-QAAAAAAn_kAAAAAAC_5AAAAAACf8gAAAAAAj_kAAAAAAJ_yAAAAAAf_4QAAAAAAn_IAAAAAfP-QAAAAAACf-yAAASj_2BAAAAAAAF__-Hd8__sQAAAAAAAADf______wgAAAAAAAAAAXv___9kQAAAAAAAAAAAEr7VVMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
14
+ ],
15
+ 1: [
16
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeyAAAAAAAAAAAAAAAAB_oAAAAAAAAAAAAAAAAH-wAAAAAAAAAAAAAAAAf8EAAAAAAAAAAAAAAACP8QAAAAAAAAAAAAAAAd_RAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9wAAAAAAAAAAAAAAAO_1AAAAAAAAAAAAAAAD__EAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9gAAAAAAAAAAAAAAAe_iAAAAAAAAAAAAAAAI_5AAAAAAAAAAAAAAAAv_YAAAAAAAAAAAAAAAC_4gAAAAAAAAAAAAAAAf9wAAAAAAAAAAAAAAAB7SAAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
17
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlgAAAAAAAAAAAAAAAAf9AAAAAAAAAAAAAAAALf0AAAAAAAAAAAAAAABPlTAAAAAAAAAAAAAAAG_lAAAAAAAAAAAAAAAD_9EAAAAAAAAAAAAAAAr_oAAAAAAAAAAAAAAADP9QAAAAAAAAAAAAAAAM_1AAAAAAAAAAAAAAAD79EAAAAAAAAAAAAAAAb_wAAAAAAAAAAAAAAAPv9gAAAAAAAAAAAAAABv_RAAAAAAAAAAAAAAAd_7AAAAAAAAAAAAAAAF_-YAAAAAAAAAAAAAAAb4gAAAAAAAAAAAAAAADfogAAAAAAAAAAAAAAA-tgAAAAAAAAAAAAAAADrBAAAAAAAAAAAAAAAANJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
18
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAAv6AAAAAAAAAAAAAAAADPoAAAAAAAAAAAAAAABP-QAAAAAAAAAAAAAAAF_RAAAAAAAAAAAAAAAAv_MAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAAu-wAAAAAAAAAAAAAAAD_7AAAAAAAAAAAAAAAAP_UAAAAAAAAAAAAAAAA_wQAAAAAAAAAAAAAAAJ-QAAAAAAAAAAAAAAAF70AAAAAAAAAAAAAAAAr-IAAAAAAAAAAAAAAACvgAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
19
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAAAP-IAAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAJ_QAAAAAAAAAAAAAAAAn9AAAAAAAAAAAAAAAADvoAAAAAAAAAAAAAAAAP8gAAAAAAAAAAAAAAAA_wAAAAAAAAAAAAAAAAr-AAAAAAAAAAAAAAAADfkAAAAAAAAAAAAAAAAN-QAAAAAAAAAAAAAAAB31AAAAAAAAAAAAAAAAT_MAAAAAAAAAAAAAAACPwAAAAAAAAAAAAAAAAK-wAAAAAAAAAAAAAAAAr2AAAAAAAAAAAAAAAAA-YAAAAAAAAAAAAAAAAAZwAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
20
+ ],
21
+ 2: [
22
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu3cQAAAAAAAAAAAAABv__-IAAAAAAAAAAAAAX3af-xAAAAAAAAAAAACHEAj_oAAAAAAAAAAAABEAAc-wAAAAAAAAAAAAAAAAb7AAAAAAAAAAAAAAAABf4wAAAAAAAAAAAAAAAA30AAAAAAAAAAAAAAAAPtIAAAAAAAAAAAAAAABvsAAAAAAAAAAAAAAAAJ-wAAAAAAAAAAAAAAAG_7AAAAAAAAAAAAAAAAn_QAAAAAAAAAAABEAAXvgQAAAAAAAAAANu7Mz_8gAAAAAAAAAAHf_u___EEAAAAAAAAAB_933___-0IQAAAAAAAI_73_1t3u7ZAAAAAAAADP__kAACUwAAAAAAAAAF_-YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
23
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASd-RAAAAAAAAAAAAAAff-_0gAAAAAAAAAAAAT__Bn8AAAAAAAAAAAAA_-hAM-AAAAAAAAAAAAAcwAAf3AAAAAAAAAAAAAAAABvoAAAAAAAAAAAAAAAAG-gAAAAAAAAAAAAAAAAb6AAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAG4gAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAKb78AAAAAAAAAAARAnU___4gAAAAAAAAB-3P_9___4AAAAAAAAAHKfkiJcePUAAAAAAAAAicgQFN9G9wAAAAAAAACvoFnf9wTaAAAAAAAAAK-l_P_BACUAAAAAAAAAPP__-wAAAAAAAAAAAAAEz5lhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
24
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbHAAAAAAAAAAAAAAAAb_9wAAAAAAAAAAAAAAB-X8AAAAAAAAAAAAAAAMgM4AAAAAAAAAAAAAAC5w2QAAAAAAAAAAAAAACBP5AAAAAAAAAAAAAAABB_kAAAAAAAAAAAAAAAAH9gAAAAAAAAAAAAAAAAviAAAAAAAAAAAAAAAAHdAAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAK9gAAAAAAAAAAAAACEB3RAAAAAAAAAAAAAH_Xf4AAAAAAAAAAAAAF_u__QAAAAAAAAAAAAC2gLP-RAAAAAAAAAAAAn2BO__21AAAAAAAAAAB_Mc9ie5QAAAAAAAAAAC_N-QAAAAAAAAAAAAAAB-9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
25
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv9MAAAAAAAAAAAAAAD7__SAAAAAAAAAAAAAB7qN_0QAAAAAAAAAAAAj1AAn2AAAAAAAAAAAAAVAAAM0QAAAAAAAAAAAAAAAAbyAAAAAAAAAAAAAAAABPIAAAAAAAAAAAAAAAAH4gAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAACtIAAAAAAAAAAAAAFHyvcAAAAAAAAAAAAEnf__-RAAAAAAAAAAAG__zP_foAAAAAAAAAAC38Mb-AeQAAAAAAAAAAv7EZ9wAAAAAAAAAAAADOIb-gAAAAAAAAAAAAAdo7-iAAAAAAAAAAAAAAz_-iAAAAAAAAAAAAAACOswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
26
+ ],
27
+ 3: [
28
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs8wAAAAAAAAAAAAAAF5_9cyAAAAAAAAAAAACf___7-gAAAAAAAAAAAH_93HjvkAAAAAAAAAAAbHEQAe-AAAAAAAAAAAAAAABO-yAAAAAAAAAAAAAACf_CAAAAAAAAAAAAE4q_9xAAAAAAAAAAAAB____SAAAAAAAAAAAAAH___4MAAAAAAAAAAAAAbNhb5QAAAAAAAAAAAAAAAAAosAAAAAAAAAAAAAAAAADWAAAAAAAAAAAAAAAAALkAAAAAAAAAAAAAAAAA6QAAAAAAAAAAAAAAAAr4AAAAAAAAFwAAAAAAH_MAAAAAAAAv54ZERK_ccAAAAAAAAAj______6EQAAAAAAAAAEaN_f-zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
29
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa___2BAAAAAAAAAAAACv____wQAAAAAAAAAAAG__7uv5AAAAAAAAAAAAFmUABvkAAAAAAAAAAAAAAAFO-QAAAAAAAAAAAAAAGf_4AAAAAAAAAAAAABOf_qEAAAAAAAAAAAA0v__1AAAAAAAAAAAAB_____kgAAAAAAAAAAAE7__O_NMAAAAAAAAAAABLthNBmQAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAA0QAAAAAAAAAAAAAAAADUAAAAAAAAAAAAAAAABeYAAAAAAAAAAAAAAAKP0QAAAAAAAAAXlmZmzv-QAAAAAAAAAI_______2AAAAAAAAAAX_____1RAAAAAAAAAAAYubpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
30
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlPvpolhAAAAAAAAAAAE7P____1AAAAAAAAAAAK3jpV-_1AAAAAAAAAAABQAAAH_0AAAAAAAAAAAAAAASv9QAAAAAAAAAAAAAAXv_UAAAAAAAAAAAAAGj_-xAAAAAAAAAAAAAF__5AAAAAAAAAAAAAAATv_DAAAAAAAAAAAAAAAG__5QAAAAAAAAAAAAAABf_7EAAAAAAAAAAAAAAAO_-hAAAAAAAAAAAAAAAD7_QAAAAAAAAAAAAAAACv9AAAAAAAAAAAAAAAAb_0AAAAAAAAAAAAAAG8_8EAAAAAAAAAAAADjP__YAAAAAAAAAAAKq7__-UAAAAAAAAAAABv_9wzMAAAAAAAAAAAAI_3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
31
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFYjugxAAAAAAAAAAAALP____wAAAAAAAAAAAA__Jn__0AAAAAAAAAAACcQABv-IAAAAAAAAAAAAAAAX_wAAAAAAAAAAAAAAAf_9QAAAAAAAAAAAAAAj_-QAAAAAAAAAAAAAj3_9gAAAAAAAAAAAABO__-1EAAAAAAAAAAAAK_____cUAAAAAAAAAAAPf___v_0AAAAAAAAAAAARVVDXvoAAAAAAAAAAAAAAAAv-gAAAAAAAAAAAAAAA9_zAAAAAAAAAAAAAAA9_3EAAAAAAAAAAAAAKO_5AAAAAAAAAAAABnfP_mAAAAAAAAAAAABP__-yAAAAAAAAAAAAAe__6AAAAAAAAAAAAAAAj8QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
32
+ ],
33
+ 4: [
34
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4QAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAADPcAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAnMAAG_iAAAAAAAAAAAa9gAAj6AAAAAAAAAAAa_jAADPcAAAAAAAAAAa_3AABv9AAAAAAAAAAG_3AAAI_BAAAAAAAAAB78AAAB74cwAAAAAAAACv-3VXz__7AAAAAAAAABn______ZMAAAAAAAAAAEmcq_-hAAAAAAAAAAAAAAAG_0AAAAAAAAAAAAAAABz6AAAAAAAAAAAAAAAAX_UAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABP9AAAAAAAAAAAAAAAAJ-gAAAAAAAAAAAAAAAAbSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
35
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAG-QAAAAAAAAAAAAAAAAb5AAAAAAAAAAALIAAACPYAAAAAAAAAAC5wAAAJ8wAAAAAAAAAABRAAAAqwAAAAAAAAAAJAAAAAFhAAAAAAAAAACVAAAABvgAAAAAAAAABPcAAABL9SAAAAAAAAANUAAAAq_8kAAAAAAAA6sRdXjO__-QAAAAAAAJ_93_7___tjAAAAAAAAK93dyHdMkQAAAAAAAAAAAAAAAW5QAAAAAAAAAAAAAAAHfhAAAAAAAAAAAAAAACnWAAAAAAAAAAAAAAAAiJAAAAAAAAAAAAAAAAOpYAAAAAAAAAAAAAAAAEoAAAAAAAAAAAAAAAAEswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
36
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtgAAAAAAAAAAAAAAAAHmAAAAAAAAAAABcAAABPYAAAAAAAAAAAfiAAAJ8gAAAAAAAAAACbAAAA7AAAAAAAAAAABPQAAAP3AAAAAAAAAAAJ0QAACPYAAAAAAAAAAE-AAAAL4QAAAAAAAAABz2IAAD-QAAAAAAAAAAb__tynv2AAAAAAAAAABv7-____YAAAAAAAAAABISEiJe4QAAAAAAAAAAAAAAAD9wAAAAAAAAAAAAAAAAb3AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAA3yAAAAAAAAAAAAAAAADdEAAAAAAAAAAAAAAAAuwAAAAAAAAAAAAAAAAB5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
37
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtEAAAAAAAAAAAAAAAAG4gAAAAAAAAAAABoQAAbzAAAAAAAAAAAAX2AABvMAAAAAAAAAAACvYAAG0QAAAAAAAAAAAvwQAAbRAAAAAAAAAAAK-AAACsAAAAAAAAAAAB2hAAAMwAAAAAAAAAAAf2AAAE_AAAAAAAAAAACfgAAAn3AAAAAAAAAAAJ__-p7_IAAAAAAAAAAAf_____oAAAAAAAAAAAAFrbiv5QAAAAAAAAAAAAABAD-gAAAAAAAAAAAAAAAA32AAAAAAAAAAAAAAAAD_EAAAAAAAAAAAAAAAB_kAAAAAAAAAAAAAAAAd9wAAAAAAAAAAAAAAAD-wAAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
38
+ ],
39
+ 5: [
40
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsgAAAAAAAAAAAAAAAF-oQAAAAAAAAB5IAAkjtYAAAAAAAAAAC38zP-1AAAAAAAAAAAACcqqUgAAAAAAAAAAAAAtcAAAAAAAAAAAAAAAAH9AAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAX-3VAAAAAAAAAAAAAABf_L-AAAAAAAAAAAAAADtQCfUAAAAAAAAAAAAAAAAB6QAAAAAAAAAAAAAAAACeEAAAAAAAAAAAAAAAAE9wAAAAAAAAAAAAAAAAT3AAAAAAAAAAAAAAAAB_QAAAAAAAAAAFAAAABewQAAAAAAAAAAexAAGv4gAAAAAAAAAAAa65v_kgAAAAAAAAAAAAF8_KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
41
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYAAAAAAAAAAAAAAABc5AAAAAAAAAAAAAAAKu0gAAAAAAAAAAAAABfvoQAAAAAAAAAAAAAFz8MAAAAAAAAAAAAAAr_nAAAAAAAAAAAAAAAr6yAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAAL_2WEAAAAAAAAAAAAAADjf_rUAAAAAAAAAAAAAAAA535AAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAAHmAAAAAAAAAAAAAAAAANoAAAAAAAAAAAAAAAAB5gAAAAAAAAAAAAAAABr0AAAAAAAAAAAAAAABz3AAAAAAAAAAAAAAADz3AAAAAAAAAAAAAAJa7UAAAAAAAAAAAAAACfthAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
42
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxAAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAB-38EAAAAAAAAAAAAABewHoQAAAAAAAAAAAAAc4wAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAA3zAAAAAAAAAAAAAAAAT6EgAAAAAAAAAAAAAABP_e1gAAAAAAAAAAAAAAXNzfgAAAAAAAAAAAAAAAEB_2AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAC-QAAAAAAAAAAAAAAAAL3AAAAAAAAAAAAAAAACfcAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAG7SAAAAAAAAAAAAAAAp6QAAAAAAAAAAAAAAAItQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
43
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsEAAAAAAAAAAAAAAAAG8gAAAAAAAAAAAAAAAAmgB2AAAAAAAAAAAAAALYWfkAAAAAAAAAAAAAK__9kQAAAAAAAAAAAAB_6WEAAAAAAAAAAAAAAc0gAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAq9gAAAAAAAAAAAAAABu_6mWMAAAAAAAAAAAAJ6e7u_5IAAAAAAAAAAAAAAAA4-QAAAAAAAAAAAAAAAAB_QAAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAI-QAAAAAAAAAAAAAAAI-xAAAAAAAAAAAANQBt-QAAAAAAAAAAAAfiS_swAAAAAAAAAAAAX-z9YAAAAAAAAAAAAABf6nEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
44
+ ],
45
+ 6: [
46
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAE_1AAAAAAAAAAAAAAABn-EAAAAAAAAAAAAAAAL_kAAAAAAAAAAAAAAAGv0wAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAM-AAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAB73AAAAAAAAAAAAAAAAj8AAAgAAAAAAAAAAAAT_UABNxwAAAAAAAAAACPkABM_-UAAAAAAAAAAM8QXv___AAAAAAAAAAAzxn_7HT9IAAAAAAAAALpD_wQAvwAAAAAAAAABv9_0AAc_AAAAAAAAAAG___mR9_WAAAAAAAAAAPv_____EAAAAAAAAAAAE7____xAAAAAAAAAAAAAYjNhRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
47
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAa-QAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAC72AAAAAAAAAAAAAAAAX_AAAAAAAAAAAAAAAACfsAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_QAAAAAAAAAAAAAAAD7zAAAAAAAAAAAAAAAAf9EAAAAAAAAAAAAAAACvoAAXyDAAAAAAAAAABO4wCO__9wAAAAAAAAAH-QGv_Lz_EAAAAAAAAAf3Pf-RBP0QAAAAAAAAA_3v1AAE-AAAAAAAAAAB7_9gIlzgAAAAAAAAAACP__vv_3AAAAAAAAAAAAr____nAAAAAAAAAAAAAp__-1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
48
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8cAAAAAAAAAAAAAAAAbwAAAAAAAAAAAAAAAAb9QAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAF-yAAAAAAAAAAAAAAAF7TAAAAAAAAAAAAAAAD7kAAAAAAAAAAAAAAABv3AAAAAAAAAAAAAAAAj6AAAAAAAAAAAAAAAATdIAAAAAAAAAAAAAAAG_QAAFdzAAAAAAAAAABvgABc__9AAAAAAAAAAb8gGf_nPJAAAAAAAAAF9wK-cxALkAAAAAAAAAf2CuUAAD5wAAAAAAAABPZfUAAAnBAAAAAAAAAB6IsQAAbkAAAAAAAAAACv5wAAXnAAAAAAAAAAADz9mq33AAAAAAAAAAAAAY7_xzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
49
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAABziAAAAAAAAAAAAAAAAj2AAAAAAAAAAAAAAAAPrAAAAAAAAAAAAAAAACOMAAAAAAAAAAAAAAAA_kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAArSAAAAAAAAAAAAAAAAX4AAAAAAAAAAAAAAAADOAAAAAAAAAAAAAAAAAekAABIgAAAAAAAAAAAF9AAK3_sQAAAAAAAAAAzzA866n0AAAAAAAAAADuA-9wAOkAAAAAAAAAAO4J-AAA7QAAAAAAAAAAz0mQAAn0AAAAAAAAAABfmLIDv4AAAAAAAAAAAAz9_t7mAAAAAAAAAAAAAp__mSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
50
+ ],
51
+ 7: [
52
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnef-QAAAAAAAAAABq_____-MAAAAAAAAAAN____6v9gAAAAAAAAAAr_-pMW_9AAAAAAAAAAAUkwAAr_oAAAAAAAAAAAAAAAHP5AAAAAAAAAAAAAAAA__QAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAABz_UAAAAAAAAAAAAAAAX_sQAAAAAAAAAAAAAAHP9QAAAAAAAAAAAAAACf-xAAAAAAAAAAAAAAA-_RAAAAAAAAAAAAAAAE_8AAAAAAAAAAAAAAAAT_cAAAAAAAAAAAAAAACf9AAAAAAAAAAAAAAAAM9wAAAAAAAAAAAAAAAD70AAAAAAAAAAAAAAAAX_sAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
53
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASHERif_EAAAAAAAAAAB_______cAAAAAAAAAAF____7P9wAAAAAAAAAAA5lDMh33AAAAAAAAAAAAAAAADPEAAAAAAAAAAAAAAABf8AAAAAAAAAAAAAAAAL-wAAAAAAAAAAAAAAAC74AAAAAAAAAAAAAAAAX_MAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_BAAAAAAAAAAAAAAAC32AAAAAAAAAAAAAAAAn9EAAAAAAAAAAAAAAADvwAAAAAAAAAAAAAAAAe4gAAAAAAAAAAAAAAAF-QAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAALfcAAAAAAAAAAAAAAABPwQAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
54
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOJn_EAAAAAAAAAAFfM7___9AAAAAAAAABpv__WZN-AAAAAAAAAAI__oxAE3iAAAAAAAAAALFAAAAX9EAAAAAAAAAAAAAAACvcAAAAAAAAAAAAAAABPsgAAAAAAAAAAAAAAAI-wAAAAAAAAAAAAAAABj6AAAAAAAAAAAAAAAAX6EAAAAAAAAAAAAAAAC_oAAAAAAAAAAAAAAAAO9QAAAAAAAAAAAAAAAK9wAAAAAAAAAAAAAAAB30AAAAAAAAAAAAAAAATqEAAAAAAAAAAAAAAACvQAAAAAAAAAAAAAAAAv0gAAAAAAAAAAAAAAAC-AAAAAAAAAAAAAAAAAj7AAAAAAAAAAAAAAAABtIAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
55
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEn7mdpAAAAAAAAAAAAF_____9MAAAAAAAAAAF3_____9QAAAAAAAAAAnu__3Mz5AAAAAAAAAAACJEQQAvsAAAAAAAAAAAAAAAAL-AAAAAAAAAAAAAAAAE_iAAAAAAAAAAAAAAAAr4AAAAAAAAAAAAAAAAr_QAAAAAAAAAAAAAAAX_gAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAW-wAAAAAAAAAAAAAAAL_gAAAAAAAAAAAAAAAJ_2AAAAAAAAAAAAAAAB76AAAAAAAAAAAAAAAAn-QAAAAAAAAAAAAAAAXvkAAAAAAAAAAAAAAADP4gAAAAAAAAAAAAAAAf9gAAAAAAAAAAAAAAAA3RAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
56
+ ],
57
+ 8: [
58
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP_9MAAAAAAAAAAAAAXv___BAAAAAAAAAAAAn__6rvMAAAAAAAAAAAf_tQAI9wAAAAAAAAAATvsQAAv3AAAAAAAAAADf9AAALvMAAAAAAAAAAG_2AALvsQAAAAAAAAAAC_sgTv4wAAAAAAAAAAAF_9bv5AAAAAAAAAAAAAB-__9AAAAAAAAAAAAAAB3_-wAAAAAAAAAAAAACv__9EAAAAAAAAAAAAAv-uO-QAAAAAAAAAAAAj_YAX-IAAAAAAAAAAADfYAAK8wAAAAAAAAAAANsAABz3AAAAAAAAAAAA34EF3_MAAAAAAAAAAACP____oQAAAAAAAAAAAAr__-MAAAAAAAAAAAAAAHz4IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
59
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGv_qxAAAAAAAAAAAAAK____swcgAAAAAAAAAE_8iI78eAAAAAAAAAAC34AAAc_0AAAAAAAAAAP_YAACv5AAAAAAAAAAAv9gABv8EAAAAAAAAAAAf6EBz9QAAAAAAAAAAAAe9gr8UAAAAAAAAAAAAAr-j_QAAAAAAAAAAAAAAL__UAAAAAAAAAAAAAAAn_8wAAAAAAAAAAAAAAf-73AAAAAAAAAAAAABr_Zv8gAAAAAAAAAAAAP_oR33AAAAAAAAAAAABv4wCvcAAAAAAAAAAAAJ9AAI_AAAAAAAAAAAAAn0AAb4AAAAAAAAAAAACP9Cj_cAAAAAAAAAAAAC7___0wAAAAAAAAAAAAAo_-kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
60
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI6_9MAAAAAAAAAAAAYz___-zAAAAAAAAAAAI_-pb_99QAAAAAAAAAC75EAf8HXAAAAAAAAAAj-EACvdfYAAAAAAAAACPsAANwaoAAAAAAAAAAG_5IAla8wAAAAAAAAAACv_VA7_RAAAAAAAAAAACnv2L-RAAAAAAAAAAAAAC3_9wAAAAAAAAAAAAAATf_wAAAAAAAAAAAAAAf_z_AAAAAAAAAAAAAAf-M_9wAAAAAAAAAAAAC-MD_3AAAAAAAAAAAAB-QALfcAAAAAAAAAAAAOwAA_9AAAAAAAAAAAAE-QAt_wAAAAAAAAAAAAf-id_5AAAAAAAAAAAAAd___5AAAAAAAAAAAAAAWN_nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
61
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt9AAAAAAAAAAAAmu1vf_4AAAAAAAAAAAt_u_6dTYAAAAAAAAAAF-iXkAASAAAAAAAAAAArkAKAAPoAAAAAAAAAACaAAEAbfgAAAAAAAAAAE8QAAr_-AAAAAAAAAAACVAAf_5WAAAAAAAAAAAAiUj_wQMAAAAAAAAAAAAK7_wQAAAAAAAAAAAAAATP9QAAAAAAAAAAAAAAB_7YAAAAAAAAAAAAAAA95I4QAAAAAAAAAAAAAK-gb2AAAAAAAAAAAAADzABPkAAAAAAAAAAAAAT5AI9wAAAAAAAAAAAABPcE_lAAAAAAAAAAAAAE-QipAAAAAAAAAAAAAAL8OlIAAAAAAAAAAAAAAE78MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
62
+ ],
63
+ 9: [
64
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJ74UgAAAAAAAAAAAASv___2AAAAAAAAAAAATulmd-kAAAAAAAAAAAHsIAAAewAAAAAAAAAABsEAAABbYQAAAAAAAAAHQAAAAJ_yAAAAAAAAAB5AAAAAz9EAAAAAAAAAHdQAAVv_UAAAAAAAAAAG_-ruzfYAAAAAAAAAAABHy3MH9QAAAAAAAAAAAAAAAAuQAAAAAAAAAAAAAAAAPxAAAAAAAAAAAAAAAACtAAAAAAAAAAAAAAAAAdQAAAAAAAAAAAAAAAAK4gAAAAAAAAAAAAAAAB1gAAAAAAAAAAAAAAAAXiAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAuMAAAAAAAAAAAAAAAAJsQAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
65
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAny0AAAAAAAAAAAAAAGP_d-QAAAAAAAAAAAALfkwG_QAAAAAAAAAAALPcAAH-wAAAAAAAAAAGvYAAAv8AAAAAAAAAABvgAAALvYAAAAAAAAAAcsAAAG_0QAAAAAAAAAD-QAALP9gAAAAAAAAAAL7AATv_hAAAAAAAAAAAJ-5z9f4AAAAAAAAAAAAO-62CvIAAAAAAAAAAAAAEgA-oAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAA7AAAAAAAAAAAAAAAAAH7AAAAAAAAAAAAAAAABvUAAAAAAAAAAAAAAAAM0AAAAAAAAAAAAAAAAA3AAAAAAAAAAAAAAAAAP3FwAAAAAAAAAAAAAAA_noAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
66
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO_pMAAAAAAAAAAAAAC____5ABIAAAAAAAAAB_tCJ9-QYwAAAAAAAABP4QAAL7BjAAAAAAAAAs4wAAC_sGMAAAAAAAAJ9wAABf9QUgAAAAAAAC7iAABO_QBQAAAAAAAAP_qZnf_4AAAAAAAAAAA-____7-EAAAAAAAAAAASIiGM_wAAAAAAAAAAAAAAAAI9wAAAAAAAAAAAAAAAA3wAAAAAAAAAAAAAAAAT9AAAAAAAAAAAAAAAACvYAAAAAAAAAAAAAAAAM8QAAAAAAAAAAAAAAAD_AAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAAHvIAAAAAAAAAAAAAAABf0AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
67
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzz_xAAAAAAAAAAAAAHP_u_9QAAAAAAAAAAAHP0wA2_jAAAAAAAAAAB_1AAAb_QAAAAAAAAAAK-AAAHf4QAAAAAAAAAAriAACf4wAAAAAAAAAACuMABN-QAAAAAAAAAAAK_IjP_SAAAAAAAAAAAATv___4AAAAAAAAAAAAADbIbfcAAAAAAAAAAAAAAAA-wAAAAAAAAAAAAAAAAJ9gAAAAAAAAAAAAAAAA72AAAAAAAAAAAAAAAAL_IAAAAAAAAAAAAAAABvkAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAAAAAG_RAAAAAAAAAAAAAAAAj0AAAAAAAAAAAAAAAAPvAAAAAAAAAAAAAAAAAaoAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
68
+ ]
69
+ };
70
+ //#endregion
71
+ exports.MNIST_SAMPLES = MNIST_SAMPLES;
72
+
73
+ //# sourceMappingURL=mnist-samples.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnist-samples.cjs","names":[],"sources":["../../../src/components/neural-flow/mnist-samples.ts"],"sourcesContent":["/* cspell:disable */\n/**\n * Real MNIST test-set samples: four canonical images per class\n * (closest to the class centroid, via sklearn fetch_openml). 784 greyscale pixels\n * quantized to 4-bit nibbles, packed two per byte, base64url-encoded.\n * ~392 bytes per sample — 40 samples in ~16 KB text.\n */\nexport const MNIST_SAMPLES: Record<number, string[]> = {\n 0: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4tgAAAAAAAAAAAAAAff_-gAAAAAAAAAAAACv____8IAAAAAAAAAAD7_2v__-gAAAAAAAAAC3_-wAv__UAAAAAAAAAr_-yAGz_9QAAAAAAAAf_9wAAAu_1AAAAAAAALv-hAAAAb_kQAAAAAALf-wAAAABf_RAAAAAAA__iAAAAAF_-IAAAAAAG_4AAAAAAf_8wAAAAAAr_cAAAAAPv_AAAAAAACv8AAAAACP_VAAAAAAAK_wAAAACP_1AAAAAAAAr_AAAAB__6AAAAAAAACv9gAAKf_9EAAAAAAAAK_7iL___-YAAAAAAAAAb______7IAAAAAAAAAAY7___6kAAAAAAAAAAAABI35gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzKIAAAAAAAAAAAAAAE3_-wAAAAAAAAAAAAAE3__2AAAAAAAAAAAAAC3____HEAAAAAAAAAAEv__t__-gAAAAAAAAAAj9z6FL__YAAAAAAAAADfgXYAF__kAAAAAAAAA-0QAAABf_0AAAAAAAA9-AAAAAA__gAAAAAAAF_zAAAAAAn-AAAAAAAAn5AAAAAAG_4AAAAAAADvcAAAAABP-AAAAAAAAO9wAAAAA-_AAAAAAAAA76AAAAAJ_3AAAAAAAADvwAAAAZ_6AAAAAAAAAO_RAAAb_6AAAAAAAAAA7_1Cd9_6AAAAAAAAAADP_____6AAAAAAAAAAAE7____WAAAAAAAAAAAABIr_tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHuAAAAAAAAAAAAAAAAU7_oAAAAAAAAAAAAAAG__9RAAAAAAAAAAAAAD7___ySAAAAAAAAAAAAn_____5SAAAAAAAAAAHP_XREXvsQAAAAAAAACf_zAAAE74AAAAAAAAAu__EAAAC_4QAAAAAAAG_9gQAAAL_0AAAAAAABz_cAAAAAv_gAAAAAAAn_kQAAAALf-AAAAAAAHP8wAAAACP_xAAAAAAB_-wAAAABP_6EAAAAAAL_7AAAAB9_8EAAAAAAAz_oAAAAf__UAAAAAAACf9AAABc__YQAAAAAAAJ_6AAWP_-UQAAAAAAAAb_52j__6IAAAAAAAAAAK____-UEAAAAAAAAAAAAjashAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VaYAAAAAAAAAAAAAed___lAAAAAAAAAAADj____bYAAAAAAAAAAAz_-Xz7EAAAAAAAAAAAj_-RB__BAAAAAAAAAAP_-QAAj_gAAAAAAAAAG_-hAAAZ_jAAAAAAAAK__lAAAAXvgAAAAAAAC__2AAAAAF_gAAAAAAAO_4AAAAAAL-MAAAAAAG_9MAAAAAAv-QAAAAAAn_kAAAAAAC_5AAAAAACf8gAAAAAAj_kAAAAAAJ_yAAAAAAf_4QAAAAAAn_IAAAAAfP-QAAAAAACf-yAAASj_2BAAAAAAAF__-Hd8__sQAAAAAAAADf______wgAAAAAAAAAAXv___9kQAAAAAAAAAAAEr7VVMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 1: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeyAAAAAAAAAAAAAAAAB_oAAAAAAAAAAAAAAAAH-wAAAAAAAAAAAAAAAAf8EAAAAAAAAAAAAAAACP8QAAAAAAAAAAAAAAAd_RAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9wAAAAAAAAAAAAAAAO_1AAAAAAAAAAAAAAAD__EAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9gAAAAAAAAAAAAAAAe_iAAAAAAAAAAAAAAAI_5AAAAAAAAAAAAAAAAv_YAAAAAAAAAAAAAAAC_4gAAAAAAAAAAAAAAAf9wAAAAAAAAAAAAAAAB7SAAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlgAAAAAAAAAAAAAAAAf9AAAAAAAAAAAAAAAALf0AAAAAAAAAAAAAAABPlTAAAAAAAAAAAAAAAG_lAAAAAAAAAAAAAAAD_9EAAAAAAAAAAAAAAAr_oAAAAAAAAAAAAAAADP9QAAAAAAAAAAAAAAAM_1AAAAAAAAAAAAAAAD79EAAAAAAAAAAAAAAAb_wAAAAAAAAAAAAAAAPv9gAAAAAAAAAAAAAABv_RAAAAAAAAAAAAAAAd_7AAAAAAAAAAAAAAAF_-YAAAAAAAAAAAAAAAb4gAAAAAAAAAAAAAAADfogAAAAAAAAAAAAAAA-tgAAAAAAAAAAAAAAADrBAAAAAAAAAAAAAAAANJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAAv6AAAAAAAAAAAAAAAADPoAAAAAAAAAAAAAAABP-QAAAAAAAAAAAAAAAF_RAAAAAAAAAAAAAAAAv_MAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAAu-wAAAAAAAAAAAAAAAD_7AAAAAAAAAAAAAAAAP_UAAAAAAAAAAAAAAAA_wQAAAAAAAAAAAAAAAJ-QAAAAAAAAAAAAAAAF70AAAAAAAAAAAAAAAAr-IAAAAAAAAAAAAAAACvgAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAAAP-IAAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAJ_QAAAAAAAAAAAAAAAAn9AAAAAAAAAAAAAAAADvoAAAAAAAAAAAAAAAAP8gAAAAAAAAAAAAAAAA_wAAAAAAAAAAAAAAAAr-AAAAAAAAAAAAAAAADfkAAAAAAAAAAAAAAAAN-QAAAAAAAAAAAAAAAB31AAAAAAAAAAAAAAAAT_MAAAAAAAAAAAAAAACPwAAAAAAAAAAAAAAAAK-wAAAAAAAAAAAAAAAAr2AAAAAAAAAAAAAAAAA-YAAAAAAAAAAAAAAAAAZwAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 2: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu3cQAAAAAAAAAAAAABv__-IAAAAAAAAAAAAAX3af-xAAAAAAAAAAAACHEAj_oAAAAAAAAAAAABEAAc-wAAAAAAAAAAAAAAAAb7AAAAAAAAAAAAAAAABf4wAAAAAAAAAAAAAAAA30AAAAAAAAAAAAAAAAPtIAAAAAAAAAAAAAAABvsAAAAAAAAAAAAAAAAJ-wAAAAAAAAAAAAAAAG_7AAAAAAAAAAAAAAAAn_QAAAAAAAAAAABEAAXvgQAAAAAAAAAANu7Mz_8gAAAAAAAAAAHf_u___EEAAAAAAAAAB_933___-0IQAAAAAAAI_73_1t3u7ZAAAAAAAADP__kAACUwAAAAAAAAAF_-YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASd-RAAAAAAAAAAAAAAff-_0gAAAAAAAAAAAAT__Bn8AAAAAAAAAAAAA_-hAM-AAAAAAAAAAAAAcwAAf3AAAAAAAAAAAAAAAABvoAAAAAAAAAAAAAAAAG-gAAAAAAAAAAAAAAAAb6AAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAG4gAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAKb78AAAAAAAAAAARAnU___4gAAAAAAAAB-3P_9___4AAAAAAAAAHKfkiJcePUAAAAAAAAAicgQFN9G9wAAAAAAAACvoFnf9wTaAAAAAAAAAK-l_P_BACUAAAAAAAAAPP__-wAAAAAAAAAAAAAEz5lhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbHAAAAAAAAAAAAAAAAb_9wAAAAAAAAAAAAAAB-X8AAAAAAAAAAAAAAAMgM4AAAAAAAAAAAAAAC5w2QAAAAAAAAAAAAAACBP5AAAAAAAAAAAAAAABB_kAAAAAAAAAAAAAAAAH9gAAAAAAAAAAAAAAAAviAAAAAAAAAAAAAAAAHdAAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAK9gAAAAAAAAAAAAACEB3RAAAAAAAAAAAAAH_Xf4AAAAAAAAAAAAAF_u__QAAAAAAAAAAAAC2gLP-RAAAAAAAAAAAAn2BO__21AAAAAAAAAAB_Mc9ie5QAAAAAAAAAAC_N-QAAAAAAAAAAAAAAB-9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv9MAAAAAAAAAAAAAAD7__SAAAAAAAAAAAAAB7qN_0QAAAAAAAAAAAAj1AAn2AAAAAAAAAAAAAVAAAM0QAAAAAAAAAAAAAAAAbyAAAAAAAAAAAAAAAABPIAAAAAAAAAAAAAAAAH4gAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAACtIAAAAAAAAAAAAAFHyvcAAAAAAAAAAAAEnf__-RAAAAAAAAAAAG__zP_foAAAAAAAAAAC38Mb-AeQAAAAAAAAAAv7EZ9wAAAAAAAAAAAADOIb-gAAAAAAAAAAAAAdo7-iAAAAAAAAAAAAAAz_-iAAAAAAAAAAAAAACOswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 3: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs8wAAAAAAAAAAAAAAF5_9cyAAAAAAAAAAAACf___7-gAAAAAAAAAAAH_93HjvkAAAAAAAAAAAbHEQAe-AAAAAAAAAAAAAAABO-yAAAAAAAAAAAAAACf_CAAAAAAAAAAAAE4q_9xAAAAAAAAAAAAB____SAAAAAAAAAAAAAH___4MAAAAAAAAAAAAAbNhb5QAAAAAAAAAAAAAAAAAosAAAAAAAAAAAAAAAAADWAAAAAAAAAAAAAAAAALkAAAAAAAAAAAAAAAAA6QAAAAAAAAAAAAAAAAr4AAAAAAAAFwAAAAAAH_MAAAAAAAAv54ZERK_ccAAAAAAAAAj______6EQAAAAAAAAAEaN_f-zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa___2BAAAAAAAAAAAACv____wQAAAAAAAAAAAG__7uv5AAAAAAAAAAAAFmUABvkAAAAAAAAAAAAAAAFO-QAAAAAAAAAAAAAAGf_4AAAAAAAAAAAAABOf_qEAAAAAAAAAAAA0v__1AAAAAAAAAAAAB_____kgAAAAAAAAAAAE7__O_NMAAAAAAAAAAABLthNBmQAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAA0QAAAAAAAAAAAAAAAADUAAAAAAAAAAAAAAAABeYAAAAAAAAAAAAAAAKP0QAAAAAAAAAXlmZmzv-QAAAAAAAAAI_______2AAAAAAAAAAX_____1RAAAAAAAAAAAYubpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlPvpolhAAAAAAAAAAAE7P____1AAAAAAAAAAAK3jpV-_1AAAAAAAAAAABQAAAH_0AAAAAAAAAAAAAAASv9QAAAAAAAAAAAAAAXv_UAAAAAAAAAAAAAGj_-xAAAAAAAAAAAAAF__5AAAAAAAAAAAAAAATv_DAAAAAAAAAAAAAAAG__5QAAAAAAAAAAAAAABf_7EAAAAAAAAAAAAAAAO_-hAAAAAAAAAAAAAAAD7_QAAAAAAAAAAAAAAACv9AAAAAAAAAAAAAAAAb_0AAAAAAAAAAAAAAG8_8EAAAAAAAAAAAADjP__YAAAAAAAAAAAKq7__-UAAAAAAAAAAABv_9wzMAAAAAAAAAAAAI_3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFYjugxAAAAAAAAAAAALP____wAAAAAAAAAAAA__Jn__0AAAAAAAAAAACcQABv-IAAAAAAAAAAAAAAAX_wAAAAAAAAAAAAAAAf_9QAAAAAAAAAAAAAAj_-QAAAAAAAAAAAAAj3_9gAAAAAAAAAAAABO__-1EAAAAAAAAAAAAK_____cUAAAAAAAAAAAPf___v_0AAAAAAAAAAAARVVDXvoAAAAAAAAAAAAAAAAv-gAAAAAAAAAAAAAAA9_zAAAAAAAAAAAAAAA9_3EAAAAAAAAAAAAAKO_5AAAAAAAAAAAABnfP_mAAAAAAAAAAAABP__-yAAAAAAAAAAAAAe__6AAAAAAAAAAAAAAAj8QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 4: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4QAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAADPcAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAnMAAG_iAAAAAAAAAAAa9gAAj6AAAAAAAAAAAa_jAADPcAAAAAAAAAAa_3AABv9AAAAAAAAAAG_3AAAI_BAAAAAAAAAB78AAAB74cwAAAAAAAACv-3VXz__7AAAAAAAAABn______ZMAAAAAAAAAAEmcq_-hAAAAAAAAAAAAAAAG_0AAAAAAAAAAAAAAABz6AAAAAAAAAAAAAAAAX_UAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABP9AAAAAAAAAAAAAAAAJ-gAAAAAAAAAAAAAAAAbSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAG-QAAAAAAAAAAAAAAAAb5AAAAAAAAAAALIAAACPYAAAAAAAAAAC5wAAAJ8wAAAAAAAAAABRAAAAqwAAAAAAAAAAJAAAAAFhAAAAAAAAAACVAAAABvgAAAAAAAAABPcAAABL9SAAAAAAAAANUAAAAq_8kAAAAAAAA6sRdXjO__-QAAAAAAAJ_93_7___tjAAAAAAAAK93dyHdMkQAAAAAAAAAAAAAAAW5QAAAAAAAAAAAAAAAHfhAAAAAAAAAAAAAAACnWAAAAAAAAAAAAAAAAiJAAAAAAAAAAAAAAAAOpYAAAAAAAAAAAAAAAAEoAAAAAAAAAAAAAAAAEswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtgAAAAAAAAAAAAAAAAHmAAAAAAAAAAABcAAABPYAAAAAAAAAAAfiAAAJ8gAAAAAAAAAACbAAAA7AAAAAAAAAAABPQAAAP3AAAAAAAAAAAJ0QAACPYAAAAAAAAAAE-AAAAL4QAAAAAAAAABz2IAAD-QAAAAAAAAAAb__tynv2AAAAAAAAAABv7-____YAAAAAAAAAABISEiJe4QAAAAAAAAAAAAAAAD9wAAAAAAAAAAAAAAAAb3AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAA3yAAAAAAAAAAAAAAAADdEAAAAAAAAAAAAAAAAuwAAAAAAAAAAAAAAAAB5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtEAAAAAAAAAAAAAAAAG4gAAAAAAAAAAABoQAAbzAAAAAAAAAAAAX2AABvMAAAAAAAAAAACvYAAG0QAAAAAAAAAAAvwQAAbRAAAAAAAAAAAK-AAACsAAAAAAAAAAAB2hAAAMwAAAAAAAAAAAf2AAAE_AAAAAAAAAAACfgAAAn3AAAAAAAAAAAJ__-p7_IAAAAAAAAAAAf_____oAAAAAAAAAAAAFrbiv5QAAAAAAAAAAAAABAD-gAAAAAAAAAAAAAAAA32AAAAAAAAAAAAAAAAD_EAAAAAAAAAAAAAAAB_kAAAAAAAAAAAAAAAAd9wAAAAAAAAAAAAAAAD-wAAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 5: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsgAAAAAAAAAAAAAAAF-oQAAAAAAAAB5IAAkjtYAAAAAAAAAAC38zP-1AAAAAAAAAAAACcqqUgAAAAAAAAAAAAAtcAAAAAAAAAAAAAAAAH9AAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAX-3VAAAAAAAAAAAAAABf_L-AAAAAAAAAAAAAADtQCfUAAAAAAAAAAAAAAAAB6QAAAAAAAAAAAAAAAACeEAAAAAAAAAAAAAAAAE9wAAAAAAAAAAAAAAAAT3AAAAAAAAAAAAAAAAB_QAAAAAAAAAAFAAAABewQAAAAAAAAAAexAAGv4gAAAAAAAAAAAa65v_kgAAAAAAAAAAAAF8_KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYAAAAAAAAAAAAAAABc5AAAAAAAAAAAAAAAKu0gAAAAAAAAAAAAABfvoQAAAAAAAAAAAAAFz8MAAAAAAAAAAAAAAr_nAAAAAAAAAAAAAAAr6yAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAAL_2WEAAAAAAAAAAAAAADjf_rUAAAAAAAAAAAAAAAA535AAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAAHmAAAAAAAAAAAAAAAAANoAAAAAAAAAAAAAAAAB5gAAAAAAAAAAAAAAABr0AAAAAAAAAAAAAAABz3AAAAAAAAAAAAAAADz3AAAAAAAAAAAAAAJa7UAAAAAAAAAAAAAACfthAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxAAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAB-38EAAAAAAAAAAAAABewHoQAAAAAAAAAAAAAc4wAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAA3zAAAAAAAAAAAAAAAAT6EgAAAAAAAAAAAAAABP_e1gAAAAAAAAAAAAAAXNzfgAAAAAAAAAAAAAAAEB_2AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAC-QAAAAAAAAAAAAAAAAL3AAAAAAAAAAAAAAAACfcAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAG7SAAAAAAAAAAAAAAAp6QAAAAAAAAAAAAAAAItQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsEAAAAAAAAAAAAAAAAG8gAAAAAAAAAAAAAAAAmgB2AAAAAAAAAAAAAALYWfkAAAAAAAAAAAAAK__9kQAAAAAAAAAAAAB_6WEAAAAAAAAAAAAAAc0gAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAq9gAAAAAAAAAAAAAABu_6mWMAAAAAAAAAAAAJ6e7u_5IAAAAAAAAAAAAAAAA4-QAAAAAAAAAAAAAAAAB_QAAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAI-QAAAAAAAAAAAAAAAI-xAAAAAAAAAAAANQBt-QAAAAAAAAAAAAfiS_swAAAAAAAAAAAAX-z9YAAAAAAAAAAAAABf6nEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 6: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAE_1AAAAAAAAAAAAAAABn-EAAAAAAAAAAAAAAAL_kAAAAAAAAAAAAAAAGv0wAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAM-AAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAB73AAAAAAAAAAAAAAAAj8AAAgAAAAAAAAAAAAT_UABNxwAAAAAAAAAACPkABM_-UAAAAAAAAAAM8QXv___AAAAAAAAAAAzxn_7HT9IAAAAAAAAALpD_wQAvwAAAAAAAAABv9_0AAc_AAAAAAAAAAG___mR9_WAAAAAAAAAAPv_____EAAAAAAAAAAAE7____xAAAAAAAAAAAAAYjNhRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAa-QAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAC72AAAAAAAAAAAAAAAAX_AAAAAAAAAAAAAAAACfsAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_QAAAAAAAAAAAAAAAD7zAAAAAAAAAAAAAAAAf9EAAAAAAAAAAAAAAACvoAAXyDAAAAAAAAAABO4wCO__9wAAAAAAAAAH-QGv_Lz_EAAAAAAAAAf3Pf-RBP0QAAAAAAAAA_3v1AAE-AAAAAAAAAAB7_9gIlzgAAAAAAAAAACP__vv_3AAAAAAAAAAAAr____nAAAAAAAAAAAAAp__-1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8cAAAAAAAAAAAAAAAAbwAAAAAAAAAAAAAAAAb9QAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAF-yAAAAAAAAAAAAAAAF7TAAAAAAAAAAAAAAAD7kAAAAAAAAAAAAAAABv3AAAAAAAAAAAAAAAAj6AAAAAAAAAAAAAAAATdIAAAAAAAAAAAAAAAG_QAAFdzAAAAAAAAAABvgABc__9AAAAAAAAAAb8gGf_nPJAAAAAAAAAF9wK-cxALkAAAAAAAAAf2CuUAAD5wAAAAAAAABPZfUAAAnBAAAAAAAAAB6IsQAAbkAAAAAAAAAACv5wAAXnAAAAAAAAAAADz9mq33AAAAAAAAAAAAAY7_xzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAABziAAAAAAAAAAAAAAAAj2AAAAAAAAAAAAAAAAPrAAAAAAAAAAAAAAAACOMAAAAAAAAAAAAAAAA_kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAArSAAAAAAAAAAAAAAAAX4AAAAAAAAAAAAAAAADOAAAAAAAAAAAAAAAAAekAABIgAAAAAAAAAAAF9AAK3_sQAAAAAAAAAAzzA866n0AAAAAAAAAADuA-9wAOkAAAAAAAAAAO4J-AAA7QAAAAAAAAAAz0mQAAn0AAAAAAAAAABfmLIDv4AAAAAAAAAAAAz9_t7mAAAAAAAAAAAAAp__mSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 7: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnef-QAAAAAAAAAABq_____-MAAAAAAAAAAN____6v9gAAAAAAAAAAr_-pMW_9AAAAAAAAAAAUkwAAr_oAAAAAAAAAAAAAAAHP5AAAAAAAAAAAAAAAA__QAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAABz_UAAAAAAAAAAAAAAAX_sQAAAAAAAAAAAAAAHP9QAAAAAAAAAAAAAACf-xAAAAAAAAAAAAAAA-_RAAAAAAAAAAAAAAAE_8AAAAAAAAAAAAAAAAT_cAAAAAAAAAAAAAAACf9AAAAAAAAAAAAAAAAM9wAAAAAAAAAAAAAAAD70AAAAAAAAAAAAAAAAX_sAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASHERif_EAAAAAAAAAAB_______cAAAAAAAAAAF____7P9wAAAAAAAAAAA5lDMh33AAAAAAAAAAAAAAAADPEAAAAAAAAAAAAAAABf8AAAAAAAAAAAAAAAAL-wAAAAAAAAAAAAAAAC74AAAAAAAAAAAAAAAAX_MAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_BAAAAAAAAAAAAAAAC32AAAAAAAAAAAAAAAAn9EAAAAAAAAAAAAAAADvwAAAAAAAAAAAAAAAAe4gAAAAAAAAAAAAAAAF-QAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAALfcAAAAAAAAAAAAAAABPwQAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOJn_EAAAAAAAAAAFfM7___9AAAAAAAAABpv__WZN-AAAAAAAAAAI__oxAE3iAAAAAAAAAALFAAAAX9EAAAAAAAAAAAAAAACvcAAAAAAAAAAAAAAABPsgAAAAAAAAAAAAAAAI-wAAAAAAAAAAAAAAABj6AAAAAAAAAAAAAAAAX6EAAAAAAAAAAAAAAAC_oAAAAAAAAAAAAAAAAO9QAAAAAAAAAAAAAAAK9wAAAAAAAAAAAAAAAB30AAAAAAAAAAAAAAAATqEAAAAAAAAAAAAAAACvQAAAAAAAAAAAAAAAAv0gAAAAAAAAAAAAAAAC-AAAAAAAAAAAAAAAAAj7AAAAAAAAAAAAAAAABtIAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEn7mdpAAAAAAAAAAAAF_____9MAAAAAAAAAAF3_____9QAAAAAAAAAAnu__3Mz5AAAAAAAAAAACJEQQAvsAAAAAAAAAAAAAAAAL-AAAAAAAAAAAAAAAAE_iAAAAAAAAAAAAAAAAr4AAAAAAAAAAAAAAAAr_QAAAAAAAAAAAAAAAX_gAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAW-wAAAAAAAAAAAAAAAL_gAAAAAAAAAAAAAAAJ_2AAAAAAAAAAAAAAAB76AAAAAAAAAAAAAAAAn-QAAAAAAAAAAAAAAAXvkAAAAAAAAAAAAAAADP4gAAAAAAAAAAAAAAAf9gAAAAAAAAAAAAAAAA3RAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 8: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP_9MAAAAAAAAAAAAAXv___BAAAAAAAAAAAAn__6rvMAAAAAAAAAAAf_tQAI9wAAAAAAAAAATvsQAAv3AAAAAAAAAADf9AAALvMAAAAAAAAAAG_2AALvsQAAAAAAAAAAC_sgTv4wAAAAAAAAAAAF_9bv5AAAAAAAAAAAAAB-__9AAAAAAAAAAAAAAB3_-wAAAAAAAAAAAAACv__9EAAAAAAAAAAAAAv-uO-QAAAAAAAAAAAAj_YAX-IAAAAAAAAAAADfYAAK8wAAAAAAAAAAANsAABz3AAAAAAAAAAAA34EF3_MAAAAAAAAAAACP____oQAAAAAAAAAAAAr__-MAAAAAAAAAAAAAAHz4IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGv_qxAAAAAAAAAAAAAK____swcgAAAAAAAAAE_8iI78eAAAAAAAAAAC34AAAc_0AAAAAAAAAAP_YAACv5AAAAAAAAAAAv9gABv8EAAAAAAAAAAAf6EBz9QAAAAAAAAAAAAe9gr8UAAAAAAAAAAAAAr-j_QAAAAAAAAAAAAAAL__UAAAAAAAAAAAAAAAn_8wAAAAAAAAAAAAAAf-73AAAAAAAAAAAAABr_Zv8gAAAAAAAAAAAAP_oR33AAAAAAAAAAAABv4wCvcAAAAAAAAAAAAJ9AAI_AAAAAAAAAAAAAn0AAb4AAAAAAAAAAAACP9Cj_cAAAAAAAAAAAAC7___0wAAAAAAAAAAAAAo_-kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI6_9MAAAAAAAAAAAAYz___-zAAAAAAAAAAAI_-pb_99QAAAAAAAAAC75EAf8HXAAAAAAAAAAj-EACvdfYAAAAAAAAACPsAANwaoAAAAAAAAAAG_5IAla8wAAAAAAAAAACv_VA7_RAAAAAAAAAAACnv2L-RAAAAAAAAAAAAAC3_9wAAAAAAAAAAAAAATf_wAAAAAAAAAAAAAAf_z_AAAAAAAAAAAAAAf-M_9wAAAAAAAAAAAAC-MD_3AAAAAAAAAAAAB-QALfcAAAAAAAAAAAAOwAA_9AAAAAAAAAAAAE-QAt_wAAAAAAAAAAAAf-id_5AAAAAAAAAAAAAd___5AAAAAAAAAAAAAAWN_nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt9AAAAAAAAAAAAmu1vf_4AAAAAAAAAAAt_u_6dTYAAAAAAAAAAF-iXkAASAAAAAAAAAAArkAKAAPoAAAAAAAAAACaAAEAbfgAAAAAAAAAAE8QAAr_-AAAAAAAAAAACVAAf_5WAAAAAAAAAAAAiUj_wQMAAAAAAAAAAAAK7_wQAAAAAAAAAAAAAATP9QAAAAAAAAAAAAAAB_7YAAAAAAAAAAAAAAA95I4QAAAAAAAAAAAAAK-gb2AAAAAAAAAAAAADzABPkAAAAAAAAAAAAAT5AI9wAAAAAAAAAAAABPcE_lAAAAAAAAAAAAAE-QipAAAAAAAAAAAAAAL8OlIAAAAAAAAAAAAAAE78MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 9: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJ74UgAAAAAAAAAAAASv___2AAAAAAAAAAAATulmd-kAAAAAAAAAAAHsIAAAewAAAAAAAAAABsEAAABbYQAAAAAAAAAHQAAAAJ_yAAAAAAAAAB5AAAAAz9EAAAAAAAAAHdQAAVv_UAAAAAAAAAAG_-ruzfYAAAAAAAAAAABHy3MH9QAAAAAAAAAAAAAAAAuQAAAAAAAAAAAAAAAAPxAAAAAAAAAAAAAAAACtAAAAAAAAAAAAAAAAAdQAAAAAAAAAAAAAAAAK4gAAAAAAAAAAAAAAAB1gAAAAAAAAAAAAAAAAXiAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAuMAAAAAAAAAAAAAAAAJsQAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAny0AAAAAAAAAAAAAAGP_d-QAAAAAAAAAAAALfkwG_QAAAAAAAAAAALPcAAH-wAAAAAAAAAAGvYAAAv8AAAAAAAAAABvgAAALvYAAAAAAAAAAcsAAAG_0QAAAAAAAAAD-QAALP9gAAAAAAAAAAL7AATv_hAAAAAAAAAAAJ-5z9f4AAAAAAAAAAAAO-62CvIAAAAAAAAAAAAAEgA-oAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAA7AAAAAAAAAAAAAAAAAH7AAAAAAAAAAAAAAAABvUAAAAAAAAAAAAAAAAM0AAAAAAAAAAAAAAAAA3AAAAAAAAAAAAAAAAAP3FwAAAAAAAAAAAAAAA_noAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO_pMAAAAAAAAAAAAAC____5ABIAAAAAAAAAB_tCJ9-QYwAAAAAAAABP4QAAL7BjAAAAAAAAAs4wAAC_sGMAAAAAAAAJ9wAABf9QUgAAAAAAAC7iAABO_QBQAAAAAAAAP_qZnf_4AAAAAAAAAAA-____7-EAAAAAAAAAAASIiGM_wAAAAAAAAAAAAAAAAI9wAAAAAAAAAAAAAAAA3wAAAAAAAAAAAAAAAAT9AAAAAAAAAAAAAAAACvYAAAAAAAAAAAAAAAAM8QAAAAAAAAAAAAAAAD_AAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAAHvIAAAAAAAAAAAAAAABf0AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzz_xAAAAAAAAAAAAAHP_u_9QAAAAAAAAAAAHP0wA2_jAAAAAAAAAAB_1AAAb_QAAAAAAAAAAK-AAAHf4QAAAAAAAAAAriAACf4wAAAAAAAAAACuMABN-QAAAAAAAAAAAK_IjP_SAAAAAAAAAAAATv___4AAAAAAAAAAAAADbIbfcAAAAAAAAAAAAAAAA-wAAAAAAAAAAAAAAAAJ9gAAAAAAAAAAAAAAAA72AAAAAAAAAAAAAAAAL_IAAAAAAAAAAAAAAABvkAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAAAAAG_RAAAAAAAAAAAAAAAAj0AAAAAAAAAAAAAAAAPvAAAAAAAAAAAAAAAAAaoAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n};\n"],"mappings":";;;;;;;AAOA,MAAa,gBAA0C;CACrD,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,73 @@
1
+ //#region src/components/neural-flow/mnist-samples.ts
2
+ /**
3
+ * Real MNIST test-set samples: four canonical images per class
4
+ * (closest to the class centroid, via sklearn fetch_openml). 784 greyscale pixels
5
+ * quantized to 4-bit nibbles, packed two per byte, base64url-encoded.
6
+ * ~392 bytes per sample — 40 samples in ~16 KB text.
7
+ */
8
+ const MNIST_SAMPLES = {
9
+ 0: [
10
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4tgAAAAAAAAAAAAAAff_-gAAAAAAAAAAAACv____8IAAAAAAAAAAD7_2v__-gAAAAAAAAAC3_-wAv__UAAAAAAAAAr_-yAGz_9QAAAAAAAAf_9wAAAu_1AAAAAAAALv-hAAAAb_kQAAAAAALf-wAAAABf_RAAAAAAA__iAAAAAF_-IAAAAAAG_4AAAAAAf_8wAAAAAAr_cAAAAAPv_AAAAAAACv8AAAAACP_VAAAAAAAK_wAAAACP_1AAAAAAAAr_AAAAB__6AAAAAAAACv9gAAKf_9EAAAAAAAAK_7iL___-YAAAAAAAAAb______7IAAAAAAAAAAY7___6kAAAAAAAAAAAABI35gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
11
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzKIAAAAAAAAAAAAAAE3_-wAAAAAAAAAAAAAE3__2AAAAAAAAAAAAAC3____HEAAAAAAAAAAEv__t__-gAAAAAAAAAAj9z6FL__YAAAAAAAAADfgXYAF__kAAAAAAAAA-0QAAABf_0AAAAAAAA9-AAAAAA__gAAAAAAAF_zAAAAAAn-AAAAAAAAn5AAAAAAG_4AAAAAAADvcAAAAABP-AAAAAAAAO9wAAAAA-_AAAAAAAAA76AAAAAJ_3AAAAAAAADvwAAAAZ_6AAAAAAAAAO_RAAAb_6AAAAAAAAAA7_1Cd9_6AAAAAAAAAADP_____6AAAAAAAAAAAE7____WAAAAAAAAAAAABIr_tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
12
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHuAAAAAAAAAAAAAAAAU7_oAAAAAAAAAAAAAAG__9RAAAAAAAAAAAAAD7___ySAAAAAAAAAAAAn_____5SAAAAAAAAAAHP_XREXvsQAAAAAAAACf_zAAAE74AAAAAAAAAu__EAAAC_4QAAAAAAAG_9gQAAAL_0AAAAAAABz_cAAAAAv_gAAAAAAAn_kQAAAALf-AAAAAAAHP8wAAAACP_xAAAAAAB_-wAAAABP_6EAAAAAAL_7AAAAB9_8EAAAAAAAz_oAAAAf__UAAAAAAACf9AAABc__YQAAAAAAAJ_6AAWP_-UQAAAAAAAAb_52j__6IAAAAAAAAAAK____-UEAAAAAAAAAAAAjashAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
13
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VaYAAAAAAAAAAAAAed___lAAAAAAAAAAADj____bYAAAAAAAAAAAz_-Xz7EAAAAAAAAAAAj_-RB__BAAAAAAAAAAP_-QAAj_gAAAAAAAAAG_-hAAAZ_jAAAAAAAAK__lAAAAXvgAAAAAAAC__2AAAAAF_gAAAAAAAO_4AAAAAAL-MAAAAAAG_9MAAAAAAv-QAAAAAAn_kAAAAAAC_5AAAAAACf8gAAAAAAj_kAAAAAAJ_yAAAAAAf_4QAAAAAAn_IAAAAAfP-QAAAAAACf-yAAASj_2BAAAAAAAF__-Hd8__sQAAAAAAAADf______wgAAAAAAAAAAXv___9kQAAAAAAAAAAAEr7VVMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
14
+ ],
15
+ 1: [
16
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeyAAAAAAAAAAAAAAAAB_oAAAAAAAAAAAAAAAAH-wAAAAAAAAAAAAAAAAf8EAAAAAAAAAAAAAAACP8QAAAAAAAAAAAAAAAd_RAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9wAAAAAAAAAAAAAAAO_1AAAAAAAAAAAAAAAD__EAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9gAAAAAAAAAAAAAAAe_iAAAAAAAAAAAAAAAI_5AAAAAAAAAAAAAAAAv_YAAAAAAAAAAAAAAAC_4gAAAAAAAAAAAAAAAf9wAAAAAAAAAAAAAAAB7SAAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
17
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlgAAAAAAAAAAAAAAAAf9AAAAAAAAAAAAAAAALf0AAAAAAAAAAAAAAABPlTAAAAAAAAAAAAAAAG_lAAAAAAAAAAAAAAAD_9EAAAAAAAAAAAAAAAr_oAAAAAAAAAAAAAAADP9QAAAAAAAAAAAAAAAM_1AAAAAAAAAAAAAAAD79EAAAAAAAAAAAAAAAb_wAAAAAAAAAAAAAAAPv9gAAAAAAAAAAAAAABv_RAAAAAAAAAAAAAAAd_7AAAAAAAAAAAAAAAF_-YAAAAAAAAAAAAAAAb4gAAAAAAAAAAAAAAADfogAAAAAAAAAAAAAAA-tgAAAAAAAAAAAAAAADrBAAAAAAAAAAAAAAAANJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
18
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAAv6AAAAAAAAAAAAAAAADPoAAAAAAAAAAAAAAABP-QAAAAAAAAAAAAAAAF_RAAAAAAAAAAAAAAAAv_MAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAAu-wAAAAAAAAAAAAAAAD_7AAAAAAAAAAAAAAAAP_UAAAAAAAAAAAAAAAA_wQAAAAAAAAAAAAAAAJ-QAAAAAAAAAAAAAAAF70AAAAAAAAAAAAAAAAr-IAAAAAAAAAAAAAAACvgAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
19
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAAAP-IAAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAJ_QAAAAAAAAAAAAAAAAn9AAAAAAAAAAAAAAAADvoAAAAAAAAAAAAAAAAP8gAAAAAAAAAAAAAAAA_wAAAAAAAAAAAAAAAAr-AAAAAAAAAAAAAAAADfkAAAAAAAAAAAAAAAAN-QAAAAAAAAAAAAAAAB31AAAAAAAAAAAAAAAAT_MAAAAAAAAAAAAAAACPwAAAAAAAAAAAAAAAAK-wAAAAAAAAAAAAAAAAr2AAAAAAAAAAAAAAAAA-YAAAAAAAAAAAAAAAAAZwAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
20
+ ],
21
+ 2: [
22
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu3cQAAAAAAAAAAAAABv__-IAAAAAAAAAAAAAX3af-xAAAAAAAAAAAACHEAj_oAAAAAAAAAAAABEAAc-wAAAAAAAAAAAAAAAAb7AAAAAAAAAAAAAAAABf4wAAAAAAAAAAAAAAAA30AAAAAAAAAAAAAAAAPtIAAAAAAAAAAAAAAABvsAAAAAAAAAAAAAAAAJ-wAAAAAAAAAAAAAAAG_7AAAAAAAAAAAAAAAAn_QAAAAAAAAAAABEAAXvgQAAAAAAAAAANu7Mz_8gAAAAAAAAAAHf_u___EEAAAAAAAAAB_933___-0IQAAAAAAAI_73_1t3u7ZAAAAAAAADP__kAACUwAAAAAAAAAF_-YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
23
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASd-RAAAAAAAAAAAAAAff-_0gAAAAAAAAAAAAT__Bn8AAAAAAAAAAAAA_-hAM-AAAAAAAAAAAAAcwAAf3AAAAAAAAAAAAAAAABvoAAAAAAAAAAAAAAAAG-gAAAAAAAAAAAAAAAAb6AAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAG4gAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAKb78AAAAAAAAAAARAnU___4gAAAAAAAAB-3P_9___4AAAAAAAAAHKfkiJcePUAAAAAAAAAicgQFN9G9wAAAAAAAACvoFnf9wTaAAAAAAAAAK-l_P_BACUAAAAAAAAAPP__-wAAAAAAAAAAAAAEz5lhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
24
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbHAAAAAAAAAAAAAAAAb_9wAAAAAAAAAAAAAAB-X8AAAAAAAAAAAAAAAMgM4AAAAAAAAAAAAAAC5w2QAAAAAAAAAAAAAACBP5AAAAAAAAAAAAAAABB_kAAAAAAAAAAAAAAAAH9gAAAAAAAAAAAAAAAAviAAAAAAAAAAAAAAAAHdAAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAK9gAAAAAAAAAAAAACEB3RAAAAAAAAAAAAAH_Xf4AAAAAAAAAAAAAF_u__QAAAAAAAAAAAAC2gLP-RAAAAAAAAAAAAn2BO__21AAAAAAAAAAB_Mc9ie5QAAAAAAAAAAC_N-QAAAAAAAAAAAAAAB-9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
25
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv9MAAAAAAAAAAAAAAD7__SAAAAAAAAAAAAAB7qN_0QAAAAAAAAAAAAj1AAn2AAAAAAAAAAAAAVAAAM0QAAAAAAAAAAAAAAAAbyAAAAAAAAAAAAAAAABPIAAAAAAAAAAAAAAAAH4gAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAACtIAAAAAAAAAAAAAFHyvcAAAAAAAAAAAAEnf__-RAAAAAAAAAAAG__zP_foAAAAAAAAAAC38Mb-AeQAAAAAAAAAAv7EZ9wAAAAAAAAAAAADOIb-gAAAAAAAAAAAAAdo7-iAAAAAAAAAAAAAAz_-iAAAAAAAAAAAAAACOswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
26
+ ],
27
+ 3: [
28
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs8wAAAAAAAAAAAAAAF5_9cyAAAAAAAAAAAACf___7-gAAAAAAAAAAAH_93HjvkAAAAAAAAAAAbHEQAe-AAAAAAAAAAAAAAABO-yAAAAAAAAAAAAAACf_CAAAAAAAAAAAAE4q_9xAAAAAAAAAAAAB____SAAAAAAAAAAAAAH___4MAAAAAAAAAAAAAbNhb5QAAAAAAAAAAAAAAAAAosAAAAAAAAAAAAAAAAADWAAAAAAAAAAAAAAAAALkAAAAAAAAAAAAAAAAA6QAAAAAAAAAAAAAAAAr4AAAAAAAAFwAAAAAAH_MAAAAAAAAv54ZERK_ccAAAAAAAAAj______6EQAAAAAAAAAEaN_f-zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
29
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa___2BAAAAAAAAAAAACv____wQAAAAAAAAAAAG__7uv5AAAAAAAAAAAAFmUABvkAAAAAAAAAAAAAAAFO-QAAAAAAAAAAAAAAGf_4AAAAAAAAAAAAABOf_qEAAAAAAAAAAAA0v__1AAAAAAAAAAAAB_____kgAAAAAAAAAAAE7__O_NMAAAAAAAAAAABLthNBmQAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAA0QAAAAAAAAAAAAAAAADUAAAAAAAAAAAAAAAABeYAAAAAAAAAAAAAAAKP0QAAAAAAAAAXlmZmzv-QAAAAAAAAAI_______2AAAAAAAAAAX_____1RAAAAAAAAAAAYubpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
30
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlPvpolhAAAAAAAAAAAE7P____1AAAAAAAAAAAK3jpV-_1AAAAAAAAAAABQAAAH_0AAAAAAAAAAAAAAASv9QAAAAAAAAAAAAAAXv_UAAAAAAAAAAAAAGj_-xAAAAAAAAAAAAAF__5AAAAAAAAAAAAAAATv_DAAAAAAAAAAAAAAAG__5QAAAAAAAAAAAAAABf_7EAAAAAAAAAAAAAAAO_-hAAAAAAAAAAAAAAAD7_QAAAAAAAAAAAAAAACv9AAAAAAAAAAAAAAAAb_0AAAAAAAAAAAAAAG8_8EAAAAAAAAAAAADjP__YAAAAAAAAAAAKq7__-UAAAAAAAAAAABv_9wzMAAAAAAAAAAAAI_3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
31
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFYjugxAAAAAAAAAAAALP____wAAAAAAAAAAAA__Jn__0AAAAAAAAAAACcQABv-IAAAAAAAAAAAAAAAX_wAAAAAAAAAAAAAAAf_9QAAAAAAAAAAAAAAj_-QAAAAAAAAAAAAAj3_9gAAAAAAAAAAAABO__-1EAAAAAAAAAAAAK_____cUAAAAAAAAAAAPf___v_0AAAAAAAAAAAARVVDXvoAAAAAAAAAAAAAAAAv-gAAAAAAAAAAAAAAA9_zAAAAAAAAAAAAAAA9_3EAAAAAAAAAAAAAKO_5AAAAAAAAAAAABnfP_mAAAAAAAAAAAABP__-yAAAAAAAAAAAAAe__6AAAAAAAAAAAAAAAj8QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
32
+ ],
33
+ 4: [
34
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4QAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAADPcAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAnMAAG_iAAAAAAAAAAAa9gAAj6AAAAAAAAAAAa_jAADPcAAAAAAAAAAa_3AABv9AAAAAAAAAAG_3AAAI_BAAAAAAAAAB78AAAB74cwAAAAAAAACv-3VXz__7AAAAAAAAABn______ZMAAAAAAAAAAEmcq_-hAAAAAAAAAAAAAAAG_0AAAAAAAAAAAAAAABz6AAAAAAAAAAAAAAAAX_UAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABP9AAAAAAAAAAAAAAAAJ-gAAAAAAAAAAAAAAAAbSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
35
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAG-QAAAAAAAAAAAAAAAAb5AAAAAAAAAAALIAAACPYAAAAAAAAAAC5wAAAJ8wAAAAAAAAAABRAAAAqwAAAAAAAAAAJAAAAAFhAAAAAAAAAACVAAAABvgAAAAAAAAABPcAAABL9SAAAAAAAAANUAAAAq_8kAAAAAAAA6sRdXjO__-QAAAAAAAJ_93_7___tjAAAAAAAAK93dyHdMkQAAAAAAAAAAAAAAAW5QAAAAAAAAAAAAAAAHfhAAAAAAAAAAAAAAACnWAAAAAAAAAAAAAAAAiJAAAAAAAAAAAAAAAAOpYAAAAAAAAAAAAAAAAEoAAAAAAAAAAAAAAAAEswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
36
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtgAAAAAAAAAAAAAAAAHmAAAAAAAAAAABcAAABPYAAAAAAAAAAAfiAAAJ8gAAAAAAAAAACbAAAA7AAAAAAAAAAABPQAAAP3AAAAAAAAAAAJ0QAACPYAAAAAAAAAAE-AAAAL4QAAAAAAAAABz2IAAD-QAAAAAAAAAAb__tynv2AAAAAAAAAABv7-____YAAAAAAAAAABISEiJe4QAAAAAAAAAAAAAAAD9wAAAAAAAAAAAAAAAAb3AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAA3yAAAAAAAAAAAAAAAADdEAAAAAAAAAAAAAAAAuwAAAAAAAAAAAAAAAAB5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
37
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtEAAAAAAAAAAAAAAAAG4gAAAAAAAAAAABoQAAbzAAAAAAAAAAAAX2AABvMAAAAAAAAAAACvYAAG0QAAAAAAAAAAAvwQAAbRAAAAAAAAAAAK-AAACsAAAAAAAAAAAB2hAAAMwAAAAAAAAAAAf2AAAE_AAAAAAAAAAACfgAAAn3AAAAAAAAAAAJ__-p7_IAAAAAAAAAAAf_____oAAAAAAAAAAAAFrbiv5QAAAAAAAAAAAAABAD-gAAAAAAAAAAAAAAAA32AAAAAAAAAAAAAAAAD_EAAAAAAAAAAAAAAAB_kAAAAAAAAAAAAAAAAd9wAAAAAAAAAAAAAAAD-wAAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
38
+ ],
39
+ 5: [
40
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsgAAAAAAAAAAAAAAAF-oQAAAAAAAAB5IAAkjtYAAAAAAAAAAC38zP-1AAAAAAAAAAAACcqqUgAAAAAAAAAAAAAtcAAAAAAAAAAAAAAAAH9AAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAX-3VAAAAAAAAAAAAAABf_L-AAAAAAAAAAAAAADtQCfUAAAAAAAAAAAAAAAAB6QAAAAAAAAAAAAAAAACeEAAAAAAAAAAAAAAAAE9wAAAAAAAAAAAAAAAAT3AAAAAAAAAAAAAAAAB_QAAAAAAAAAAFAAAABewQAAAAAAAAAAexAAGv4gAAAAAAAAAAAa65v_kgAAAAAAAAAAAAF8_KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
41
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYAAAAAAAAAAAAAAABc5AAAAAAAAAAAAAAAKu0gAAAAAAAAAAAAABfvoQAAAAAAAAAAAAAFz8MAAAAAAAAAAAAAAr_nAAAAAAAAAAAAAAAr6yAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAAL_2WEAAAAAAAAAAAAAADjf_rUAAAAAAAAAAAAAAAA535AAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAAHmAAAAAAAAAAAAAAAAANoAAAAAAAAAAAAAAAAB5gAAAAAAAAAAAAAAABr0AAAAAAAAAAAAAAABz3AAAAAAAAAAAAAAADz3AAAAAAAAAAAAAAJa7UAAAAAAAAAAAAAACfthAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
42
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxAAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAB-38EAAAAAAAAAAAAABewHoQAAAAAAAAAAAAAc4wAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAA3zAAAAAAAAAAAAAAAAT6EgAAAAAAAAAAAAAABP_e1gAAAAAAAAAAAAAAXNzfgAAAAAAAAAAAAAAAEB_2AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAC-QAAAAAAAAAAAAAAAAL3AAAAAAAAAAAAAAAACfcAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAG7SAAAAAAAAAAAAAAAp6QAAAAAAAAAAAAAAAItQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
43
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsEAAAAAAAAAAAAAAAAG8gAAAAAAAAAAAAAAAAmgB2AAAAAAAAAAAAAALYWfkAAAAAAAAAAAAAK__9kQAAAAAAAAAAAAB_6WEAAAAAAAAAAAAAAc0gAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAq9gAAAAAAAAAAAAAABu_6mWMAAAAAAAAAAAAJ6e7u_5IAAAAAAAAAAAAAAAA4-QAAAAAAAAAAAAAAAAB_QAAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAI-QAAAAAAAAAAAAAAAI-xAAAAAAAAAAAANQBt-QAAAAAAAAAAAAfiS_swAAAAAAAAAAAAX-z9YAAAAAAAAAAAAABf6nEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
44
+ ],
45
+ 6: [
46
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAE_1AAAAAAAAAAAAAAABn-EAAAAAAAAAAAAAAAL_kAAAAAAAAAAAAAAAGv0wAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAM-AAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAB73AAAAAAAAAAAAAAAAj8AAAgAAAAAAAAAAAAT_UABNxwAAAAAAAAAACPkABM_-UAAAAAAAAAAM8QXv___AAAAAAAAAAAzxn_7HT9IAAAAAAAAALpD_wQAvwAAAAAAAAABv9_0AAc_AAAAAAAAAAG___mR9_WAAAAAAAAAAPv_____EAAAAAAAAAAAE7____xAAAAAAAAAAAAAYjNhRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
47
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAa-QAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAC72AAAAAAAAAAAAAAAAX_AAAAAAAAAAAAAAAACfsAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_QAAAAAAAAAAAAAAAD7zAAAAAAAAAAAAAAAAf9EAAAAAAAAAAAAAAACvoAAXyDAAAAAAAAAABO4wCO__9wAAAAAAAAAH-QGv_Lz_EAAAAAAAAAf3Pf-RBP0QAAAAAAAAA_3v1AAE-AAAAAAAAAAB7_9gIlzgAAAAAAAAAACP__vv_3AAAAAAAAAAAAr____nAAAAAAAAAAAAAp__-1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
48
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8cAAAAAAAAAAAAAAAAbwAAAAAAAAAAAAAAAAb9QAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAF-yAAAAAAAAAAAAAAAF7TAAAAAAAAAAAAAAAD7kAAAAAAAAAAAAAAABv3AAAAAAAAAAAAAAAAj6AAAAAAAAAAAAAAAATdIAAAAAAAAAAAAAAAG_QAAFdzAAAAAAAAAABvgABc__9AAAAAAAAAAb8gGf_nPJAAAAAAAAAF9wK-cxALkAAAAAAAAAf2CuUAAD5wAAAAAAAABPZfUAAAnBAAAAAAAAAB6IsQAAbkAAAAAAAAAACv5wAAXnAAAAAAAAAAADz9mq33AAAAAAAAAAAAAY7_xzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
49
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAABziAAAAAAAAAAAAAAAAj2AAAAAAAAAAAAAAAAPrAAAAAAAAAAAAAAAACOMAAAAAAAAAAAAAAAA_kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAArSAAAAAAAAAAAAAAAAX4AAAAAAAAAAAAAAAADOAAAAAAAAAAAAAAAAAekAABIgAAAAAAAAAAAF9AAK3_sQAAAAAAAAAAzzA866n0AAAAAAAAAADuA-9wAOkAAAAAAAAAAO4J-AAA7QAAAAAAAAAAz0mQAAn0AAAAAAAAAABfmLIDv4AAAAAAAAAAAAz9_t7mAAAAAAAAAAAAAp__mSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
50
+ ],
51
+ 7: [
52
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnef-QAAAAAAAAAABq_____-MAAAAAAAAAAN____6v9gAAAAAAAAAAr_-pMW_9AAAAAAAAAAAUkwAAr_oAAAAAAAAAAAAAAAHP5AAAAAAAAAAAAAAAA__QAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAABz_UAAAAAAAAAAAAAAAX_sQAAAAAAAAAAAAAAHP9QAAAAAAAAAAAAAACf-xAAAAAAAAAAAAAAA-_RAAAAAAAAAAAAAAAE_8AAAAAAAAAAAAAAAAT_cAAAAAAAAAAAAAAACf9AAAAAAAAAAAAAAAAM9wAAAAAAAAAAAAAAAD70AAAAAAAAAAAAAAAAX_sAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
53
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASHERif_EAAAAAAAAAAB_______cAAAAAAAAAAF____7P9wAAAAAAAAAAA5lDMh33AAAAAAAAAAAAAAAADPEAAAAAAAAAAAAAAABf8AAAAAAAAAAAAAAAAL-wAAAAAAAAAAAAAAAC74AAAAAAAAAAAAAAAAX_MAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_BAAAAAAAAAAAAAAAC32AAAAAAAAAAAAAAAAn9EAAAAAAAAAAAAAAADvwAAAAAAAAAAAAAAAAe4gAAAAAAAAAAAAAAAF-QAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAALfcAAAAAAAAAAAAAAABPwQAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
54
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOJn_EAAAAAAAAAAFfM7___9AAAAAAAAABpv__WZN-AAAAAAAAAAI__oxAE3iAAAAAAAAAALFAAAAX9EAAAAAAAAAAAAAAACvcAAAAAAAAAAAAAAABPsgAAAAAAAAAAAAAAAI-wAAAAAAAAAAAAAAABj6AAAAAAAAAAAAAAAAX6EAAAAAAAAAAAAAAAC_oAAAAAAAAAAAAAAAAO9QAAAAAAAAAAAAAAAK9wAAAAAAAAAAAAAAAB30AAAAAAAAAAAAAAAATqEAAAAAAAAAAAAAAACvQAAAAAAAAAAAAAAAAv0gAAAAAAAAAAAAAAAC-AAAAAAAAAAAAAAAAAj7AAAAAAAAAAAAAAAABtIAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
55
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEn7mdpAAAAAAAAAAAAF_____9MAAAAAAAAAAF3_____9QAAAAAAAAAAnu__3Mz5AAAAAAAAAAACJEQQAvsAAAAAAAAAAAAAAAAL-AAAAAAAAAAAAAAAAE_iAAAAAAAAAAAAAAAAr4AAAAAAAAAAAAAAAAr_QAAAAAAAAAAAAAAAX_gAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAW-wAAAAAAAAAAAAAAAL_gAAAAAAAAAAAAAAAJ_2AAAAAAAAAAAAAAAB76AAAAAAAAAAAAAAAAn-QAAAAAAAAAAAAAAAXvkAAAAAAAAAAAAAAADP4gAAAAAAAAAAAAAAAf9gAAAAAAAAAAAAAAAA3RAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
56
+ ],
57
+ 8: [
58
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP_9MAAAAAAAAAAAAAXv___BAAAAAAAAAAAAn__6rvMAAAAAAAAAAAf_tQAI9wAAAAAAAAAATvsQAAv3AAAAAAAAAADf9AAALvMAAAAAAAAAAG_2AALvsQAAAAAAAAAAC_sgTv4wAAAAAAAAAAAF_9bv5AAAAAAAAAAAAAB-__9AAAAAAAAAAAAAAB3_-wAAAAAAAAAAAAACv__9EAAAAAAAAAAAAAv-uO-QAAAAAAAAAAAAj_YAX-IAAAAAAAAAAADfYAAK8wAAAAAAAAAAANsAABz3AAAAAAAAAAAA34EF3_MAAAAAAAAAAACP____oQAAAAAAAAAAAAr__-MAAAAAAAAAAAAAAHz4IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
59
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGv_qxAAAAAAAAAAAAAK____swcgAAAAAAAAAE_8iI78eAAAAAAAAAAC34AAAc_0AAAAAAAAAAP_YAACv5AAAAAAAAAAAv9gABv8EAAAAAAAAAAAf6EBz9QAAAAAAAAAAAAe9gr8UAAAAAAAAAAAAAr-j_QAAAAAAAAAAAAAAL__UAAAAAAAAAAAAAAAn_8wAAAAAAAAAAAAAAf-73AAAAAAAAAAAAABr_Zv8gAAAAAAAAAAAAP_oR33AAAAAAAAAAAABv4wCvcAAAAAAAAAAAAJ9AAI_AAAAAAAAAAAAAn0AAb4AAAAAAAAAAAACP9Cj_cAAAAAAAAAAAAC7___0wAAAAAAAAAAAAAo_-kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
60
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI6_9MAAAAAAAAAAAAYz___-zAAAAAAAAAAAI_-pb_99QAAAAAAAAAC75EAf8HXAAAAAAAAAAj-EACvdfYAAAAAAAAACPsAANwaoAAAAAAAAAAG_5IAla8wAAAAAAAAAACv_VA7_RAAAAAAAAAAACnv2L-RAAAAAAAAAAAAAC3_9wAAAAAAAAAAAAAATf_wAAAAAAAAAAAAAAf_z_AAAAAAAAAAAAAAf-M_9wAAAAAAAAAAAAC-MD_3AAAAAAAAAAAAB-QALfcAAAAAAAAAAAAOwAA_9AAAAAAAAAAAAE-QAt_wAAAAAAAAAAAAf-id_5AAAAAAAAAAAAAd___5AAAAAAAAAAAAAAWN_nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
61
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt9AAAAAAAAAAAAmu1vf_4AAAAAAAAAAAt_u_6dTYAAAAAAAAAAF-iXkAASAAAAAAAAAAArkAKAAPoAAAAAAAAAACaAAEAbfgAAAAAAAAAAE8QAAr_-AAAAAAAAAAACVAAf_5WAAAAAAAAAAAAiUj_wQMAAAAAAAAAAAAK7_wQAAAAAAAAAAAAAATP9QAAAAAAAAAAAAAAB_7YAAAAAAAAAAAAAAA95I4QAAAAAAAAAAAAAK-gb2AAAAAAAAAAAAADzABPkAAAAAAAAAAAAAT5AI9wAAAAAAAAAAAABPcE_lAAAAAAAAAAAAAE-QipAAAAAAAAAAAAAAL8OlIAAAAAAAAAAAAAAE78MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
62
+ ],
63
+ 9: [
64
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJ74UgAAAAAAAAAAAASv___2AAAAAAAAAAAATulmd-kAAAAAAAAAAAHsIAAAewAAAAAAAAAABsEAAABbYQAAAAAAAAAHQAAAAJ_yAAAAAAAAAB5AAAAAz9EAAAAAAAAAHdQAAVv_UAAAAAAAAAAG_-ruzfYAAAAAAAAAAABHy3MH9QAAAAAAAAAAAAAAAAuQAAAAAAAAAAAAAAAAPxAAAAAAAAAAAAAAAACtAAAAAAAAAAAAAAAAAdQAAAAAAAAAAAAAAAAK4gAAAAAAAAAAAAAAAB1gAAAAAAAAAAAAAAAAXiAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAuMAAAAAAAAAAAAAAAAJsQAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
65
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAny0AAAAAAAAAAAAAAGP_d-QAAAAAAAAAAAALfkwG_QAAAAAAAAAAALPcAAH-wAAAAAAAAAAGvYAAAv8AAAAAAAAAABvgAAALvYAAAAAAAAAAcsAAAG_0QAAAAAAAAAD-QAALP9gAAAAAAAAAAL7AATv_hAAAAAAAAAAAJ-5z9f4AAAAAAAAAAAAO-62CvIAAAAAAAAAAAAAEgA-oAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAA7AAAAAAAAAAAAAAAAAH7AAAAAAAAAAAAAAAABvUAAAAAAAAAAAAAAAAM0AAAAAAAAAAAAAAAAA3AAAAAAAAAAAAAAAAAP3FwAAAAAAAAAAAAAAA_noAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
66
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO_pMAAAAAAAAAAAAAC____5ABIAAAAAAAAAB_tCJ9-QYwAAAAAAAABP4QAAL7BjAAAAAAAAAs4wAAC_sGMAAAAAAAAJ9wAABf9QUgAAAAAAAC7iAABO_QBQAAAAAAAAP_qZnf_4AAAAAAAAAAA-____7-EAAAAAAAAAAASIiGM_wAAAAAAAAAAAAAAAAI9wAAAAAAAAAAAAAAAA3wAAAAAAAAAAAAAAAAT9AAAAAAAAAAAAAAAACvYAAAAAAAAAAAAAAAAM8QAAAAAAAAAAAAAAAD_AAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAAHvIAAAAAAAAAAAAAAABf0AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
67
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzz_xAAAAAAAAAAAAAHP_u_9QAAAAAAAAAAAHP0wA2_jAAAAAAAAAAB_1AAAb_QAAAAAAAAAAK-AAAHf4QAAAAAAAAAAriAACf4wAAAAAAAAAACuMABN-QAAAAAAAAAAAK_IjP_SAAAAAAAAAAAATv___4AAAAAAAAAAAAADbIbfcAAAAAAAAAAAAAAAA-wAAAAAAAAAAAAAAAAJ9gAAAAAAAAAAAAAAAA72AAAAAAAAAAAAAAAAL_IAAAAAAAAAAAAAAABvkAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAAAAAG_RAAAAAAAAAAAAAAAAj0AAAAAAAAAAAAAAAAPvAAAAAAAAAAAAAAAAAaoAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
68
+ ]
69
+ };
70
+ //#endregion
71
+ export { MNIST_SAMPLES };
72
+
73
+ //# sourceMappingURL=mnist-samples.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnist-samples.mjs","names":[],"sources":["../../../src/components/neural-flow/mnist-samples.ts"],"sourcesContent":["/* cspell:disable */\n/**\n * Real MNIST test-set samples: four canonical images per class\n * (closest to the class centroid, via sklearn fetch_openml). 784 greyscale pixels\n * quantized to 4-bit nibbles, packed two per byte, base64url-encoded.\n * ~392 bytes per sample — 40 samples in ~16 KB text.\n */\nexport const MNIST_SAMPLES: Record<number, string[]> = {\n 0: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4tgAAAAAAAAAAAAAAff_-gAAAAAAAAAAAACv____8IAAAAAAAAAAD7_2v__-gAAAAAAAAAC3_-wAv__UAAAAAAAAAr_-yAGz_9QAAAAAAAAf_9wAAAu_1AAAAAAAALv-hAAAAb_kQAAAAAALf-wAAAABf_RAAAAAAA__iAAAAAF_-IAAAAAAG_4AAAAAAf_8wAAAAAAr_cAAAAAPv_AAAAAAACv8AAAAACP_VAAAAAAAK_wAAAACP_1AAAAAAAAr_AAAAB__6AAAAAAAACv9gAAKf_9EAAAAAAAAK_7iL___-YAAAAAAAAAb______7IAAAAAAAAAAY7___6kAAAAAAAAAAAABI35gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzKIAAAAAAAAAAAAAAE3_-wAAAAAAAAAAAAAE3__2AAAAAAAAAAAAAC3____HEAAAAAAAAAAEv__t__-gAAAAAAAAAAj9z6FL__YAAAAAAAAADfgXYAF__kAAAAAAAAA-0QAAABf_0AAAAAAAA9-AAAAAA__gAAAAAAAF_zAAAAAAn-AAAAAAAAn5AAAAAAG_4AAAAAAADvcAAAAABP-AAAAAAAAO9wAAAAA-_AAAAAAAAA76AAAAAJ_3AAAAAAAADvwAAAAZ_6AAAAAAAAAO_RAAAb_6AAAAAAAAAA7_1Cd9_6AAAAAAAAAADP_____6AAAAAAAAAAAE7____WAAAAAAAAAAAABIr_tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHuAAAAAAAAAAAAAAAAU7_oAAAAAAAAAAAAAAG__9RAAAAAAAAAAAAAD7___ySAAAAAAAAAAAAn_____5SAAAAAAAAAAHP_XREXvsQAAAAAAAACf_zAAAE74AAAAAAAAAu__EAAAC_4QAAAAAAAG_9gQAAAL_0AAAAAAABz_cAAAAAv_gAAAAAAAn_kQAAAALf-AAAAAAAHP8wAAAACP_xAAAAAAB_-wAAAABP_6EAAAAAAL_7AAAAB9_8EAAAAAAAz_oAAAAf__UAAAAAAACf9AAABc__YQAAAAAAAJ_6AAWP_-UQAAAAAAAAb_52j__6IAAAAAAAAAAK____-UEAAAAAAAAAAAAjashAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VaYAAAAAAAAAAAAAed___lAAAAAAAAAAADj____bYAAAAAAAAAAAz_-Xz7EAAAAAAAAAAAj_-RB__BAAAAAAAAAAP_-QAAj_gAAAAAAAAAG_-hAAAZ_jAAAAAAAAK__lAAAAXvgAAAAAAAC__2AAAAAF_gAAAAAAAO_4AAAAAAL-MAAAAAAG_9MAAAAAAv-QAAAAAAn_kAAAAAAC_5AAAAAACf8gAAAAAAj_kAAAAAAJ_yAAAAAAf_4QAAAAAAn_IAAAAAfP-QAAAAAACf-yAAASj_2BAAAAAAAF__-Hd8__sQAAAAAAAADf______wgAAAAAAAAAAXv___9kQAAAAAAAAAAAEr7VVMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 1: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeyAAAAAAAAAAAAAAAAB_oAAAAAAAAAAAAAAAAH-wAAAAAAAAAAAAAAAAf8EAAAAAAAAAAAAAAACP8QAAAAAAAAAAAAAAAd_RAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9wAAAAAAAAAAAAAAAO_1AAAAAAAAAAAAAAAD__EAAAAAAAAAAAAAAAj_sAAAAAAAAAAAAAAACv9gAAAAAAAAAAAAAAAe_iAAAAAAAAAAAAAAAI_5AAAAAAAAAAAAAAAAv_YAAAAAAAAAAAAAAAC_4gAAAAAAAAAAAAAAAf9wAAAAAAAAAAAAAAAB7SAAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlgAAAAAAAAAAAAAAAAf9AAAAAAAAAAAAAAAALf0AAAAAAAAAAAAAAABPlTAAAAAAAAAAAAAAAG_lAAAAAAAAAAAAAAAD_9EAAAAAAAAAAAAAAAr_oAAAAAAAAAAAAAAADP9QAAAAAAAAAAAAAAAM_1AAAAAAAAAAAAAAAD79EAAAAAAAAAAAAAAAb_wAAAAAAAAAAAAAAAPv9gAAAAAAAAAAAAAABv_RAAAAAAAAAAAAAAAd_7AAAAAAAAAAAAAAAF_-YAAAAAAAAAAAAAAAb4gAAAAAAAAAAAAAAADfogAAAAAAAAAAAAAAA-tgAAAAAAAAAAAAAAADrBAAAAAAAAAAAAAAAANJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAAv6AAAAAAAAAAAAAAAADPoAAAAAAAAAAAAAAABP-QAAAAAAAAAAAAAAAF_RAAAAAAAAAAAAAAAAv_MAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAAu-wAAAAAAAAAAAAAAAD_7AAAAAAAAAAAAAAAAP_UAAAAAAAAAAAAAAAA_wQAAAAAAAAAAAAAAAJ-QAAAAAAAAAAAAAAAF70AAAAAAAAAAAAAAAAr-IAAAAAAAAAAAAAAACvgAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAAAP-IAAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAJ_QAAAAAAAAAAAAAAAAn9AAAAAAAAAAAAAAAADvoAAAAAAAAAAAAAAAAP8gAAAAAAAAAAAAAAAA_wAAAAAAAAAAAAAAAAr-AAAAAAAAAAAAAAAADfkAAAAAAAAAAAAAAAAN-QAAAAAAAAAAAAAAAB31AAAAAAAAAAAAAAAAT_MAAAAAAAAAAAAAAACPwAAAAAAAAAAAAAAAAK-wAAAAAAAAAAAAAAAAr2AAAAAAAAAAAAAAAAA-YAAAAAAAAAAAAAAAAAZwAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 2: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu3cQAAAAAAAAAAAAABv__-IAAAAAAAAAAAAAX3af-xAAAAAAAAAAAACHEAj_oAAAAAAAAAAAABEAAc-wAAAAAAAAAAAAAAAAb7AAAAAAAAAAAAAAAABf4wAAAAAAAAAAAAAAAA30AAAAAAAAAAAAAAAAPtIAAAAAAAAAAAAAAABvsAAAAAAAAAAAAAAAAJ-wAAAAAAAAAAAAAAAG_7AAAAAAAAAAAAAAAAn_QAAAAAAAAAAABEAAXvgQAAAAAAAAAANu7Mz_8gAAAAAAAAAAHf_u___EEAAAAAAAAAB_933___-0IQAAAAAAAI_73_1t3u7ZAAAAAAAADP__kAACUwAAAAAAAAAF_-YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASd-RAAAAAAAAAAAAAAff-_0gAAAAAAAAAAAAT__Bn8AAAAAAAAAAAAA_-hAM-AAAAAAAAAAAAAcwAAf3AAAAAAAAAAAAAAAABvoAAAAAAAAAAAAAAAAG-gAAAAAAAAAAAAAAAAb6AAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAG4gAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAKb78AAAAAAAAAAARAnU___4gAAAAAAAAB-3P_9___4AAAAAAAAAHKfkiJcePUAAAAAAAAAicgQFN9G9wAAAAAAAACvoFnf9wTaAAAAAAAAAK-l_P_BACUAAAAAAAAAPP__-wAAAAAAAAAAAAAEz5lhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbHAAAAAAAAAAAAAAAAb_9wAAAAAAAAAAAAAAB-X8AAAAAAAAAAAAAAAMgM4AAAAAAAAAAAAAAC5w2QAAAAAAAAAAAAAACBP5AAAAAAAAAAAAAAABB_kAAAAAAAAAAAAAAAAH9gAAAAAAAAAAAAAAAAviAAAAAAAAAAAAAAAAHdAAAAAAAAAAAAAAAABvgAAAAAAAAAAAAAAAAK9gAAAAAAAAAAAAACEB3RAAAAAAAAAAAAAH_Xf4AAAAAAAAAAAAAF_u__QAAAAAAAAAAAAC2gLP-RAAAAAAAAAAAAn2BO__21AAAAAAAAAAB_Mc9ie5QAAAAAAAAAAC_N-QAAAAAAAAAAAAAAB-9wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv9MAAAAAAAAAAAAAAD7__SAAAAAAAAAAAAAB7qN_0QAAAAAAAAAAAAj1AAn2AAAAAAAAAAAAAVAAAM0QAAAAAAAAAAAAAAAAbyAAAAAAAAAAAAAAAABPIAAAAAAAAAAAAAAAAH4gAAAAAAAAAAAAAAAArAAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAACtIAAAAAAAAAAAAAFHyvcAAAAAAAAAAAAEnf__-RAAAAAAAAAAAG__zP_foAAAAAAAAAAC38Mb-AeQAAAAAAAAAAv7EZ9wAAAAAAAAAAAADOIb-gAAAAAAAAAAAAAdo7-iAAAAAAAAAAAAAAz_-iAAAAAAAAAAAAAACOswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 3: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs8wAAAAAAAAAAAAAAF5_9cyAAAAAAAAAAAACf___7-gAAAAAAAAAAAH_93HjvkAAAAAAAAAAAbHEQAe-AAAAAAAAAAAAAAABO-yAAAAAAAAAAAAAACf_CAAAAAAAAAAAAE4q_9xAAAAAAAAAAAAB____SAAAAAAAAAAAAAH___4MAAAAAAAAAAAAAbNhb5QAAAAAAAAAAAAAAAAAosAAAAAAAAAAAAAAAAADWAAAAAAAAAAAAAAAAALkAAAAAAAAAAAAAAAAA6QAAAAAAAAAAAAAAAAr4AAAAAAAAFwAAAAAAH_MAAAAAAAAv54ZERK_ccAAAAAAAAAj______6EQAAAAAAAAAEaN_f-zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa___2BAAAAAAAAAAAACv____wQAAAAAAAAAAAG__7uv5AAAAAAAAAAAAFmUABvkAAAAAAAAAAAAAAAFO-QAAAAAAAAAAAAAAGf_4AAAAAAAAAAAAABOf_qEAAAAAAAAAAAA0v__1AAAAAAAAAAAAB_____kgAAAAAAAAAAAE7__O_NMAAAAAAAAAAABLthNBmQAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAA0QAAAAAAAAAAAAAAAADUAAAAAAAAAAAAAAAABeYAAAAAAAAAAAAAAAKP0QAAAAAAAAAXlmZmzv-QAAAAAAAAAI_______2AAAAAAAAAAX_____1RAAAAAAAAAAAYubpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlPvpolhAAAAAAAAAAAE7P____1AAAAAAAAAAAK3jpV-_1AAAAAAAAAAABQAAAH_0AAAAAAAAAAAAAAASv9QAAAAAAAAAAAAAAXv_UAAAAAAAAAAAAAGj_-xAAAAAAAAAAAAAF__5AAAAAAAAAAAAAAATv_DAAAAAAAAAAAAAAAG__5QAAAAAAAAAAAAAABf_7EAAAAAAAAAAAAAAAO_-hAAAAAAAAAAAAAAAD7_QAAAAAAAAAAAAAAACv9AAAAAAAAAAAAAAAAb_0AAAAAAAAAAAAAAG8_8EAAAAAAAAAAAADjP__YAAAAAAAAAAAKq7__-UAAAAAAAAAAABv_9wzMAAAAAAAAAAAAI_3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFYjugxAAAAAAAAAAAALP____wAAAAAAAAAAAA__Jn__0AAAAAAAAAAACcQABv-IAAAAAAAAAAAAAAAX_wAAAAAAAAAAAAAAAf_9QAAAAAAAAAAAAAAj_-QAAAAAAAAAAAAAj3_9gAAAAAAAAAAAABO__-1EAAAAAAAAAAAAK_____cUAAAAAAAAAAAPf___v_0AAAAAAAAAAAARVVDXvoAAAAAAAAAAAAAAAAv-gAAAAAAAAAAAAAAA9_zAAAAAAAAAAAAAAA9_3EAAAAAAAAAAAAAKO_5AAAAAAAAAAAABnfP_mAAAAAAAAAAAABP__-yAAAAAAAAAAAAAe__6AAAAAAAAAAAAAAAj8QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 4: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4QAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAADPcAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAnMAAG_iAAAAAAAAAAAa9gAAj6AAAAAAAAAAAa_jAADPcAAAAAAAAAAa_3AABv9AAAAAAAAAAG_3AAAI_BAAAAAAAAAB78AAAB74cwAAAAAAAACv-3VXz__7AAAAAAAAABn______ZMAAAAAAAAAAEmcq_-hAAAAAAAAAAAAAAAG_0AAAAAAAAAAAAAAABz6AAAAAAAAAAAAAAAAX_UAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABP9AAAAAAAAAAAAAAAAJ-gAAAAAAAAAAAAAAAAbSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAG-QAAAAAAAAAAAAAAAAb5AAAAAAAAAAALIAAACPYAAAAAAAAAAC5wAAAJ8wAAAAAAAAAABRAAAAqwAAAAAAAAAAJAAAAAFhAAAAAAAAAACVAAAABvgAAAAAAAAABPcAAABL9SAAAAAAAAANUAAAAq_8kAAAAAAAA6sRdXjO__-QAAAAAAAJ_93_7___tjAAAAAAAAK93dyHdMkQAAAAAAAAAAAAAAAW5QAAAAAAAAAAAAAAAHfhAAAAAAAAAAAAAAACnWAAAAAAAAAAAAAAAAiJAAAAAAAAAAAAAAAAOpYAAAAAAAAAAAAAAAAEoAAAAAAAAAAAAAAAAEswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtgAAAAAAAAAAAAAAAAHmAAAAAAAAAAABcAAABPYAAAAAAAAAAAfiAAAJ8gAAAAAAAAAACbAAAA7AAAAAAAAAAABPQAAAP3AAAAAAAAAAAJ0QAACPYAAAAAAAAAAE-AAAAL4QAAAAAAAAABz2IAAD-QAAAAAAAAAAb__tynv2AAAAAAAAAABv7-____YAAAAAAAAAABISEiJe4QAAAAAAAAAAAAAAAD9wAAAAAAAAAAAAAAAAb3AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAL9wAAAAAAAAAAAAAAAA3yAAAAAAAAAAAAAAAADdEAAAAAAAAAAAAAAAAuwAAAAAAAAAAAAAAAAB5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtEAAAAAAAAAAAAAAAAG4gAAAAAAAAAAABoQAAbzAAAAAAAAAAAAX2AABvMAAAAAAAAAAACvYAAG0QAAAAAAAAAAAvwQAAbRAAAAAAAAAAAK-AAACsAAAAAAAAAAAB2hAAAMwAAAAAAAAAAAf2AAAE_AAAAAAAAAAACfgAAAn3AAAAAAAAAAAJ__-p7_IAAAAAAAAAAAf_____oAAAAAAAAAAAAFrbiv5QAAAAAAAAAAAAABAD-gAAAAAAAAAAAAAAAA32AAAAAAAAAAAAAAAAD_EAAAAAAAAAAAAAAAB_kAAAAAAAAAAAAAAAAd9wAAAAAAAAAAAAAAAD-wAAAAAAAAAAAAAAAAP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 5: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsgAAAAAAAAAAAAAAAF-oQAAAAAAAAB5IAAkjtYAAAAAAAAAAC38zP-1AAAAAAAAAAAACcqqUgAAAAAAAAAAAAAtcAAAAAAAAAAAAAAAAH9AAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAX-3VAAAAAAAAAAAAAABf_L-AAAAAAAAAAAAAADtQCfUAAAAAAAAAAAAAAAAB6QAAAAAAAAAAAAAAAACeEAAAAAAAAAAAAAAAAE9wAAAAAAAAAAAAAAAAT3AAAAAAAAAAAAAAAAB_QAAAAAAAAAAFAAAABewQAAAAAAAAAAexAAGv4gAAAAAAAAAAAa65v_kgAAAAAAAAAAAAF8_KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYAAAAAAAAAAAAAAABc5AAAAAAAAAAAAAAAKu0gAAAAAAAAAAAAABfvoQAAAAAAAAAAAAAFz8MAAAAAAAAAAAAAAr_nAAAAAAAAAAAAAAAr6yAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAAL_2WEAAAAAAAAAAAAAADjf_rUAAAAAAAAAAAAAAAA535AAAAAAAAAAAAAAAAAK9AAAAAAAAAAAAAAAAAHmAAAAAAAAAAAAAAAAANoAAAAAAAAAAAAAAAAB5gAAAAAAAAAAAAAAABr0AAAAAAAAAAAAAAABz3AAAAAAAAAAAAAAADz3AAAAAAAAAAAAAAJa7UAAAAAAAAAAAAAACfthAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxAAAAAAAAAAAAAAAAC_wQAAAAAAAAAAAAAAB-38EAAAAAAAAAAAAABewHoQAAAAAAAAAAAAAc4wAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAA3zAAAAAAAAAAAAAAAAT6EgAAAAAAAAAAAAAABP_e1gAAAAAAAAAAAAAAXNzfgAAAAAAAAAAAAAAAEB_2AAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAC-QAAAAAAAAAAAAAAAAL3AAAAAAAAAAAAAAAACfcAAAAAAAAAAAAAAAAP5AAAAAAAAAAAAAAAAG9gAAAAAAAAAAAAAAAG7SAAAAAAAAAAAAAAAp6QAAAAAAAAAAAAAAAItQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsEAAAAAAAAAAAAAAAAG8gAAAAAAAAAAAAAAAAmgB2AAAAAAAAAAAAAALYWfkAAAAAAAAAAAAAK__9kQAAAAAAAAAAAAB_6WEAAAAAAAAAAAAAAc0gAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAq9gAAAAAAAAAAAAAABu_6mWMAAAAAAAAAAAAJ6e7u_5IAAAAAAAAAAAAAAAA4-QAAAAAAAAAAAAAAAAB_QAAAAAAAAAAAAAAAAJ9AAAAAAAAAAAAAAAAI-QAAAAAAAAAAAAAAAI-xAAAAAAAAAAAANQBt-QAAAAAAAAAAAAfiS_swAAAAAAAAAAAAX-z9YAAAAAAAAAAAAABf6nEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 6: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAAAAAAAAAAAAAAE_1AAAAAAAAAAAAAAABn-EAAAAAAAAAAAAAAAL_kAAAAAAAAAAAAAAAGv0wAAAAAAAAAAAAAACP9AAAAAAAAAAAAAAAAM-AAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAB73AAAAAAAAAAAAAAAAj8AAAgAAAAAAAAAAAAT_UABNxwAAAAAAAAAACPkABM_-UAAAAAAAAAAM8QXv___AAAAAAAAAAAzxn_7HT9IAAAAAAAAALpD_wQAvwAAAAAAAAABv9_0AAc_AAAAAAAAAAG___mR9_WAAAAAAAAAAPv_____EAAAAAAAAAAAE7____xAAAAAAAAAAAAAYjNhRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAa-QAAAAAAAAAAAAAAAI_iAAAAAAAAAAAAAAAC72AAAAAAAAAAAAAAAAX_AAAAAAAAAAAAAAAACfsAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_QAAAAAAAAAAAAAAAD7zAAAAAAAAAAAAAAAAf9EAAAAAAAAAAAAAAACvoAAXyDAAAAAAAAAABO4wCO__9wAAAAAAAAAH-QGv_Lz_EAAAAAAAAAf3Pf-RBP0QAAAAAAAAA_3v1AAE-AAAAAAAAAAB7_9gIlzgAAAAAAAAAACP__vv_3AAAAAAAAAAAAr____nAAAAAAAAAAAAAp__-1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8cAAAAAAAAAAAAAAAAbwAAAAAAAAAAAAAAAAb9QAAAAAAAAAAAAAAAJ-AAAAAAAAAAAAAAAAF-yAAAAAAAAAAAAAAAF7TAAAAAAAAAAAAAAAD7kAAAAAAAAAAAAAAABv3AAAAAAAAAAAAAAAAj6AAAAAAAAAAAAAAAATdIAAAAAAAAAAAAAAAG_QAAFdzAAAAAAAAAABvgABc__9AAAAAAAAAAb8gGf_nPJAAAAAAAAAF9wK-cxALkAAAAAAAAAf2CuUAAD5wAAAAAAAABPZfUAAAnBAAAAAAAAAB6IsQAAbkAAAAAAAAAACv5wAAXnAAAAAAAAAAADz9mq33AAAAAAAAAAAAAY7_xzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7QAAAAAAAAAAAAAAABziAAAAAAAAAAAAAAAAj2AAAAAAAAAAAAAAAAPrAAAAAAAAAAAAAAAACOMAAAAAAAAAAAAAAAA_kAAAAAAAAAAAAAAAAL9AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAArSAAAAAAAAAAAAAAAAX4AAAAAAAAAAAAAAAADOAAAAAAAAAAAAAAAAAekAABIgAAAAAAAAAAAF9AAK3_sQAAAAAAAAAAzzA866n0AAAAAAAAAADuA-9wAOkAAAAAAAAAAO4J-AAA7QAAAAAAAAAAz0mQAAn0AAAAAAAAAABfmLIDv4AAAAAAAAAAAAz9_t7mAAAAAAAAAAAAAp__mSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 7: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnef-QAAAAAAAAAABq_____-MAAAAAAAAAAN____6v9gAAAAAAAAAAr_-pMW_9AAAAAAAAAAAUkwAAr_oAAAAAAAAAAAAAAAHP5AAAAAAAAAAAAAAAA__QAAAAAAAAAAAAAAAF_7AAAAAAAAAAAAAAABz_UAAAAAAAAAAAAAAAX_sQAAAAAAAAAAAAAAHP9QAAAAAAAAAAAAAACf-xAAAAAAAAAAAAAAA-_RAAAAAAAAAAAAAAAE_8AAAAAAAAAAAAAAAAT_cAAAAAAAAAAAAAAACf9AAAAAAAAAAAAAAAAM9wAAAAAAAAAAAAAAAD70AAAAAAAAAAAAAAAAX_sAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASHERif_EAAAAAAAAAAB_______cAAAAAAAAAAF____7P9wAAAAAAAAAAA5lDMh33AAAAAAAAAAAAAAAADPEAAAAAAAAAAAAAAABf8AAAAAAAAAAAAAAAAL-wAAAAAAAAAAAAAAAC74AAAAAAAAAAAAAAAAX_MAAAAAAAAAAAAAAAHPoAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAI_BAAAAAAAAAAAAAAAC32AAAAAAAAAAAAAAAAn9EAAAAAAAAAAAAAAADvwAAAAAAAAAAAAAAAAe4gAAAAAAAAAAAAAAAF-QAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAALfcAAAAAAAAAAAAAAABPwQAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOJn_EAAAAAAAAAAFfM7___9AAAAAAAAABpv__WZN-AAAAAAAAAAI__oxAE3iAAAAAAAAAALFAAAAX9EAAAAAAAAAAAAAAACvcAAAAAAAAAAAAAAABPsgAAAAAAAAAAAAAAAI-wAAAAAAAAAAAAAAABj6AAAAAAAAAAAAAAAAX6EAAAAAAAAAAAAAAAC_oAAAAAAAAAAAAAAAAO9QAAAAAAAAAAAAAAAK9wAAAAAAAAAAAAAAAB30AAAAAAAAAAAAAAAATqEAAAAAAAAAAAAAAACvQAAAAAAAAAAAAAAAAv0gAAAAAAAAAAAAAAAC-AAAAAAAAAAAAAAAAAj7AAAAAAAAAAAAAAAABtIAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEn7mdpAAAAAAAAAAAAF_____9MAAAAAAAAAAF3_____9QAAAAAAAAAAnu__3Mz5AAAAAAAAAAACJEQQAvsAAAAAAAAAAAAAAAAL-AAAAAAAAAAAAAAAAE_iAAAAAAAAAAAAAAAAr4AAAAAAAAAAAAAAAAr_QAAAAAAAAAAAAAAAX_gAAAAAAAAAAAAAAABf8wAAAAAAAAAAAAAAAW-wAAAAAAAAAAAAAAAL_gAAAAAAAAAAAAAAAJ_2AAAAAAAAAAAAAAAB76AAAAAAAAAAAAAAAAn-QAAAAAAAAAAAAAAAXvkAAAAAAAAAAAAAAADP4gAAAAAAAAAAAAAAAf9gAAAAAAAAAAAAAAAA3RAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 8: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP_9MAAAAAAAAAAAAAXv___BAAAAAAAAAAAAn__6rvMAAAAAAAAAAAf_tQAI9wAAAAAAAAAATvsQAAv3AAAAAAAAAADf9AAALvMAAAAAAAAAAG_2AALvsQAAAAAAAAAAC_sgTv4wAAAAAAAAAAAF_9bv5AAAAAAAAAAAAAB-__9AAAAAAAAAAAAAAB3_-wAAAAAAAAAAAAACv__9EAAAAAAAAAAAAAv-uO-QAAAAAAAAAAAAj_YAX-IAAAAAAAAAAADfYAAK8wAAAAAAAAAAANsAABz3AAAAAAAAAAAA34EF3_MAAAAAAAAAAACP____oQAAAAAAAAAAAAr__-MAAAAAAAAAAAAAAHz4IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGv_qxAAAAAAAAAAAAAK____swcgAAAAAAAAAE_8iI78eAAAAAAAAAAC34AAAc_0AAAAAAAAAAP_YAACv5AAAAAAAAAAAv9gABv8EAAAAAAAAAAAf6EBz9QAAAAAAAAAAAAe9gr8UAAAAAAAAAAAAAr-j_QAAAAAAAAAAAAAAL__UAAAAAAAAAAAAAAAn_8wAAAAAAAAAAAAAAf-73AAAAAAAAAAAAABr_Zv8gAAAAAAAAAAAAP_oR33AAAAAAAAAAAABv4wCvcAAAAAAAAAAAAJ9AAI_AAAAAAAAAAAAAn0AAb4AAAAAAAAAAAACP9Cj_cAAAAAAAAAAAAC7___0wAAAAAAAAAAAAAo_-kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI6_9MAAAAAAAAAAAAYz___-zAAAAAAAAAAAI_-pb_99QAAAAAAAAAC75EAf8HXAAAAAAAAAAj-EACvdfYAAAAAAAAACPsAANwaoAAAAAAAAAAG_5IAla8wAAAAAAAAAACv_VA7_RAAAAAAAAAAACnv2L-RAAAAAAAAAAAAAC3_9wAAAAAAAAAAAAAATf_wAAAAAAAAAAAAAAf_z_AAAAAAAAAAAAAAf-M_9wAAAAAAAAAAAAC-MD_3AAAAAAAAAAAAB-QALfcAAAAAAAAAAAAOwAA_9AAAAAAAAAAAAE-QAt_wAAAAAAAAAAAAf-id_5AAAAAAAAAAAAAd___5AAAAAAAAAAAAAAWN_nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt9AAAAAAAAAAAAmu1vf_4AAAAAAAAAAAt_u_6dTYAAAAAAAAAAF-iXkAASAAAAAAAAAAArkAKAAPoAAAAAAAAAACaAAEAbfgAAAAAAAAAAE8QAAr_-AAAAAAAAAAACVAAf_5WAAAAAAAAAAAAiUj_wQMAAAAAAAAAAAAK7_wQAAAAAAAAAAAAAATP9QAAAAAAAAAAAAAAB_7YAAAAAAAAAAAAAAA95I4QAAAAAAAAAAAAAK-gb2AAAAAAAAAAAAADzABPkAAAAAAAAAAAAAT5AI9wAAAAAAAAAAAABPcE_lAAAAAAAAAAAAAE-QipAAAAAAAAAAAAAAL8OlIAAAAAAAAAAAAAAE78MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n 9: [\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJ74UgAAAAAAAAAAAASv___2AAAAAAAAAAAATulmd-kAAAAAAAAAAAHsIAAAewAAAAAAAAAABsEAAABbYQAAAAAAAAAHQAAAAJ_yAAAAAAAAAB5AAAAAz9EAAAAAAAAAHdQAAVv_UAAAAAAAAAAG_-ruzfYAAAAAAAAAAABHy3MH9QAAAAAAAAAAAAAAAAuQAAAAAAAAAAAAAAAAPxAAAAAAAAAAAAAAAACtAAAAAAAAAAAAAAAAAdQAAAAAAAAAAAAAAAAK4gAAAAAAAAAAAAAAAB1gAAAAAAAAAAAAAAAAXiAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAuMAAAAAAAAAAAAAAAAJsQAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAny0AAAAAAAAAAAAAAGP_d-QAAAAAAAAAAAALfkwG_QAAAAAAAAAAALPcAAH-wAAAAAAAAAAGvYAAAv8AAAAAAAAAABvgAAALvYAAAAAAAAAAcsAAAG_0QAAAAAAAAAD-QAALP9gAAAAAAAAAAL7AATv_hAAAAAAAAAAAJ-5z9f4AAAAAAAAAAAAO-62CvIAAAAAAAAAAAAAEgA-oAAAAAAAAAAAAAAAAI9AAAAAAAAAAAAAAAAA7AAAAAAAAAAAAAAAAAH7AAAAAAAAAAAAAAAABvUAAAAAAAAAAAAAAAAM0AAAAAAAAAAAAAAAAA3AAAAAAAAAAAAAAAAAP3FwAAAAAAAAAAAAAAA_noAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO_pMAAAAAAAAAAAAAC____5ABIAAAAAAAAAB_tCJ9-QYwAAAAAAAABP4QAAL7BjAAAAAAAAAs4wAAC_sGMAAAAAAAAJ9wAABf9QUgAAAAAAAC7iAABO_QBQAAAAAAAAP_qZnf_4AAAAAAAAAAA-____7-EAAAAAAAAAAASIiGM_wAAAAAAAAAAAAAAAAI9wAAAAAAAAAAAAAAAA3wAAAAAAAAAAAAAAAAT9AAAAAAAAAAAAAAAACvYAAAAAAAAAAAAAAAAM8QAAAAAAAAAAAAAAAD_AAAAAAAAAAAAAAAAAr3AAAAAAAAAAAAAAAAHvIAAAAAAAAAAAAAAABf0AAAAAAAAAAAAAAAAD-AAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzz_xAAAAAAAAAAAAAHP_u_9QAAAAAAAAAAAHP0wA2_jAAAAAAAAAAB_1AAAb_QAAAAAAAAAAK-AAAHf4QAAAAAAAAAAriAACf4wAAAAAAAAAACuMABN-QAAAAAAAAAAAK_IjP_SAAAAAAAAAAAATv___4AAAAAAAAAAAAADbIbfcAAAAAAAAAAAAAAAA-wAAAAAAAAAAAAAAAAJ9gAAAAAAAAAAAAAAAA72AAAAAAAAAAAAAAAAL_IAAAAAAAAAAAAAAABvkAAAAAAAAAAAAAAAAd8wAAAAAAAAAAAAAAAG_RAAAAAAAAAAAAAAAAj0AAAAAAAAAAAAAAAAPvAAAAAAAAAAAAAAAAAaoAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',\n ],\n};\n"],"mappings":";;;;;;;AAOA,MAAa,gBAA0C;CACrD,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;CACA,GAAG;EACD;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,21 @@
1
+ //#region src/components/neural-flow/sparse-weights.ts
2
+ /**
3
+ * Trained sparse weights for NeuralFlow — MNIST MLP constrained to
4
+ * exactly the rendered 4294-edge topology (train-sparse.py in this
5
+ * directory). FP32 little-endian, base64url; edge order is dst-major,
6
+ * identical to the component's inEdges construction (seed 1337).
7
+ */
8
+ const SPARSE_WEIGHTS = {
9
+ weights1: "TQClvUogOIHCAKG_UKnRvng1HL8HxGO-Ld02P9eMJr8noC2_PhN0vxBR87yTra8-bI4jv3CFvwAnfvq-K9BdvWF3AAGq2gK8j6FFP1uQ8Dznlyg_lHEXPwhi9z5moF8-vxf6PjbLrbwcMDo-Gi7WvgJuOADm5Ni-fOuLvzj9nD6UJ-48Zvl_PYodsD7697u8gwYyvg0oLgFX7Yw_6AOSP0tz2z0H1a--RKWTv9rrJb9R08i8RM6EPqwOf7-Osh-8Rc5VPzwSTD-dPgY-4SxcPw7FujweAuG_qjNav_xOrTtx2_8-tDkjP9uLd75dX6G7-4tXPfGnDT-z9g6--NsVvuwyZz73R7K_PqjfPpWlQr_UJjW_EUETvz9b0b6xRtw9GFwEgRb0ZD6TAiU_FxN_vdk9QrvPswQ_XrgjPgKyAwBaTAg9U9gIABJnyzqphsU-pGbMPoMq5z6LlXY_GybiPcWCJD8iEpG_zOKrPVFsyztWWgw_UaLuvyOMR74L_zK-HQMfPgwON7-l8a89nYOWP5kddj6MEIY9s2oDAaagLj5oLJ-_GxbQPUJfJj-j2q6-0ciSPhv9ArlBoHq-Zleev1lJtD2SKMk8g5PlgARdJD_DR6G-h8vQPhfXKr7A-hS_VwKiPebfHD_Bw-C-doZ7v4D9Iz4WAQS__CopPnA2Hz-XlWW_kRInP8juFj5UFie_gZ0wPBZczz3HDxM6F3MjP28onb8hadi2LYABv-yaK76_sI2_GiIPPvYd3L7Vauq-1WMvgNT3NL_9aQo_pOaZgHPwFj10IGA_XNZgP_cbMT_Pv5u-M58Cv910Fb-acs69n_kkveYuLz60sUAAr_xAPOpZQoAATDo-ayKBOaadOD_Mn0e_CxNIv-m7Yj2S2A2-wTw1P_TQjL-ldpM-4QyCv8iG8r7_tWy-dasrP1Fagj_L9kc-ElqrvjyUpj1rnvO-11aLOYIaYru4oDaBYK0Dv3CPlr8AUgo6gNDhs2Za5T6ZqdK9NqZxP0otlz1hVYO_8rtJP0zPuT6kg_6_z8FWvlutrz335wo-L3Snvmog_L4Hq6A-k3LDPtE_K73jlx-_79D7vmYnagCbLEM_RIFMvPhwmD1P5qO-vvWIOobl0r3_Oem2ERIjPwUIjr-FXtA-6r2zPncPtT9n1LA9mt38PbnRzr3qyN898XvZPbL17726LCY-hWa5PwMBsD6xzZI8-0nHPjTrLD6GrLO-LbS9vX59w76EJWu-J93_vqHNwz6lieg_ncvAPdOmg77EhIo-r_yJvg6q277IU4c-i69Wv8JOAb7leqKAjolTP5YoooBJOeSAUOQ7gARger507oY-nW5LvrOdMzh7hkg_VBanP3w_2L4DqBY_kL8iP15nbLLRWxa9p-aCAH-vlr7oore3asQTv_AT1T3cbey-9GnCPHxkiT--x6AArvcnPk_ydb_TEkI_ziZfPzqYaD7Sx9C-ex34PWLYGb9BHks9XD5fPZNniYA8Iiu-2joHP5pHtr72j5k_L19WvWCIar5LE-CAgmedPS0z4r0NAJO9QKocP1ZXML7r_yK_yhypPkFTmby_8ja_wCAPATrr175F-Oy-iXoHP2tmBr5effI-anNEPxDzK71q9PW8hLgVPdL6IoE_JVK-3cRbP7YcFz9cOCA-rsEDP0HITb_3NaK_bMWPvlu70j6Lv-69TuBEvgkzZb_wDfwAwIJIP69TBj-l784q49OHP2AhhL6OFTK-w-gEACKaib-Idg89od8EPy1Le79CiG2_TgKpPo_eM7_yZHm8oRR4PmROOz5l_BUAaqM2v-Ps3z3oeu282xkkPkRDAL8KNyk9Qllqvu79zL8W4FE_eEdmPW-5HL384oE-ScZeP-py-D0Hcpy7H02UPYYIeb9Ngoi_5HkIPzL_NjzlPjU_Rsl5vyCx5j1jUjU9VB9IPoeWkb6RDq4-8wHiviKWEz9HrVa-ex6NP-wDiwF3g1w_OA9RACODab7fxS2_JfdIPyj0KT2q6bw-VII5vmahpj7SE8E-8h1lP79vhT8DZYS-trt9gIEpCD40CSm_orwYAZBNBrF8WwuACuC2Pz_Es77sGwC_HJi-vkiKfT4W_-k4EfOUvzjPCj0HIw-__t7APumcGj-gXNg-6uMRPwJ6Mb5uxyC-a-gdv2zdXz4X0gQ_iafnPtsVwr6MrxQ9_slQvZzb2712toG-H2rhvjTXB70Xgia_zIwIPkd4eb_re4e9KU4fP52cSoDt7oGzEVkSPgdj3Dxn08s-k0K_PlIEUDirrICAhjoNPxTMLz6yXTC7rzyPv6-H6b4kPQw7xE_eOQIdID-K16eABfWBPkC1jL253I09dQXQPsntsT4hHRo-xFKYPnX8or0OFuc6hH5Zv6PVBD0xTNi9JzYzP9coi70ylB090PUAvomQlzyhSjQ_qTTOv6o9Wz6djK0-WsftvUxPNbzWCgq_kZ6oPoqRmL-SuBw_FHlxP9KqSACg0uO_5MAYPy4nuj2LYh4_zC6Ovqh6Fr9d1gzA4rIfP7P5lz6AqCk-IaqPvw3nKQDTu-Q-dGoPP-S8Ar_SyTm_B1S9vAtONT47xeM-NIHLvr7nND-XHVe_R8ufP6AJDD5Z4Pq-5PCPvnMphj7BMBO_HCJnv9F1xT7P1u09AxV_P2D_HIEnuv2-vdPVvJkePoA9Xoe_NT_6vRWRhwD_j8U-tHRIAJ_urD6q5Aq_3VTuPgo3JL60tRGBgPIEgdjpTTqUWDaA-GuhAHPHEjjxcmwAzQSsAEkbGABHi7uwvp7EPRuQJD4AQZU-9B1VMQSQYb_0wm4_k-GLPDzpf763Qhw_YmSVvyIbyzz0fQs__uFYv2avnoBq2Z4-u7_avghoc74ROZa9mExugDjf8QB3Iha_2Bv9vPfwW4DtbVo_oTkvv2Gkhrq0D22-nvujPkphkj0WVes-82g4vorblrx1c_c_1YgNAH65Nb8lQDw93wNNv9ZaK7_CDS2_G61AP0WabL6O-k2_xrz7vsOCXzwZQ4s-J_1IP_xO0z_oYwS_786wvlnEjz4i06w_RXCePyZoBr2fIwQ_ODoYgWqlTz6pXgE_leP4PofYrr8Tc-mA4_f4vkOJOz_FDPi-YjEsAJjRc4BoXgAB3qo0AOCDfIAL5hcAG-F1gBuGhyARNn4AG7OaP98ZMD9M0OY_wOLMP9DEfr5iiGE9OdvtPjT1Oj_p_gw--9v9vaxPZr18k7S_lnadP_XDvD_efsO96sU3gBh64b66ZjS3212dP0YmJr6QbaG-iccxPzozKT8RM7Y-4D7_PSvsMT8xtx2-28dXgGaeib_XGMy7P0RQPttnnb213qQ_beQ4PyPZSj4P2w6ABibeO_2HdzzNFYkuUobsrYX9MrQVpCmmFQYtgFmK07khIjABfcSrOyBucj_H1x0_7so2P6oGcb4xz3i_FGdGgIL_7D29avS9CtB5P-_LFwBPQuc-uF-gP4IwXIB4GkKAmviHPngSzjz3Eco9ilNCvh5Z-wBnWh05rgVBP72Qlr55v6o3iZOvPvD9p74zSpq-rWQZPvFcmj_tPT24oTkkPUKLfDhN2hk_nUTGvnzp4T0tWVi_6S8RQO0eKj-t6w69tCDrvhrCJr91SxC_1OtDP1NLEr2bfIi_Ia4rvNeoMr5W-w07wyoiv6Pyq74-Vlc_jZq9P5wgAr8eeWs9uYaHN13jn76SvN67w4_bv1E-2j8ZKW2-_p2Hu2i5Cj6jXZ0-JuaXtS2QdL_Kv9k-gv6AOJlyBz--wUo_wGt5Pvq1ob8OvTo_Q5INv8cG2DokplE4NFD2Pp2im7zQqFo_Z1QDvt0lsj8i2U2-HyrovI-RQD1ggDK_YgKVPotBNT9kDWC8_kDwv2ZzTj6lhji_nThav4DKy72mRZM-t4oPvqdKmDsIKL06zeALPiX_nT-CMBOAiOkyP1QhV4DR1Y--EV6hvUufx73KryW_XhQiP4y4vT_BBy0_dntGPlimST9V6EgAyOh2v1dzq71aMEc_BkBLOLSNIr_yQJG-31qcP3Mc3j3BIcW-YST0PRjrQL7pySk_QVZwPKdJZD3hefw9tT2vP8JnBb4PDJ4_vuH7vijJ_L6q848-l1GxgNzYiT85GUK_VJvRvnP1Gj6CRWu_A5uvPpTY-D73NtE_lfphv3TrmwC3TJY8rnCdP6uoQz5hLcC-Fh4oPafbUL80Y_u9LRu2vnQDt74fsPM-Jsg_PtCS-71H6HC_qW8HPua2PD0jqCq_SvIHvSrORD-MQJu-zZEUPRsIo7yf6R2_51A2LjQS2r4h8S655J44gYwzBL_TAWc_fmYhP0JyIYFJaJq-VpIjgCoXP7_2Sd0wGUjNgIeoFDhOJOS-jD4TPcVGhj4u86m_veeKvpBRU766ZoA_0Nz6vU66uj5YiDi_H_DBAGde074kg30-5ulVPzAodj6ApXC8eJ6uPjrPkD5naWa_2f2avwsPGr_L5Dg_7xSyP1spmT2mP2a_inZdAFLRbD1XvZO-zooJADpUpb4U5Km_sTHLvy8b7Dzkmh--V3ipvY758T0OIq8-RYq9P7Xfe74MExM-zwMdPbOTMD6O4yA8-pPJOb97Tr54d8o_l3aLv-07pL7BGbW-l82xttveAj9ddkk_COX3vjzOlr6NcWm_jp-JABVCB7_ddO-_u6v_PcRZvL7nLJcAh29yvCtyKD49W3m_IMImAcYb0T4eDBC_vOSIvsSD4T5KQ64-rcbmPjzlv4CxWfM8rncpAVZ-R713zxAA71W-PoYIvz6vha--EWR2Pkgjij4oexa_DSD2PhlKJj9jP5e-MLByPzLQY74P_hwAVM1wPgByTL-d9PC-iwzPu2C1ZT9U-XA9yWmxtL83Vz9iijO-C5GuPvMlY78erBsBeLjou5sQbD_i1DS9e7uwPvz5Iz_vN2y-ppQGgPlp7Tel9F2__eF4OsvMZoDgOfWoAp8LAJrbubPQw3qAz38VgDBspoBHcGK2tjP7PbQqz7uKHoA_lRGePseINgGkaw2A0JAPvhcHlL_VZRU-bJ4CvIh1e7-3_0e_AG0EPqRBXbtTJtq29GiGvueE7T6ukTe_h4r4u9ckej6dGJW_chzcPrxPtb6DfwI_pyb0PW_FoL-yZ7W_QWYsvL3OZD_oWR4_AzaoPuw5B4D-Ay-yoNafvubqJ75MbkK_bXlhPg7hm70WsOS-71tCP2NfrrmgeW6-s4VOPf03jT-ZC04-oakPPwrhoj5Z1BC-f5tIvpLziT7xZqc-a907ACyjLrmscU6_MjA1gU6ugIBpKdGsv_8XNlRZlyGU2oKA3-NrAG_5sQAr4lkAPo2KP_hAEL8slOS-TE6aPl6mFj90BtU-269TP_scJj7FcYq98mItvhOPvzoIMLO5pUbtPVSZJj9Oml69xILys-I7Gj9pg4SAbrfVgC-2gT40XGw8tNhxvwE88L30gIg_aGvHPriBmT0u_s6-4kA9u_zNar_mJX6_HP2DPn_0kz3Rexq_f2xvP64rUD-_6cK-rMIzgM-GoD8q3zK-36r5vqFiMr3dbjU_niUAP6cBnzMFQVqA5g5VPrcZab8VlCg_MLtigHMH8r0BBca6Y5TBPD2QFj9SYqE-QDGHP2VIUb6NIS6_xNw_PNkiHb6bkYQAqeTXvh_AS7_q9mc_QY6_voketb3WlUs7k78uPfpXVb5_acI-Qa-zPkZcyD31m4g_ZPoZPXugKT9Qlc-8tATEvkDZR77qVjM_JP69ugauv77WvyaBNNlXvcc7vD6Vl9--HgflAVxjrr4wsRU-QNNVvjxJWD8iaOc-hqpfv3N7Pz-4UAa_m3DqPqRwHj5oEbG-dn6KvoYzpz4MaYg_PLAjvwd7jr9V40-_e-e2Pn3xW7_AI0IAOIfZv9W6275_u-E-rzFbvhXRAMCiiLi4sEPyPijEL4BFNjs_afKyPD-FtL4j5wiABvVCvnGwOL_0mZy-TRkyPZbh0z5S_j29ZHz2vRWlGj5tTZw-vocNAe02ToDewnQAIGFxAIvYAoDYvwosR6DVACF6qADxwPQAIJKqPtdFAj5ZSMY_BBaxvdaGyj7P_LE85DubP_KbpD741CSAkGVLvgmzID-80Jo-sl7yPqKUgD9yMWo_FKfEvuVokz-p2VO-uBZAv8mzWD5QUjUBqTCYvqjyEb9Kv_479uogN-bk_j3Gwe88-AoBP1n2UbykJM8-McRQvFA7HYBsmQs_NhmgPgcJHQACGJm_tqA2vyDnHb8UJP-A7FcNP2dlJb5R0Oa_k7_Rv0jLh7735bQ_DWmHvZ3iij__VOaArZjzPiz3E4DPFZ8-kJMJvuoCh77oOHuAD0FoP7pXGD_tdjw_8P92vWz2J77UJII0AZMgP7aKCL077JO2ccFHAFTkGwAcJUkAoQq9AHSWUYDIUmeASZvirhEcj4C9sgABvT9vP9hShz589UY9nuFGvsjqCb94Vga7I01kPuYwHz_2TGc9rJMxuudrjT8kszCBOlqZvGUa5TB3pTW_d5nAPmuYJTcYsga_w4VNP9ZCCT_mC30-vxobOVq3r79XyBa-UvPRvFb0Wz7D5n-_JL4VP4-KXz1lzIA-vhG2PsKuwj4re4G_DTrIvfDc8T6a-sU_GOeOvmaOFb-Lsly-T_PhvlEC0L-VtWO_UjbiPpM7Tj-IjxYBivj6PiYIwb4TyfM9WYR0PiXCKT-ZJY09FtVZvrkGtL-OrL2A8NHtvll3cj4JKGg9VxbyPgzu1b2Bs3i_iS_LP7noYj8cMKc_SjYevhUkrT1-Qbo3v6qvP7StnT7h4Ks-iqDIP7wwBb8FXyY-lQwEv4nyvT7RBr09PD8APoPyTj-AzIAAFE-qvz4NjDtyrAk_Qad2vgYZMD0Ux0c-b6uaP9HPBD7sMiiAV6nXPuKnjz3G2jUBkTMTPqVN4T68Sre7fVKZuJMnCD9Du5M_S8yAP9QihrwqIsy-o2N6uCkqOj9g5cQ9hhDePvjXgT-INHW8yVTtPpDOCMD27yM-U4ZCAL32-74RT-Y-eZK_vvvbxrxWr1E_kzBEvkQ0hL7-xyy_QlYHvqmfg77nzoU_Xm7CPC1hmr7YZnE_QFsTv1UT-T6a2U0_7v1mveP1Hz87bhU99TouPyRiGT89PZm70FA8AelxkADCxc48abeTv8xTPz4ba-0-dXAYvHL2lTxOEVq_CcdIPx_tyb6hqAO_40IpPyoznL4w8Xg_FRxBPx2vjT4VNBU_n7bMvTtSIT2UUou-35arvmtCITyiwymB5b_2PUUZvzpGkYg-BXl-PsCM2AADE4U-K_JKvmh-CoDElx0_iLLRvAjndIDOT8w-FaCeP3OTeT8i9kq-Ud9bPjsVFAGxrHI_LQ1eP54HIz7QXzK_Z9ruPMxvWb8zWtu-Sp4Iu95Srb59OpO_jTMoPwIqn7_9nzs-BWKPPsgJpj5m_bS-87mFPPbZaz5UcQcBVByuvph43z1_ByO_gYt1vv5zsb3z1Bo-gLCnvMKhgT_vc3w_yNqjv0mQCL4Q_Bw-BwAzP_YHsD_T_Vq-6_94PqqGgz4NOUK9x4g6PttuCT0JO1a_UuWUP7qKiz51giq-ZNmLPnD0XD-Wx-M-QeuCgKTDCr1AFm6AmyzqPo61Wj7RIxs-4RGfADKYKoHeTjEAUrVYgF2miIDOggQAxEblAMTORoAYvSOA_B1Zv-jFXT4MSgs-SEU8gChbTb9v2mu_TdVFPyyiKb6kwdk--J27Pq_tFD9YoUs_ubQGvkOdqAAd4I09CIBavO1xmb8h-h0_tcuCPzKqx765wAi_coDPPdsnAT5A8WQ-IxKRvsc0Fz8xhRK_GQCkPxhRgL3TqZO-JZLhPRNdiz_2SU-8q5HNPkKbbT_yM14_9aiNv85bbD_NNgm79XOqPpigYb1F4YE_8mM4AR1Iqb_UpMM-xdyru7baSz6ielk_Rs0UuEQDj7_X83M_0pDzPqdIr77PnoW-jhuoP1AO6r4hjVM_TtooPwTB0j5vTe4-r76FPeLRt74Mau4-OSx_vRxyNr7BatQ-Wf4hAW9NPj8t4Dm_zH7zvuBHgL3hegg-rr4sP9RsBz8wy9G-YXeOPM1tmL9bqy8-4rGkvh9K6Tvsi60-zNopvmIK4r0hWLG85KtTv_o8hb6xbwy_wab3vuAMmbZ14hI-iGhTPY6rXz4Ywb8-bztOPyj3CL64iFo-5AaPvhrQBADw7Bw-MfW9PinU8wDH4nI_w56Qv99OYr5d1Yw-0UXGgLQGPr9a9Hc-x1KOvjfzwD6nyoE_LihEv_Rx-b4-CqWAA84SgFozhYAyqXm_AW6GvcFa4j42Yqc9QrJkPowJ9T6gVByA9Q5zPuqFeAADYS6_pN1Lv2zgRTng2XY-8fRPuVew0DwWzyM_jOWzPw_l7z7JvJQ7S58ovbbJh79OOMe-9o8RPbfZdYBs4Ow7QsduPuoeKT-2EtA-l4pMPi_2Rz8RTEwAS2seP1mnHoBA9l6_kbqXPd-wD7_QODG-gHs8P_Qr1j5U4IG3LQMIO3H9OT6ewoY_fEDStDq_Uj6wkgS96Tn2PpDKoDsDFPe970IGsztPXj78kEq_XZ7WvAxIF75hZFU_4ILGPvyMsr7EgRy_d5Bjv4ww4D2wAWg-7r_vvb6NIr8A-zk9gs5Ns-jGFzVgSi8_jozgv3lsPgBS0YA_r16YP-a_SD6QHAO-3TKRvha6_j6xCwk_s9SmPpYAwz5i9gI_FuREgEfPQL9ivKU-UN1htXFuhj4BSAI-8sCAPwXvC75PM8K-fvoRP3Dr3IDEZOi-aJahPkoYZztyyZs_yuujPq3KHADYC_i-1fu6vj7LzL76qdo-msuwvpyepj7AhuC-B1WZPoNSKT5ySoc6atAjv8JHgz8POlQ-FNz3Prc7Pz_RB2k-TVDPvwbKBj8XYgW_WmRAvrbkub5221A-aGkMgZ-4bi_eTIA4cy0YgNl2CwGw52iAmuENgTmCCIG51iKATOakvgfvDYDmx5g-qUyrvc7g9L5Q1DGAAfOfPiZ8dT9bRxK-QJYcP0_6GD0Xdg4BOFM3v4qtiT7KdRoBAkUhvrn1ejy1ble_VOvDPGK6B7-KTiK_kPpHAIrsrD6r_cY-pnCtPrqKJ4HbHQfANZlogA1oZj9oUxo9O_rBvj_gh7_sFH-_H2C9v5iVNT9Gl9g8G9fbvupBC7-atb26bmNCvka6rACUUQs_KKMCPzU8Bz-mRGi-Yl2KPUOMgj8-H_O9NuG1v7WkGL8gO6m8oMN6vjhfPQALvja9h5fJvSD_Bz8agveAA_NXP1cYjj2kfRA92vm7Pm9zoL9eBDWAOybDvrMhTD_Io7A-VDOhvolCRb6KbiU_gMSkvV17k76R7YS0SaEHwGvhIz_n2Py-stbSv6-9sz7Ixa67RlqiOip_fT03dlU_NbYEv7aUd76PgtU-zn0ygVMpAD4Vb44_aMeSvtRscDyx5yY_Ny_gvoH4Kr_GApu_fmpYv_kdfD9XM3C9I9ygPlS3CAGmTbg9xI8PP_RCZj8masm86WDNvtMKDAH0gcW-6O2svkZfDz8atj-8RnI6vYcRuT1aTwC-AJqLPfeUGD8Z8ZK-30Y8gbYyrD2HsKc-rYnJPsG7Jz56h98-bbHAPj1GiT7_lAc_6B1-PZHpM75mGb4_9iYRP1INKb-Hejs_NBN_vY6aSD6UY5g_YUqKvFqHGb8H_4O_uF3nrhGEHwHvstY87cBRAK8gKgH4sBG0gdTJtcW3UDr1MwaBMRyivENX_byaBQ8Ba0UfP8S7nL8iHAGBvz-xtahFmT__oK-86pTjPoQRIT9VrIA-hBJiP2W7tr4s4JA_i_SzAJ3bP794HFc_8jonP_rI_j4w9mo-6O2ov1cBcz_Gnpc-i1jcPuLzIT7Bcaw9J8onv4TS1jzvIFA_xQrBPqNIQj76ZPI-inWuPgns-L5a5vk-tv9YtTHhnD3EvMU-3QoePaYoBb2ueUu_JzRbvx3kE77hWMM-LYOjPeWrUb0xsHo_mZ7uPgSr34AczUI-ClxFP3Dqej-S2BUAOoV6vgBYzT6vH3q8KQcFwFosaT5QMRCBa6arv788EIH4e428Z4ljPlHJoD_8hek-4x86P2v_HT8PDF2AfQ_-vs08074cgbyBa8TyPVU5mj953gk-lVguPr83CjyBxZ07fRnxPjv0ob-inUCAU6ofP361Oj9O5zi2GznigKjk2oBgBFg9GYzlvmpnf74PR_g-EyiQPQqSXD-Jfpo_lu8qALjlBT-bwYQ8Xd4_P9n5XAAfkUg-VQiqvUq5Gz48ZdW-jxe-v4bPM7-xzgw_JEwTv2SBEr_iFCc-KX6Qv_sWcr0ofmG-Fc6PPjXBZb9GRaC-lgniv5Oegj46s-y-5dNzvAzrV4CB7Fc_0gFZva90OT4Ppzw-Tx7hvLbVlT5zJWY5FPQav9VMh783qi4_OkACgQkAuD5vdWG9Id4dvaN_2j4PIK--7CLnvh7tMj_gM6W-v3mEPqyLEr1zYJQ_u8KVvwcdST7lVKa-SnKov2ei1YAgkJu_7AVUvxBRULsq2FO95qP8PJ7YDj8Phjc_nxQFv6ACR7qN-8U9MHxEvu5_zb9S4yuBrhPJvrg9uAAjcmW_PhMvvULamz6ZQCo-4YjAP4X11DfhEgo-L3OOPDsC0b5DWa8_h9wOvLvfg7zfhkO-zxJtvU6GtL4PPOi9KtfTP8ffOj5f0hk-4OceP7ahXL7yqFI_LM54PHdfA78WMsU-AFABvrRUcz9qZAe-KHW8PoiyJwBRXrW_-2sxPSerurZCikW8xdaKP14Bsj_NEAu_k3eqPRgHpT4CzCc-WfihPo5HVDm17Bc5tWVQv0NFqT5fPVa7GGwmv27jyL57hYs_yfkjvqW5qj1ITse-uG8Xv3F2ET_d18c-iE6_PrktPz8fN5A8i1ipPsggGAHgSX4-DiWTvfeGLT4IRv4A5dMKARsssr9dCyw-WnR4PUqSuS_Mln-_R1uMviza8r1g5aq9MVnCveGZkD62xvE_GXnfPm-wC76L7IS-x8YpP0-6kj7DDsQ9eMiAP2nEJz8FghO-fkQYP-nYeT8N926--luHPR8Jbb9DORY_Kg7WPibBVz8Qw4G9apB2vxOlrT5uK1i_T7mHvoxkiD0FeS8_-paAvr7xmT0jtRQ91AmDPj1lmj7p2wS_Qh3cvlNoLb5KWNM2XoqlP-AMhL326uo2a9nWPkj5Iz-ycVm9ooLyvga1vD7kXka_cUHVPxRHo734OhSANG5zOsAc877XNli7oOyjvqUQET8WDuk8I1xrPuDFzz60rZu-60eygMrmBz7ITEgAAjQWP0KcYr5SyG0_OHCAPaqzrgAlogC_gpKVP-Y2W71RhaM9ktudvgE6Hz9KRVi_fD6JPspXAIHLOqk-KTsOvshSBgGQUV0_5CTSPskaVjo0D10_JhVsvvUhMr5Qiko_iHKqvbmxMIF5kIi-JeXZPmA-HD_EJ8Y9B57UPqGVWT9seb0-Z4xuvjz1PrwHa8m-_vPhPqapmbzyTvq9e4nFPmC_mb_vnkK_8vGdvu0WJD6h8h-_1l5Dv0o20L6hTE0_nrfBPk-6_T5vCsk-6qwGP9RQsb1Qsos8x_U-v-s6RDwm1BI_ERaaP1c2AwDD4Fw_wh-nOI2x-D4kOIc-32eRgNpUkL_NgJG-70CMvwROEL0xzwo-mrCpPlpSPD5APZG_HKzmgBr1nT7awE6AgCVcm6SbHwCqzRqBwUQbAHvX4zfSwQEBRd6fgE4GIQDiBYMAPg8ePMIXk7744Q6-KBsMgVsHpD-KlXI5TzidPcT-BwHNNMa9ylzoPRPVWr8wV0E_IoA0AV_aR79RsT6_xrcdvmXcvr2E336AdVnDPNciQz-Bjhm_h_c5P8ASvT7aD_--BQjTO8zrJz5jyn489P9bPXe7mb8INqG4_KNjP0IBgL_SvFu6KiK3PkIOlIDvXY69zIWLPsQcvz7fILCA4D_qPk8IoT8iTlC-hx45vWc5oT-o1_E2ACz_PrtHFT6WuIc_W6-BAA07CD9H98G_xtxBveGGY70deRO8kc0XgcEnhwDycC4B1hO8KCKxAYFsA0OAsCzcAKL0MwGq9wiBwqI3PkG_er5QnVC-_cR5vm93_T4Fn8KA8_4Zv_MDqb-fpNA-ko6fP4gLIr7kpK0-rMLUPfx8ML4g3EK-Uxq5PsevGYDN2Yi-R1Vku832dT-8tZe_PDdxP4lhyD3BBRY_S0d3vhDjED4yUss-5IpVOyrqBT-cFXw_s8krv8thEb_mKWQ_zB0GAGVBbD68TCWB",
10
+ weights2: "UkZ7PkU_WT89J8I-yWs6KocFsz7U-rm-Okpfv7VFQ75JwDS_whZUP8HTxz9WoGU_bRLBvsNvG7_z6BI_UlcPP78wpr9grmo-SGldvXq-rD6k21Y_IWPrPlJlO75Oj3A-YQdNADfr7j41yIc-laBPv3Kbkj6GnW2_nUqHv1vZHz54w4M_g_2BP7RhvD0WHTG_jZUZP0cG7r6fpRg-xSPavih4rj4vPHC_tiRNP_ihBj-aioo-6FBdP2LQcD-2Gg2_QHGTPifpgL8KmRU6zNZ2P7G2m7-5_Ze-_XsfP8gZWYB_QUE-s5RtAAj9g7zgnty-gsS4vti1Lz__GqW_qdhPP0HVWz4PoM6-XudFP4FAH75_-Sc-TsORPwAGsr-efH0-fckcP9rZ676a6Oi9DQc4Pw3CDj_IelK_m0I1P6E8XwDCXa4_buoCPxGX5wBzHIC-ZFUJv7S1sD5d2xq_Bc5KvuJKBj99PGA_kHycPyhBET-YH6Q_5Dkiv_bgvz8oc8Y-v-xKAIo2kb8DFTa-04ROP7NwyD4xdy-_k-SMPwBzGz1PciE_mr06v3M5gL9qR2U_qqowv2aNxTs-uQ4_1xFmv5yNxL7eTDo_vKRGP3iRvD6eIWK_OFUaPzCHJLvcUsS-2TA6v5MtCD-BLGa__sMtP51VpL5amwo_V52IPtQGvL6OHQ6-y8VNP48WOD5bd8W-YuUXvq70ED9Tphq_HkFRvzwmNgEmK4c9-7hZP39nc79clV4_rCxRv7p6gr-ydHu-krLUvREogr9NLsa9XIXfvZBBFD-BFEI_kGRAvzj7MzsRTD0-rVM5v8dCjz6r1kQ-YX3NPmkJTj_mssA-nO3APLd4x745UJ8-uwkiv8XBjj_WDlU_Pf8qP9t5VT9NjcI-RgxSv_D0qb_COea_nxeoPc9eET5RPiY_NNhjvp515b9dtUU8pVUXP4JhDr41ZkQ_qy26PAB0AL7OqpC99F2BP4iVqr687CQ_gtcFP_uchz6ksv4-zTpXv01VjD-u0AS7_kl-PxR8Qz9eTto9AnmivaGKtb6KaJ4_i_YZP-Ysqz5Sees-3XqcvzwRCz-RCRO_PGuXP1pC-D6PV90-ja9hvk3tWz3zJVo_ANO-urrorrmvPLK6Ybmuu45qhD3c8T26LwUKgAlVhwCnBa-6X-bOtmf1sb1_V8o-6VuYP3sINj1bHYQ-j5abgAAlwr5g9Zy96xiRPu_dHr9--se_Ao9NP3SJFD-WeSQ-7HKjv-qN6b6Z2k8_Z5fYvra6rD5jLZq-iCggPsMI0z5HTQi_0EJsPmXItL77HD--byXZvvB7WT-RPZO-HLtPPntZIoBUMuIAcwokAWWb6YDKJjwBVsoaAMmwBYDz23sABvfsAOghHYAW0qy8Maquv9WzJz-Md-U-ofRHP8Lek75PsOY9kFqDvioJur9Uiwq_CTMYP1OQd7_t-Qo_RjqnPimyjb82CRC_nkSIP5flRj6KCcw-Zv2JPhNcW74Lijq_3WSKP9dzXD_WdVi_b3BvP4Kdpb1tZTm_Lg7OPggMmz1EmiA-qKmevjNK-L4ekqM-LggBP0Y8Gb-7SyU_43_qPYqfYD8Rwne_EZeOvQxooD8TLUi-W8olPjgD7z6ZTcY-StGVvkvDYT-G3EQ_U6aiv1HmUj--Kvo-c4IcP746FD8C7NE-soTOve0nmb6wQvq-YUdhvnVtkr_aeU0_j0VnP5tkAD8exgY_MTmWPrSyY7-NaPM-8Zcxv3K1XT9Gigk-mpyeP5K0GD-Bb1M9UEg1Pwbew76bm0e-aqh0P8w6FT_6CXw_jchrP7OapD25aZs91V0Cvy-DCz8ZbvW-1l4tP-nqiz8uHKU-b0d3PZ8QqT7Cs6U-FvN0v5gDVb-KUp2_rhJNv5USaT-I14u-i-QNvT9ooj-ciyq_6SB_gAn6Gz_HUS--rYsUPnrimL-8vek8uuPzPmNfYz9_Kei9uOxHPJaXgA681ySA1wscgci35oDy-OGHZ_YVgZjpgaw5VCqADY4FAX-xxYBEuvC-_gB1P2DhYj9zm20_nGfAv3lVjj9zpAq_v25MP0QLvr4Ws0e_rzEYvxd6uj4qFXs_TjCLP0m-jj2GM6w-qGx6PtcRdL-32wy_1Zqev2JAjT-iXeQ-MmF5P-2dlL2Jnsw9qzPpvn383D7O8oi_KAdgP9nftz3nTSo_lDXqPoNeXD87nhw_p8ZYPwXrhD8fOzK9tRgLv2-vyL6JX3i804gOP_ZAFr5ZWEQ--fsmPwV58jx6IIu-bUr7P7ZIHD-ffvs-dLzFvt4BGj-alO4-qQdFvybYjD-k7tU-kWhBP49AHL9F33E_nkPlPcfM1r7RCPg-69zgveiJIb_QueW_XcBcP18z4b4gsrw9p2TXPlylRz_xvLw9nUfuvqaHgr7iVI8-ctjmPupWG76fVjq--e3Kv4Xh8L5jna4_jV2sPmFm5D6KkL6-50OJPmShMj-w_Z68JQI2P2TTAz6P8q-_ACpJPxjwMj7wjEE_txuIPgpxGj8QVpk98s7bPt2FTb-msX8_auU1v5qyuwAiAuQ9en9Fv7ibFL0A5zu-ZZILvtbNvT8uelI_bissPL6PL79Hq2A_70Vbvlc9h79OvFg_L1rlPtvGnT-X0MQ-p5NBvzOyoj5nwXc_WfCOvuRGeb_cPwY_6D8Uv3UjaT6nu5c-1awFPubVlD_PjZI_z8X7PVNPu74RwNy-OBMovx7ERj8njUO_oqmCPwtNar675fE9hCO7v4IdCr8egaO-7UE2P2_CXIAmKwCA_tuqgGYxUKewZPAx76i6r9bvNx181D-BLB1pgFn5F4Am2-w-r3WWO4ZVjb_8VTk_mkMyP5hn8z5UVvs-D8KCvSCaTz4hKG6-7aebgIKjZYA5oi8BHbcWgO_7aABv3lIAYbWMgGCxNgAFP12As1T1ABQYIyVS-A--1QeOv7fXSL4Kij0_lz-Gv1_7XTs_554-J3ANP4VZzD8V5gG9f-eTPzkPSL74mRK_m8Q8PU_Zkz1j24Y9UxqIvcVlKD5AVHc_ADp-NV5UmS36fkKlA4zFoSpNGwCj08exf2ilstrTczuxa-Ktc8Pxsb5BkL_xEKE-yukgrZsk9T4Lad0-oZUfP-jiiL6Mpcc-lqCXP9dljT4bxNY_HYkUv53dGr8mfNI_-z0JP-FglL-tHpg--zRvvsfZmT8BmEw_sZkIvYOFFD-g_hI_9ughP2ipmj_H1D0_uDs3Pz3mhD-f8XW9_cgGP37YNK-6tXC_LFbCO7RrJzIThRs_qryaOl9x5by45YI-r9lFv6_wi77BkIg-gCCJPo9-fj7HiJm_GW15vwSAk7-Hr1O-pD_wvdwUDTg2x9g_-x4HPqfUAj8tXJw_eUfWvg3fMT8wR3I-oHlpPiAHbr-ajco-nW8nP6Px7b4nhoU_X6jYO9TbTr-g1V2-z5CXv6GcpL-YYSO_L2J5vRlrP7-zkpE-L7QDPr6A5j_OOp6__9fjPj2VVr_FR4m_nxlYv4WOaj_bdUE-QktnPnvRr4DZnW-9A1cDP07khDwP3gq8ZQnSvsUlm78csAq_Uk1JvifMVb_voi-_ySiMvZpwLT1Sghe_opfIvy4pPD-Vzac-g28vP61-Bj0yqw8AjHy6AKY0lQC27iYBvGEUARdBKIAC8CYBAqRhANstAABD4jIASc8NPn56jz87JgY_NVABK4JrR78w0yg_f0OWPnfZPj0lDJw-ln3rPgg4pD3X3rg-GFgBv5ga3z3mCIW-b-PQvZCvzr7RSYK_lIMEP1qmcj7d7li_s6jDPv_XEz1gPBk_v2ooPpKKMj9Czau-DQqBP6dxIDxYbZU-mTGOv0u0Oz9zTpU-Edd2vlGYgj2msyS_neoRv_XcKb8bxW--n7iys_j4b7-Chi4_VOn3vZKRZL54DRO_H1eOPtGLXD4yEA8_k-ZUvo2MDT7YfgU_dXwLPvP2Ez_Jny2_kurKPnNooz_69bu-8v22P3KZ3z4_7EI_O13ZvmnDyT0Z8_A-jFecv3lKFr62LXi_7CxtPz9pJT8xqxs_UINSP9JDgjr-UOK-pCmJPwQBjb--i4E_2FQEP1BDID9aMIa_yIYRvt2LlT7WHy--3wy4vaV8WT0K3DE_gNGWP5nGRD79Fdm-va17P4gUsD7tvi8_K_JsvxvbeT9Qcwi-XLQaP3VqK74f26o9bhAUvzRiq783BSE_r9ogP5d5A7_d8Ts_qbuJP7UCuz4Mh28_U_2Uv7yaXz5prF8_SZ6mPqhdIT91waQ_HlKHPwXsAD9R84GAnqeKP1ReDz8yD1M_ngzQP5tFYr8xMna9ZyvRv6GEBD5zxka_2MJyP8YLsT679QeBCtrXvnl01j50n9U-lsIqP7VNEb_rMsw-HtEHHuaIHr1DuL8-qkcIvxvaLz6ex_S9ULG-vPwQj72EVpi_SNp5PyhOfb97QUA_4euSvos-R79I40a__TZav0CcYj4IVME_7HOIIdibHgE1dGWAXn-7J8pRLgHPXYwAGGtAKKzbgowV8v0K3vAwASiD2j8io3g-OD8Pv9Av9D7m2xU_6rlRvxjCLr90xDe-gO98PfrZzz0RJxC-OvGIvfdxSL-rx0a_hQxiP1gQfj_I6Xw9XHTZP1K0nL4bhRS_ED0XP4KuSz9bkLQ-WBoDvz5ZA75W0Bo9sSdQv_I5m7ylwRs_KcEwv30M8b5Qxkg-K-4VPyutAz9tFeC-_78-Pmy95j7X1Zk_uQAaP1MrK7-xLj2_dVg7Pwq4WL-STEQ-Bnm6PYaLiL_VE4q_x0XEPg1FtL4V2Sg_CQDcvLKkEb937b894smLv_x3EL9NRYU_tFRmPwxMYL8skGc_IbYPAeNs5ACwXw-AmZwlAZlJJYFFeegAsLPZgH5XFQFi5ReAjez4AKkEr4C8-6S_Vb17v4ZL0T8rzhM-IrN6vmocXL9WoIw-uqtYPxuzAj9szZa-_vUeP94Zrj5NSi6_JsuWPgeVLT-YoJU9txCSv0V2Z79i3uA9ktR2P9_4xb2aazg_lyM6PlUPDT__vag_yCcZv5zXLD67dpG_Kcb3vrWqor7mjEYo7t3tPnYo3j48Dno_JgmoPYctc7-WhKg_9JvwPbc3cb9SHoY-pCROPyjXZz5iSNA9lLfDPnFsRD9zYkm-gvR6PmGKbD3WzKG-sOn1PgeTEj_60A4_erGhPwQqKb95s4A8gaclP_-DgL_KdIs9gwizPuVjMT_iJM-8Py1UvxwXSD9xUXy_rsO1v1XuNT5vLnY_bDsRPpyBlT5UrJy89hQlPr_09b9hj1g88jDjvoqawz9Kt0c_xg22vqGA1L1r0K-_Pi9Pvu8evT4rEi6-6jqUvgGuIz93TGQ_DiAJvhwSgr80gQM-raUIv6AqiC5E-6Y-FuVfP3I8Fr_oPYYA8bcovwTg9j7UcnO_FZaKP5oiGbwB_ts-uEAqvkyVUT8HjnO_eoCvP2jtcL7xeLE9rpTEP7fJ_j5z7dE-5sU5vMiLBr9p9_u9MV2Avd2vAr_45rG-lVIBv-xdQYBNf9Q-XScsPwtuQz9DvcW9Xp41PzyFF70jkzG_EsXfPgQFK79CI-O-LqnjPnRQSr6GllC_-0iavyKJ3j63Q7E-37Sovj0n0L7UUoc9s7LgP6j8ZT-tmC6-Kd_KPlLxmb5GVZs9PZClPm2LXb70zn-_ZznEABKAnT4JyAu---yAv16FaD9h0h4_5oSfIp60iD7ZE8S-4JyWvzc54z8mOQs_hKSpPJI38r0u2py8Yfh5PZP0hD5134A_XqFpPs369D1Yjpu_IjAIP3CnwL-_xV8_bH0Bv0DART-wRLY-90XkPoT4Xr8puqW_GCNdv_rc6z4hvVG_Urx3ADm3s72mBzW-nHa0Pox2Lz_h5o89bs5Rvr3tT794a8y_qfCXv5Hsij9MRbu_QRvqvgeRwr9zT-S-vP5hPRSccb_V-Gi_Ccz9Ps9rqr9hpv0-OAeVv_1ihYDEMcmALmKRAKaiGwBSwwEBcMZDADMmKwEW1z6AtcFjgMIyUYBAm50_87uIvjPeJD-LKZM_oWaVvq2RT7_RpP098ZjauxOycT7-Mj-_L9A5P9QdZj9NYIM_c_wqP3YuAz8XFLo-nHr7vmDqVb8JQnw-e0H7PhAhBj5qJuk9x3DxPt_zMz9Ev1Y_UYIuv_0SgL8v-04-hoFmADaPfD8_Rz0_F6SfPPbdOzzEEcYcBtsGP7PmhT7xI3g-QQCTP6-dRT9Yymc-M07jgJPA-YBFkniAFwECAKhDpwD4aXkAnZH0gBxduYC2mxSA5ADhAKyImz0ldjw-slKXP20goz4rijk_psYHPw5YEz-QXpy_obhAvoqwg75ehNK_DolVP9AWv79xqxoOL9Gov6FRhb3NKmW-45AQP8v4nD6CRR2_xtAlP2l2VL1n_li__apGv1XOr74X-Gg_m46svMlS5ICe_e8A3kAFvxo5OD3ubJQ_3Ti3vrRbmT7iBUI_0x0vPxdlND1yiEu_39Jvvpid4D38kOMA3hVMgF4bVIAdfRcBrFkKAEmYr4CIzQgAKLALAbbPWQAAqQ2BZCbovidyRr_k38E-ZrybPmwL1j6fJowhEUVzP_r1r76dEiO_ay3BPrsIiz9jD-0-NUOCPvCB0T_ggBm_UoEqP9TZQj44kwo8W_OuPsYYeT5vk42-ALerv9tbrD492o-_JQUDPh-SxzyzRFe_ohuXvZlyhj9YXwU9HfkdP7Pnr7679u2-8bxCP8XzVD94Oxo_CJpZP8GgGD_TpNc-BQmjvsdNFT_ZNgk_UcSXP0mFoL4oWkY_qqTZvsgQ5Lox3-y_47x1PkV3G78=",
11
+ weights3: "w8mivx24Qb_1lfY-x7snPhfhJD0wJVm-n5WWv-cBjL9Bsb6-upd-P1ST9z7Q1Xg_NCngvrtkV78AbEO_oEUOP0YW4b6jn3E-o4vvvdrMRD4y7-Q-IF8UvZKplb4AEas9CwLAPjiOAT_JlK2_KumLP6HqhL3jo_i-dNUAACRjWYDSKzgB_hMcAabRtYDQF2iAOKbdgPki04DQqmIALIGGgJcIkj76_X6_g1iQP_Lgrz0kll-_etlhgBkgpT_3XRO_duGAPwlOiT90QGc_yNYzPqEnWL86wBY_ZVUvAUZJor_20mm-tL-DP1vw0754O4q9PlGAAOoW2QDILA4BCeMugUTjJoCSxLUBfEnCgJT1LYB4vX0AdJjsgEDmvgF0RicALOgrgV9J2AA8FwkBb3UEAM158IASeh0BraSqgL67NIDOLGcACoIyAEqcIAH0b0UAiQwcgIdBfYAqXA4BWlvngA2yRQCS95yAQ3UDPlAM1z5mfEw_GR2kvuksez8ywIk_J_5KP--FgL_8_A27eYZ0v26tzL6hKZc_B08PQJwmAL_WB0s_iC2jPlIhUj5VZN8_wAQNPTgd4j6AoBqBiF1EgJqqJ4C2yhsB_uA1AHfbn4DlkaYAKO2OACisWYAk5MuAI_OZPoviir9zO5a_mPTRv3R83j4xnbu-NnJ4P1Qviz9z4N08GeC2Pu5w-wDonBMA0E4sAfGeXAAIPoeACGMygYyETIA-nvCAoddmgMSiVAAkh8q-UhQ6PzWiEr-I5Rg_ggf-Puimhb-zpLW-8cmKPyq1-j4ZoX4-Pok2gS8uK747L4M_qkYyPooo-j6qVACAO_skvtqJkr35KI0-a7C3vUK2Nz9iKPk8BMC2PyF2K7_I-hG_IxJXP7Lkz7583Ra-L8w9PPUk8D4Qex2Ahg4PgCDChoCmvguBBsVNgDzEEoGS1xGAsNQDAV_8pgDA7qUAlp-_PqZerj6O4b2_yFtjPmr3tD_00hk9LHzoPqL8CL9e7hc_ufKqvqDR8j4WUcC85YhnPycvkT_FO3yA5dTbPZd7Sb8es2k_03OpP75-sL8i-FQ--CoCv2RVCT9xkj6_KeVqP04-TT3Xwbe_RKXZPh3umr6RpH6_81yVPnfA0r9q4-k-4UwTP3X9A0Bj2gw_jD2Iv-Vcv77UzzU_ectbP1uiBwCUBcSAbYx5ANvIKwBgpOCAhnMfgIynBAH1DR4B6kpuAK76BIBmgmg_EPZnPzKZpr8vY74_10XTPgc4gb_jHzg_SeJuv-xaaD6I1Om9505lgFyuFYHv-ZmAx51zgEam5gBwqR2BUGpHAKtxMgCOom4Ah4-XgAg5yL_mCG27__W7vhdCfz-Wzec-izphPAMhUr4Uf42_TrdGOMv2tL_lzPM-fqaBP_nhh7-Ewv4-Xj5iPLIC-z7Eyts6SEFEPxJDLL4Uris9-F_CAC4qU4DxSF0AFBsOgDZ0RAAy2BqBRLMiASyUNoAY-sWAqc0hAHCzj71IUYM_xJKmgOs4vT6dUxM_0UfRvE50wj6ZraQ_PNd4P5L-WD-GTgy_RA2nvzSMELsGWD6_p4FpP20OVD8WHAxAPp4BP4e9YT9IJZM_Q7KEgOKhMYBc3wKAtTmtACAFJoHHS6cA6MHngMLMdoDMRxEAuqMGAd_yLwDI0CYBNooLAXLDJQCAth0BGtkIgZiXjoCedbcAKehbgOyb9gDT1eU-QTCNOdAUQb_lc4k_iSeZPJUAlj-gcby8fjRQv5H9qb9Fibq_MCoZv_KVxb--6pc_eN99v3iL1b1BbYW_GSmTPsoCJj9VVWw_Y_eKv4f0BwGyxQKBq0m_gDzgGwE8ORqAqB0sgK5EMoGkXxIBQ2AAgOYnaoCUayCAOQu-AERVP4ADYikAebfhANYm1gAH_RkBcRoHAfW0FYHCwD4ACs9kvex5kT-B5-Y-mUcOvYzfaZlQrp4_5mvmPiz1Xz-fR_S-9Tq8vpMUO799Vrm_ExBRPQtbH7-tBf-9ZiO9PpyNnT7fy1c_oWmKP45yCD9aPjU_0cjAvr11ST8PP_u-G7DJv3YHiT2hgGkAUe0evpGQoT14Bzi-sSVev65O4j5-OhG-ukaVvinhjb58XK-_TKw0PhVJY79z_py_mip9P8zqGb9tfvQ-fn8kvtFbFj_-drQ-Mms0v1noLD5zWlI_0kjVvQKPrD4LB3c_w6yQP_9ok7-zCgw-c5q8v7-g2r7Og4-_HjBIPnAws71a6_O_8i4TgJTzd4DAnb6AlKK8ALF5XYCvlCeAYfKkgLoENgAdhSkA9vMiAVStuwANNc0AYNUGAToxFgANUbqALXOfgHqgvoCfSsIAU3QTgILH6YBlx4I_il1_v4VsB8Bo9Wa9I0tfP4TNXD8_5qM_4rvivoqglL94AJc_VEAHgQgMHwBN9HIAY23egNieLYDdmzaBWBc8gXmZNABujg2BtI0mATtyfYBxEBYAfyhlgOssqoCbFKyA-_upAEJC8YBe91cAzghogByy5ICqKgmBuy8UAa0UVAACIRcBTRW-gKhgJQCjEK2A9rnHgBjReQA2NO-AF8jsAEB0P4HkNSyB0UrQgF8_KADI7KgA6gZPAEUL2QAG1RuB14UcgRL5pwfk36k_nlk6PxK2uz_bzA2-_4HovQ7Ehr9k30I-8kvevkQuQDzrKKU_KxodO1Ge2r4PYhU_abKov2--Fz-feI4_m3HEPZxBOgFpXa4-GnhGgO9SGIGwiLKAPtMuAfDBBYEanMSAYl1cAFw7BgAOTegAiADagKmnb7961R-_8SrqPyugCL94qY4_Jd1OvuLeSr89J4e_ubrEPbftnr9Smlw-_ZOOP9Ueg74npbs_sAU1voQpLz9CI2s_2mFTv7KxZb92OpGAQhyJvgTBIz7aTCQ-EELiKPT9OL1eMrC-r6IsP0uPgL2I5Ym-F9z_vAR8JoCgAlyAww9lADh2FAEATneAkyW5AGobMgDRHmuAkxwbAFBIbACwZyu_lFFdP57Qob-6tj48bUBXP83MLL-fmw4_EIXBgI8trz87yZA_SE7ZPBiIST69LO4-CeMuv4c_fD-9lmA_ERanv0J5cT_yisG_LRfHvzF_aT_P51M_98QmPFQBYD8w0IY_tHMWPnQ_YT9Hc0e8f0Rkv4YfFb_Xe0C9vKmOP12QI71kdgo_egCBP5Bxs782y8k_Lp1DP6uFn79ajh0_4l3KPHM88j7ceaQ-fs5bP_g67b_r6Fu_gu0xv9PNsD6NE00-Lo5tgAHK6gAXPh2B49U-gPvZ24BKQtEAqho4gGhVL4FAK58AL0MTAbuzPoD9GGe_QIY-Pqtbaj9YGcs_kyTKPVNyYD_G61U-Vyrxv4Kj-j7DHgU-AhDvPncKwD781YE_OKs_v1yujz-6HaO_wfSFv5sI_j3P_xA9IJdIPw==",
12
+ weights4: "gu1Wv-fgtb-3SkE_xEOnv-A4ij_-05u_cvM3P1sgzj9wh5a-rS20v_zLiL63nA29A4SBP8u42j8OYi-_UPH0vzHVor6TlNg_vLqUPwAE6T6Zvr6_XViNv5uOr79ybXQ_ckpHvwCXvL-zNZ6_PKQZP39AeL-zmEa-nToNvZkjgD6BrmE-mWUyPz-AxT_9hYG_cmGfPvaRvD_FXd4_qbnvv8fSK7-WoLC-gd2sP82M1j83SNe_-2AwP39FXb-siUy_iVYBgSn2OT8QGN6-_4KlvwiPNL_BzZ6_8wbEP6hC7L9Ccyo_816WP_gTOT-N5D2_NHSeP1tKjL7EfIy_iz8NPtAhXT9x5p2_5pPlvn2e1r-NJKC_L4cCPw==",
13
+ biases1: "HaMhPSUacD4uCSc-waqzPlqCDT8oeeS9s8JDvMixgD9G0HU99_TOPmoqOT84tao9RdMQP5MqVTsb8UY-2EtmPnX_kT5d104_rO4BP0MByL7C_rs9ou2hPg6RqD61UzA_V7EKvpCxoz1787A-PqvcPY_jBD8cQK4-njzbPcUuzz3Y-as-Y6Y1O7-htj4EdBM-OqgtPisOBj9ZUis_WFRmPq23jj5ZKG4-z0FTPnM8Hb2pfqw9dTMTPjuQOj6zPoc_CfUDP4of6D72AXo-AXZlPjhNHz85-mI-YZ4MP0Ydbj8Egra-dB8mvvPa_D3H5zk_gpZaO_ckIT_HUPk-cHj9uzlXR7sYwTe-ds8QPyiXLT6p3R0_P-DxPmGGc75olzs8Mg9cvTF7lD7v01k8-GPWPtNmG7v3Ars-1C4hPxUtrz753i4_zFtWPRq2Oj77BYg-Chj7PrV6wjsYsRA_QANTPrLnsj4Nk0w7ebDDPq5J8D5bTds-5j5vPmJVOz8693c9v3rNPjZAJT__FtQ-N45XP5DoDT6aKw8901n7Pnr-o714t_e7bq-GP1qwzj5BkRM-WugkPr2vhj6PCPu9AMu7POzDgj4gWtk-07c_Pmb6Rz5aOpY8DTi5PntEtT4pMAI8PPuwPgrqED1Y3g4_iw3JPpeWrj7X3m6-bvjhPpD3k74T3wc_gBtoP4CGHD7JUoI-eAODO4Ko_7yYG6c-vQibPjt0Hz3nPwo_6lYPPRcYhL7UGPA-FZArPBI93D15MXg-iOYxPtoUeD2vp0M_hpGPPcM69j0dFfQ-ZXrtPUYKIL2Kml86dmvsOzwZ8z7fkWA-HASOPujnjj5_Wim8w0LevOWA_j22SNY-y1JrP5sbSj9-4wc_gCeqPqN3yz5EvUA-jnw_Pmaf0j5XGLO-XaJIvtiqqD4dbuQ-k71jvr1AuD7D_gm83xsXPqDoKj_Jr_I-qGiHPQKXwD49e7c9wpJiPiIk3D6-lY4-Oj0Evt7yEj-kEUA-wH0lPxv4bj4GXRU_V5nRPdTrkrmUuZ4-sm7JPagP_b2BV_I-f63MPnp8sL6rCPA-8lKjvC4ISr5j8L66i7W9PtxOSj0Ztfs-GHCdPkHXCj4bmgw_KMIyP8U1lz4wJLU-zwjSPovdX71is7M-f9L1vVAWrzywRM-7zugNPgj3GD-LPUQ-GzR3Ppz5Kz-ojwa9Ttm5ukuVqzzaCuG-Bc0lP1NCsD5PDr8-PQbsu0x4RD5eP3u8d41VPshsFT8WXe8-v4-sPuQyPTxAt8Y-hZ9ZP3JegLnbLLw-lBYFP6-IjL3Ff5Q9OdC2PfUMPD2dfSe8lPazPvr40D7KB8e9eNKKPh2ytL2LJh29m5QRvA==",
14
+ biases2: "_Q9ZPZ8GQr68UR8_IbJ2Pgn0QD3ybP--wAe3Pr8LPDyG5vE-JygwPw57CD6dyKc-PvBtO3AsXz5wQkM-8ta2PVgSHj0EG8M9oeQHvYAlIj6P-K4-rgdMvv3T1r78Nwg_WJPNvmNOPrs7Z1M-YfB_vmU6hD31XyO-gwFPvuIWVT7RnG4-LEsBu6rKJL1BSMs9kpOqPvgulb3bshQ_GH-EPly16j1bVQ-9dRfdPb4vpj1SrMC-VjyfPi5kDT_e3bE-YF5Pvnm-DD4nKps-r736PiXlib3QgRq9CR5NvrL8Y72raiG-F2VEvtp2jj0rrZ0-eedGPif4LT1RsNM-yPdjPuEGyj6QCbU9cdj3PvQ_sz4KySa8dQtJPxBaHz_t12O-aAIuvrLxT73b_Is-ec-IPggFAj6QyTM-V3DdPh-MzT3kryY_cRhcvs7eCr5QbPE-R0ElvfyJYr3bJmI-Mug7P5pC1D2vgVw-OWerPpKaaDxWOMU-mbuzPsbRDj4k0oG-KY4bPkFV3L3lR1W95YmoPr6wm74Sw849kR5XPny7ZD3-VIc9YRnrvkyBKT687LK7zJ1cPn5RPT58iKM-j7JUP35YBbtj2xM-5iTiPpbGlD7Fg98-sfPwOVsRtj7kJw8_8ROJPvw9gr1riY-9352XvikwIT6I4Ys-PaVDP-hO-z4=",
15
+ biases3: "wYidPj2HAT5ogRE_KJy5vPa4CT-Bw5o9fDn-Oqwr6bs28Pe7EmigvVmRFT9nnR-8PpSnPjyxt7oQA3Q9QS4dPbM4HD_csA67n_nVPdZlV734fBc-0ZiGPaXTm7xPqHM-WuOeOvb70T5tSAo9RrB3O_T07z6yJgU-NlsJvfWmYTxowio-sYzsPuR6aDuZaA46p4vsvpKSMz-GgnO9G2TCPpUkeL4rqak-TXy1O3wymbz6qIQ-Ik91Ow-Qyru3IQs7masouyAwmz4H_DQ-F-jruzb_6z6gV-E-IElNPfpB5Tu0ASk-0nQZPmGwbT1yjG4-sLBAPhSGRDzcpq4-dqjMPg==",
16
+ biases4: "W7ejPKPttb42hDE9X2Z1PoV_Bb_msGG96ga8vgCSVz8b6KO-1rKUPg=="
17
+ };
18
+ //#endregion
19
+ exports.SPARSE_WEIGHTS = SPARSE_WEIGHTS;
20
+
21
+ //# sourceMappingURL=sparse-weights.cjs.map