@aztec/accounts 0.17.0 → 0.19.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 (44) hide show
  1. package/README.md +1 -1
  2. package/dest/artifacts/EcdsaAccount.json +90 -78
  3. package/dest/artifacts/SchnorrAccount.json +90 -78
  4. package/dest/artifacts/SchnorrSingleKeyAccount.json +77 -61
  5. package/dest/defaults/account_contract.d.ts +2 -1
  6. package/dest/defaults/account_contract.d.ts.map +1 -1
  7. package/dest/defaults/account_contract.js +1 -1
  8. package/dest/defaults/account_entrypoint.d.ts +1 -1
  9. package/dest/defaults/account_entrypoint.d.ts.map +1 -1
  10. package/dest/defaults/account_entrypoint.js +2 -2
  11. package/dest/defaults/account_interface.d.ts +2 -1
  12. package/dest/defaults/account_interface.d.ts.map +1 -1
  13. package/dest/defaults/account_interface.js +1 -1
  14. package/dest/defaults/entrypoint_payload.d.ts +1 -1
  15. package/dest/defaults/entrypoint_payload.d.ts.map +1 -1
  16. package/dest/defaults/entrypoint_payload.js +2 -2
  17. package/dest/ecdsa/account_contract.d.ts +1 -1
  18. package/dest/ecdsa/account_contract.d.ts.map +1 -1
  19. package/dest/ecdsa/account_contract.js +2 -2
  20. package/dest/ecdsa/index.d.ts +1 -1
  21. package/dest/ecdsa/index.d.ts.map +1 -1
  22. package/dest/schnorr/account_contract.d.ts +1 -1
  23. package/dest/schnorr/account_contract.d.ts.map +1 -1
  24. package/dest/schnorr/account_contract.js +2 -2
  25. package/dest/schnorr/index.d.ts +1 -1
  26. package/dest/schnorr/index.d.ts.map +1 -1
  27. package/dest/single_key/account_contract.d.ts +1 -1
  28. package/dest/single_key/account_contract.d.ts.map +1 -1
  29. package/dest/single_key/account_contract.js +2 -2
  30. package/dest/single_key/index.d.ts +1 -1
  31. package/dest/single_key/index.d.ts.map +1 -1
  32. package/dest/testing/configuration.d.ts +28 -0
  33. package/dest/testing/configuration.d.ts.map +1 -0
  34. package/dest/testing/configuration.js +61 -0
  35. package/dest/testing/create_account.d.ts +1 -1
  36. package/dest/testing/create_account.d.ts.map +1 -1
  37. package/dest/testing/create_account.js +4 -1
  38. package/dest/testing/index.d.ts +2 -2
  39. package/dest/testing/index.d.ts.map +1 -1
  40. package/dest/testing/index.js +3 -3
  41. package/package.json +7 -6
  42. package/dest/testing/sandbox.d.ts +0 -22
  43. package/dest/testing/sandbox.d.ts.map +0 -1
  44. package/dest/testing/sandbox.js +0 -48
@@ -57,7 +57,7 @@
57
57
  }
58
58
  }
59
59
  ],
60
- "bytecode": "H4sIAAAAAAAA/+3dCZwVxZ0H8H7zhpnp12A21ya7uch9JzMD5Npk81izibnvbA6ziQokGpUEx9tETLxivEVRiVdMPPBGRSSKKKgR0CiKAiIMIDciCMkm8bPZpWr6x/ympub5audfTs/y78+Hz3RXV9f/W9Xd1f2qH/2GJklSSrqm8s5/jUnvCeur+d/W/k1tJbmyWmM6GwaJsyzoNLYhSdz93xihXaWNQwaBsWkQGJsHgbElkT1/YERfmu78V9n5L9v5b+jOf28e1p3u9rcmbYhTT5PWlM83UFpzPl/O/5o8LcJt00Q2oTJHNcnvw9aU2obbHW0zJOnd5k2eNm/2tHkLlfESWp84+2SPfJthwvvAxBqa9JxKznKV5odR/faQtbRmZNmD4vxDhDq/JKm/zoif0Xbse1kE30sDfC8j30s9vldE8L08wPcKsrxS1mKPGVheSXFeFaHO/5jUX+dXkeXVEeoMy6spzj9HqPM/JfXXGfEz2o59r43ge02A77Xke43H9/oIvtcF+F5PPmzH5/HwCL43BPiGk+8NHt+bIvjeGOB7E/ne6PG9JYLvzQG+t5DvzR7f2yL43hrgexv53urxvSOC7+0BvneQ7+0e37si+N4Z4HsX+d7p8b0ngu/dAb73kO/dHt/7IvjeG+B7H/ne6/G1RvC9P8DXSr73e3ztEXxtAb528rV5fCMj+EYE+EaSb4TH94EIvlEBvg+Qb5TH96EIvg8G+D5Evg96fB+R9bUb34cDfB8hy8dkLSON5V8CLB8jy0dlLXbc4l9ly7Rdy8fJj7oiTkbreZ9/XLhuJYqJcrHMPrXu3lZj+bDjTCnfhwvgQ9pHI1pSx2KmWv2Sz8f7crSsz/bh1QDfaLJ8QtQywo6j/luA5RNk2VPU0tWH/7tsmbYP/yT5UVfEyWg97/NPCtetRDFRLpbZp1a1qlWtalWrWtWqVrWqVa1qVata1apWtapVrWpVq1rVqla1qlWtalWrWuWtGcWDM6V81QL4kLZnREvqWMxU63siPh/vy71kffY7NZ8K8O1Fls+KWtrtd2o+HWD5LFk+I2rp+k7N52TLtN+p+Tz5UVfEyWg97/PPC9etRDFRLpbZp1a1qlWtalWrWtWqVrWqVa1qVata1apWtapVrYPFaiyfcpwp5ftUAXxI+0xES+pYzFRrnN3n4335RVmffSbxhQDfF8nyFVmLfVfDlwIsXyHLl2Ut9pnEV2XLtM8kvkZ+1BVxMlrP+/xrwnUrUUyUi2X2qXX3thrLFxxnSvm+UAAf0r4c0ZI6FjPV6pd8Pt6X35D12T786wG+b5DlW6KWrufK/xFg+RZZvilq6erDvy1bpu3Dv0N+1BVxMlrP+/w7wnUrUUyUi2X2qVWtalWrWtWqVrWqVa1qVata1apWtapVrWpV62CxGsvXHWdK+b5eAB/SvhnRkjoWM9UaZ/f5eF9+V9Znn0nsHeD7Llm+L2rpen/0fwZYvk+W74laup5J7CNbpn0msS/5UVfEyWg97/N9hetWopgoF8vsU6ta1apWtapVrWpVq1rVqla1qlWtalWrWtWqVrWqVa1qVata1apWtapVrfJWY9nbcaaUb+8C+JD2vYiW1LGYqeQsV2ne5+N9OUbWZ79Ts1+AbwxZfhDBMjbA8gOyjJO12O/U/FC2TPudmv3Jj7oiTkbreZ/vL1y3EsVEuVhm32CxGst+jjOlfPsVwIe0cREtqWMxU63zx+fjffkjWZ89vw8I8P2ILAdHsBwYYDmYLAfJWmxfM162TNvX/Jj8qCviZLSe9/mPhetWopgoF8vsGyxWYznAcaaU74AC+JB2UERL6ljMVOv88fl4X06I4PtJgG8C+X7i8XVE8B0S4Osg3yEe32ERfIcG+A4j36Ee3xERfIcH+I4g3+Ee31ERfEcG+I4i35Ee3zERfEcH+I4h39Ee388i+H4a4PsZ+X7q8U2M4Ds2wDeRfMd6fD+P4DsuwPdz8h3n8R0fwfeLAN/x5PuFx3diBN8JAb4TyXeCx3dyBN9JAb6TyXeSx3dKBN8vA3ynkA/bvZJ8p0bw/SrAdyr5sN2ryXd6BN9pAb7TyXeax3dmBN8ZAb4zyXeGx3d2BN9ZAb6zyYft+PyYFMF3ToBvEvnO8fjOi+A7N8B3HvnO9fjOj+CbHOA7n3yTPb4LI/guCPBdSL4LPL5fR/BNCfD9mnxTPL6LI/guCvBdTL6LPL5LI/guCfBdSr5LPL7fRPBdFuD7Dfku8/h+G8F3eYDvt+S73OO7IoLvdwG+K8j3O4/vqgi+KwN8V5HvSo9vagTf1QG+qeS72uO7NoLvmgDfteS7xuO7PoLvugDf9eS7zuO7MYLvhgDfjeS7weObFsF3U4BvGvlu8vhuieC7OcB3C/lu9vimy/rs85FbA3zTyXK7rMW+w/+2AMvtZJkha7HPambKlmmf1fye/Kgr4mS0nvf574XrVqKYKBfL7FPr7m01llsdZ0r5bi2AD2kzIlpSx2KmWv2Sz8f78k5Zn+3D7wjw3UmW2aKWkfZ9ObMCLLPJcpeopasPv1u2TNuH30N+1BVxMlrP+/we4bqVKCbKxTL71KpWtapVrWpVq1rVqla1qlWtalWrWtWqVrWqVa1qVata1apWtapVrWpVq1rVqla1qlWtalWrWtW6e1uN5Q7HmVK+OwrgQ9pdES2pYzFTyVmu0rzPx/tyrqzPfid8ToBvLlnuF7W02++E3xtguZ8s94laur4T/gfZMu13wh8gP+qKOBmt533+gHDdShQT5WKZfWpVq1rVqla1qlWtalWrWtWqVrWqVa1qVata1TpYrMYyx3GmlG9OAXxIuy+iJXUsZqo1zu7z8b6cL+uzzyTmBfjmk+UhUcsI+0xiQYDlIbI8KGrpeibxR9ky7TOJh8mPuiJORut5nz8sXLcSxUS5WGafWtWqVrWqVa1qVata1apWtapVrWpVq1rVqla1qlWtalWrWtWqVrWqVa1qlbcayzzHmVK+eQXwIe3BiJbUsZip1vdEfD7elwtlffY7NY8E+BaSZZGsxf5+36MBlkVkeUzWYr9T87hsma2mjCfIj7oiTkbreZ8/IVy3EsVEuVhmn1p3b6uxPOI4U8r3SAF8SHssoiV1LGaq1S/5fLwvl8j6bB++OMC3hCzLZC22D18aYFlGlidlLbYPf0q2TNuHLyc/6oo4Ga3nfb5cuG4liolyscw+te7eVmNZ7DhTyre4AD6kPRnRkjoWM9Xql3w+3pedsj7bh68I8HWSZXUEy8oAy2qyrJK12D78adkybR++hvyoK+JktJ73+RrhupUoJsrFMvsGi9VYVjjOlPKtKIAPaasiWlLHYqZa54/Px/tyXQTf2gDfOvKt9fg2RPCtD/BtIN96j29TBN/GAN8m8m30+J6J4Nsc4HuGfJs9vmcj+LYE+J4l3xaPb1sE39YA3zbybfX4tkfwPRfg206+5zy+Pwn7TBk78rIa838JxSnT+lHNXX+H5ZYdwpZSXi63C5Z3UBsMVNw/y8a19247kp5TrWPjz2T5q6xllLH8V4Dlr2T5i6zF3kf+TbZMex/5PPlRV8TJaD2fb88L161EMVEultmnVrUOFqux7HCcKeXbUQAf0v5Cvman/cy1b+/mbutzstZRxrqd2uJYMiBWmfIsH9rt+n6esULrd1BdtiW923qrrN+2NeKgXCwjVoXqso0s0vd9paTnfVW1j7jCbdDObY2p1nVyK1lkPzt0vWv52QDLM2TZImrpumZvli2zNcLnQXsfwJ8H0X6w8+e+TdReG4Xbq5T0/NxXpWX2qVWtalWrWtWqVrWqVa1qVata1apWtapVrWpV62CxGss2x8nfgdlWAB/StsSztId+72cjWWS/Y9b1HGFDgGUdWdaLWrqeI6yVLbPXd0hRV8Th72Xy+RHje49rk55tiuW+vkOqVrWqVa1qVata1apWtapVrWpVq1rVqla1qlWtRbbymDqc/P+aNxfAh7T18Sx2HJr/r/l2x1Ehx9PkEH2nQlvX9+pl30PR9QxhVV4WyjZpnU6aib1CNHbX/7FdmfSc6nkfh9kO7w5ZSz7h9yy1Ggu/L6VKMTopfalwu3DcUv4PMZBepvkpLd15kc/836O/Uzs9TeXh3VQNeZ6lnjxP0TyXg23deexHtE9G67ms5S/ga0rE391l23MZWau0vIQ8p7d0G4TfjdPObdqYl9uZLy+PV/dWPiZwDLv7xaQvjtDmiItj2H1HUpnmb8rbPkl6vmcNxxXMFWov5DP9ge+8jFGnZVSnKi0vpvS+8vD54qvjMqrjk558tdolo/VP1hmHt+FjMEa7cd2rtIxY5py4mM4/4b7cGlY4hhVOe8S4hphjs8WJY+o6neoq++6PtnGmrvz/F6tkQKwy5Zk6tNs1M89YofX4bge/U4S/7yH9bpVS0vPdJVVaRqwK1WVLRIspYxNZtnsciM/365skHfm9n+x3WXp+fwRlm7R1TpqJvVY0dvj7h9aRD/fdvN+F389mr5urqPwqxeDv0awUbheOi+smYiC9TPOL6d4P+XBv5X6ONHk683nc+6305OH7QC4H27rz2I9on4zWc1lrXsDXlIi/88+252qyVmm5kzzzqT8W/vzYzm2Kez8cQ2vi1b2Vjwkcw53OfonxuY7j4hh231lXpvktdO/H12gcV5353wq1F/KZ/sB3Xsao02qqU5WWV1B6X3k6k9p1XE11XOXJV6tdMlq/qs44vA0fgzHarZMcVVpGLHNOPEnn3ypZQ6uvD9jgtJf8ed91H+ZeQ9Y4+yFWn4fze0jSdSzCgVhlyvPnvO2H5cs4L82E44bHup528sl/Xm639zvC75W293J8D477x6eoTbD+v1u68/1PPs/jVVupnD3S3usx1bqn4c9cwmNIrfyZC8feUk/cmJ/13M/9SC/T/LC0uz34syraF+aQz8TYxveZOPZYB8pd6vjMcdKQds/jmInR53J9uV143Bzr+R2325z8PK7Cn/ekz8ta43P8vm+krYhnaTdl8HvHtzuOCjmWUzthnj9HLXXSYoxtmji8r81Uq8/h95Pj2OTxD+nfYzEW/g2ZKsXgcUnp35bhuOiHEAPpZZp/b9qdF/nwOQXtxJ+R8Fsd+Bz1mCfPEzTP5fDv7/A89iP/TgnWc1mLX8DXRNtV87+t/Ztq/lbIo+QZTv2acD/bzm2Kz1FuPxuh7q18TOAYdveLSRf+3ag2jotjGDGQXqb5PelaurB7dtdxBXOF2gv5+PdXlkau0+NUpyotL6T0vvLw+eKr4+NUx0WefLXaJaP1i+qMw9vwMRij3bjuVVpGLHNOtNL5J9yX1xzHfzyJFtdWKXXimLruRXV9McbQYfCNoR9GY+ifyzPyGDq+K8Fj6Pz9if/HY+gjTBk6hq5j6NWkmGPoB9C9n46h+9uznjH071J/rGPo/ZqCx9An0r2fjqHvnmPoB9H5p2Po/QscOoZ+ct72Oobevf4MGu88yzNGzmPol+oY+q42Dh1Dv2Q3GkOfRMfUpQUcQ9/s5OcxdP68V5QxdB7P5u95LXfSmhL5344tJT3H2qu0/CT53N+zlO8r6/sdzVhx+/pe4vJ4bT/SlMHn23ZPuyM+jwfG+K57X+3OcWP8nnPIbyjzdSBG39fXMcBjisK/uR38m9Y81r1IuA14/LkeCz9Tkn7WYSyPBVgeJcsjESwLAyz8e/F/jGB5OMDyR7I8GMHyUIDlQbIsELbU6sMWRI7bV78RO25R62vucdCv474mpfV8TZkfwbfA8WF5PvmQxvdl6IdXesyLC2ReQWnor/l3vNFvNlAa+q8ypaEfaaS6CR8vrSYO+ogFkduwr/NhfuS4fZ0PseMWub7zhOOmVD6mWteaeWR5QNZij2lYHqA490eo8x+S+uuM+Bltx757I/juC/DdS5a5wpaMLHMpzpwIda7kZaFs+xyIxkFkPye2t/LYM8bAYOD/i4w8X6Pn4A2VWK62caYM/i7CMsdUIRPypTTfSdvydz1Wesp5wsmX0vwTlA+fA+ZTGu7HcU5EuBe2vwGMe21M9d4LPyRraYtxHTdlzCM/6sr3fFjPn8WkrwO17pXYV691ySCyPjKIrIsGkXX5AFtjnK8R7ntGmctKM7XlA06bcn2E7zXsOBnubzDVe69xn6ylLcL9i+1f55AfdUWcLOl5v4G6Sd/flCgmysUy++q1zhtga4S47TgP7ndiLXDawcSeLRzbnAf3JD2nWufBbLLcLWux58FdsmXa82AW+VFXxMlofQPVbZZw3UoUE+VimX31WucOsDXCvhppyrxTtsxd5xba8k6nTbk+M4Vjm3PrjqTnVOvcmkmW38ta7Ll1u2yZ9tyaQX7UFXEyWl+mus0QrluJYqJcLLOvXuusAbZG2FcjTJm3yZa569xCW97mtCnqYz4zT8/n+f+q3eKkGePNEdobcVAulm8m3635/C2Uhnl+J9U0J82Yb4pgnuaYsXwT+eCfRmmY5/8zg20eo7Qb8/mFlHZDPv8w1e36CHVDW6NcLF8fOe7NTtybX6S4Wl+tr9ZX66v11fpqfbW+HPc64bgplY+p1mfO68hyrazFPteG5VqKMzVCna9J6q8z4me0HfuuiuC7OsB3FVmuFLZkZLmS4lwRoc5ZXhbKNuPMF9Hz43tEY3Y91+Zx2ioZEKtMedrpufZl0Vxdz7UxVmqm6Y6pQibkS2mex8Z5XO4WTzmznXwpzc+mfBgHu57S8Dke50SEcQj7XBtjW5hqnQu3k0V4fK4twpiIHRO7jvyoK+JktP5Oqpv0daBEMVEultlXr/XuQWS9YxBZ7xpE1mkDbI1xvka479n1XBttea3Tplwf4XsN+8wB9zeY6r3XuFrW0hbh/sX2r1eQH3VFnIzW30B1k76/KVFMlItl9tVrvW6ArRHi7no+MNWJdZvTDib25cKxzXnwu6TnVOs8uJwsv5W12PPgN7Jl2vPgMvKjroiT0fqbqG6XCdetRDFRLpbZV6/1ygG2RthX9rn2pbJl7jq30JaXOm3K9blIOLY5ty5Jek61zq2LyHKxrMWeW7+WLdOeW1PIj7oiTkbrb6S6TRGuW4liolwss69e62UDbI2wr+xz7Qtly9x1bqEtL3TadAq1LaYGquMFEdo2cdoW0wUey6wCWdICWRoLZGkukGVugSwtBbKUC2SZUiDLtAJZZhTIkhXIUimQZUiBLE0FspQG2JImve/bU1o/jdIanG3NPm0e1r1+cp7eQNucl8+XPWVPprTz8/nzPNtyG0126tLav8m2Ecep0jJiVchwXgEsTQWyDCmQpVIgS1Ygy4wCWaYVyDKlQJZygSwtBbLMLZCluUCWxgJZ0gJZZhXI0vAiWXDvhHLPdywm7rmyce346CSKi3u6c6n+iD+JHOcI19+UcbbHcQ45EP9scpwl67C/L3Wmx3EWORD/THKcLusYkToOM9X6HHA6Wc6Qtdhx+dNky7TH3ankR10RJ6P1fPyfKly3EsVEuVhmX73WSYPIevYAWyMcV+NMmb+SLXMEniGgLX/ltCm39yn530ZKx71ymdZPzD9YDEv6fvZwSoR9wlPV42bL5AJZZhXIkhbI0lggS3OBLHMLZGkpkGVSgSzlAlmmFMgyo0CWrECWSoEsQwpkaSqQpTTAlr6eg2A9P6v4ZT4/idIaPOWhn0J+s+9fSs9LTs7T+XnJSfl82RPvZI/rJM+23JbYppr/be3fZNuS41RpGbH4eclJBbA0FcgypECWSoEsWYEsMwpkmVIgS7lAlkkFsrQUyDK3QJbmAlkaC2RJC2SZVSDL5AJZGjyWE2Qt7XwPmJCJpyrNn0CWE4XbxYxVmn4M95qnOG3C44vHC8cuUX1QLpaPp7i/kI1rnyX8nOKirohToficD/OmT5nsOMu0/u80Vmv8xwm3myljosd/HPlh4XwTyT/JqVOZ1w/t6f+ZrN8+q2KXmWod/4hvLMfKWuyzqp/KlmmPr2OS3u2OOBmt53GkY4TrVqKYKBfL7KvX+stBZD1lgK0xjitT5tGyZe56VjUxL+9op025PkfIxh5p+oGjkp5TrX7gCLIcKWux/cDhsmXafuAw8qOuiJPRen7+cJhw3UoUE+VimX31WmcNIuuMQWQ9ZoCtKaUdRWlYfySlNTj14HFP5G9O4rxTx9QF78XBvfw91J5ow7v7F7fNTTCxZlP5o5Pe7+4pU54P0X1UQulmmp7/xfYVKmM2telsp3yTD+8N4ff34H0yV1MMvAulgcq5k9bzu3jucrbh93chn6lzP9/D421Tfs8PtylilSnPJ5w25fcp451I3KYznXwpzc+kfLfl89dQGt7LwG2K93k0UDn8DpWpNH+bsw2/c2wqxbnKiWPa4Yp8vpr/be3P1NZ1LbqS7Ih5Bdl87waTfh+C2d/8boZq0n3OIha/Pwx53feHSf/+lHF15mWhT+HfjELcJf2L6z3+n6DyRye9f+eqTHm+7Rz/SDcTfjOrk9xLnHwpzS+hfPiNnfmUht9euo9i4HeDGqicR2k9/27VImcb/q07/i3Zh/L5av63NWzytumDVD63KWKVKc84p02RbqaV+V9sX6EykC+l+YcoH37D4w+UNi+f5zZ9IP/bQOXMo/X30/wCZxv+fb77Kc69ThzTDqK/XZL3KXPJjphzyIb4fH/bz+tyL4nZ37j+o1ycs4jFv7WHvPxbe2bd1jx9M22zxUkz/mci+LckPf1YRizjezaf3/IiW1LHYuJu6l9c7zm7kcofTQ7EKlOe4+icLVGeJqf9+Pe4NvTP7G0reIY4jg0e84lOP7M+6Z5wrYG7QtutpzqsFa1Dux1TWCNaZtf45NN5WeYcw3G7htoE60+j93Cekc+nVOetVM7FnvWYao0brKX2WyVbV3vcrqTyqxSD43bKxm3juKX8H2IgvUzzFw1Ndk2d3bO72hdmc9yt9uTj+fXONhmtXx25zqvIUaVlxDLHydl0TOGYMZ51wh6uL7dLSu2C9dy3SZ9vpl2eTnq2CwxryLLZ48Qxyte31RF8ax0flleTD2nryId6cH+yl+eavY222eKk7Y7X7BbHUoRr9q11XrNXUfpAX7Nn1rhmo2/d3a7Zd1P/OucFrtkLBa7Zy2Xrao/bp6j8KsXguMtk47ZxXFyzEQPpZZp/hK7Zy7pnd7UvzHzN5nw8v97ZJqP1qyPXeTk5qrSMWOY4uY+OqYUDcM1uoXYZqGs2DHzN3uY4+ZrN17ciXbNRD+5PpueJ5ljdnqfvoG22OWmmTlsj1AlxUC6WEcv4nkt6ti+vNxO+y9tM27jlGP8WWf+oGPcOpgzc+zVS3RGnTOs30jm6mfp11Hk7lfO8Zz2mWv0+3ydtlK2r7fc3UPlVisFx18vGbeO46PcRg+85MP836vf5mon2hdkcd5s8+Xh+q7NNRus3Ra7zRnJUk973RvY+g46p56nff1bYw/XldmmmdsH6mJ8bTBmbyYH4z5Bjh2PkzzTcP/bzfr6XrdZnmk3kQ9qz5EM9uC/Zu7nbOkTWOoKfN2Oq1a/w/79qFG43c2l7XV7WD8Z2fOnQfQ/cf7/Pjj1y9MFjvrTPhI799zlw9JgxE8YeckiJoMCXPfgGatgmJx83diOl8Rc1kYZtmulvE+WpyjSA/UIrLImnPhyLjREODLsz0H/u3BlfHbvfhLEdO3cGtz2sDc5fd57/w2mzsLNEdUe57o2FidsiG9c+tEkpLtoCcfgL/Pwf1yvC9Tdl+P5jeoX+8kAaPJnTRiZtKM3jb4NnW+zPoVSGe5yKHohJHqAhD24qOSTpPqBaPA2AJ1VZDq1QOZj+lG/48nz50wePGXvE8PGHdgwfP274vuMPPXjMIZz9pDQo+wfz9nljvrxPR8fYg37cMbxj/PBDDt23Y8I++3UMP3z/jh8OH3/Y2AnjDhx/OG+8Z382/lZ/Nh7bn40n5hu/tvfG+4wZ0/d2JwwNatpb/o9hbn/hMP8L1yAeS4Y/AgA=",
60
+ "bytecode": "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",
61
61
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
62
62
  },
63
63
  {
@@ -93,7 +93,7 @@
93
93
  }
94
94
  ],
95
95
  "returnTypes": [],
96
- "bytecode": "H4sIAAAAAAAA/+2dB1hUVxbH79BRQY1JrCh2RcR3p8CAiDR7w54YswZkUBRBEQu29N57MT3Z3rJ9N5vsJtnes30325Js79neszlH74vX46jAnEHud/K+7/8dzgB3zu//3rw29917OKDUEhAuGFJAaaB8dew1XCpN9BJbdDq0kR6n3ZBXHA7HSoIxHdL1XrC0IRrxwpGG4qiO6kg00hiMhkKxaDhaUtpQWuKV6nAoppsipaEm03A6X41eMrgzoI2MJHBn9HHuTGgjMwncmYzc/nY/DJRlfQ6Gk3wEyUeSfBTJ80g+muRjSJ5P8rEkH0fy8SSfQPKJJJ9E8skkn0LyqSQvIPk0kheSfDrJi0g+g+QeyTXJgyQPkTxM8gjJi0leQvIoyUtJXkbymSQvJ/kskleQfDbJK0leRfJqkteQvJbkc0g+l+TzSD6f5AtIvpDki0i+mORLSL6U5MtIXkfy5SRfQfKVJF9F8tUkX0PytVaOMV8dXXA/8Ko6+vnHOMLEkSaOMjHPxNEmjjEx38SxJo4zcbyJE0ycaOIkEyebOMXEqSYWmDjNxEITp5tYZOIMEz0TtYlBE0Mmhk2MmFhsYonV/nlxfIma35eaWGbiTBPLTZxlYoWJs02sNLHKxGoTa0ysNXGOiXNNnGfifBMXmLjQxEUmLjZxiYlLTVxmYp2Jy01cYeJKE1eZuNrENSautXw5Xx2/cB/X1ine4xquv0GmvfMMx/kmruvliP5dkGT/1vP5p33//BrXGw4857qQcKQSDvx/L4FlGOVIoLXhjP5OCfCeb57CPy8R6hEqTp09bG0ko39Te9c/r6fUo9RJ6uxBa3mM/hX0vn9eT6hHq1PU2c3WxjD6N+3M+Od1lzpfnabObrQ2ltG/wjPnn9cd6nGqC3V2sbXxjP5NP7P+eV2lnqC6WGcXWpvI6F/RmffP6wr1JNWNOk/T2mRG/2b0Df+801FPUd2s8xStTWX0z+s7/nmnoi5QPajzJK1NY/RP9y3/jpQU78VC1cM647Q2ndG/YN/zz4tHXaQSqJO0NoPRv1Df9M87gVolWKfVmmb0L9x3/TuC6v8QVAx1mtZCjP5F+rZ/nk8dVkx1QmsRRv+K+75/uOhixrbse06J+lfiiH+M94l0AaN/UUf8Y7zPoQsZ/St1xD/G63RdxOhfmSP+MV5nao/Rv5mO+Md4naSDjP6VO+If43m+DjP6N8sR/xjPU3Uxo38VjvjHeJ6lo4z+zXbEP8bzBF3G6F+lI/4xHud0OaN/VY74x7if1hWM/lU74h/jfkZXMvpX44h/jJ8TXc3oX20v+ZdonW9iXBeM24yu7b3tL6H+V1HF1/+qlHG9NjjS/6pM8fW/msno30ZH+l+VK77+V7MY/Wt0pP9VheLrfzWb0b+YI/2vKhVf/6sqRv+aHOl/Va26UGcXW6th9G+TI/2valUX6+xCa3MY/dvsSP+ruaobdZ6mtXmM/jU70v9qvupmnadobQGjf1sc6X+1UPWgzpO0tojRv62O9L9arHpYZ5zWljD61+JI/6ulKoE6SWvLGP3b5kj/qzqVYJ1Wa8sZ/Wt1pP/VCsVQp2ltJaN/bY70v1qlmOqE1lYz+rfdkfunaxjbamC8f7rDEf8Y7xPpRkb/2h3xj/E+h25i9G+nI/4xXqfrzYz+dTjiH+N1pt7C6N8uR/xjvE7SLYz+7XbEP8bzfN3K6N8eR/xjPE/V2xn92+uIf4znWbqd0b9OR/xjPE/QHYz+7XPEP8bjnN7N6N9+R/xj3E/rvYz+HXDEP8b9jN7H6N9BR/xj/JzoA4z+HXKk/9UGxnXBuM1oTv/88bHSTXvY58weR26DOn78tBQTcblIHRtfLsW85o+vdZH1d/Vm3aSqky+VTN4ELBZ/CTC/B2O/PC9ZNZY4UOMGB2pc60CNKSo5+1PuOusV737LXxpAQ8zP2erE/Qy+lkaYcPy/dGa+bNMuLinW+yje94nEG4PaS3DJtmpOjeNlWhwv063X0gkv5jnW7xXxJdf8bQbzOghY9fntppHa8Hg12Pzc2tbR3NRZ0x6r74g1Lm3riNkbVgYxxAYIWK/bBxzblEzSjm1yphXt93y9ag437Da5P80NfG15qfFMUH17TxmwavQ3hI2gRlBMHdvC7JXuL0nYK3jJ3iv4ETfwTItNkd/7n2zmvWso3p6dbjOV1s/2HimNtxaNe5A809amWEfdroaW5o2LYp1VrY119e0dzfUtVY2N7bGdO+NtJKlxik+xDKV7HXtPYu+G6SHGNqhX9i7+ub+99eM5f6OJMRMHgppIDSmklkSv1Rg/2bpJ8e7Z6PWIUu6cA3JvM8n0YGOSPOCus1HxHoXeuN5943qXq0Zp17v2Ado/Jm0CbVZH53LAxb6+UdZrGYTPPlDbB/Qs87N9QPfPnOxrk37MPrl47WlfPqVa3viv+X7ZZ6D+/2SpE9dNdpx10896r8Hk75Q68Uw2i3m9BKxa/HYzCYM950NsW3PHnNaN7Z3b4Rp1cdsm+4Quy2Kh9eNinzHb18X+3wfU8dfsyuT9eZmD9javrPdWxAd/6W/VkozPxQDeNo/s63Ks+n3WARaP//ssiy2HmS1gvaffrp/nJO99j/DnnoY/N04dub3In2vVNoDUmW39vp/1WgrhsPdL/t+fsVs4CT/IxVdnMJl1buGrM2TXmcK8rgKMzFsV/4lYMphTGJlbHGFOZWTe5ghzGiNzqyPM6YzMbY4wZzAyb3eEOZOReYcjzFmMzO2OMF/AyLzTEeZ1jMwdApl3CWTeLZB5j0DmvQKZOwUy7xPIvF8g8wGBzAcFMh8SyHyxQOZLBDJfKpD5MoHMlwtkvkIg85UCma8SyHy1QOZrBDJfK5D5OoHM1wtkvkEg840CmW8SyHyzQOZbBDLfKpD5NoHMtwtkvkMg850Cme8SyHy3QOZ7BDLfK5D5PoHMhwUy3y+Q+QGBzA8KZH5IIPPDApkfEcj8qEDmxwQyPy6Q+c0Cmd8ikPmtApnfJpD57QKZ3yGQ+Z0Cmd8lkPndApnfI5D5vQKZnxDI/D6BzO8XyPwBgcwfFMj8IYHMHxbI/BFHmOsZmT/qCHMzI/PHHGHm3LafFMj8cYHMTwlkflog8ycEMn9SIPMzApmfFcj8nEDmTwlk/rRA5s8IZP6sQObPCWT+vEDmLwhk/qJA5i8JZP6yQOavCGT+qkDmrwlkfl4g89cFMn9DIPM3BTJ/SyDztwUyf0cg83cdYb6Qkfl7Atfz9x1hXs/I/ILA9fwDgcw/FMj8I4HMPxbI/BOBzC8KZH5JIPPLApl/KpD5ZwKZfy6Q+RcCmX8pkPlXApl/LZD5NwKZfyuQ+XcCmX8vkPkPApn/KJD5FYHMfxLI/GeBzH8RyPxXgcx/E8j8d4HM/xDI/E+BzP8SyPxvgcz/Ecj8X4HM/xPI/KpA5v8LZFYBecwBgcwpAplTBTKnCWROF8icIZA5UyBzlkDmbIHM/QQy9xfIPEAgc45A5lyBzAMFMg8SyDzYEeYtjMxnCVzPQwQyny2Q+RyBzOcKZB4qkHmYI8zZjMzDHWHux8g8whHm/ozMIx1hHsDIPMoR5hxG5jxHmHMZmUc7wjyQkXmMI8yDGJnzHWEezMg81hHmsxiZxznCPISRebwjzGczMk9whPkcRuaJjjCfy8g8yRHmoYzMkxmZh5p2AoY5FZQGSgdlgDJBWSC8LsTrJLxuwPNoPK/E8yw878DjMB6XcD+N+y38HON2jevZ5h4GGg4aARoJGgXKA40GjQHlg8aCxoHGgyaAJoImgSaDpoCmggpA00CFoOmgItAM9AKkQUH0GBQGRUDFoBJQFFQKKgPNBJWDZoEqQLNNnVWgalANqBY0BzQXNA80H7QAtBC0CLQYtAS0FLQMVAdaDloBWglaBVoNWgNaC3ra+LAV1ALaBmoFtYG2g3aA2kE7QR2gXaDdoD2gvaBO0D7QftAB0EHQIdDFoEtAl4IuA10OugJ0Jegq0NWga0DXgq4DXQ+6AXQj6CbQzaBbQLeCbgPdDroDdCfoLtDdoHtA94LuAx0G3Q96APQg6CHQw6BHQI+CHgM9DsL56HF+dpyvHOfvxvmscX5nnO8Y5//F+XBxflicL/UJEM6nifNL4nyLOP8gzseH89PhfG04fxnO5/UkCOd7esr4ifPj4Hwxz4CeBT0HwvkmcP4FnI8Ax+fH8epx/HYczxzH98bxrnH8ZxwPGccHxvFynwfheKo4viiOt4njT+J4jDg+IY7Xh+PX4XhuL4BwvC8c/wrHg8LxkXC8oBdBL4FeBuF4Izj+Bo5HgeMz4HgF+Pw+Ps+Oz3fj8874/C8+D4vPh+Lzkq+A8Hk6fL4Mn7fC54/weRx8PgWf18DnF7A/P/Zvx/7e2P8Z+wNj/1jsL4ofYOxPiP3rsL8Z9r/C/kjYPwf7q2D/DezPgN/v4/fd+P0vfh+K3w/i92X4/RF+n4LfL+D9drz/jPdj8f4k3q/D+1d4Pwfvb+D1Pl7/4vUgXh/h9QKeP+P5JJ5f4fkGHn/xeIT7Z9xf+ctrqKebgsEpAQA=",
96
+ "bytecode": "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",
97
97
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
98
98
  },
99
99
  {
@@ -176,7 +176,7 @@
176
176
  }
177
177
  ],
178
178
  "returnTypes": [],
179
- "bytecode": "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",
179
+ "bytecode": "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",
180
180
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
181
181
  },
182
182
  {
@@ -193,7 +193,7 @@
193
193
  }
194
194
  ],
195
195
  "returnTypes": [],
196
- "bytecode": "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",
196
+ "bytecode": "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",
197
197
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
198
198
  },
199
199
  {
@@ -303,7 +303,9 @@
303
303
  {
304
304
  "name": "start_side_effect_counter",
305
305
  "type": {
306
- "kind": "field"
306
+ "kind": "integer",
307
+ "sign": "unsigned",
308
+ "width": 32
307
309
  }
308
310
  }
309
311
  ]
@@ -409,7 +411,9 @@
409
411
  {
410
412
  "name": "counter",
411
413
  "type": {
412
- "kind": "field"
414
+ "kind": "integer",
415
+ "sign": "unsigned",
416
+ "width": 32
413
417
  }
414
418
  }
415
419
  ]
@@ -440,7 +444,9 @@
440
444
  {
441
445
  "name": "counter",
442
446
  "type": {
443
- "kind": "field"
447
+ "kind": "integer",
448
+ "sign": "unsigned",
449
+ "width": 32
444
450
  }
445
451
  }
446
452
  ]
@@ -542,7 +548,7 @@
542
548
  ]
543
549
  }
544
550
  ],
545
- "bytecode": "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",
551
+ "bytecode": "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",
546
552
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
547
553
  },
548
554
  {
@@ -659,7 +665,9 @@
659
665
  {
660
666
  "name": "start_side_effect_counter",
661
667
  "type": {
662
- "kind": "field"
668
+ "kind": "integer",
669
+ "sign": "unsigned",
670
+ "width": 32
663
671
  }
664
672
  }
665
673
  ]
@@ -765,7 +773,9 @@
765
773
  {
766
774
  "name": "counter",
767
775
  "type": {
768
- "kind": "field"
776
+ "kind": "integer",
777
+ "sign": "unsigned",
778
+ "width": 32
769
779
  }
770
780
  }
771
781
  ]
@@ -796,7 +806,9 @@
796
806
  {
797
807
  "name": "counter",
798
808
  "type": {
799
- "kind": "field"
809
+ "kind": "integer",
810
+ "sign": "unsigned",
811
+ "width": 32
800
812
  }
801
813
  }
802
814
  ]
@@ -898,190 +910,190 @@
898
910
  ]
899
911
  }
900
912
  ],
901
- "bytecode": "H4sIAAAAAAAA/+3dCZgU1bUH8O4ZFptmV/at2TfBmQHF3UFFUVFUFBRF2RcFBmEARQVEBEEQBFnd933fcF+jUaNxSV6Sl/UlL8lLYvKSl30z79yae+RPUc43N94bqsO/vu/YVaeq7/3dulW3e6qq8eNMJpPN1EylEq0yu0+6vtK+ln2xqTzrr6yykM6SInGWFomzXpE46xeJs0GROBsWiXOfInHmisTZqEic+SJxNi4SZ5MicTYtEmezInE2LxJniyJxtiwS575F4tyvSJytPDrbg7O1fW1jX9va13b2VbftYF872tdO9rWzbWs9u9xFoiDRVaKbXac7prtED4meEr0kekv0kegr0U+iv8T+EgMkBkocYN9bLlEhMUhisMSBEgdJDJE4WOIQiUMlDpM4XOIIiSMljrL7bKjE0RLHSBwrMUziOInjJYZLnCBxosRJEiMkTpY4RWKkxKkSp0mcbttSsG0ZJXGGxJkSoyXGSJwlcbbEWIlzJM6VGCdxnsT5EuMlJkhMlJgkMVliisRUiWkS0yVmSFwgcaHETIlZErMlqiTmSFwkMTe2z+dJVEvMl1gQcy6UuFjiEolFEpdKXCZxucRiiSUSSyWukFgmcaXEcomrJFZIrJS4WmKVxGqJayTWSKyVuFZincR6ieskNkhslLheYpPE5syu/b9FYqvENontEjdI3Chxk8TNErdI3Cpxm8TtEndI3Clxl8TdEvdI3Ctxn8T9Eg9IPCjxkMTDEo9IPCrxmMTjEk9IPCnxlMTTEs9I7JB4VuI5ieclXpB4UeIliZclXpF4VeI1idcl3pD4ksSbti0lti1vSXw5lntb4h07/659/Yp9fc++vm9fv2pfP7CvH9rXj+zrxxIjmtfMm+/28WswJqfnbhZyeh6XQE7P6VLI6fldD3J6rteHnJ73DSCnY0BDyOl4sA/kOsO8vnax840gV7Dzech1tfONIdfNzjeBXHc73xRyPex8M8j1tPPNIdfLzreAXG873xJyfez8vpDra+f3s6+6f8xUaV/LvuBkyvT8OVJm7HpstIL26LHRGnJ6bLSBnB4bbSGnbW8HOT022kNOj40OkNNjoyPk9NjoBDk9NvCY0mOjC+T02ChATo+NrpDTY6Mb5PTY6A45PTZ6QE6PjZ6Q02OjF+T02OgNOd3nfSCn+1yPKbOPh8N6nfCcxuuzmtP1eE6XQpma0/V4Tut6PKd1PZ7TuF5fdT2e07oez2ldj+evrsdzVfsVz0t9D56D2q94HGs5eMxqv+LxqWXjsaj9isei1ofHovYrHotqwGNR+7UAOXXhsajnEh6LasXxrQF4K+1r2RebynHc1ykbW66Eefw86OTXMgg/W+piwT7RvmgNvi5+fRV52FddoJ6unuvBz8S67IeuYOnm1xJdT+7ut8zo62AP8Bfsq9aTh/WtoG09PLctC3VqubqMvrpaO+9hq7F0jDnxO1LHFPg0h+NfjwRfT7++imxm136shOWe4NNcN7B4Pv4rcjGLmWo7v7uDpbdXS3kZfjeui6U3WHp5tdSMNX38lhl9h+7ruUxTRj/YJ7r/1J6H9X1hf/XzvL+yUKeWq8voo5VWWmmllVZaaaV177bi3zl4DVO365ECn+Z6gcX33wZ4PU7LNtdGd0Cdfq+nlJfh38mm/AIYtK5S2KZzs52uF2yuUWb3v63xnkmPWPn+/DX9p/VoubpcAJ+2Ba9Neb5OFlm6xSz/vvVWTPJ/TbO8zFxrN9f09XjqEmtHwb7idWrNmWPyHWhvWq5N43XaEvB5vl5d/s9er8brdKXg83y9uhyvi9fF1wV8+j68V+T7PPpnr3Pn4X31wef5Ol053nOuiw+vCeP1Q331fE2z3PU6YtJ1zobg83ttscbXy8HXG3z6vn3A5/k6Xjl+56mLry/48P6t+voH8PVz8PUHn76vEfgGBPDt7+AbAL79YV59BwTwDXTwHQAmfV9j8JUH8JVl6u4rB5++rwn4BgXwVTj4BoFP39cUfAcG8A128B0IPn1fM/ANCeA7yME3BHz6vubgOySA72AH3yHg0/e1AN9hAXyHOvgOA5++ryX4jgjgO9zBdwT49H37gu+oAL4jHXxHgU/fh8+3DQ3gq3TwDQXL0X4tZfh7n6OhnmMDtPmYTN3brPXn4X1twXecX190b3qYg+84sJzg1zLYWI53sJwAluF+LdG96RP9lhl9hJ8Efm2r1pOH9XhMnuS5bVmoU8vVZfTRundbjWVYzJmD7YalwKe54QEtuZjFTLWNS0k+7MuT/fqiMXyEg+9ksJzq1TIousZ+ioPlVLCM9GqpGcNP81tmNIafDn5tq9aTh/XY56d7blsW6tRydRl9tNJKK6200korrbTSSiuttNJKK6200korrbTSSiuttNJKK6200kqrf6uxjIg5c7DdiBT4NDcyoCUXs5iptudEknzYl2f49UXP1Ixy8J0BljFeLRXRMzVnOljGgGW0V0vNMzVn+S0zeqbmbPBrW7WePKzHPj/bc9uyUKeWq8voo5VWWmmllVZaaaWVVlpppZVWWmmllVZaaS0Wq7GMijlzsN2oFPg0NzqgJRezmKm26+xJPuzLc/z6onsSYx1854DlPL+W6N9qONfBch5Yxvm1RPckzvdbZnRPYjz4ta1aTx7WY5+P99y2LNSp5eryeMjTundbjWVszJmD7camwKe5cQEtuZjFTLWNS+MTfNiXE/36ojF8goNvIlimeLXU3Fee5GCZApbJXi01Y/hUv2VGY/g08GtbtZ48rMc+n+a5bVmoU8vVZfTRSiuttNJKK6200korrbTSSiuttNJKK620FovVWCbEnDnYbkIKfJqbHNCSi1nMVNt19iQf9uUMv77onsR0B98MsMz0aqn596MvcLDMBMuFXi019yRm+S0zuicxG/zaVq0nD+uxz2d7blsW6tRydRl9tNJKK6200korrbTSSiuttNJKK6200korrbTSSiuttNJKK6200kqrf6uxTI85c7Dd9BT4NHdhQEsuZjFTbc+JJPmwL+f49UXP1FQ5+OaAZV4Ay0UOlnlgmevXEj1TU+23zOiZmvng17ZqPXlYj30+33PbslCnlqvL6CsWq7FUxZw52K4qBT7NzQ1oycUsZqrt/EnyYV8u9OuLzu8FDr6FYFkUwHKxg2URWC7xa4nGmkv9lhmNNZeBX9uq9eRhPfb5ZZ7bloU6tVxdRl+xWI1lQcyZg+0WpMCnuUsCWnIxi5lqO3+SfNiXiwP4LnfwLQbf5Qm+pQF8Sxx8S8Gn72sEvmUBfFc4+JaB7wqYV9/yAL4rHXzLwaTvawy+FQF8Vzn4VoBP39cEfFcH8K108F0NPn1fU/CtDuBb5eBbDT59XzPwrQngu8bBtwZ8+r7m4Ls2gG+tg+9a8On7cPxbH8C3zsG3HnzrEnwbAviuc/BtAN91Cb7rA/g2OviuB9/GBN/mAL5NDr7NYNni11KWB8sWqGdbgDZvzdS9zdvAsj1Am9WyHeq5MUCbb8jUvc1afx7eh76bA/hucvDdDL6bEny3BvDd4uC7FXz6PjyPbw/gu83Bdzv4bkvw3RnAd4eD707w3ZHguzuA7y4H393guyvBd28A3z0OvnvBd0+C7/4AvvscfPeD774E34MBfA84+B4E3wMJvocD+B5y8D0MvocSfI8G8D3i4HsUfI8k+B4P4HvMwfc4+B5L8D0ZwPeEg+9J8D2R4Hs6gO8pB9/T4HsqwbcjgO8ZB98O8D2T4HsugO9ZB99z4Hs2wfdCAN/zDr4XwPd8gu+lAL4XHXwvge/FBN8rAXwvO/heAd/LCb7XAvhedfC9Br5XE3xv+PVF93Fed/C9AZa3/Fqi/9fAlxwsb4HlTb+W6J7Sl/2WGd1Tehv82latJw/rsc/f9ty2LNSp5eoy+mjdu63G8nrMmYPtXk+BT3NvBrTkYhYz1TYuJfmwL9/164vG8HccfO+C5X2vlsHRv+vzFQfL+2B5z6ulZgz/qt8yozH8A/BrW7WePKzHPv/Ac9uyUKeWq8voo5VWWmmllVZaaaWVVlpppZVWWmmllVZaaaWVVlpppZVWWmmllVZaaaWVVlpppZVWWmmlde+2Gss7MWcOtnsnBT7NvRfQkotZzJSNLVfCfJIP+/Ijv77omfAPHXwfgeXrXi0V0TPhHztYvg6Wr3m11DwT/h9+yywzZXwD/NpWrScP67HPv+G5bVmoU8vVZfTRSiuttNJKK6200korrbTSSiuttNJKK620FovVWD6MOXOw3Ycp8GnuawEtuZjFTLVdZ0/yYV9+y68vuifxTQfft8DyHa+WQdE9if90sHwHLN/2aqm5J/Fdv2VG9yS+B35tq9aTh/XY59/z3LYs1Knl6jL6aKWVVlpppZVWWmmllVZaaaWVVlpppZVWWmmllVZaaaWVVlpppZVW/1Zj+WbMmYPtvpkCn+a+HdCSi1nMVNtzIkk+7Msf+PVFz9R838H3A7D8yK8l+v/3/ZeD5Udg+aFfS/RMzX/7LTN6pubH4Ne2aj15WI99/mPPbctCnVquLqOP1r3baizfjzlzsN33U+DT3A8DWnIxi5lqG5eSfNiXP/Xri8bwnzj4fgqWn/u1RGP4/zhYfg6Wn/m1RGP4L/yWGY3hn4Bf26r15GE99vknntuWhTq1XF1GH617t9VYfhJz5mC7n6TAp7mfBbTkYhYz1TYuJfmwL3/l1xeN4b908P0KLL8JYPlfB8tvwPJrv5ZoDP8/v2VGY/hvwa9t1XrysB77/Lee25aFOrVcXUZfsViN5ZcxZw62+2UKfJr7dUBLLmYxU23nT5IP+/L3AXy/c/D9Hny/S/D9MYDvDw6+P4LvDwm+Pwfw/cnB92fw/SnB99cAvr84+P4Kvr8k+P4ewPc3B9/fwfe3BN8/Avg+dfD9A3yfJviyWf++OKg2n9afhw3RVxrAV+LgKwVfSYKvfgBfPQdfffDVS/A1DOBr4OBrCL4GCb5cAN8+Dr4c+PR9W8CXD+Br5ODLg0/ftx18TQL4Gjv4moCvcYKvWQBfUwdfM/A1TfC1COBr7uBrAb7mCefHvgF8LR18+4KvZYKvVQDffg6+VuDbL8HXJoCvtYOvDfhaJ/jaBfC1dfC1A1/bBF+HAL72Dr4O4Guf4OsUwNfRwdcJfB0TfF0C+Do7+LqAr3OCr2sAX8HB1xV8hQRf9wC+bg6+7uDrluDrGcDXw8HXE3w9Eny9A/h6Ofh6g69Xgq9vAF8fB19f8PVJ8PUP4Ovn4OsPvn4JvgEBfPs7+AaAb/8E3wEBfAMdfAeAb2CCrzyAr8zBVw6+sgTfoAC+CgffIPBVJPgO9OuLru8PdvBp/cZysF9LdL/4IAfLwWAZ4rnfTJmH+C0zutdwKDRI23oI9PmhCX1+qOe2ZaFOLVeX0Ufr3m01Fh0b1JmD7QZn97xPc0MCWnIxi5lqG5eSfNiXhwcYww9z8B0O++oor5bB0b+FdoSD5SiwHBlgDK8MMIYPhQZpWyuhz4cm9PnQAOdHZez80GX00UorrbTSSiuttNJKK6200korrbTSSiuttNJKK6200korrbTSSiuttNJKK6200korrbTSundbjUWfNVZnDrbTdXvSp7kjA1pyMYuZYouf1fV5PuzLY/z6omfCj3bwHQP76jivloromfBjHSzHgWWY534zZR7vt8zomfDh0CBt6/HQ58MT+nx4gPPj+Nj5ocvoo5VWWmmllVZaaaWVVlpppZVWWmmllVZaaS0Wq7HotW515mA7XbcnfZobFtCSi1nMFFvc5Tp7kg/78kS/vuiexAkOvhNhX53s1TIouidxkoPlZLCM8NxvpsxT/JYZ3ZMYCQ3Stp4CfT4yoc9HBjg/TomdH7qMPlpppZVWWmmllVZaaaWVVlpppZVWWmmllVZaaaWVVlpppZVWWmml1b/VWPRZDXXmYDtdtyd9mhsR0JKLWcwUW/ysrs/zYV+e5tcXPVNzqoPvNNhXZ/i1RP//vtMdLGeAZZTnfjNlnum3zOiZmtHQIG3rmdDnoxP6fHSA8+PM2Pmhy+ijde+2GouODafDGK7bnZrd8z7NjQpoycUsZqptXEryYV+eFWAMH+PgOwv21TkBxvCzHSzngGVsgDH83ABj+DhokLb1XOjzcQl9Pi7A+XFu7PzQZfTRundbjUXHhrNhDNftxmT3vE9zYwNacjGLmWobl5J82JfnBxjDz3PwnQ/7amIAy3gHy0SwTAgwhk8KMIZPhgZpWydBn09O6PPJAc6PSbHzQ5fRVyxWY9FjeDyMNbrdedk979PchICWXMxiptrOnyQf9uXUAL4pDr6p4JuS4JsewDfNwTcdfNMSfBcE8M1w8F0AvhkJvpkBfBc6+GaC78IE3+wAvlkOvtngm5XgmxPAV+XgmwO+qgTf3AC+ixx8c8F3UYJvfoDvD/McfPNhLK4O8P1hgd8yy0yZCz3vM1PGxbCTdP8tgL7T9Qthf10c4HN0QexzVJfRV1drq8yetQaot6KxlNEQ2q3lb8nsuh/MdImdrwd5PffM4iKbq2+XdfvtdptS2KYqX/PaJFPzvUrzrTM723p5gLHmUodz+XLY75cFOJcXez6XTRlLoEHa1sVwLOv6RdC2JQGO5cWxY1mXl4BFp5LMTsviABacKmF+cYIF98uetixIkaVZJj2Wximy5FJkaZAiS2mKLO1SZGluX9NgaZIiS6MUWRqmyFIvRZa2KbK0SZGlaYos+RRZ9kmRpX6KLNk9bMlldv+7JwfrF8B2+n39UsgttfOXQa4koQ79DrAEcjqeLYW/FY9tvnvZuI9C/H2C9VTCstbVCAxLA/+tVBdL/RRZ9kmRJZ8iS9MUWdqkyNI2RZZ6KbI0TJGlUYosTVJkaZ4iS7sUWUpTZGmQIksuRZbGKbI0S5FFv9+mwbIoRZaShD66wq9lMP5NoVNscZe/Wa4Ai++/lUyZy/yWGd1PvdJzmaaM5bCTdP+pPQ/rr4T9tTzAcbQsu2s/6TL6aN27rabeq7zWW/NvFC9zGDeuCrgPTJkrApzjK6FB2tYV0L8rE/p3ZYD+XRHrX11GH6200korrbTSSiuttNJKK6200korrbTSSiuttNJKK6200korrbTS6t9q6r3aa70V0TMXWK+ZYouf1ZWB+kPsA1PmKr9lRs9crIYGaVtXQf+uTujf1QH6d1Wsf3UZfbTSSiuttNJKK6200korrbTSSiuttNJKK63FYjX1XuO33uj3xVivmWKLu1yzvibgPjBlrvFbZnTNei00SNu6Bvp3bUL/rg3Qv2ti/avL6KN177aaeq/1Wm/Nfak1Duf4tQH3gSlzXYBzfD00SNu6Dvp3fUL/rg/Qv+ti/avL6KOVVlpppZVWWmmllVZaaaWVVlpppZVWWmktFqup9zqv9db8+5VYr5lii7tcs74u4D4wZW7wW2Z0zXojNEjbugH6d2NC/24M0L8bYv2ry+ijlVZaaaWVVlpppZVWWmmllVZaaaWVVlpppZVWWmmllVZaaaWVVlr9W0291/uttyIXq9dMscXP6spA/SH2gSlzk98yo2cuNkODtK2boH83J/Tv5gD9uynWv7qMvmKxmnq3BDgWNzkci1sC7gNT5tYAx+I2aJC2dSv077aE/t0WoH+3xvpXl9FXLNYc5EoyO3O6vhRy222uHuRusLn6kLsR2qS5m2yuIeRutrl9IHcLuPT1VptrC7nbbG4JbH+7nV8MuTvs/DLI3Wnnl0PuLju/AnJ32/mVkLvHzq+C3L12fjXk7rPzayB3v51fC7kH7Pw6yD1o59dD7qHYZ6vJPRz7jDO5R2Ljnsk9Ght/TO6x2PFnco/b+UaZnbkn4JjV3JM21xhyT9lcE8g9bXNNIfeMzTWD3A6baw65ZxN8enxuhZwen3g86/G5HXJ6fN4AOT0+b4ScHp83QU6Pz5shp8cnHq+6326FnO632yCn++12yOl+uwNyut/uhJzut7sgp/vtbsi1sLl7INfS5u6F3L42dx/k9rO5+yHXyuYegFxrm3sQcm1s7iHI6Xn7MOTa2dwjkGtvc49CroPNPQa5jjb3OOQ62dwTkOtsc09CrovNPQW5gs09DbmuNvcM5LrZ3A7Idbe5Z2F8awDbVtrXsi82lWNdOmVjy5Uwr/U3gLZ4spTlwdIV6unitZ6KMtO+gi2rxM7r8dUF6u3kp95ynTH1doztP3VoXaWwTV97Ujax23f0uh/KKrJQbwNrUU9H8Og2A6zHjIMfNNu1HT5deE7oVNsxiceKpz5TShmex3Wx4P70e9zWfP/1fAyUmTI7eC7TlNEe9knBvqo9D+s7wP5q73l/4fmm5eoy+millVZaaaWVVlpppZVWWmmllVZaaaWVVlqLxWos3WJOvL/VLQU+zeH9Ft/XtvF+oJZt7l28BPcuCl7rrLm3hPcjCmDQukphmz/BPZXX7HwjWK99hfcYsf/83u+o6T+tR8vVZa2rEbQF+8/3/Q68T6fl/vvWWzHJ/zlQUWaeCTD3jvV4ip932qd471VzeJ/P9Lkedz3sK94b6xFsv9StP/CcKUBO57uDz+8+Lg9xD63clNEe+kHbpvWUwvpvwxjy3WY7+yY+Xpj1nySs1ykbW66Eebxv3ctvW6MxszeUXwl1YL19/NZbjvVmbWgdmi+F+V/oQzKwnZl0/6rZHHc9E7bD+S6x9+Rhfc/Abe4FjkpY1rrMcfIDOKY+gc9L35832F7cL21gv+j6AuwX3+eb2S/x73dq6ACWHjEnfq/CMbBnAN/nfa/qCT7NdQKftgPHkx1gLXi17vodKP58TQHq9fQ5scvzNfj8RVdwaF34PMun8HxN/HtPAd7bDsr8VzwTFP9sxmeCSpvvNP+rnglST9IzQQ2txxxTlXb+876/dorlAvjL0a/ldor58XtBp3CWOu3LUH+D6Zhlnk9Fh9ZVCtu0jB1Tnj/fo+e5cIzPZGr/rtEL9k1vz/smwGdq9LxTX/DHP/vzsL4VtK2v57bh9xctV5fRV1dr5xRY+yRY8Tt/h9h2xtrPq7Ui+n7f32uZNd979rdlmbGzYOe1nlJY3wvG2D52Pgdt7grlDElYr1Nt51w/2H8D/bY1+ow7AMqvhDqw3jK/9ZZjvfr9XuvQfCnMH6QPvMN2ZtL9q2Zz3A1I2A7n+8Tek4f1AwK3eSA4KmFZ6zLHSX84pvSYCXGeY3txv7SD/aLr8Xt2t9j25njW8wG/P/g+L7NQj5ary/3Bp7m+sE8rYT8WAri6gquQ2f26Il7vxDEBr3fWD+Cql9l1f+my1mXqbei5XvztjU61jW8NwdLAs8X8jkd/ezOvumruhGlTxsydUT0lC676MWMJ2EpgXWlsu4aZ3dvlDd4KKiuxldezWO000zj9EVLeNtR8UTQ/IjLHlTnmzY+CzI+AzI9+zI98WoH1JftqftRj/gg0P9oxB6n5ImpOePNF2Hw5NV82zAd7IVNz8JqT3Fy0M39Umw9+86XQfBk0A4I56cwHhzkhzYloBhAzyJmB3AxyZtSpkBgkMVjiQImDJIZIHCxxiMShEodJHC5xhMSREkfZfTtU4miJYySOlRgmcZzE8RLDJU6QOFHiJIkREidLnCIxUuJUidMkTpcYJXGGxJkSoyXGSJwlcbbEWIlzJM6VGCdxnsT5EuMlJkhMlJgkMVliisRUiWkS0yVmSFwgcaHETIlZErMlqiTmSFwkMVdinkS1xHyJBRILJS6WuERikcSlEpdJXC6xWGKJxFKJKySWSVwpsVziKokVEislrpZYJbFa4hqJNRJrJa6VWCexXuI6iQ0SGyWul9gksVlii8RWiW0S2yVukLhR4iaJmyVukbhV4jaJ2yXukLhT4i6JuyXukbhX4j6J+yUekHhQ4iGJhyUekXhU4jGJxyWekHhS4imJpyWeydRc+HhW4jmJ5yVekHgxU3OcvizxisSrEq9JvC7xhsSXJN6UeEviyxJvS7wj8a7EVyTek3hf4qsSH0h8KPGRxMeZ3U98M822v9473C6Pqhk0CvNmVlUXygqz5b8TZs6sWjhl8sACrptXmDV/XnVhXvWEudWFqXOrZhXKB2K5fexAr4P/hOrqKbPmVBeqq+SNM6tnzJl5SWHhjOrphaoFU+ZOlQrwzX//Im8usR99HXd/84TJkz//fS3s+/TngifMnjzl4kLV/OpC1dTCxKr5syfP+39BXEWTpswCAA==",
913
+ "bytecode": "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",
902
914
  "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
903
915
  }
904
916
  ],
905
917
  "events": [],
906
918
  "debug": {
907
919
  "debugSymbols": [
908
- "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DgxicEcYUgcGQbgjDKkDgyjcEYbUgUEY7ghD6sAgDneEIXVgEIg7wpA6MIjEHWFAHVhIJk5IJk5IJk5IJk42UAcWkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokTkokLJBMXSCYukExcIJm4sIE6cCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmTkkmTkkmTkkmTkkmTjdQB1aSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOSiVOS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usAnard1gQ/Ibuuy5t32uqx5t70ua95tr8uad9vrsubd5rqENe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc27zXXRNe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc27zXWJa95tr8uad9vrsubd9rqsebe9Lmveba/Lmnfb67Lm3fa6rHm3vS5r3m2vy5p3m+uS1rzbXpc177bXZc277XVZ8257Xda8216XNe+212XNu+11WfNue13WvNtelzXvNteF/mp0t3VZ8257Xda8216XNe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbnNd6C/1dVuXNe+212XNu+11WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc17zbXhf7STrd1WfNue13WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc277XVZ825zXeivD3RblzXvttdlzbvtdVnzbntd1rzbXpc177bXZc277XVZ8257Xda8216XNe+21mWnv1TObV3WvNtelzXvttdlzbvtdVnzbntd1rzbXpc177bXZc277XVZ8257Xda821yX9X61H6zLmnfb6zLrvLuH80s3aa3LrPNub11mnXd76zLpvJu388/NElrrMum8212XSefd7rpMOu/mXM8vLaW1LpPOu711mfX9at11mXTeLbJ9+9KSvluXP35prVeELXyKIK0/V2TbzxByfEn6+LP3a80nnaVd13zSOd11zSe9B3Bd80nvL1zXfNJ7F9c1n/S+yHXNJ73ncl3zSe/nPNd81ncTuq75ug8dv+brPnT8mq/70PFrvu5Dx6/5ug8dv+brPnT8mq/70PFrvu5Dx6/5ug8dvuazvjPUdc1nvQ8t55rXbfu85ue6zHqv2FuXWe/neuvyqHuucqYu8t26nMU+6manV+yj7jJ6xT5qvO8V+6i5ulfsowbaTrHPehtnr9hHjXC9Yh81l/WKfdSw1St2pgnqWa+t7BU70wT1rBdM9oqdaYJ61qsgO8U+6/2OvWJnmqCe9SbGXrEzTVDPemdir9iZJqhnvd2wV+xME9Sz3kPYK3amCepZbwzsFTvTBPWsd/v1ip1pgnrWW/h6xc40QT3rfXm9YmeaoJ71ZrtesTNNUM96B12v2JkmqGe9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",
909
- "eJztnFFrIjEUhf/LPIvkJje5iX9l6YPsdqFQ7LL6VvzvXXcnmaFzcMB2B63nSYWTePwmEz9Q8to9v3zfHp5edvtu89ql3G2+vXb7X9vd6eX+sP196DZu1T3ufvx5PK66n0/Pj91GrBxXk5x3LvZR77y1dIDhoKmG1YUWLigs4or0aRGJcRx/WHWp3GZvc8v11lzn9VHdB3vLjfb2qLeY0zrITGfaSzFr7cPwDqduk3Auoc+WNIqGS7qHG+6uH+/uXWk3nlc93918zZr5Fk1o3tiaJxlmNTRrUC19Nmge7n3JKD0LJRLKFEoilCkUI5QpFOgq9w4FitCdQ8nQsu4dClS4e4fyCX749aB8gnh+PSg0WgCFRgug0GgBFBotgEKjBVBotFMohUYLoNBoARQaLYBCowVQaLQACo0WQKHRAig0WgCFRgug0GinUMRRaREVOi2iQqlFVGi1iAq1FlGh1yIqFFtEhWaLqFBtERW6LaAidFtEhW6LqNBtERW6LaJCt0VU6LaICt0WUaHbIip0W0SFbguoeLotokK3RVTotogK3RZRodsiKnRbRIVui6jQbREVui2iQrcFVALdFlGh2yIqdFtEhW6LqNBtEZUrdtvkGxWTGSq+QRnNenp6AZKlxTZbzRYNYyR/2ywtlOM2edJmaZETZ2W4WPn8ggk5t2VQRmF8b3htrb0GN5OOri6aGEcHEPl/WJY2uavBYlIPCrJoYyxgYeV6tI04X4Z5JV5yl+rSmng9yK0iz869X4m6tCf+VyzaTqFKrsykQ6rnW2kcOofc7+lr/Gt2LPVspiQDzOjaKGgNs6Pgt6rm2LaQ4dOY9TvrGu70IdVroZIm+05eww15bhDcruYG4T/UzI6CC/LsKJU1/olQU10PWvL7S3waBWHMjoI0YrtYaWQURY8Px+MbIwkyRg==",
910
- "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mPyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5l8ruWye9aJr9rmfyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5l8ruWye9aJr9rmfyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5l8ruWye9aJr9rmfyuZfK7lsnvWia/a5n8rmXyu5bJ71omv2uZ/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jttZgdtagdtbgd1cgTlfuO0VuP0VuA0WuB0WuC0WmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuY/K7jsnvOia/65j8rmPyu47J7zomv+uY/K5j8ruOye86Jr/rmPyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/67k9dLlNdLlddLltdNl9dJnzhdtJl9tKl9tLl9tMl8nveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8rmfyu57J73omv+uZ/K5n8rueye96Jr/rmfyuZ/K7nsnveia/65n8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4HJ7wYmvxuY/G5g8ruBye8GJr8bmPxuYPK7gcnvBia/G5j8bmDyu4F7Wxr3ujTufWncC9O4N6axr0xjzhfupWncW9O416Yx+d3A5HcDk98NTH43MPndwOR3A5PfDUx+NzD53cDkdwOT3w1Mfjcw+d3A5HcDk98NTH439PC7qWbXMV+qdh3zpWrXMV+qdh3zpWbXw+9W7TrmS9WuY75U7TrmS9WuY75U7ZjzpYffrdox50sPv1u1Y86XHn63asecLz38btWOOV96+N2qHXO+9PC7VTvmfOnhd6t2vPkSe/jdqh1vvsQefrdqx5svsYffrdrx5kvs4Xerdrz5Env43aodc7708LtVO+Z86eF3q3bM+dLD71btmPOlh9+t2tHzZY17u78cfhyj/fpt/Pj/v35qU3FBT60fu6Bn4U9ddBDMP3XRwTF9d7HZ0e9E3Y5+J+p29DtRt6Pfibod/U7U7eh3om539p3Y7M5O9M3u7Oz9suvgmOp2zPnSwTHV7ZjzpYNjqtsx50sHx1S3Y86XOsdkbdqWCeuze9qVdaLOMdF2dY6pw646XzrsqvOlw646XzrsqvOlw646XzrsqvOlw646XzrsmPOlzjHRdnWOqcOOOV/qHFOHHXO+1DmmDjvmfKlzTB12zPlS55g67Jjzpc4xddgx50udY+qwY86XOsfUYcecL3WOqcOOOV/qHFOHHXO+1DmmDjvmfKlzTB12zPlS55g67Jjzpc4xddgx50udY+qw482XVOeYOux48yXVOaYOO958SXWOqcOON19SnWPqsOPNl1TnmDrsmPOlzjF12DHnS51j6rBjzpc6x9Rhx5wvdY6pw445X+rEUYcdc77UKZ4OO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpf6GcIOO+Z8qZ8h7LBjzpc6v9thx5wvdX63w445X+r8bocdc77U+d0OO+Z8qfO7HXbM+VLndzvsmPOlzu922DHnS53f7bBjzpc6v9thx5wvTH43MfndxOR3E5PfTUx+NzH53cTkdxOT301Mfjcx+d3E5HcTk99NTH43MfndxOR3E5PfTUx+NzH53cTkdxOT301Mfjcx+d3E5HcTk99NTH43MfndxOR3E5PfTUx+NzH53cTkdxOT301Mfjcx+d3E5HcTk99NTH43MfndxOR3E5PfTUx+NzH53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3M5PfzUx+NzP53czkdzOT381Mfjcz+d3M5Hczk9/NTH43M/ndzOR3c4PfDUvY7ILxFbsGv0vb1ecLbVefL3s7a2p29flC29XnS0hPu1wdZ32+0Hb1+ULb1edLWsxml2yu2dXnC2nX4Ftpu/rzo+3qeguft3nt6vO6oaGm7ep6C9qurs+h7er6HNKuwfMlX973FJaaXX2e0XaNebazi/Zotza0u4tbNnxLrLx/a0O7S9vVdUTLkgi7uo6ItquuE27Jxc4ssWZXn9e0XX1eGx+LXX2c9XlN29XntXHr06763OvzmrRraHf3dqkyP9eGdpe2q88X95xnzoeaXX2+0Hb1+ULb1eeLXden3bf5cpSIkovK2hD6Cjupz0RhJ/VpK+ykPsdlnTS0wcJO6m+PsJP6qybspP5eCjupv8TCTka88Y1WnMJORrzxjSafwk5GvPGN9qHCTka88Y3GpMJORrzxjZanwk5GvPGNZqrCTka88Y02rcJORrzxjeYcwk5GvPGNth/CTka88Y2GIsJORrzxjVYlwk5GvPGNJiiyThodTM44McvWncOYp4vHfndz8fO3hHTx85llbN5c2LXm4ufzinTx81lFuvj5nCJd/DyHUC4aLX7bLja7s5N9szs7gze7s0v3ZtegTQo97vziXofQpsIF2eSfXJDJS/FSf2mkvdTfG2kv9VdH2kv97ZH2Un+BhL002h5Le6m/cdJeGrSmsJcGCSrsZci732juLO1lyLvfaBwt7WXIu99oSi3spdHCWtrLkHe/0R5b2suQd7/Relvay5B3v/FJWtrLkHe/8blb2suQd7/Rjlzay5B3v9HqXNrLkHe/0UZd2suQd7/Rol3ay5B3v9H+XdrLiHffLI3zKeJuRrz9DzcjXv+HmxHv/8PNiAXg4WbECvBwM2IJeLgZsQY83IxYBB5uxqwCjVNH4m7GrAKtM03SbsasAq0TU9JuxqwCjSNW4m7GrAKNY1bibsasAo2jVuJuxqwCjeNW4m7GrAKNI1fibsasAo1jV+JuxqwCjaNX4m7GrAKN41fibsasAo0jWOJuxqwCjWNY4m7GrAKNo1jibsasAo3jWOJuxqwCjSNZ4m7GrAKNY1nibsasAo2jWeJuxqwCjeNZ4m7GrAKNI1ribsasAo1bsMTdjFkFGsfOxN2MWQUaN3iJuxmzCjQO04m7GbMKNA7VibsZswo0DteJuxmzCjSO7om7GbMKDDkY+HAzZhUYcjTw4WbMKjDkcODDzZhVYMjxwIebMavAkAOCDzdjVoEhRwQfbsasAkMOCT7cjFkFhhwTfLgZswoMOSj4cDNmFRhyVPDhZswqMOSw4MPNmFVgyHHBh5sxq8CQA4MPN2NWgSFHBh9uxqwCQw4NPtyMWQWGHBt8uBmzCgw5OPhwM2YVGHJ08OFmyCpgxpwdNGPODpoxZwfNmLODZhmyCpgxZweNyNnB5IubFOpuJFaBDjcSq0CHG4lVgHYjcnaww43EKtDhRmIV6HAjsQp0uJFYBTrcSKwCHW7GrAIiZwc73IxZBUTODtJuRM4OdrgZswqInB3scDNmFRA5O9jhZswqIHJ2sMPNmFVA5Oxgh5sxq4DI2cEON2NWAZGzgx1uxqwCImcHO9yMWQVEzg52uBmzCoicHexwM2YVEDk72OFmzCogcnaww82YVUDk7GCHmzGrgMjZwQ43Y1YBkbODHW7GrAIiZwc73IxZBUTODna4GbMKiJwd7HAzZhUQOTvY4WbMKiBydrDDzZhVQOTsYIebMauAyNnBDjdjVgGRs4MdbsasAiJnBzvcjFkFRM4OdrgZswqInB3scDNmFRA5O9jhZswqIHJ2sMPNmFVA5Oxgh5sxq4DI2cEON2NWAZGzgx1uxqwCImcHO9yMWQVEzg52uBmzCoicHexwM2YVEDk72OFmzCogcnaww82YVUDk7GCHmzGrgMjZwQ43Y1YBkbODHW7GrAIiZwc73AxZBazI2cEON0NWAStydrDDzZBVwC5DVgErcnaww82QVcCOOTtox5wdtGPODtoxZwftmLODdszZQTvm7KAdc3bQjjk7aMecHbRjzg7aMWcH7Zizg3bM2UE75uygHXN20I45O2jHnB20Y84O2jFnB+2Ys4N2zNlBO+bsoB1zdtCOOTtox5wdtGPODtoxZwftmLODdszZQTvm7KAdc3bQjjk7aMecHbRjzg7aMWcH7Zizg3bM2UE75uygHXN20EqcHczLsrnJJtfdCKwCPW4EVoEONxJnB/dunP/m5vjrGN3Xj+O6e46h8tOPVitfv/2QpO1/XIYvsLpoDl9g1dIcvsBqqDl8gVVWc/gCq7fm8AWygubwhbPN6OELZ7HRwxfOjoOHL3FWV3P47511Jc4Waw7/vbOuxFlozeG/d9aVOLutOfz3zroSZ801h//eWVfibLzm8N8760qc5dcc/ntnXQntgebw3zvrSmglNIf/3llXQtuhOfz3zroSWhTN4b931pXQzmgO/72zroTWR3P47511JbRJmsN/76wroaXSHP57Z10J7Zfm8N8760po1TSH/95ZV0Jb92L4xc3vzY7FjcRCFGxxE6punIRMrMeNxNSKqbiJ1WMtbpGYAh1uJKZAhxuJQqbDjUTB0eFGoDBYl+3Hj7XW1d0IvDcdbiSEVT1uBBLi3o1bRy7JTkKwpTl8gVVLc/gCq6Hm8AVWWc3hC6zemsMXyAqawxfONqOHL5zFBg9fQnCoOfz3zroSAknN4b931pUQdGoO/72zroQAVXP47511JQSzmsN/76wrIfDVHP57Z10JQbLm8N8760oIqDWH/95ZV0LwrTn89866EgJ1zeG/d9aVENRrDv+9s65EAwDN4b931pVoWKA5/PfOuhINFjSH/95ZV6IhhObw3zvrSjSw0Bz+e2ddiQYWmsN/76wr0cBCc/jCWdfXj05INJrocSOcxVpuhLNNy41wVmi4kWiE0ONGeJVtuRFeDVtuhFetlhvh1aXlRuIM3boWN4upu5E4Q9fhRuIMXYcbicP1HW4kzp7SbkSE2R1uJA6Vd7iROPzd4UbiJG2HG4FVoMfNmFVARIjb4WbMKiAibO1wM2YVEBGKdrgZswqICC873IxZBUSEjB1uxqwCIsLADjdjVgERoV2HmzGrgIhwrcPNmFVARAjW4WbMKiAirOpwI8ELFKbCrrnhRoIX6HAjwQt0uJHgBXZu1vTNze/mgiRUbnrD9xLqOc3hS/AjisOX4F0Uhy/B5ygOX4InUhy+cLYZPXzhLDZ6+MLZcfTw3zrrehGNrN7wRbS3isN/76wroulVHP57Z10RTa/i8N8764poehWH/95ZV0TTqzj89866IppexeG/d9YV0fQqDv+9s66Ipldx+O+ddUU0vYrDf++sK6LpVRz+e2ddEU2v4vDfO+uKaHoVh//eWVdE06s4/PfOuiKaXsXhv3fWFdH0Kg7/vbOuiKa3Pfzi5vdmx+Lm5wuRW0z58WIabn6+YHS5+fnUcotbihtXPVjhBQRmXW5+PgW63Py8kOly8/OCo8vNzwsDt8Rc3ORYdyPx3nS4kXhvOtz8PCHu3ZjFDl2SBQRQqsOXWLX0hi8g2FIdvsQqqzh8idVbcfgSWUFx+LLZZvjwZbPY8OHLZsfhw3/vrCsgOFQd/ntnXQGBpOrw3zvrCgg6VYf/3llXQICqOvz3zroCglnV4b931hUQ+KoO/72zroAgWXX47511BQTUqsN/76wrIPhWHf57Z10Bgbrq8N876woI6lWH/95ZV6ABgOrw3zvrCjQsUB3+e2ddgQYLqsN/76wr0BBCdfjvnXUFGlioDv+ts24QaGChOnzprFs9OhEEGk10uZHOYg030tmm4UY6KzTcSK/eDTfSq2zDjfRq2HAjvWrV3QgI9bvciKwC2x32j39W77APAsL3LjciqwDtRmQVoN2IrAK0G5FVgHYjsgrQbkRWAdqNyCpAuhEQDne5GbMKCAhxu9yMWQUEhK1dbsasAgJC0S43Y1YBAeFll5sxq4CAkLHLzZhVQEAY2OVmzCogILTrcjNmFRAQrnW5GbMKCAjButyMWQUEhFVdbsasAgKXD3a5GbMKCFzm1+VmzCogokbrcDNmFRC4bK7LzZhVQEJbZ1JxY9al7kZgFehxI7AK9Lg5uwoUw7PvdTE8+6YWw7PvXjE8+zYVw7PvRzE8O+M3w9OKqGJ4dlYWw7PzrBhyZ85p5Usx5M6c02qPYsidOacVDsWQO3NOn+ovhtyZc/okezHkzpzTp7eLIXfmnD6xXAy5M+f0Kd1iyJ05p0+mFkPuzGmcxvQmFUMf//U6t8X49Vu/+4i32qeP+iST9VGfj7I+6lNX1kd9lp/ykez2CdYl//2Lyrlfl0HV3yDlQdXfTuVB1d983UE1Tt4pD6q+YikPSmA1lB+UwPIpPyiB9VZ+UAILtPygEFf0xpky5UEhruiN81+qg4qNU13Kgzq7ohfDs6tuMTy7MhbDs6tXMTy7whTDs6tAMTz7phbDs29TMTw74zfDxmkgn4thWAIxK30uPJnPtR1LbBwGkvbSmJPCXhoTWNhLY7bTho3ZThs2Zjtt2JjttGFjttOGjdlOGjZOvXQYtiYwadiak6Rha5qRhtyZ0zgP0mHInTmNMxsdhtyZ0zhXQRs2Tkp0GHJnTuM0Q4chd+Y0Thx0GHJnTuNUQIchd+Y0vtx3GHJnTuPreochd+Y0voB3GHJnTuMrdYchd+Y0viR3GHJnTuNrb4chd+Y0vsh2GHJnTuOraYchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+Y0voN2GHJnTuM7aIchd+a0voPShtyZ0/piSRtyZ07r2yJtyJ05rW90tCF35rS+ddGG3JnT+mZEG3JnTuvbC23InTmtbxi0IXfmtL4F0IbMmZNanDptyJw5qcV704bMmZNavDdtyJw5qcV704bMmZNavDdtyJ05Td6bNOTOnCY7TRpyZw6XQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlxOeTE5ZATl0NOXA45cTnkxOWQE5dDTlwOOXE55MTlkBOXQ05cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MzlkDOXQ85cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MzlkDOXQ85cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MzlkDOXQ85cDjlzOeTM5ZAzl0POXA45cznkzOWQM5dDzlwOOXM55MylgjOXCs4S7ZYWU368mFR+vBP4ZYl2Sz1uJJqudbiRaLrW4aY+jcTdSDRd82WiLb7hRqLpWocbiaZrHW4kmq51uJFouka7Od2wiulGYhVwzwntc92NxCrQ4UZiFehwI7EKdLiRWAU63EisAh1uJFaBDjcSq4Bbihtn6m4kVgHajciV4h1uRFYB2o3IKkC7EVkFaDciqwDtRmQVoN2IrAK0G5FVgHYzZhUQuTqZdiNyxXGHmzGrgMiVwR1uxqwCIlfwdrgZswqIXGnb4WbMKiByRWyHmzGrgMiVqx1uxqwCIleYdrgZswqIXAna4WbMKiByxWaHmzGrgMiVlR1uhqwCq8DlhjaHjRd4/LPa830VuNywy83P35suNz9/b7rc/Py96XLz8/fG5nJZp32UMHU3P39vutz8/L3pcSNwuWGXm59nzy43EqtAhxuJVSA9J3QOdTcSq0CHG4lVoMONxCrQ4UZkFaDdiKwCtBuRVYB0I3C5oc0xFTexSkKuApcbdrmRWAU63EisAh1uJFaBDjcSq0CHG4lVoMONxCrQ4UZiFehwI7EK0G4ELjfscjNmFRC43LDLzZhVQOBywy43Y1YBgcsNu9yMWQUELjfscjNmFRC43LDLzZhVQOBywy43Y1YBgcsNu9yMWQUELjfscjNmFRC43LDLzZhVQOC0XZebMatA43yaXbetvnPUVQJm8V+/NeY5omifPuovjayP+hsj66P+usj6qL8rsj7qL8opH26bWWZ3Tmzno3Ea7ZwPV3zkqo/6KyLro54lT/mwefNh16qPeoqU9SHwnpM+BN5z0ofAe076EHjPSR8C7znpQ+A9p3w0zpvJ+hB4z0kfA97zxjEzWR8D3vPGATNZHwPe88bRMlkfA97zxqEyUR+NE2WyPga8542zZLI+BrznjVNksj4GvOeN82OyPga8542TY7I+BrznjTNjsj4GvOeN02KyPga85/WTVbRZdcrTZtVZ/NjilV1SWPweUTGsTk3S0C71lhk9htVJ1GNYnRk9htXH3WNYXat7DKsLcI9hfdZ0GNbnTYdhfeYEs51P++jnWTWszxzasH4+p8ewPnM6DOszp8OwPnNeGq7p3+rPIm3vsDX7Iwvhy6j+HAij+jMgjBoPgLKqR/+VVV7WhllK5stsf/Qt5WJVfWKkVfVxkVbVt5y0qr7ir6we5X4jGiFtpFwMT+Ivu2JVjQZpVY0GaVWNBmlVjcYrK2MWy5gcn2anZ8en2enp8Wl2en58mp2eIMYtC2OGfJqdniKfZqfnyKfZ6UnyaXZ+lvhsOLPkl9n5WfLL7Pws+WV2fpb8Mjs/S2KOnFnyy+z8LPlldn6W/DI7P0t+mZ2fJbkZkpeRzM2Q0GbnZ0luhoQ2Oz1L7NJM2a8i+Wl2epZ8mp2eJZ9mp2fJp9nJWfKvf/1/Z0J9/A==",
911
- "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VDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0Pkil80EqnQ9S6XyQSueDVDofpNL5IJXOB6l0PshM54PMdD7ITOeDzHQ+yLyx9exM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzng8x0PshM54PMdD7ITOeDzHQ+yEzngyx0PshC54MsdD7IQueDLBtbzy50PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yELngyx0PshC54MsdD7IQueDLHQ+yJ3OB7nT+SB3Oh/kTueD3De2nr3T+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4HudP5IHc6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yJ3OB7nT+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4HudP5IHc6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yJ3OB7nT+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4HudP5IHc6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yJ3OB7nT+SB3Oh/kTueD3Ol8kDudD3Kn80HudD7Inc4HudP5IHc6H+RO54Pc6XyQO50PcqfzQe50Psidzge50/kgdzof5E7ng9zpfJA7nQ9yp/NB7nQ+yErng6x0PshK54OsdD7IurH17Erng6x0PshK54OsdD7ISueDrHQ+yErng6x0PshK54OsdD7ISueDrHQ+yErng6x0PshK54OsdD7ISueDrHQ+yErng6x0PshK54OsdD7ISueDrHQ+yLrAB1lqeWS0b9n4t/ddP168H5/+5dJLY6vHI42U9s8v/v2dLvBXrnqn8WfMqncaf3ateqfxZ+Kqdxp/1q56p/Fn+Kp3Gv/ZYNU7jf/Mseqdxn+WWfVOv81npAV+5lXv9Nt8Rlrgv171Tr/NZ6QFfvFV7/TbfEZa4G9f9U6/zWekBX78Ve/023xGWnB/wKp3+m0+Iy2472DVO/02n5EW3M+w6p1+m89IC+6TWPVOv81npAX3X6x6p9/mM9KC+zpWvdNv8xlpwf0iq97pt/mMtOA+lFXv9Nt8Rlpwf8uqd/ptPiMtuG9m1Tv9Np+RFtyPs+qdfpvPSAvu81n1Tr/NZ6QF9w+teqff5jPSgvuSVr3Tb/MZacH9Tqve6bf5jLTgPqpV7/TbfEZacH/Wqnf6bT4jLbjva9U7/TafkRbcT7bqnX6bz0gL7lNb9U6/zWekBfe/rXqn3+Yz0oL76la90wWfkUp9vdPyw7/9t4ziP8vsmh8Z1b/7t/+WUfxnjppfGe35jxnFfzbY2qOMNKVm/NuS8+Pflny88s9bL5GjPd6sbJqeL64fFRr/6eDXvdfzDbbHi9P2w3v944tb3j5e21r+w58l/qMEy5/leLz2+GSof/xZ4j93/MI/S8rp8WLZtp//Wc439txG2j79DXv/cjke//Ce8s9fqjk/319un24waN3NnLbnP32eN+X11zv+1rragqsX7wV6a4HiP+XdC/TWAsV/OL0X6K0Fiv9MfS/QWwsU/xXjXqC3Fij+G9e9QG8t0J/pC+ifcoH+VN+a/4wL9Kf6/v5nXKCbJHAv0IILwe8FemuBbpJAvkA3SSBfoJskkC/QTRLIF+gmCeQLdJME8gW6SQL5At0kgXyBbpLAvUALHlNzL9BbC3STBPIFukkC+QLdJIF8gW6SQL5AN0kgX6CbJJAv0E0SyBfoJgnkC3STBO4FWvCQw3uB3lqgmySQL9BNEsgX6CYJ5At0kwTyBbpJAvkC3SSBfIFukkC+QDdJIF+gmyRwL9CCRwHfC/TWAt0kgXyBbpJAvkA3SSBfoJskkC/QTRLIF+gmCeQLdJME8gW6SQL5At0kgXuByk0SyBfoJgnkC3STBPIFukkC+QLdJIF8gW6SQL5AN0kgX6CbJJAv0E0SyBfoJgncC7TfJGFmgXZ5LlA1XqryfHtVXi/t/Sns1fnGGOH1HvOPe+Jvf5hv/PX953+Yb/y1+ed/mO/7baikZ6Mrn1tS718+0uMxdEfdfv7ShYfW9/3i9IvWctX59n2/YL21kPXx90ibNmNX6uP9lWP/6vJ830/vx/F4UJ9un/4w3T95kvZ4fF3SvLttynUNtn7fbwUMC7+oG9fv+23j1636otZdv+8XpLfWUstjV6a8GU22yuN5zrV9ea994+9p/Nyl5nt1iFfn+36Vv8LqxH85T+3RmFXS/sO//beM4r9lanr826qfnmj9zCj+dysro/ivekZGLf47iJVR/OdjK6P4T3lWRvGfa6yM4s9yK6P488vKKL5nWxnR9exG17MbXc8+6Hr2QdezD7qefdD17IOuZx90Pfug69kHXc8+6Hr2wdazj42tZx8bW88+NraefWxsPfvY2Hr2sbH17GNj69nHgofKWxmx9exjwWPDjYwWPCfbyoiuZy94ErKVEV3PXvCsWysjup694GmmVkZ0PXvB8yqtjOh69oInEloZ0fXsBc+cszKi69kLnipmZUTXsxc8N8rKiK5nL3gykJURXc9e8OwXKyO6nr3g6R5WRnQ9e8HzG6yM6Hr2ghv6rYzoevaCO9itjOh69oJbtq2M6Hr2gnuUrYzoevaCm3KtjOh69oK7UK2M6Hr2gtsurYzoevaC+wytjOh69oIb66yM6Hr2gjvJrIzoevaCW6esjOh69oJ7hayM6Hr2gptjrIzoevaCa0qsjOh69k7XsxdcFWJlRNezF9zcYGVE17MXXJ9gZLTA129lRNezFzinrYzoevYCf6yVEV3PXuCDtDKi69l0PsiDzgd50PkgDzof5EHngzzofJAHnQ/yoPNBHnQ+yIPOB3nQ+SAPOh/kQeeDPOh8kAedD/Kg80EedD7Ig84HedD5IA86H+RB54M86HyQaaMzQp4psXXtMyW2tn2mxNa3z5TYGveZElvnPlNia91nSmy9+0yJrXmfKfF1bzpL5JkSX/emM0WeKfF1bzpb5JkSX/emM0aeKfF1bzpr5JkSX/emM0eeKfF1bzp75JkSX/emM0ieKfF1bzqL5JkSX/emM0meKfF1bzqb5JkSX/emM0qeKfF1bzqr5JkSX/emM0ueKfF1bzq75JkSX/emM0yeKfF1bzrL5JkSX/emM02eKfF1bzrb5JkSX/emM06eKfF1bzrr5JkSX/emM0+eKfF1bzr75JkSX/emM1CeKfF1bzoL5ZkSX/emM1GeKfF1bzob5ZkSX/emM1KeKfF1bzor5ZkSX/emM1OeKfF1bzo75ZkSX/emM1SeKfF1bzpL5ZkSX/emM1WeKfF1bzpb5ZkSX/emM1aeKfF1bzpr5ZkSX/emM1eeKfF1bzp75ZkSX/emM1ieKfF1bzqL5e/PxeZLia9707ksz5T4ujedz/JMia970zktz5T4ujef1zLxeS0Tn9cy8XktE5/XMm103TvxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LROf1zLxeS0Tn9cy8XktE5/XMvF5LYXPayl8Xkvh81oKn9dSNrruLXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hktlc9rqXxeS+XzWiqf11I3uu6tfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS2Vz2upfF5L5fNaKp/XUvm8lsrntVQ+r6XyeS0zn9cy83ktM5/XMvN5LfNG170zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf1zLzeS0zn9cy83ktM5/XMvN5LTOf17LweS0Ln9ey8HktC5/Xsmx03bvweS0Ln9ey8HktC5/XsvB5LQuf17LweS0Ln9ey8HktC5/XsvB5LQuf17Is8Frumh8p1b/7t/87pfjuXfMrpT3/fUr1H/qeJj3KIyyn9gqr5SOq+0bMqO5JYUX1zTtmVLffmlHdlmhGdbuWGdVtLGZUd++bUd3taUZBtdE3NZhRUG30rQFmFFQb/QF7Mwqqjf6YuhkF1UZ/2NuMgmqjPzJtRkG10R88NqOg2uiP75pRUG30h2DNKKg2+qOkZhRUG/2BTDMKqo3+WKMZBdVGfzjQjIJqoz9iZ0ZBtdEfVDOjoNroj3uZUVBt9IemzCioNvqjR2YUVBv9AR4zCqqN/hiMGQXVRn+YxIyCaqM/kmFGQbXRH2wwo6Da6I8HmFFQbfR/ZDejoNro/1RtRkG10f/B14yCaqP/s6kZBdVG/8dHMwqqjf5PeGYUVBv9H8LMKKg2Uv/3JDsMqo7U/13GDoPqI/V/37DDoApJ/d8J7DCoRlKft9thWJX0ubUdhlVJn//aYViV9DmqHYZVSZ9H2mFYlfS5nh2GVUn/LjI7DKuS/p1edhhWJf27sewwrEr6d0zZYViVYNA0YdQ0Ydg0Ydw0YeA0YeQ0Yeg0Yew0YfA0YfQ0Yfg0Yfw0YQA1YQQ1YQg1YQw1YRA1YRQ1YRg1YRw1YSA1YSQ1YSg1YSw1YTA1YTQ1YTg1YTw1YUA1YUQ1YUg1YUw1YVA1YVQ1YVg1YVw1YWA1YWQ1YWg1YWw1YXA1YXQ1YXg1YXw1YYA1YYQ1YYg1YYw1YZA1YZQ1YZg1YZw1YaA1YaQ1Yag1Yaw1YbA1YbQ1Ybg1Ybw1YcA1YcQ1Ycg1Ycw1YdA1YdQ1Ydg1Ydw1YeA1YeQ1Yeg1YexVMPYqGHsVjL0Kxl4FY6+CsVfB2Ktg7FUw9ioYexWMvQrGXgVjr4KxV8HYq2DsVTD2Khh7FYy9CsZeBWOvgrFXwdirYOxVMPYqGHsVjL0KOK8KDqxi7FUw9ioYexWMvQrGXgVjr4KxV8HYq2DsVTD2Khh7FYy9CsZeBWOvgrFXwdirYOxVMPYqGHsVjL0Kxl4FY6+CsVfB2Ktg7FUw9ioYexWMvQrGXgVjr4KxV8HYq2DsVTD2Khh7FYy9CsZeBWOvgrFXwdirYOxVMPYqGHsVjL0Kxl4FY6+CsVfB2Ktg7FUw9ioYexWMvQrGXgVjr4KxV8HYq2DsVTD2Khh7FYy9CsZeBWOvgrFXwdirYOxVMPYqGHsVjL0Kxl4FY6+CsVfF2Kti7FUx9qoYe1WMvSrGXhVjr4qxV8XYq2LsVTH2qhh7VYy9KsZeFWOvirFXxdirYuxVMfaqGHtVjL0qxl4VY6+KsVfF2Kti7FUx9qoYe1WMvSp4WwB4XQB4XwB6YQBWJeCVAeCdAeClAeCtAeC1ARh7VYy9KsZeFWOvirFXxdirYuxVMfaqGHtVjL0qxl4VY6+KsVfF2Kti7FUx9qoYe1WMvSrGXhVjr4qxV8XYq2LsVTH2qhh7VYy9KsZeFWOvirFXxdirYuxVMfaqGHtVjL0qxl4VY6+KsVfF2Kti7FUx9qoYe1WMvSrGXhVjr4qxV8XYq2LsVTH2qhh7VYy9KsZeFWOvirFXxdirYuxVMfaqGHtVjL0qxl4VY6+KsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdeMsdcM3tkKXtoK3toKXtuK3tuKVQl4cyt4dSt4dyt4eSvGXjPGXjPGXjPGXjPGXjPGXjPGXjPGXjPGXjPGXjPGXgfPp7fDsCrB2OvgWex2GFYlGHsdPHfcDsOqBGOvg2dsm2EYex08q9oOw6oEY6+D5zLbYViVYOx18AxiOwyrEoy9Dp63a4dhVYKx18GzZe0wrEow9jp4jqodBt4pj1UJxl4Hz/W0w7Aqwdjr4BmWdhhWJRh7HTyv0Q7DqgRjr4NnE1phg+cH2mHY0wcw9jp4Vp4dBlXJ4Jlzdhj2CAKMvQ6er2aHYVWCsdfBs8TsMKxKMPY6eG6WHYZVCcZeB8+IssOwKsHYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYa8HYawGfnAU+Ogt8dhb48Czw6Vno47OwKgEfoAU+QQt8hBbGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXgvGXssMe62dsIkq6YVNVEkvbKJKemETVdIJm2GvvbCJKumFTVRJL2yiSnphE1XSC8OqZIa99sKwKplhr70wrEpm2GsvDKuSGfbaC8OqZIa99sKwKplhr70wrEpm2GsvDKqSfYa99sKgKtln2GsvDKqSfYa99sKgKtln2GsvDKqSfYa99sKwKplhr70wrEpm2GsvDKuSGfbaC8OqZIa99sLsKjn2z2F/fLr9vsvHa/ff//ePl0p9KNgF9VUFu/a+qDABf7+oMIGEflT4CLM3QjfM3gjdMHsjdMPsjdANszdCN8zeCN2wdzfCR9i71f0R9m7J/nfYBBLqhmFVMoGEumFYlUwgoW4YViUTSKgbhlVJHwmJ1EdPkNz0FfZoCn0kZIb1kZAd1q0SO6xbJXZYt0rssG6V2GHdKrHDulVih3WrxA7DqqSPhMywPhKyw7Aq6SMhOwyrkj4SssOwKukjITsMq5I+ErLDsCrpIyE7DKuSPhKyw7Aq6SMhOwyrkj4SssOwKukjITsMq5I+ErLDsCrpIyE7DKuSPhKyw7Aq6SMhOwyrkj4SssOgKql9JGSHQVVS+0jIDoOqpPaRkB0GVUntIyE7DKqS2kdCdhhWJX0kZIdhVdJHQnYYViV9JGSHYVXSR0J2GFYlfc5jh2FV0icydhhWJf1xPDsMq5L+OJ4dhlVJfxzPDsOqpD+OZ4dhVdIfx7PDsCrpj+PZYViV9Mfx7DCsSvrjeHYYViX9cTw7DKuSPnu1w7Aq6bNXOwyrkj57tcOwKumzVzsMq5I+e7XDsCrps1c7DKuSPnu1w7Aq6bNXOwyrkj57tcOwKsHYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8XYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYa8PYaxuw17KVR1hJ+Y9hA/ZqhvWrxAzrV8nnMEmdsH6VmGH9Kin1FdZ6SfarxAzrV4kZ1q+SuqVHWJXWCetXiRU2oKFmWH/dzLC+GyG3Rylrt5QHdmEzrO9GMMP6nhUzrO9ZscIGMK7m5+6uZeuE9YvLDBsU16ewXf4Qdgzcqptuj/e27X/cb8fArWqG9Y0121Z/HtY31phh3aagW3uGpW3vhPVL2Qzrl3LK+zOsm2S/lM2wfiknPV5hveXul7IVNnCrfg6rf6zJY+BWNcP6VaKv4tJcOmH9KjHD+lVihvWrRI7jFfZDlfzRGWl1kGNgbfXV6Nefr0a/WH01+pXtqjFww/pq9PeMr0Z/g/lq9Hejr0Z/6/pqBOzzwcWQvhoB+3xw5aSvRsA+H1xm6asRsM8H12T6agTs88EFnL4aAft8cLWnr0bAPh9cGuqrEbDPB3dP+GoE7PPBrRa+GgH7fHBfhq9GwD4f3MThqxGwzwd3fLhqDK7oeEcjbY9LKFJ6KZzfYz8Uvr47LIWv11SS9lCQo6Pw9YqyFL5eT5bC16vJUvj6mWEoDC6dHSt8hL1b5B9h71buR9i7rfojbABCnlRb86Y//+tJfaIdqfmFdlLbHiL9reIs0t8tziL9DeMs0t8zziL9beMrMriI11mkv8+cRQZ40ldkADN9RSJ2/OC6YWeRiB0/uMrYWSRixw+uSfYVGVyq7CwSseMHFzY7i0Ts+MFl0M4iETt+8Muxs0jEjh/8Ku0sErHjBxdkO4tE7PjB5dvOIhE7fnCxt7NIxI4fXBruLBKx4wcXkjuLBOz4tA3mR7xVAvb8qRKw6U+VgF1/qgRs+1MlYN+fKgEb/1QJ2PmnSsDWP1VC9v5gKshbJWTvj2aOnFVC9v5ooslZJWTvD0agvFVC9v5gDMpbJWTvD0ahvFVC9v5gHMpbJWTvD0aivFVC9v5gLMpbJWTvD0ajvFVC9v5gPMpbJWTvD0akvFVC9v5gTMpbJWTvD0alvFVC9v5gXMpbJWTvD0amvFVC9v5gbMpbJWTvD0anvFVC9v5gfMpbJWTvD0aovFVC9v7gIUzeKiF7fzAU5q0SsvcHD5DyVgnZ+4NBN2+VkL0/GHjzVgnZ+4PBN2+VkL0/GKvzVgnZ+xFDe6dKyN6PGNs7VUL2fsTg3qkSsvcjRvdOlZC9HzG8d6qE7P2I8b1TJWTvRwzwnSohez9ihO9UCdn7EUN8p0rI3o8Y4ztVQvZ+xCDfqRKy9yNG+U6VkL0fMcx3qoTs/YhxvlMlZO9HDPSdKiF7P2Kk71QJ2fsRQ32nSsjejxjrO1Ui9n4KmetLIXN9KWSuL4XM9aUtYu+nkLm+5DLXV/NTpZauisfet1U89r6t4rH3TRWXuT5bxWPv2yoee99W8dj7torH3rdVPPa+rRKy913m+myVkL3vMtdnqrjM9dkqIXvfZa7PVgnZ+y5zfbZKyN53meuzVUL2vstcn60Ssvdd5vpslZC97zLXZ6uE7H2XuT5bJWTvu8z12Sohe99lrs9WCdn7LnN9tkrI3neZ67NVQva+y1yfrRKy913m+myVkL3vMtdnq4TsfZe5PlslZO+7zPXZKiF732Wuz1YJ2fsuc322Ssjed5nrs1VC9r7LXJ+tErL3Xeb6bJWQve8y12erhOx9l7k+WyVk77vM9dkqIXvfZa7PVgnZ+y5zfbZKyN53meuzVUL2vstcn60Ssvdd5vpslZC97zLXZ6uE7H2XuT5bJWTvu8z12Sohe99lrs9WCdn7LnN9tkrI3neZ67NVQva+y1yfrRKy913m+myVkL3vMtdnq4TsfZe5PlslYu+Ly1yfrRKx98Vlrs9Widj7skXsfXGZ67NVIva+hMz1Schcn4TM9UnIXJ+EzPVJyFyfhMz1Schcn4TM9UnIXJ+EzPVJyFyfhMz1Schcn4TM9UnIXJ+EzPVJyFyfhMz1Schcn4TM9UnIXJ+EzPVJyFyfhMz1Schcn4TM9UnIXJ+EzPVJyFyfhMz1Schcn4TM9UnIXJ+EzPVJyFyfhMz1Schcn4TM9UnIXJ94zPW1bXuotNS6Kg57f0LFYe/bKh5zfZ9VNP+g8sdX77t+vHg/Pq1h6bz09/tLPl77uxns84sf2Tv0lIXZO/Sqhdk79MCF2Tv01oXZO/Tshdk7nAULs3c+Y4Kzdz67grN3PhNjs/eYo12Y/aXPWo+534XZX/qs9ZhTXpj9pc9aj7nqhdlf+qz1mANfmP2lz1qPufWF2V/6rPWYs1+Y/aXPWg9fwMLsL33WevgYFmZ/6bPWw3exMPtLn7UePpGF2V/6rPXwtSzM/tJnrYcPZ2H2lz5rPXxDC7O/9Fnr4XNamP2lz1oPX9bC7C991nr4yBZmf+mz1sP39pPsHyq/9kx8qHh0oCJPldJTUQ8X14SKR1Xt9amy96ZUdPNYfVvFY/VtFY9PLraKxycMW8Xhk8CxPV58NljtqjjsF1vFw/k0oeJwAn5W0SOwC6uHo2ph9g69amH2Dj1wYfYOvXVh9g49e2H2DmfBwuydz5jg7J3PrtjsPRyBC7O/9Fnr4WBcmP2lz1oPx+XC7C991no4RBdmf+mz1sPRujD7S5+1Hg7chdlf+qz1cAwvzP7SZ62Hw3lh9pc+az0c2Quzv/RZ6+EgX5j9pc9aD8f7wuwvfdZ6OPQXZn/ps9bjRoGF2V/6rPW4AWFh9pc+az1ubFiY/aXPWo8bJhZmf+mz1uOGiYXZX/qs9bhhYmH2zmdt7k5DeNwEMaHifHYNVJzPmIGK81nQV/G4qWBCxbm3DlSce+BAxblXDVSce8pAxWMO7jieKlvqqnjMwdkqHnNwtorHRLyt4jE3aqq4OKdtFY9JcFvFY2LbVvGYgbVVHPb+hErI3ndxytoqIXvfxXlqq4TsfRcnp60SsvddnJG2Ssjed3Ea2iohe9/FuWerhOx9FyecrRKy912cZbZKyN53cWrZKiF738X5ZKt4fN9/Agg5Wl/F4/u+reLxfd9W8fi+/0nlqD+o/GK+4+FBW5Z99vC2Lczeg3usy96Dp6zL3oPTrMveg/+sy975jAnO3vnsCs7e+UwMzv7KZ2128a8uy97FF7su+0uftS5+23XZX/qsdfHbrsv+0meti992XfaXPmtd/Lbrsr/0Wevit12X/aXPWhe/7brsL33Wuvht12V/6bPWxW+7LvtLn7Uuftt12V/6rHXx267L/tJnrYvfdl32lz5rXfy267K/9Fnr4rddl/2lz1oXv+267C991rr4bcfZP1R+7Zn4UPl6B9ItPV+8pb7K1zvFjMrXq0o33Z4q2puUyA4OsBmVr6/+jMrXP7nMqHz9E8aMytc/Cei2t6dK27sqHvvFVvHYL7bK10/Azyppk8gu7OBQWpm9R69alr2Do2pl9h69dV32Hj17XfYeZ8G67H3PmOjsfc+u6Ox9z8To7C991jo4Aldmf+mz1sHBuDL7S5+1Do7Lldlf+qx1cIiuzP7SZ62Do3Vl9pc+ax0cuCuzv/RZ6+AYXpn9pc9aB4fzyuwvfdY6OLJXZn/ps9bBQb4y+0uftQ6O95XZX/qsdXDor8z+0metw40CK7O/9FnrcAPCyuwvfdY63NiwMvtLn7UON0yszP7KZ21xuGFiZfbeZ21vGqI43AQxo+J9dvVVvM+Yvor3WdBX8e7ZfRXv3tpX8e6BfRXvXtVVcXDSz6i47P3Hc9/P/+w99704ONNnVFz2vqnisvdNFZe9b6q47H1TxWXvmyoue99Ucdn7loqDs3dGJWTvOzhlZ1RC9r6D83RGJWTvOzg5Z1RC9r6DM3JGJWTvOzgNZ1RC9r6Dc29GJWTvOzjhZlRC9r6Ds2xGJWTvOzi1ZlRC9r6D82lGJWTvOzy5b0YlZO87PAlvRiVk77t4xWyVkL3v8KS2GZWQve/he0v1qZKOravisPcnVBz2/oTKu3v/Effubn7Evbs/H3Hv7rhH3Lt76BH37q54xL1b5x9xb7uVHnHv1uIj7t3qesSB9fK2K+URB9bL206MRxxYL2+7Dx5xYL28PXH/iAPr5e0p80ccWC9vT1Y/4sB6eXua+BEH1svbE7SPOLBe3p4afcSB9TKYlMypPuPy/tefn177/vHa/Oknt0OeEv3ScpXoV6GrRL9gXSX6tf2WRJXHj6Va84+/grz36kdO/X2zNqf+nlybU3+/L81pMBW3Nqd+n1qbk0MPdM/JoWm65+TQZd1zcmjL7jkR9vHBvNfanAj7+GA2a2VO+2Diam1O7/bxR9y7vfYR924/fMS927Mece/2lUfcu3v/Effu/nzEvbuHHnHv1vlH3GBSJ7dnXNmKUYu5PWlXbp0vJftgUMdZZFCJviKDsvUVGdS4GTeocTNuUONm3KDGzbhBjZtxgxq34gYTKXbcqGytuFElWnGj4rLiwHoZzGrYcWC9DOYp7DiwXgYzD2bcYIrBjgPrZTBpYMeB9TKYBrDjwHoZ/GJvx4H1MvhV3Y4D62Xwy7cdB9bL4NdpOw6sl8EvyHYcWC+DX3ntOLBeBr/E2nFgvQx+LbXjwHoZ/KJpx4H1MviN0o4D62XwG6UdB9bL4DdKOw6sl8FvlHYcWC+D3yjtOLBeBr9R2nFgvQx+o7TjwHoZ/EZpx4H1MviN0o4D62XwG6UdB9bL4DdKOw6sl8FvlHYcWC+D3yjtOLBeBr9R2nFgvYx+ozTjwHoZ/ZpoxoH1Mvrdz4wD62X0+5kZB9bL6HcoMw6sl9HvOWYcWC+j30XMOLBeRr8vmHFgvYw4vRmH1Usd8W4zDquXOmLSZhxWL3XEpM04rF7qiEmbcVi91BGTNuPAehkyaSsOrJchObbiwHoB+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4F+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4D+W4DOW0DOW3zuEVoS88Xb6k+X/xyujWPW4QmVDxuELNVPG4Qs1X69eOt4nGDWH6W2Jb7Kh43iNkqHjeI2SoeN4jZKh43iJkqLk+Nt1U89r6+Kjm3rorH3rdVPPa+reKx920Vj71vq3jsfVvFY+/bKh57X7eniqauisfeN1VcnmJtq7jsfVPFZe+bKi5731Rx2fumisveN1Vc9r6p4rL3TZWQve/ytF5TxeWpurZKyN53eUqtrRKy912e+mqrhOx9l6eo2iohe9/lqaS2Ssjed3nKp60Ssvddnpppq4TsfZenUNoqIXvf5amOtkrI3nd5SqKtErH3D4cn6kkrj+/753/27iU/HJ6oN6Py9f0yo/L1/TKj8vX9MqPy9f0i7floSDk/rXRVvr5fZlS+vl8mVByeqDej8vWzckbFY+/bKh57v74quZWuisfet1U89r6t4rH3bRWXvW+quOx9U8Vl71sqDk/Uk7bXp8reI4qHwxP1ZlQ89r6t4rH3bRWPvW+reOx9W8Vj79sqHnvfVvHY+7aKx943VRyeqDejErL3HZ6oN6MSsvcdnqg3oxKy9x2eqDejErL3HZ6oN6MSsvcdnqg3oxKy9x2eqDejErL3HZ6oN6MSsvcdnqg3oxKy9x2eqDejErL3HWbhZlRC9v5gfkyOx1d4Veu++7Tlj9em9Epol6dEf7O4SvR3iqtEf5u4SvT3iKtEf4O8JaGPmkqfBrleEoNpsfck9CnRehL9reEq0T8T35KQ9pCQoyfRPxBdJRx2tyXhsLstCYfdbUk47G5LwmF3WxIOu9uQGMyDuUo47G5L4tfv7sEYmKvEr9/dgwEwV4lfv7sHo1+uEr9+dw+GvjwlBhNfrhK/fncPZr1cJX797h5MeblK/PrdPZjvcpX49bt7MNnlKvHrd/dgpstV4tfv7sE0l6vEr9/d/dknM6pb6mZUt3rPb2/Pr0Bly5/fziOuW5JWnGz9Oycm4rrFMxHXrYiJuO4yT8R1O/NEXLfdTsT1a8WO61eLHdevl5Ieg2O/X2PZi+vXixnXn5+ZiOvXix3Xrxc7rl8vP41r7R/6q1Afe1bS58GC8hHUXwIjqP/3N4IGf30rqv+3/1lUPfZ/GPzIfJQHtsrp08RQfcX1D2A7rn+qmnGDn3btuP75Z8f1DzU7rn9S2XH9D5d2XP8Tox3X/xhox4H1Mvip0Y4D62Xwc6AdB9bL4Cc7Ow6sl8HPanYcWC+Dn77sOLBeBj9P2XFgvQx+QrLjwHoZXHlgx4H1MvhZyY4D62XwA5AdB9bL4KcaOw6sl8GPKnYcWC+Dnz/sOLBeBj9U2HFgvQx+UrDjwHoZwH87DqyXAaa348B6GQB1Ow6slwH6tuPAehlAajsOrJcBTrbjwHoZgF87DqyXAaK148B6GcBUOw6slwH2tOPAehkASjsOrJcBSrTjwHoZQD87DqyXgc3SjgPrZWCFtOPAehnYFe04sF7S4B7aiUCwYtLAxTgRCNZM6nPBmUCwatLAETgRCNZNGvj2JgLRyhm46yYC0coZeOAmAtHKGTjVJgLRyhn4ySYC0coZuL4mAtHKGXizJgLRyhk4qCYC0coZ+JwmAtHKGbiRJgLRykHhb0Lpb0Lxb0L5b0IBcEIJcEIRcEIZcEIhcEIpcEIxcEI5cEJBcEJJcEJRcEJZcEJhcEJpcEJxcEJ5cEKBcEKJcEKRcEKZcEKhcEKpcEKxcEK5cELBcELJcELRcELZcELhcELpcELxcEL5cEIBcUIJcUIRcUIZcUIhcUIpcUIxcUI5cUJBcUJJcUJRcUJZcUJhcUJpcUJxcUJ5cUKBcUKJcUKRcUKZcUKhcUKpcUKxcUK5cULBcULJcULRcULZcULhcULpcULxcUL5cUIBckIJckIRckIZsqAMWVCGLChDFpQhC8qQBWXIgjJkQRmyoAxZUIYsKEMWlCELypAFZciCMmRBGbKgDFlQhiwoQxaUIQvKkAVlyIIyZEEZsqAMWVCGLChDFnh+GB4gRhmyoAxZUIYsKEMWlCELypAFZciCMmRBGbKgDFlQhiwoQxaUIQvKkAVlyIIyZEEZsqAMWVCGLChDFpQhC8qQBWXIgjJkQRmyoAxZUIYsKEMWlCELypAFZciCMmRBGbKgDFlQhiwoQxaUIQvKkAVlyIIyZEEZsqAMWVCGLChDFpQhC8qQBWXIgjJkQRmyoAxZUIYsKEMWlCELypAFZciCMmRBGbKgDFlQhiwoQxaUIQvKkAVlyIIyZEEZsqAMWVCGLChDFpQhC8qQBWXIijJkRRmyogxZUYasKENWlCErypAVZciKMmRFGbKiDFlRhqwoQ1aUISvKkBVlyIoyZEUZsqIMWVGGrChDVpQhK8qQFWXIijJkRRmyogxZUYasKENW+BYK+BoK+B4K/CIKtHLgqyjguyjgyyjg2yjg6yhQhqwoQ1aUISvKkBVlyIoyZEUZsqIMWVGGrChDVpQhK8qQFWXIijJkRRmyogxZUYasKENWlCErypAVZciKMmRFGbKiDFlRhqwoQ1aUISvKkBVlyIoyZEUZsqIMWVGGrChDVpQhK8qQFWXIijJkRRmyogxZUYasKENWlCErypAVZciKMmRFGbKiDFlRhqwoQ1aUISvKkBVlyIoyZEUZsqIMWVGGrChDVpQhK8qQFWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGWXIGb7TGL7UGL7VGL7WGL/XGK0c+GZj+Gpj+G5j+HJjlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCFnlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEXlCEX+Al58CPy4GfkwQ/Jg5+Shz8mD60c+EF58JPy4EfloQy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5oAy5zDDk2g2cqJx+4ETl9AMnKqcfOFE53cAZhtwPnKicfuBE5fQDJyqnHzhROf1AtHJmGHI/EK2cGYbcD0QrZ4Yh9wPRyplhyP1AtHJmGHI/EK2cGYbcD0QrZ4Yh9wPBytlnGHI/EKycfYYh9wPBytlnGHI/EKycfYYh9wPBytlnGHI/EK2cGYbcD0QrZ4Yh9wPRyplhyP1AtHJmGHI/0K6cY/8c+Jc/vHjf5eO1++//+8dLpb407CL7uoZdj1/WmIDYX9aYgFY/ajwD7e0xCLS3xyDQ3h6DQHt7DALt7TEItLfHIPDd7fEMfLfmn4HvFvIjcAJaDQLRypmAVoNAtHImoNUgEK2cCWg1CEQrpw+tROqjc0hu+gp8tY4+tJoI7EOrmcBu5cwEditnJrBbOTOB3cqZCexWzkxgt3JmAruVMxOIVk4fWk0E9qHVTCBaOX1oNROIVk4fWs0EopXTh1YzgWjl9KHVTCBaOX1oNROIVk4fWs0EopXTh1YzgWjl9KHVTCBaOX1oNROIVk4fWs0EopXTh1YzgWjl9KHVTCBaOX1oNROIVk4fWs0EgpVT+9BqJhCsnNqHVjOBYOXUPrSaCQQrp/ah1UwgWDm1D61mAtHK6UOrmUC0cvrQaiYQrZw+tJoJRCunD61mAtHK6ZOomUC0cvrMaCYQrZz+4ONMIFo5/cHHmUC0cvqDjzOBaOX0Bx9nAtHK6Q8+zgSildMffJwJRCunP/g4E4hWTn/wcSYQrZz+4ONMIFo5fYY8E4hWTp8hzwSildNnyDOBaOX0GfJMIFo5fYY8E4hWTp8hzwSildNnyDOBaOX0GfJMIFo5fYY8E4hWDsqQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQK8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQG8qQ24Ahl608AkvKvcABQ54I7FfORGC/cj4HSuoG9itnIrBfOaW+Als/1X7lTAT2K2cisF85dUuPwCqtG9ivHDtwQHQnAvvrOBHYd5Tk9ihyHRT5wFg+Edh3lEwE9r1IE4F9L5IdOECINT87QC1bN7BfchOBg5L7FLhLJ/AYOJk33R7vcdt7+/EYOJknAvu2qW2rVmDfNjUR2G0durVnYNr2bmC/yCcC+0We8v4MHKTaL/KJwH6RJz1egf0C6Be5HThwMn8OrL1aPQZO5onAfuXoq+Q0l25gv3ImAvuVMxHYrxw5jlfgD5XzR6+s3WeOge3ZW6Vfk94q/QL2VulXu7PKwCntrdLfR94q/U3nrdLfod4q/e3srRKy9weXn3qrhOz9wbWq3iohe39wYau3SsjeH1wF660SsvcHl8x6q4Ts/cH1td4qIXt/cDGut0rI3h/cXuKtErL3B/eieKuE7P3BjSveKiF7f3CXi7dKyN4f3BLjrDK44OUdlbQ9ri1J6aVxfi9+anx9t9gaX6+vJO2hIUdX4+vVZWt8vbZsja9Xlq3x9TPF1BhcqDzWeAa+W/TPwHcr+Rn4bit/Bg4gy5Oza970539HqU94JDW/4FFq20umv33cZfo7yF2mv4ncZfr7yF2mv5W8ZQaXTLvL9Peeu8wAh3rLDOCpt0xMFxhcpe0uE9MFBtd0u8vEdIHBFeDeMoMLw91lYrrA4DJyd5mYLjC46NxdJqYLDH7rdpeJ6QKD39HdZWK6wODyd3eZmC4wuFjeXSamCwwurXeXiekCgwvx3WViusDgsn13mZAukLbB/Iu/TkgfOHVCGsGpE9IJTp2QVnDqhPSCUyekGZw6Id3g1AlpB6dOUD8YTDX56wT1g9HMlLtOUD8YTWS56wT1g8EIl79OUD8YjHH56wT1g8Eol79OUD8YjHP56wT1g8FIl79OUD8YjHX56wT1g8Fol79OUD8YjHf56wT1g8GIl79OUD8YjHn56wT1g8Gol79OUD8YjHv56wT1g8HIl79OUD8YjH356wT1g8Hol79OUD8YjH/56wT1g8EImL9OUD8YPIbMXyeoHwwG2/x1gvrB4BFq/jpB/WAwsOevE9QPBoN7/jpB/WAwwOevE9QPBuOB/jpB/SBm+PDUCeoHMeOHp05QP4gZQDx1gvpBzAjiqRPUD2KGEE+doH4QM4Z46gT1g5hBxFMnqB/EjCKeOkH9IGYY8dQJ6gcx44inTlA/iBlIPHWC+kHMSOKpE9QPYoYST52gfhAzlnjqBPWDmMHEUyeoH8SMJp46Qf0gZjjx1AnqBzHjiadOTD9IQfOJKWg+MQXNJ6ag+cS0xfSDFDSfmFzmE2t+6tQy0PHoBzM6Hv1gRsejH0zouMwnzuh49IMZHY9+MKPj0Q9mdDz6wYyORz+Y0QnqBy7ziTM6Qf3AZT5xQsdlPnFGJ6gfuMwnzugE9QOX+cQZnaB+4DKfOKMT1A9c5hNndIL6gct84oxOUD9wmU+c0QnqBy7ziTM6Qf3AZT5xRieoH7jMJ87oBPUDl/nEGZ2gfuAynzijE9QPXOYTZ3SC+oHLfOKMTlA/cJlPnNEJ6gcu84kzOkH9wGU+cUYnqB+4zCfO6AT1A5f5xBmdoH7gMp84oxPUD1zmE2d0gvqBy3zijE5QP3CZT5zRCeoHLvOJMzpB/cBlPnFGJ6gfuMwnzugE9QOX+cQZnaB+4DKfOKMT1A9c5hNndIL6gct84oxOUD9wmU+c0QnqBy7ziTM6Qf3AZT5xRieoH7jMJ87oBPUDl/nEGZ2gfuAynzijE9QPXOYTZ3SC+oHLfOKMTlA/cJlPnNEJ6gcu84kzOjH9QFzmE2d0YvqBuMwnzujE9APZYvqBuMwnzujE9AMJmk+UoPlECZpPlKD5RAmaT5Sg+UQJmk+UoPlECZpPlKD5RAmaT5Sg+UQJmk+UoPlECZpPlKD5RAmaT5Sg+UQJmk+UoPlECZpPlKD5RAmaT5Sg+UQJmk+UoPlECZpPlKD5RAmaT5Sg+UQJmk+UoPlECZpPlKD5RAmaT5Sg+UQJmk+UoPlECZpPlKD5RPGYT2zb9tBpqQ10HPrBlI5DP5jR8ZhP/Kyj+QedP7563/XjxfvxaS1L56W/3wrz8drfjXGfX/zK36HPLM3foX8tzd+hLy7N36HfLs3foY8vzd/hfFiav/O5E56/83kWnr/zORmdv8c88NL8L37+eswvL83/4uevx7z10vwvfv56zIcvzf/i56/HPPvS/C9+/nrM3y/N/+Lnr4dfYGn+Fz9/PfwNS/O/+Pnr4cdYmv/Fz18P/8jS/C9+/nr4XZbmf/Hz18OfszT/i5+/Hn6ipflf/Pz18D8tzf/i56+HX2tp/hc/fz38ZUvzv/j56+GHW5r/xc9fD//eT/J/6fzac/Kl49GPijx1Sl9HPXxoUzoe9bXXp87en4PRzaMOZnQ86mBGx+NzzYyOx+ePGR2HzwnH9njx2XZ1oOOwf2Z0PHxbUzoO5+NnHT1C+7N6+MGW5u/Qv5bm79AXl+bv0G+X5u/Qx5fm73A+LM3f+dwJz9/5PIvO38PPuDT/i5+/Hv7Lpflf/Pz18Isuzf/i56+Hv3Vp/hc/fz38uEvzv/j56+EfXpr/xc9fD7/z0vwvfv56+LOX5n/x89fDT740/4ufvx7+96X5X/z89fDrL83/4uevx/0CS/O/+PnrcR/C0vwvfv563N+wNP+Ln78e900szf/i56/H/RhL87/4+etxP8bS/C9+/nrcj7E0f+fzNw/mLDzusZjScT7PhjrO585Qx/l8GOl43LMwpePcb4c6zn1xqOPcv4Y6zn1mqOMxf3ccT50tDXQ85u9mdDzm72Z0POb0Z3Q85lcndFx83zM6HvPpMzoec+QzOh7zuDM6Dv1gSieoH7j4fGd0gvqBi292RieoH7j4UGd0gvqBi69zRieoH7j4JGd0gvqBi+9wRieoH7j4+GZ0gvqBiy9uRieoH7j4zGZ0gvqBi29rRseDHzyRhhxtpOPBD2Z0PPjBjI4HP/ikc9QfdH45N/Lw0S3MP3v485bm78FRVubvwWdW5u/BfVbm78GTVubvfO6E5+98noXn73xOhud/7fM3u/hwF+bv4u9dmf/Fz18X3/DK/C9+/rr4hlfmf/Hz18U3vDL/i5+/Lr7hlflf/Px18Q2vzP/i56+Lb3hl/hc/f118wyvzv/j56+IbXpn/xc9fF9/wyvwvfv66+IZX5n/x89fFN7wy/4ufvy6+4ZX5X/z8dfENr8z/4uevi294Zf4XP39dfMPj/F86v/acfOl8vR/plp4v3tJI5+t9Y07n6/Wlm25PHe3PYWQH/9qcztfrYE7n659r5nS+/vljTufrnxN029tTp+0DHY/9M6PjsX9mdL5+Pn7WSZvE9mcHf9Xa/D3618L8Hfxga/P36Lcr8/fo4yvz9zgfVubve+7E5+97nsXn73tOxud/8fPXwc+4Nv+Ln78O/su1+V/8/HXwi67N/+Lnr4O/dW3+Fz9/Hfy4a/O/+Pnr4B9em//Fz18Hv/Pa/C9+/jr4s9fmf/Hz18FPvjb/i5+/Dv73tflf/Px18Ouvzf/i56/D/QJr87/4+etwH8La/C9+/jrc37A2/4ufvw73TazN/+Lnr8P9GGvzv/b5Wxzux1ibv/f525+zKA73WMzpeJ9nIx3vc2ek430+jHS8+/hIx7vfjnS8++JIx7t/DXQc7gGY03HpB/J48bbngY5LP5jQcekHEzou/WBCx6UfTOi49IMJHZd+MKHj0g8mdFz6ga3j4Eue0wnqBw4+3zmdoH7g4Jud0wnqBw4+1DmdoH7g4Ouc0wnqBw4+yTmdoH7g4Duc0wnqBw4+vjmdoH7g4Iub0wnqBw4+szmdoH7g4Nua0wnqBw7PT5zTCeoHDs8jnNMJ6gcufrcZnaB+4PC8vDmdoH7g4d9L9amTjm2g49APpnQc+sGUzrv94BX57g5/Rb67Z1+R7+7CV+S7++oV+e5OeUW+W/vPyLddV6/Id+vzFfluxb0i4Rp6213zioRr6G1HySsSrqG3XRSvSLiG3nYOvCLhGnp7Wv4VCdfQ2xPir0i4ht6ein5FwjX09iTwKxKuobenX1+RcA0NJj5zqs/IvP/15yffvn+8Nn/6WfCQTyL9cnMW6Vems0i/iJ1F+vX+lkiVxw+7WvOPv8689+pXVv29tDqr/j5dnVW/ByzOajDdtzqrfu9anZVDX/wFWTk00l+QlUPn/QVZObTqX5AVZW8fzK2tzoqytw9mzNZmtQ8mx1Zn9W5vf0W+239fke/2yFfku33sFflur3lFvtsPXpHv7tlX5Lv76hX5bu0/IwcTR7k9I8tWjPrM7UnYcut+ndkHA0fuMoPq9JYZlLK3zKDuJyIHdT8ROaj7ichB3U9EDup+InJQ93bkYLJmJnJUynbkqDrtyFHB2ZFwDQ1mTmYi4RoazIXMRMI1NJjdmIgcTGPMRMI1NJiYmImEa2gw1TATCdfQYPJgJhKuocF0wEwkXEODX/BnIuEaGvzKPhMJ19Dgl/CZSLiGBr9Wz0TCNTT4RXkmEq6hwa++M5FwDQ1+mZ2JhGto8FvrTCRcQ4PfWmci4Roa/NY6EwnX0OC31plIuIYGv7XORMI1NPitdSYSrqHBb60zkXANDX5rnYmEa2jwW+tMJFxDg99aZyLhGhr81joTCdfQ4LfWmUi4hga/tc5EwjU0+K11JhKuodFvrRORcA2NfhWdiIRraPT75UQkXEOj3wEnIuEaGv2eNhEJ19Dod6mJSLiGRr/vTETCNTT6nWQiEq6h0e8NE5FoDdURt5+IRGuojtj6RCRaQ3XE1ici0RqqI7Y+EYnWUB2x9YlIuIaGbN2OhGtoSMDtSLiGYE5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU5dYU7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYE7dYNrcYNrcPO6l2tLzxVuqzxd/9jU2j3uppnQ87qmb0fG4p25Gp19N/joe99TlZ7lteaTjcU/djI7HPXUzOh731M3oeNxTN6Hz9s1eqI5HP9BXXec20PHoBzM6Hv1gRsejH8zoePSDGR2PfjCj49EPZnQ8+oFuTx1NAx2PfjCh4/J89xkdl34woePSDyZ0XPrBhI5LP5jQcekHEzou/WBCx6UfTOgE9QOX51hP6Lg8b3pGJ6gfuDy/eUYnqB+4PA95RieoH7g8X3hGJ6gfuDyvd0YnqB+4PP92RieoH7g8T3ZGJ6gfuDyfdUYnqB+4PO90RieoH7g8P3RGJ6YfHA7PmZRWHvzg/M/+ffqHw3Mm53S+vn/mdL6+f+Z0vr5/5nS+vn+kPR+fKufnmoHO1/fPnM7X98+UjsNzJud0vn6ezul49IMZHY9+UF913cpAx6MfzOh49IMZHY9+MKPj0g8mdFz6wYSOSz+wdRyeMyltr0+dvc8tD4fnTM7pePSDGR2PfjCj49EPZnQ8+sGMjkc/mNHx6AczOh79YEbHox9M6Dg8Z3JOJ6gfODxnck4nqB84PGdyTieoHzg8Z3JOJ6gfODxnck4nqB84PGdyTieoHzg8Z3JOJ6gfODxnck4nqB84PGdyTieoHzg8Z3JOJ6gfOMzzzekE9YPB/JscDySgaj2lIW3547UpvVLa5ZNIf/M4i/R3jrNIf9s4i/T3jLNIf8O8JaKP+kqfxtA+iwym3d4T0adI64v0t4qzSP/cfEtE2kNEjr5I/9B0FnHY8baIw463RRx2vC3isONtEYcdb4s47HhTZDDP5izisONtkYgdPxhjcxaJ2PGDATZnkYgdPxhdcxaJ2PGDoTVfkcHEmrNIxI4fzKo5i0Ts+MGUmrNIxI4fzKc5i0Ts+MFkmrNIxI4fzKQ5i0Ts+ME0mrNIxI7vz21NxHVLfyKuW83n98DnF6my5c9v6hXZLVE7Urb+jR9Tkd1imorsVshUZHfZpyK73XsqstuSpyL79TMT2a+gmch+DZX0GIP7/WLTfmS/hiYi+/M/U5H9GpqJ7NfQTGS/hn4a2er+D/0lqY9NLenzNER5RPWXw4rqL4UVNVgHM6y/COOwv/71/wMzHPkC",
912
- "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DxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwDxdwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD5dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD1dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dwD9dw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7R8CPrbT2z8tfGynt3+s+NhOpX+1M7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TRDW08ztPU0Q1tPM7T1NENbTzO09TSDXE9zGF/71iUXyRzG1751yZUvh/G1b93WvnWX9q27tG/dpX3rLu1bd2nfukv71j3d33VzfO1b93R3183xpW/debq36+b40rfuPN3ZdXN86Vt3PqRv3Xm6revm+NK37jzd1HVzfOlbd55u6bo3/umOrpvja9+6p/u5bo6vfeuerty6Ob72rXu6HOvm+Nq37ukaq5vja9+62m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mmtpuqqntpprabqqp7aaa2m6qqe2mMnI3lT8ez5/1sX4bf+d16yvE6Prxqv29U+4L+sydct/lZ+6U+9r/YztdsbdT7k8IJ+50X73y9fKPgz3GqudP5vjxs/E97/bNKKe9+u4HodNeffdzymmvvvsx4rRX373lT3v13Uv4rFffd1qc9uq799Jpr757F5z26pe+V/d9Cqe9+qXv1X0bwWmvful7dZ/lP+3VL32v7pPwp736pe/VfY78tFe/9L26T2Gf9uqXvlf3GebTXv3S9+o+AXzaq1/6Xt3nZ0979Qvfqz7e+5uZj0d8fRJ/zB//ZWN7Pzza1/d/BcWPl17rK8x7f5Fnh3nr7/3sMG+N1LPDvDWBzw7z1sAGw/SP/+Qbvhfmrfl+dpi3roOzw7x1e5wd5q3L5uwwd07gozD7UOo1YZaN7zC199beR0w/Fea+OTMfY3z/8Jh7Ye6bMz8R5r458xNh7pszPxHmvjnzE2HumzPHYfYxvE+FuW/O/ESY+z7p/USY+z7p/UQYpgm8D6N9KgzTBN4HxT4VhmkC70NcHwqzj2R9KgzTBN7HpT4VhmkC76NMnwrDNIH3MaNPhWGawPsI0KfCME3gfTznU2GYJvA+OvOpMEwTeB9r+VQYpgm8j5x8KgzTBN7HQT4VhmkC76ManwrDNIH3MYpPhWGawPuIw6fCME3gffzgU2GYJvA+GvCpMEQT+MVXSn8qDNEEfvF1z58KQzSBX3wV86fCEE3gF1+T/KkwRBP4xVcYfyoM0wTe/3rhT4VhmsD7X/37qTBME/g9+OTsMEwT+D205ewwTBP4PXDm7DBME/g9LOfsMEwT+D3o5+wwTBP4PaTo7DBME/g9YOnsMEwT+D0c6uwwTBP4Pdjq7DBME/g9lOvsMEwT+D1Q7OwwTBP4PQzt7DBME/g9yO3sMEwT+Eby6yfCME3gG8mvnwjDNIFvJL9+IgzTBL6R/PqJMEwT+Eby6yfCME3gG8mvnwjDNIH3vyrwU2GYJjATE/fiS/k+FYZpAjMxcS++/u5TYZgmMBMT9+KL5j4VhmkCMzFxL77S7VNhmCYwExP34svTPhWGaQIzMXEvvqbsU2GYJjATE/fiC8E+FYZpAjMxcS++eutTYZgmMBMT9+JLrj4UhomJe/EFVJ8KwzSBmZi4F1/19KkwTBOYiYl78aVKnwrDNIGZmLgXX1/0qTBME5iJiXvxRUGfCsM0gZmYuBffqnJRmKzvH+71+zAvviPlU2Fu/Ac84/vbJWbEXpgb/wEfh7nxH/BxmBs/QhyHufEjxHGY+z5C9KO/Xnf7v7+ZM/kd5r45cxzmTqTIPL9+2B/222P6/Q+P8Vhf83qMsXuqdxJIp2e/8QPK6dlvvA5Oz37j7XF69hsvm9fZv8LcON+Pw9z4n4jHYW78HHkY5k5g6TgMxcD+CkMxgb/C3DhS3b9/2D33wtw4I4/D3Dj0jsPc+An7OMyNE/g4zI0T+DjMjRP4MMydwNJxmBsn8HGYGyfwcRimCXwnsHQchmkC3wksHYdhmsB3AkvHYZgm8J3A0nEYpgl8J7B0HIZpAt8JLB2HYZrAdwJLx2GYJvCdwNJxGKYJfCewdByGaQLfCSwdh2GawHcCS8dhbpwzY359jeLc74HvxHKOw9w4Zw7D3InlHIe5cc4ch7lxzhyHuXHO/H9h9h5uuBPLOQ5z4ye94zA3ftI7DvOpCbwb5s4J3D8ebhh7d9OdWM5hmDvhk+Mwd86ZwzB3zpnDMHfOmcMwd86ZwzC3Prf0PWdm7V2Ud8Inx2FunDOHYe6ET47D3PhJ7zjMjRP4OMytT44ehblxAh+HufXJ0aMwtz45ehSGaQLfCZ8ch2GawHfCJ8dhmCbwnfDJ4aPPd8Inx2FuncBHYZie3b/zC5mOwzA9u3/nFzIdh7l1Av/rMH4nI3Qc5tYJfBSGaAI7Ez3lD6IJ7Ez0lDPRU85ET/mdX8h0HIZpAt9JTx2HYZrAd/JNx2GYJvCdBNJxGKYJfOcXMh2HYZrAd/JNx2GYJvCdfNNxGKYJfCdSdByGaejtgzPz8W1BcP+x6vG9avc9eLhq981ytGqfGTlctfvP73DV7k39etU//vFfnrYIgg==",
913
- "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"
920
+ "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gzDcWQwpgUEc7iyGlMAgEHcWQ0pgEIk7iwElsJBMnJBMnJBMnJBMnBygBBaSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiROSiQskExdIJi6QTFwgmbhwgBI4kExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSCYukExcIJm4QDJxgWTiAsnEBZKJCyQTF0gmLpBMXCCZuEAycYFk4gLJxAWSiQskExdIJi6QTFwgmbhAMnGBZOICycQFkokLJBMXSSYukkxcJJm4SDJx8QAlcCSZuEgycZFk4iLJxEWSiYskExdJJi6STFwkmbhIMnGRZOIiycRFkomLJBMXSSYukkxcJJm4SDJxkWTiIsnERZKJiyQTF0kmLpJMXCSZuEgycZFk4iLJxEWSiYskExdJJi6STFwkmbhIMnGRZOIiycRFkomLJBMXSSYukkxcJJm4SDJxkWTiIsnERZKJiyQTF0kmLpJMXCSZuEgycZFk4iLJxEWSiYskExdJJi6STFwkmbhIMnGRZOIiycRFkomLJBMXSSYukkxcJJm4SDJxkWTiIsnERZKJiyQTF0kmLpJMXCSZuEgycZFk4iLJxEWSiYsk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593+uux5t78ue97tr8ued/vrsufd7rqEPe/212XPu/112fNuf132vNtflz3v9tdlz7v9ddnzbn9d9rzbX5c97/bXZc+73XWJe97tr8ued/vrsufd/rrsebe/Lnve7a/Lnnf767Ln3f667Hm3vy573u2vy553u+uS9rzbX5c97/bXZc+7/XXZ825/Xfa821+XPe/212XPu/112fNuf132vNtflz3vdtcl73m3vy573u2vy553++uy593+uux5t78ue97tr8ued/vrsufd/rrsebe/Lnve7a4L/b3hbuuy593+uux5t78ue97tr8ued/vrsufd/rrsebe/Lnve7a/Lnnf767Ln3e660N9z67Yue97tr8ued/vrsufd/rrsebe/Lnve7a/Lnnf767Ln3f667Hm3vy573u2uC/2NmG7rsufd/rrsebe/Lnve7a/Lnnf767Ln3f667Hm3vy573u2vy553++uy593uutDf9Oe2Lnve7a/Lnnf767Ln3f667Hm3vy573u2vy553++uy593+uux5t78ue97trUujv/XNbV32vNtflz3v9tdlz7v9ddnzbn9d9rzbX5c97/bXZc+7/XXZ825/Xfa8212XZd+v1sL10UN667LqvDtal1Xn3dG6LDrvluMquUjorcui8+5wXRadd4frsui8W8rVYFHtrcui8+5wXRadd4frsui8q3L9czX/al1++9FW9SpB4sdsLEF6BR9N8+PjR2wfnz8ei77qy9t8F33RSd130Re9DfBd9EXvMXwXfdEbGN9FX/TuyHfRF7318l30Re/rfBd90ZtG30Xfd6TzF33V1yv6Lvq+I3VY9H1H6rDo+47UYdH3HanDou87UodF33ekDou+70gdFn3fkTos+qp3pHr9c+txfF707+uy6jtKh+uy6n3daF1udeul17qo/GpdrmZvdcszavZWtxqjZm814o+avdVoPWr2ViPtqNlbjZKjZm81wg2avde7NEfN3mrYGjW70gR1r1dZjppdaYK610snR82uNEHd6/WQo2ZXmqDu9SLHQbP3ejvjqNmVJqh7vUdx1OxKE9S93ng4analCepe7yYcNbvSBHWvtwiOml1pgrrX+/5Gza40Qd3rzXyjZleaoO71Dr1RsytNUPd6292o2ZUmqHu9l27U7EoT1L3eIDdqdqUJ6l7vehs1u9IEda+3so2aXWmC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",
921
+ "eJztnNFqGzEQRf9ln43RSCON5F8pfTBtCoGQlNpvwf9eu7G02/oSgeMujn2fgmFGuZwdac/Dotfh6eXbevv48rwZVq9DKsPqy+uw+bl+PvzcbNe/tsPKLYaH5+/7v7vF8OPx6WFYSU67xUmddy4eS73z1qpVUHFQrcXqZFzaRVAtrlhdW8SF8lf918Vg7tMml/mSq+VaHEP+cHL/aZMHlFxMpHZZlk5+KWYtf4hjfg+KcwnH2pImpeeF188cPn48vHc6Tk7uhDcJdSJN4jg5yf7ESdcVxy4Rp6Qax6t24vhaa+ZbqaHSWGqIJOOqFkBp0FiXDVqmB4GdNTOZVAAV+K6+dyoZesDdU4GOcfdUoL/cPZULuNENUrmAdN0glYvY3M1RuYhU3hwVui2iQrdFVOi2gEqh2yIqdFtEhW6LqNBtERW6LaJCt0VU6LaICt0WUaHbIip0W0BFHOUWYqHdQizUW4iFfguxUHAhFhouxELFhVjouBALJRdioeUiLELLhVhouRALLRdioeVCLLRciIWWC7HQciEWWi7EQsuFWGi5CIun5UIstFyIhZYLsdByIRZaLsRCy4VYaLkQCy0XYqHlQiy0XIQl0HIhFlouxELLhVhouRALLRdioeVCLLRciIWWC7FcseUm37CYdLD4UqlMVz3rVhIJcytutlpbNEyZHNLo3GY5TZNP0swtdKXNeymlMy8WQhuYNKZ4u05FdG7pumD0ucVInJW2RyS/Hz7ktnIoPnbOJK8ttddgneroanGM49YobxtV5xajq8Fi0i4OijbFAqYwW4scRoTi0dVa/cNR57au62FulXl27mQU57au/4pF231gSVKnOqQ6MBonmd3xVbrEH+jEUv9FkhHmfovXLri1u11wODXHdoaMA53d8WhdQjMMqRLTCYL6tMMSelOvCYpFrwl/Jtjtgi/q97vSEn/xoKlOvpb87yM+dEEY3S5II7aHlSYmV/bvwd3uN/0E/m4=",
922
+ "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Nzf2d3Njfzc39ndzY383N/Z3c2N/Nzf2d3Njfzc39ndzY383N/Z3c2N/Nzf2d3Njfzc39ndzY383N/Z3c2N/Nzf2d3Njfzc39ndzY383N/Z3c2N/Nzf2d3Njfzc39ndzY383N/Z3c2N/Nzf2d3Njf7c09ndLY3+3NPZ3S2N/tzT2d0tjf7c09ndLY3+3NPZ3S2N/tzT2d0tjf7c09ndLY3+3NPZ3S2N/tzT2d0tjf7c09ndLY3+3NPZ3S2N/tzT2d0tjf7c09ndLY3+3NPZ3S2N/tzT2d0tjf7c09ndLY3+3NPZ3S2N/tzT2d0tjf7c09ndLY3+3NPZ3S+szdFsfotv6FN3Wx+g2P0e38XxpfZJu66N0W5+l2/ow3cb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5p7O+Wxv5uaezvlsb+bmns75bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/Wxv5ubezv1sb+bm3s79bG/m5t7O/W1reltb4urfV9aa0vTGt9Y1rzK9Maz5fWl6a1vjWt9bVpjf3d2tjfrY393drY362N/d3a2N+tjf3d2tjfrY393drY362N/d3a2N+tjf3d2tjfrY393drY361H+rvz3nYHzpfd7Q6cL7vbHThfdrc7cL7sbXekv7u73YHzZXe7A+fL7nYHzpfd7Q6cL7vbNZ4vR/q7u9s1ni9H+ru72zWeL0f6u7vbNZ4vR/q7u9s1ni9H+ru72zWeL0f6u7vbNZ4vR/q7u9u1nS/Tkf7u7nZt58t0pL+7u13b+TId6e/ubtd2vkxH+ru727WdL9OR/u7udo3ny5H+7u52jefLkf7u7naN58uR/u7udo3n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",
923
+ "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6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kJnOB5npfJCZzgeZ6XyQmc4Hmel8kIXOB1nofJCFzgdZ6HyQZWPr2YXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWeh8kIXOB1nofJCFzgdZ6HyQhc4HWel8kJXOB1npfJCVzgdZN7aeXel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQlc4HWel8kJXOB1npfJCVzgdZ6XyQ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4vNaJj6vZeLzWiY+r2Xi81omPq9l4vNaJj6vZeLzWiY+r2Xi81omPq9l4vNaJj6vZeLzWiY+r2Xi81omPq9l4vNaJj6vZeLzWiY+r2Xi81omPq9l4vNaJj6vZeLzWiY+r2Xi81omPq9l4vNaJj6vZeLzWiY+r2Xi81omPq9l4vNaJj6vZeLzWiY+r2Xi81omPq9l4vNaJj6vpfB5LYXPayl8Xkvh81rKRte9hc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq+l8Hkthc9rKXxeS+HzWgqf11L4vJbC57UUPq9l5vNaZj6vZebzWmY+r+Upzbckuu6d+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa5n5vJaZz2uZ+byWmc9rmfm8lpnPa1n4vJaFz2tZ+LyWhc9rWTa67l34vJaFz2tZ+LyWhc9rWfi8loXPa1n4vJaFz2tZ+LyWhc9rWfi8loXP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",
924
+ "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cA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA8XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA+XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA9XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/XcA/X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oe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2h7tga6o6toe7YGuqOraHu2Brqjq2p7tia6o6tqe7YmuqOrXkTv4mnumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y2uqO7amumNrqju2prpja6o7tqa6Y8vUHVum7tgydceWqTu27CZ+E5u6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVN3bJm6Y8vUHVum7tgydceWqTu2TN2xZeqOLVd3bLm6Y8vVHVuu7tjym/hN7OqOLVd3bLm6Y8vVHVuu7thydceWqzu2XN2x5eqOLVd3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",
925
+ "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nLhkcuKSyYlLJicumZy4ZHLiksmJSyYnLpmcuGRy4pLJiUsmJy6ZnLhkcuKSyYlLJicumZy4ZHLiksmJSyYnLpmcuGRy4pLJiUsmJy6ZnLhkcuKSyYlLJicumZy4ZHLiksmJSyYnLpmcuGJy4orJiSsmJ66YnLh6EG3gYnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumJy4YnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumJy4YnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumJy4YnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumJy4YnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumJy4YnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumJy4YnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumJy4YnLiismJKyYnrpicuGJy4orJiSsmJ66YnLhicuKKyYkrJieumZy4ZnLimsmJayYnrh9EG7iZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiWsmJ66ZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiWsmJ66ZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiWsmJ66ZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiWsmJ66ZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiWsmJ66ZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiWsmJ66ZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiWsmJ66ZnLhmcuKayYlrJieumZy4ZnLimsmJayYnrpmcuGZy4prJiVtMTtxicuIWkxO3mJy49SDawIvJiVtMTtxicuIWkxO3mJy4xeTELSYnbjE5cYvJiVtMTtxicuIWkxO3mJy4xeTELSYnbjE5cYvJiVtMTtxicuIWkxO3mJy4xeTELSYnbjE5cYvJiVtMTtxicuIWkxO3mJy4xeTELSYnbjE5cYvJiVtMTtxicuIWkxO3mJy4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"
914
926
  ],
915
927
  "fileMap": {
916
- "15": {
917
- "source": "impl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n \n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(_self: Self, _bit_size: u32) -> [u1] {}\n \n #[builtin(to_be_bits)]\n fn __to_be_bits(_self: Self, _bit_size: u32) -> [u1] {}\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n \n #[builtin(to_be_radix)]\n fn __to_be_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n",
928
+ "16": {
929
+ "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n \n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(_self: Self, _bit_size: u32) -> [u1] {}\n \n #[builtin(to_be_bits)]\n fn __to_be_bits(_self: Self, _bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(_self: Self, _bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n \n #[builtin(to_be_radix)]\n fn __to_be_radix(_self: Self, _radix: u32, _result_len: u32) -> [u8] {}\n\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> Field {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n",
918
930
  "path": "std/field.nr"
919
931
  },
920
- "16": {
932
+ "17": {
921
933
  "source": "struct GrumpkinScalar {\n low: Field,\n high: Field,\n}\n\nimpl GrumpkinScalar {\n pub fn new(low: Field, high: Field) -> Self {\n // TODO: check that the low and high value fit within the grumpkin modulus\n GrumpkinScalar { low, high }\n }\n}\n\nglobal GRUMPKIN_SCALAR_SERIALIZED_LEN: Field = 2;\n\npub fn deserialize_grumpkin_scalar(fields: [Field; GRUMPKIN_SCALAR_SERIALIZED_LEN]) -> GrumpkinScalar {\n GrumpkinScalar { low: fields[0], high: fields[1] }\n}\n\npub fn serialize_grumpkin_scalar(scalar: GrumpkinScalar) -> [Field; GRUMPKIN_SCALAR_SERIALIZED_LEN] {\n [scalar.low, scalar.high]\n}\n",
922
934
  "path": "std/grumpkin_scalar.nr"
923
935
  },
924
- "17": {
936
+ "18": {
925
937
  "source": "use crate::grumpkin_scalar::GrumpkinScalar;\nuse crate::scalar_mul::fixed_base_embedded_curve;\n\npub fn grumpkin_fixed_base(scalar: GrumpkinScalar) -> [Field; 2] {\n // TODO: this should use both the low and high limbs to do the scalar multiplication\n fixed_base_embedded_curve(scalar.low, scalar.high)\n}\n",
926
938
  "path": "std/grumpkin_scalar_mul.nr"
927
939
  },
928
- "27": {
940
+ "28": {
929
941
  "source": "struct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some {\n self._value\n } else {\n default\n }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some {\n self\n } else {\n other\n }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some {\n self\n } else {\n default()\n }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some {\n Option::none()\n } else {\n self\n }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n",
930
942
  "path": "std/option.nr"
931
943
  },
932
- "38": {
944
+ "40": {
933
945
  "source": "use crate::context::{PrivateContext, PublicContext};\nuse crate::oracle;\nuse dep::protocol_types::{\n address::AztecAddress,\n grumpkin_point::GrumpkinPoint,\n};\n\npub fn emit_encrypted_log<N>(\n context: &mut PrivateContext,\n contract_address: AztecAddress,\n storage_slot: Field,\n encryption_pub_key: GrumpkinPoint,\n log: [Field; N]\n) {\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\n context.accumulate_encrypted_logs(log);\n}\n\npub fn emit_unencrypted_log<T>(context: &mut PublicContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n\n// TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n// --> might be a better approach to force devs to make a public function call that emits the log if needed then\n// it would be less easy to accidentally leak information.\n// If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\npub fn emit_unencrypted_log_from_private<T>(context: &mut PrivateContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n",
934
946
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/log.nr"
935
947
  },
936
- "39": {
948
+ "41": {
937
949
  "source": "use dep::protocol_types::{\n abis::{\n block_header::BlockHeader,\n call_context::CallContext,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n },\n contrakt::deployment_data::ContractDeploymentData,\n hash::hash_args,\n};\n\n// docs:start:private-global-variables\nstruct PrivateGlobalVariables {\n chain_id: Field,\n version: Field,\n}\n// docs:end:private-global-variables\n\nimpl PrivateGlobalVariables {\n fn serialize(self) -> [Field; 2] {\n [self.chain_id, self.version]\n }\n}\n\n// docs:start:public-global-variables\nstruct PublicGlobalVariables {\n chain_id: Field,\n version: Field,\n block_number: Field,\n timestamp: Field,\n}\n// docs:end:public-global-variables\n\nimpl PublicGlobalVariables {\n fn serialize(self) -> [Field; 4] {\n [self.chain_id, self.version, self.block_number, self.timestamp]\n }\n}\n\n// PrivateContextInputs are expected to be provided to each private function\n// docs:start:private-context-inputs\nstruct PrivateContextInputs {\n call_context : CallContext,\n block_header: BlockHeader,\n contract_deployment_data: ContractDeploymentData,\n private_global_variables: PrivateGlobalVariables,\n}\n// docs:end:private-context-inputs\n\n// PublicContextInputs are expected to be provided to each public function\n// docs:start:public-context-inputs\nstruct PublicContextInputs {\n call_context: CallContext,\n block_header: BlockHeader,\n\n public_global_variables: PublicGlobalVariables,\n}\n// docs:end:public-context-inputs\n\nstruct Hasher {\n fields: [Field],\n}\n\nimpl Hasher {\n pub fn new()-> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n\n pub fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n",
938
950
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/abi.nr"
939
951
  },
940
- "40": {
952
+ "42": {
941
953
  "source": "use dep::std::option::Option;\nuse dep::protocol_types::{\n address::AztecAddress,\n};\n\nuse crate::context::{PrivateContext, Context};\nuse crate::note::{\n lifecycle::create_note,\n note_getter::{get_note, view_notes},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle::notes::check_nullifier_exists;\nuse crate::state_vars::singleton::compute_singleton_initialization_nullifier;\n\n// docs:start:struct\nstruct ImmutableSingleton<Note, N> {\n context: Option<&mut PrivateContext>,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n compute_initialization_nullifier: fn (Field, Option<AztecAddress>) -> Field,\n}\n// docs:end:struct\n\nimpl<Note, N> ImmutableSingleton<Note, N> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n ImmutableSingleton {\n context: context.private,\n storage_slot,\n note_interface,\n compute_initialization_nullifier: compute_singleton_initialization_nullifier,\n }\n }\n // docs:end:new\n\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self, owner: Option<AztecAddress>) -> bool {\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // docs:start:initialize\n pub fn initialize(\n self,\n note: &mut Note, \n owner: Option<AztecAddress>,\n broadcast: bool,\n ) {\n let context = self.context.unwrap();\n\n // Nullify the storage slot.\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n context.push_new_nullifier(nullifier, 0);\n\n create_note(\n context,\n self.storage_slot,\n note,\n self.note_interface,\n broadcast,\n );\n }\n // docs:end:initialize\n\n // docs:start:get_note\n pub fn get_note(self) -> Note {\n let context = self.context.unwrap();\n let storage_slot = self.storage_slot;\n get_note(context, storage_slot, self.note_interface)\n }\n // docs:end:get_note\n\n // docs:start:view_note\n unconstrained pub fn view_note(self) -> Note {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\n }\n // docs:end:view_note\n}\n",
942
954
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/immutable_singleton.nr"
943
955
  },
944
- "41": {
956
+ "43": {
945
957
  "source": "use crate::context::{Context};\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse crate::types::type_serialization::TypeSerializationInterface;\nuse dep::std::option::Option;\n\n// docs:start:public_state_struct\nstruct PublicState<T, T_SERIALIZED_LEN> {\n context: Context,\n storage_slot: Field,\n serialization_methods: TypeSerializationInterface<T, T_SERIALIZED_LEN>,\n}\n// docs:end:public_state_struct\n\nimpl<T, T_SERIALIZED_LEN> PublicState<T, T_SERIALIZED_LEN> {\n // docs:start:public_state_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field,\n serialization_methods: TypeSerializationInterface<T, T_SERIALIZED_LEN>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicState {\n context,\n storage_slot,\n serialization_methods,\n }\n }\n // docs:end:public_state_struct_new\n\n // docs:start:public_state_struct_read\n pub fn read(self) -> T {\n assert(self.context.private.is_none(), \"Public state writes only supported in public functions\");\n storage_read(self.storage_slot, self.serialization_methods.deserialize)\n }\n // docs:end:public_state_struct_read\n\n // docs:start:public_state_struct_write\n pub fn write(self, value: T) {\n assert(self.context.private.is_none(), \"Public state writes only supported in public functions\");\n let serialize = self.serialization_methods.serialize;\n let fields = serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_state_struct_write\n}\n",
946
958
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/public_state.nr"
947
959
  },
948
- "42": {
949
- "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::std::option::Option;\nuse dep::protocol_types::hash::pedersen_hash;\n\n// docs:start:map\nstruct Map<V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<V> Map<V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n ) -> Map<V> {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map {\n context,\n storage_slot,\n state_var_constructor,\n }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: Field) -> V {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = pedersen_hash([self.storage_slot, key],0);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n",
960
+ "44": {
961
+ "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::std::option::Option;\nuse dep::protocol_types::{\n hash::pedersen_hash,\n traits::{ToField}\n};\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map {\n context,\n storage_slot,\n state_var_constructor,\n }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = pedersen_hash([self.storage_slot, key.to_field()],0);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n",
950
962
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/map.nr"
951
963
  },
952
- "43": {
964
+ "45": {
953
965
  "source": "use dep::std::option::Option;\n\nuse dep::protocol_types::{\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER,\n },\n hash::pedersen_hash,\n};\n\nuse crate::context::{PrivateContext, PublicContext, Context};\nuse crate::note::{\n lifecycle::{create_note, destroy_note},\n note_getter::{get_note, view_notes},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n};\nuse crate::oracle::{\n get_secret_key::get_secret_key,\n notes::check_nullifier_exists,\n};\n\npub fn compute_singleton_initialization_nullifier(storage_slot: Field, owner: Option<AztecAddress>) -> Field {\n if owner.is_some() {\n let secret = get_secret_key(owner.unwrap_unchecked());\n pedersen_hash(\n [storage_slot, secret.low, secret.high],\n GENERATOR_INDEX__INITIALIZATION_NULLIFIER\n )\n } else {\n pedersen_hash([storage_slot], GENERATOR_INDEX__INITIALIZATION_NULLIFIER)\n }\n}\n\n// docs:start:struct\nstruct Singleton<Note, N> {\n context: Option<&mut PrivateContext>,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n compute_initialization_nullifier: fn (Field, Option<AztecAddress>) -> Field,\n}\n// docs:end:struct\n\nimpl<Note, N> Singleton<Note, N> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Singleton {\n context: context.private,\n storage_slot,\n note_interface,\n compute_initialization_nullifier: compute_singleton_initialization_nullifier,\n }\n }\n // docs:end:new\n\n // docs:start:is_initialized\n unconstrained pub fn is_initialized(self, owner: Option<AztecAddress>) -> bool {\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n check_nullifier_exists(nullifier)\n }\n // docs:end:is_initialized\n\n // docs:start:initialize\n pub fn initialize(\n self,\n note: &mut Note,\n owner: Option<AztecAddress>,\n broadcast: bool,\n ) {\n let context = self.context.unwrap();\n\n // Nullify the storage slot.\n let compute_initialization_nullifier = self.compute_initialization_nullifier;\n let nullifier = compute_initialization_nullifier(self.storage_slot, owner);\n context.push_new_nullifier(nullifier, 0);\n\n create_note(context, self.storage_slot, note, self.note_interface, broadcast);\n }\n // docs:end:initialize\n\n // docs:start:replace\n pub fn replace(\n self,\n new_note: &mut Note,\n broadcast: bool,\n ) {\n let context = self.context.unwrap();\n let prev_note = get_note(context, self.storage_slot, self.note_interface);\n\n // Nullify previous note.\n destroy_note(context, prev_note, self.note_interface);\n\n // Add replacement note.\n create_note(context, self.storage_slot, new_note, self.note_interface, broadcast);\n }\n // docs:end:replace\n\n // docs:start:get_note\n pub fn get_note(self, broadcast: bool) -> Note {\n let context = self.context.unwrap();\n let mut note = get_note(context, self.storage_slot, self.note_interface);\n\n // Nullify current note to make sure it's reading the latest note.\n destroy_note(context, note, self.note_interface);\n\n // Add the same note again.\n // Because a nonce is added to every note in the kernel, its nullifier will be different.\n create_note(context, self.storage_slot, &mut note, self.note_interface, broadcast);\n\n note\n }\n // docs:end:get_note\n\n // docs:start:view_note\n unconstrained pub fn view_note(self) -> Note {\n let options = NoteViewerOptions::new().set_limit(1);\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\n }\n // docs:end:view_note\n}\n",
954
966
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/state_vars/singleton.nr"
955
967
  },
956
- "48": {
968
+ "51": {
957
969
  "source": "use crate::types::type_serialization::TypeSerializationInterface;\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\n\nfn deserializeBool(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n}\n\nfn serializeBool(value: bool) -> [Field; BOOL_SERIALIZED_LEN] {\n [value as Field]\n}\n\nglobal BoolSerializationMethods = TypeSerializationInterface {\n deserialize: deserializeBool,\n serialize: serializeBool,\n};\n",
958
970
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/type_serialization/bool_serialization.nr"
959
971
  },
960
- "50": {
972
+ "53": {
961
973
  "source": "struct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: Field,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new(initial_value: T) -> Self {\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: Field) -> T {\n assert(index as u64 < self.len as u64);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: Field) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len as u64 < MaxLen as u64);\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn push_array<Len>(&mut self, array: [T; Len]) {\n let newLen = self.len + array.len();\n assert(newLen as u64 <= MaxLen as u64);\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = newLen;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n\n let elem = self.storage[self.len - 1];\n self.len -= 1;\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if (!exceeded_len) {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n\n#[test]\nfn test_vec_push_pop() {\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(0);\n assert(vec.len == 0);\n vec.push(2);\n assert(vec.len == 1);\n vec.push(4);\n assert(vec.len == 2);\n vec.push(6);\n assert(vec.len == 3);\n let x = vec.pop();\n assert(x == 6);\n assert(vec.len == 2);\n assert(vec.get(0) == 2);\n assert(vec.get(1) == 4);\n}\n\n#[test]\nfn test_vec_push_array() {\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(0);\n vec.push_array([2, 4]);\n assert(vec.len == 2);\n assert(vec.get(0) == 2);\n assert(vec.get(1) == 4);\n}\n\n#[test(should_fail)]\nfn test_vec_get_out_of_bound() {\n let mut vec: BoundedVec<Field, 2> = BoundedVec::new(0);\n vec.push_array([2, 4]);\n let _x = vec.get(2);\n}\n\n#[test(should_fail)]\nfn test_vec_get_not_declared() {\n let mut vec: BoundedVec<Field, 2> = BoundedVec::new(0);\n vec.push_array([2]);\n let _x = vec.get(1);\n}\n\n#[test(should_fail)]\nfn test_vec_get_uninitialized() {\n let mut vec: BoundedVec<Field, 2> = BoundedVec::new(0);\n let _x = vec.get(0);\n}\n\n#[test(should_fail)]\nfn test_vec_push_overflow() {\n let mut vec: BoundedVec<Field, 1> = BoundedVec::new(0);\n vec.push(1);\n vec.push(2);\n}\n\n#[test]\nfn test_vec_any() {\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(0);\n vec.push_array([2, 4, 6]);\n assert(vec.any(|v| v == 2) == true);\n assert(vec.any(|v| v == 4) == true);\n assert(vec.any(|v| v == 6) == true);\n assert(vec.any(|v| v == 3) == false);\n}\n\n#[test]\nfn test_vec_any_not_default() {\n let default_value = 1;\n let mut vec: BoundedVec<Field, 3> = BoundedVec::new(default_value);\n vec.push_array([2, 4]);\n assert(vec.any(|v| v == default_value) == false);\n}\n",
962
974
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/types/vec.nr"
963
975
  },
964
- "62": {
965
- "source": "pub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: Field) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n\n// TODO(#3470): Copied over from https://github.com/AztecProtocol/aztec-packages/blob/a07c4bd47313be6aa604a63f37857eb0136b41ba/yarn-project/noir-protocol-circuits/src/crates/rollup-lib/src/base/base_rollup_inputs.nr#L599\n// move to a shared place?\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n dep::std::eddsa::lt_bytes32(lhs, rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n dep::std::eddsa::lt_bytes32(rhs, lhs)\n}\n\nstruct Reader<N> {\n data: [Field; N],\n offset: Field,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n } \n}\n",
976
+ "65": {
977
+ "source": "pub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: Field) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n\n// TODO(#3470): Copied over from https://github.com/AztecProtocol/aztec-packages/blob/a07c4bd47313be6aa604a63f37857eb0136b41ba/yarn-project/noir-protocol-circuits/src/crates/rollup-lib/src/base/base_rollup_inputs.nr#L599\n// move to a shared place?\n\n// TODO to radix returns u8, so we cannot use bigger radixes. It'd be ideal to use a radix of the maximum range-constrained integer noir supports\npub fn full_field_less_than(lhs: Field, rhs: Field) -> bool {\n lhs.lt(rhs)\n}\n\npub fn full_field_greater_than(lhs: Field, rhs: Field) -> bool {\n rhs.lt(lhs)\n}\n\nstruct Reader<N> {\n data: [Field; N],\n offset: Field,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n } \n}\n",
966
978
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/utils.nr"
967
979
  },
968
- "64": {
969
- "source": "use dep::protocol_types::{\n abis::{\n block_header::BlockHeader,\n call_context::CallContext,\n function_data::FunctionData,\n function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_stack_item::PrivateCallStackItem,\n call_stack_item::PublicCallStackItem,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n address::{\n AztecAddress,\n EthAddress,\n },\n constants::{\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n },\n contrakt::{\n deployment_data::ContractDeploymentData,\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n hash::hash_args,\n grumpkin_point::GrumpkinPoint,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\nuse crate::abi::{\n PrivateContextInputs,\n PublicContextInputs,\n};\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\n\nuse crate::types::{\n vec::BoundedVec,\n};\n\nuse crate::utils::Reader;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n get_block_header::get_block_header,\n};\n\nuse dep::std::option::Option;\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: Field,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n read_requests: BoundedVec<SideEffect, MAX_READ_REQUESTS_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n block_header: BlockHeader,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n // starts at 1 because all private calls have txhash nullifier as 0th nullifier\n // and therefore 0th sideeffect. increment this for each side effect in this context\n side_effect_counter: 1,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(SideEffect::empty()),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n block_header: inputs.block_header,\n\n private_call_stack_hashes: BoundedVec::new(0),\n public_call_stack_hashes: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn get_block_header(self, block_number: u32) -> BlockHeader {\n get_block_header(block_number, self)\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n end_side_effect_counter: self.side_effect_counter,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_header: self.block_header,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n pub fn push_read_request(&mut self, read_request: Field) {\n let side_effect = SideEffect {\n value: read_request,\n counter: self.side_effect_counter,\n };\n self.read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter,\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: nullified_commitment,\n counter: self.side_effect_counter,\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, content: Field) \n // docs:end:context_message_portal\n {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n msg_key: Field,\n content: Field,\n secret: Field\n ) \n // docs:end:context_consume_l1_to_l2_message\n {\n let nullifier = process_l1_to_l2_message(self.block_header.l1_to_l2_message_tree_root, self.this_address(), self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address,\n function_selector, \n args_hash,\n );\n let mut reader = Reader::new(fields);\n\n let item = PrivateCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData {\n selector: FunctionSelector::from_field(reader.read()),\n is_internal: reader.read() as bool,\n is_private: reader.read() as bool,\n is_constructor: reader.read() as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : AztecAddress::from_field(reader.read()),\n storage_contract_address : AztecAddress::from_field(reader.read()),\n portal_contract_address : EthAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()), // practically same as fields[1]\n is_delegate_call : reader.read() as bool,\n is_static_call : reader.read() as bool,\n is_contract_deployment: reader.read() as bool,\n start_side_effect_counter: reader.read(),\n },\n args_hash: reader.read(),\n return_values: reader.read_array([0; RETURN_VALUES_LENGTH]), // +1\n read_requests: reader.read_struct_array(SideEffect::deserialise, [SideEffect::empty(); MAX_READ_REQUESTS_PER_CALL]),\n new_commitments: reader.read_struct_array(SideEffect::deserialise, [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialise, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_stack_hashes: reader.read_array([0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_array([0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n end_side_effect_counter: reader.read(),\n encrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n unencrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n encrypted_log_preimages_length: reader.read(),\n unencrypted_log_preimages_length: reader.read(),\n block_header: BlockHeader{\n // Must match order in `private_circuit_public_inputs.hpp`\n note_hash_tree_root : reader.read(),\n nullifier_tree_root : reader.read(),\n contract_tree_root : reader.read(),\n l1_to_l2_message_tree_root : reader.read(),\n archive_root : reader.read(),\n public_data_tree_root: reader.read(),\n global_variables_hash: reader.read(),\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: GrumpkinPoint {\n x: reader.read(), \n y: reader.read()\n },\n constructor_vk_hash : reader.read(),\n function_tree_root : reader.read(),\n contract_address_salt : reader.read(),\n portal_contract_address : EthAddress::from_field(reader.read()),\n },\n chain_id: reader.read(),\n version: reader.read(),\n },\n is_execution_request: reader.read() as bool,\n };\n\n reader.finish();\n \n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.private_call_stack_hashes.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash\n );\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(fields[0]),\n function_data: FunctionData {\n selector: FunctionSelector::from_field(fields[1]),\n is_internal: fields[2] as bool,\n is_private: fields[3] as bool,\n is_constructor: fields[4] as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : AztecAddress::from_field(fields[5]),\n storage_contract_address : AztecAddress::from_field(fields[6]),\n portal_contract_address : EthAddress::from_field(fields[7]),\n function_selector: FunctionSelector::from_field(fields[8]), // practically same as fields[1]\n is_delegate_call : fields[9] as bool,\n is_static_call : fields[10] as bool,\n is_contract_deployment: fields[11] as bool,\n start_side_effect_counter: fields[12],\n },\n args_hash: fields[13],\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_header: BlockHeader::empty(),\n prover_address: AztecAddress::zero(),\n },\n is_execution_request: true,\n };\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: Field,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\n unencrypted_logs_preimages_length: Field,\n\n block_header: BlockHeader,\n prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = StorageRead::empty();\n let empty_storage_update = StorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n side_effect_counter: 0, // no initial nullifier in new public context. increment on every side effect\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_reads: BoundedVec::new(empty_storage_read),\n public_call_stack_hashes: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_header: inputs.block_header,\n prover_address: AztecAddress::zero(),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.public_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.public_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n pub fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_header: self.inputs.block_header,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n pub fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_header.l1_to_l2_message_tree_root, this, self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n _self: Self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n pub fn call_public_function_no_args(\n _self: Self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context {\n private: Option::some(context),\n public: Option::none()\n }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context {\n public: Option::some(context),\n private: Option::none()\n }\n }\n\n pub fn none() -> Context {\n Context {\n public: Option::none(),\n private: Option::none()\n }\n }\n}\n",
980
+ "67": {
981
+ "source": "use dep::protocol_types::{\n abis::{\n block_header::BlockHeader,\n call_context::CallContext,\n function_data::FunctionData,\n function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_stack_item::PrivateCallStackItem,\n call_stack_item::PublicCallStackItem,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n address::{\n AztecAddress,\n EthAddress,\n },\n constants::{\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n },\n contrakt::{\n deployment_data::ContractDeploymentData,\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n hash::hash_args,\n grumpkin_point::GrumpkinPoint,\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\nuse crate::abi::{\n PrivateContextInputs,\n PublicContextInputs,\n};\n\n// l1 to l2 messaging\nuse crate::messaging::process_l1_to_l2_message;\n\nuse crate::types::{\n vec::BoundedVec,\n};\n\nuse crate::utils::Reader;\n\nuse crate::oracle::{\n arguments,\n call_private_function::call_private_function_internal,\n public_call::call_public_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal,\n context::get_portal_address,\n get_block_header::get_block_header,\n};\n\nuse dep::std::option::Option;\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n read_requests: BoundedVec<SideEffect, MAX_READ_REQUESTS_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n block_header: BlockHeader,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs: inputs,\n side_effect_counter: inputs.call_context.start_side_effect_counter,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n read_requests: BoundedVec::new(SideEffect::empty()),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n block_header: inputs.block_header,\n\n private_call_stack_hashes: BoundedVec::new(0),\n public_call_stack_hashes: BoundedVec::new(0),\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.private_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn get_block_header(self, block_number: u32) -> BlockHeader {\n get_block_header(block_number, self)\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n read_requests: self.read_requests.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n end_side_effect_counter: self.side_effect_counter,\n encrypted_logs_hash: encrypted_logs_hash,\n unencrypted_logs_hash: unencrypted_logs_hash,\n encrypted_log_preimages_length: encrypted_log_preimages_length,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_header: self.block_header,\n contract_deployment_data: self.inputs.contract_deployment_data,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version,\n };\n priv_circuit_pub_inputs\n }\n\n pub fn push_read_request(&mut self, read_request: Field) {\n let side_effect = SideEffect {\n value: read_request,\n counter: self.side_effect_counter,\n };\n self.read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter,\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: nullified_commitment,\n counter: self.side_effect_counter,\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, content: Field) \n // docs:end:context_message_portal\n {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(\n &mut self,\n msg_key: Field,\n content: Field,\n secret: Field\n ) \n // docs:end:context_consume_l1_to_l2_message\n {\n let nullifier = process_l1_to_l2_message(self.block_header.l1_to_l2_message_tree_root, self.this_address(), self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_private_function_no_args(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_private_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let fields = call_private_function_internal(\n contract_address,\n function_selector, \n args_hash,\n self.side_effect_counter,\n );\n let mut reader = Reader::new(fields);\n\n let item = PrivateCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData {\n selector: FunctionSelector::from_field(reader.read()),\n is_internal: reader.read() as bool,\n is_private: reader.read() as bool,\n is_constructor: reader.read() as bool,\n },\n public_inputs: PrivateCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : AztecAddress::from_field(reader.read()),\n storage_contract_address : AztecAddress::from_field(reader.read()),\n portal_contract_address : EthAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()), // practically same as fields[1]\n is_delegate_call : reader.read() as bool,\n is_static_call : reader.read() as bool,\n is_contract_deployment: reader.read() as bool,\n start_side_effect_counter: reader.read() as u32,\n },\n args_hash: reader.read(),\n return_values: reader.read_array([0; RETURN_VALUES_LENGTH]), // +1\n read_requests: reader.read_struct_array(SideEffect::deserialise, [SideEffect::empty(); MAX_READ_REQUESTS_PER_CALL]),\n new_commitments: reader.read_struct_array(SideEffect::deserialise, [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialise, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_stack_hashes: reader.read_array([0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_array([0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n end_side_effect_counter: reader.read() as u32,\n encrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n unencrypted_logs_hash: reader.read_array([0; NUM_FIELDS_PER_SHA256]),\n encrypted_log_preimages_length: reader.read(),\n unencrypted_log_preimages_length: reader.read(),\n block_header: BlockHeader{\n // Must match order in `private_circuit_public_inputs.hpp`\n note_hash_tree_root : reader.read(),\n nullifier_tree_root : reader.read(),\n contract_tree_root : reader.read(),\n l1_to_l2_message_tree_root : reader.read(),\n archive_root : reader.read(),\n public_data_tree_root: reader.read(),\n global_variables_hash: reader.read(),\n },\n contract_deployment_data: ContractDeploymentData {\n deployer_public_key: GrumpkinPoint {\n x: reader.read(), \n y: reader.read()\n },\n constructor_vk_hash : reader.read(),\n function_tree_root : reader.read(),\n contract_address_salt : reader.read(),\n portal_contract_address : EthAddress::from_field(reader.read()),\n },\n chain_id: reader.read(),\n version: reader.read(),\n },\n is_execution_request: reader.read() as bool,\n };\n\n reader.finish();\n\n assert_eq(item.public_inputs.call_context.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.end_side_effect_counter + 1;\n \n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n assert(item.is_execution_request == false);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.private_call_stack_hashes.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector, \n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n ) {\n let fields = enqueue_public_function_call_internal(\n contract_address, \n function_selector, \n args_hash,\n self.side_effect_counter\n );\n\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData {\n selector: FunctionSelector::from_field(reader.read()),\n is_internal: reader.read() as bool,\n is_private: reader.read() as bool,\n is_constructor: reader.read() as bool,\n },\n public_inputs: PublicCircuitPublicInputs {\n call_context: CallContext {\n msg_sender : AztecAddress::from_field(reader.read()),\n storage_contract_address : AztecAddress::from_field(reader.read()),\n portal_contract_address : EthAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()), // practically same as fields[1]\n is_delegate_call : reader.read() as bool,\n is_static_call : reader.read() as bool,\n is_contract_deployment: reader.read() as bool,\n start_side_effect_counter: reader.read() as u32,\n },\n args_hash: reader.read(),\n return_values: [0; RETURN_VALUES_LENGTH],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect::empty(); MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n block_header: BlockHeader::empty(),\n prover_address: AztecAddress::zero(),\n },\n is_execution_request: true,\n };\n reader.finish();\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.start_side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\n \n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\n // the msg_sender in the nested call to be equal to our address, and the execution context address\n // for the nested call to be equal to the address we actually called.\n assert(item.public_inputs.call_context.is_delegate_call == false);\n assert(item.public_inputs.call_context.is_static_call == false);\n assert(item.public_inputs.call_context.is_contract_deployment == false);\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address));\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_commitments: BoundedVec<SideEffect, MAX_NEW_COMMITMENTS_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\n unencrypted_logs_preimages_length: Field,\n\n block_header: BlockHeader,\n prover_address: AztecAddress,\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n let empty_storage_read = StorageRead::empty();\n let empty_storage_update = StorageUpdateRequest::empty();\n PublicContext {\n inputs: inputs,\n side_effect_counter: inputs.call_context.start_side_effect_counter,\n\n args_hash: args_hash,\n return_values: BoundedVec::new(0),\n\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\n contract_storage_reads: BoundedVec::new(empty_storage_read),\n public_call_stack_hashes: BoundedVec::new(0),\n\n new_commitments: BoundedVec::new(SideEffect::empty()),\n new_nullifiers: BoundedVec::new(SideEffectLinkedToNoteHash::empty()),\n\n new_l2_to_l1_msgs: BoundedVec::new(0),\n\n \n unencrypted_logs_hash: BoundedVec::new(0),\n unencrypted_logs_preimages_length: 0,\n\n block_header: inputs.block_header,\n prover_address: AztecAddress::zero(),\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n pub fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n pub fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n pub fn chain_id(self) -> Field {\n self.inputs.public_global_variables.chain_id\n }\n\n pub fn version(self) -> Field {\n self.inputs.public_global_variables.version\n }\n\n pub fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n pub fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n pub fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n return_values: self.return_values.storage,\n new_commitments: self.new_commitments.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n unencrypted_logs_hash: unencrypted_logs_hash,\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\n block_header: self.inputs.block_header,\n prover_address: self.prover_address,\n };\n pub_circuit_pub_inputs\n }\n\n pub fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect {\n value: note_hash,\n counter: self.side_effect_counter\n };\n self.new_commitments.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn message_portal(&mut self, content: Field) {\n self.new_l2_to_l1_msgs.push(content);\n }\n\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\n pub fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(self.block_header.l1_to_l2_message_tree_root, this, self.this_portal_address(), self.chain_id(), self.version(), msg_key, content, secret);\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n _self: Self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT],\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n call_public_function_internal(\n contract_address, \n function_selector, \n args_hash,\n )\n }\n\n pub fn call_public_function_no_args(\n _self: Self,\n contract_address: AztecAddress, \n function_selector: FunctionSelector,\n ) -> [Field; RETURN_VALUES_LENGTH] {\n call_public_function_internal(\n contract_address, \n function_selector, \n 0,\n )\n }\n\n}\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context {\n private: Option::some(context),\n public: Option::none()\n }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context {\n public: Option::some(context),\n private: Option::none()\n }\n }\n\n pub fn none() -> Context {\n Context {\n public: Option::none(),\n private: Option::none()\n }\n }\n}\n",
970
982
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/context.nr"
971
983
  },
972
- "69": {
984
+ "72": {
973
985
  "source": "use crate::abi::PublicContextInputs;\nuse crate::context::{\n PrivateContext,\n PublicContext,\n};\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_inner_note_hash,\n};\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\n\npub fn create_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface<Note, N>,\n broadcast: bool\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n let serialize = note_interface.serialize;\n let serialized_note = serialize(*note);\n assert(notify_created_note(storage_slot, serialized_note, inner_note_hash) == 0);\n\n context.push_new_note_hash(inner_note_hash);\n\n if broadcast {\n let broadcast = note_interface.broadcast;\n broadcast(context, storage_slot, *note);\n }\n}\n\npub fn create_note_hash_from_public<Note, N>(\n context: &mut PublicContext,\n storage_slot: Field,\n note: &mut Note,\n note_interface: NoteInterface<Note, N>\n) {\n let contract_address = (*context).this_address();\n\n let header = NoteHeader { contract_address, storage_slot, nonce: 0, is_transient: true };\n let set_header = note_interface.set_header;\n set_header(note, header);\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\n\n context.push_new_note_hash(inner_note_hash);\n}\n\npub fn destroy_note<Note, N>(\n context: &mut PrivateContext,\n note: Note,\n note_interface: NoteInterface<Note, N>\n) {\n let mut nullifier = 0;\n let mut nullified_commitment: Field = 0;\n let compute_nullifier = note_interface.compute_nullifier;\n nullifier = compute_nullifier(note);\n\n // We also need the note commitment corresponding to the \"nullifier\"\n let get_header = note_interface.get_header;\n let header = get_header(note);\n // `nullified_commitment` is used to inform the kernel which pending commitment\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\n // nonzero nonce implies \"persistable\" nullifier (nullifies a persistent/in-tree\n // commitment) in which case `nullified_commitment` is not used since the kernel\n // just siloes and forwards the nullifier to its output.\n if (header.is_transient) {\n // TODO(1718): Can we reuse the note commitment computed in `compute_nullifier`?\n nullified_commitment = compute_inner_note_hash(note_interface, note);\n }\n assert(notify_nullified_note(nullifier, nullified_commitment) == 0);\n\n context.push_new_nullifier(nullifier, nullified_commitment)\n}\n",
974
986
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/lifecycle.nr"
975
987
  },
976
- "70": {
988
+ "73": {
977
989
  "source": "use dep::protocol_types::{\n constants::GENERATOR_INDEX__OUTER_NULLIFIER,\n hash::pedersen_hash,\n};\nuse crate::{\n note::{\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\n note_header::NoteHeader,\n note_interface::NoteInterface,\n },\n utils::arr_copy_slice,\n};\n\npub fn compute_inner_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n\n compute_inner_hash(header.storage_slot, note_hash)\n}\n\npub fn compute_siloed_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\n\n compute_siloed_hash(header.contract_address, inner_note_hash)\n}\n\npub fn compute_unique_siloed_note_hash<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\n\n compute_unique_hash(header.nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_nullifier<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note_with_header);\n\n let input = [header.contract_address.to_field(), inner_nullifier];\n pedersen_hash(input, GENERATOR_INDEX__OUTER_NULLIFIER)\n}\n\npub fn compute_note_hash_for_read_or_nullify<Note, N>(note_interface: NoteInterface<Note, N>, note_with_header: Note) -> Field {\n let get_header = note_interface.get_header;\n let header = get_header(note_with_header);\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386)\n if (header.is_transient) {\n // If a note is transient, we just read the inner_note_hash (kernel will silo by contract address).\n compute_inner_note_hash(note_interface, note_with_header)\n } else if (header.nonce == 0) {\n // If not transient and nonce is zero, that means we are reading a public note.\n compute_siloed_note_hash(note_interface, note_with_header)\n } else {\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\n // contract address and then nonce. This hash will match the existing leaf in the private\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\n compute_unique_siloed_note_hash(note_interface, note_with_header)\n }\n}\n\npub fn compute_note_hash_and_nullifier<Note, N, S>(\n note_interface: NoteInterface<Note, N>,\n note_header: NoteHeader,\n serialized_note: [Field; S]\n) -> [Field; 4] {\n let deserialize = note_interface.deserialize;\n let set_header = note_interface.set_header;\n let mut note = deserialize(arr_copy_slice(serialized_note, [0; N], 0));\n set_header(&mut note, note_header);\n\n let compute_note_hash = note_interface.compute_note_hash;\n let note_hash = compute_note_hash(note);\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\n\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\n\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\n\n let compute_nullifier = note_interface.compute_nullifier;\n let inner_nullifier = compute_nullifier(note);\n\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\n}\n",
978
990
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/utils.nr"
979
991
  },
980
- "72": {
992
+ "75": {
981
993
  "source": "use dep::protocol_types::{\n address::AztecAddress,\n constants::{\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n },\n hash::pedersen_hash,\n};\n\npub fn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\n // TODO(#1205) Do we need a generator index here?\n pedersen_hash([storage_slot, note_hash], 0)\n}\n\npub fn compute_siloed_hash(contract_address: AztecAddress, inner_note_hash: Field) -> Field {\n let inputs = [contract_address.to_field(), inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)\n}\n\npub fn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [nonce, siloed_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)\n}\n",
982
994
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_hash.nr"
983
995
  },
984
- "75": {
996
+ "78": {
985
997
  "source": "use dep::std::option::Option;\nuse dep::protocol_types::constants::{\n MAX_READ_REQUESTS_PER_CALL,\n GET_NOTE_ORACLE_RETURN_LENGTH,\n GET_NOTES_ORACLE_RETURN_LENGTH,\n MAX_NOTES_PER_PAGE,\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\n};\nuse crate::context::PrivateContext;\nuse crate::note::{\n note_getter_options::{NoteGetterOptions, Select, Sort, SortOrder},\n note_interface::NoteInterface,\n note_viewer_options::NoteViewerOptions,\n utils::compute_note_hash_for_read_or_nullify,\n};\nuse crate::oracle;\nuse crate::types::vec::BoundedVec;\n\nfn check_note_header<Note, N>(\n context: PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n note: Note\n) {\n let get_header = note_interface.get_header;\n let header = get_header(note);\n let contract_address = context.this_address();\n assert(header.contract_address.eq(contract_address));\n assert(header.storage_slot == storage_slot);\n}\n\nfn check_note_fields<N>(fields: [Field; N], selects: BoundedVec<Option<Select>, N>) {\n for i in 0..selects.len {\n let select = selects.get_unchecked(i).unwrap_unchecked();\n assert(fields[select.field_index] == select.value, \"Mismatch return note field.\");\n }\n}\n\nfn check_notes_order<N>(\n fields_0: [Field; N],\n fields_1: [Field; N],\n sorts: BoundedVec<Option<Sort>, N>\n) {\n for i in 0..sorts.len {\n let sort = sorts.get_unchecked(i).unwrap_unchecked();\n let eq = fields_0[sort.field_index] == fields_1[sort.field_index];\n let lt = fields_0[sort.field_index] as u120 < fields_1[sort.field_index] as u120;\n if sort.order == SortOrder.ASC {\n assert(eq | lt, \"Return notes not sorted in ascending order.\");\n } else if !eq {\n assert(!lt, \"Return notes not sorted in descending order.\");\n }\n }\n}\n\npub fn get_note<Note, N>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>\n) -> Note {\n let note = get_note_internal(storage_slot, note_interface);\n\n check_note_header(*context, storage_slot, note_interface, note);\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n\n context.push_read_request(note_hash_for_read_request);\n note\n}\n\npub fn get_notes<Note, N, FILTER_ARGS>(\n context: &mut PrivateContext,\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\n let mut num_notes = 0;\n let mut prev_fields = [0; N];\n for i in 0..opt_notes.len() {\n let opt_note = opt_notes[i];\n if opt_note.is_some() {\n let note = opt_note.unwrap_unchecked();\n let serialize = note_interface.serialize;\n let fields = serialize(note);\n check_note_header(*context, storage_slot, note_interface, note);\n check_note_fields(fields, options.selects);\n if i != 0 {\n check_notes_order(prev_fields, fields, options.sorts);\n }\n prev_fields = fields;\n\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\n // failure if malicious oracle injects 0 nonce here for a \"pre-existing\" note.\n context.push_read_request(note_hash_for_read_request);\n\n num_notes += 1;\n };\n }\n if options.limit != 0 {\n assert(num_notes <= options.limit, \"Invalid number of return notes.\");\n }\n opt_notes\n}\n\nunconstrained fn get_note_internal<Note, N>(storage_slot: Field, note_interface: NoteInterface<Note, N>) -> Note {\n let placeholder_note = [Option::none()];\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n 0,\n [],\n [],\n [],\n [],\n 1, // limit\n 0, // offset\n placeholder_note,\n placeholder_fields\n )[0].unwrap() // Notice: we don't allow dummies to be returned from get_note (singular).\n}\n\nunconstrained fn get_notes_internal<Note, N, FILTER_ARGS>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteGetterOptions<Note, N, FILTER_ARGS>\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\n let opt_notes = oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields\n );\n\n let filter = options.filter;\n let filter_args = options.filter_args;\n filter(opt_notes, filter_args)\n}\n\nunconstrained pub fn view_notes<Note, N>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n options: NoteViewerOptions<Note, N>\n) -> [Option<Note>; MAX_NOTES_PER_PAGE] {\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\n oracle::notes::get_notes(\n storage_slot,\n note_interface,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n options.limit,\n options.offset,\n placeholder_opt_notes,\n placeholder_fields\n )\n}\n\nunconstrained fn flatten_options<Note, N>(\n selects: BoundedVec<Option<Select>, N>,\n sorts: BoundedVec<Option<Sort>, N>\n) -> (u8, [u8; N], [Field; N], [u8; N], [u2; N]) {\n let mut num_selects = 0;\n let mut select_by = [0; N];\n let mut select_values = [0; N];\n for i in 0..selects.len {\n let select = selects.get(i);\n if select.is_some() {\n select_by[num_selects] = select.unwrap_unchecked().field_index;\n select_values[num_selects] = select.unwrap_unchecked().value;\n num_selects += 1;\n };\n }\n\n let mut sort_by = [0; N];\n let mut sort_order = [0; N];\n for i in 0..sorts.len {\n let sort = sorts.get(i);\n if sort.is_some() {\n sort_by[i] = sort.unwrap_unchecked().field_index;\n sort_order[i] = sort.unwrap_unchecked().order;\n };\n }\n\n (num_selects, select_by, select_values, sort_by, sort_order)\n}\n",
986
998
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/note/note_getter.nr"
987
999
  },
988
- "77": {
1000
+ "80": {
989
1001
  "source": "use dep::std::option::Option;\nuse crate::note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n};\nuse crate::utils::arr_copy_slice;\n\nuse dep::protocol_types::address::AztecAddress;\n\n#[oracle(notifyCreatedNote)]\nfn notify_created_note_oracle<N>(_storage_slot: Field, _serialized_note: [Field; N], _inner_note_hash: Field) -> Field {}\n\nunconstrained pub fn notify_created_note<N>(storage_slot: Field, serialized_note: [Field; N], inner_note_hash: Field) -> Field {\n notify_created_note_oracle(storage_slot, serialized_note, inner_note_hash)\n}\n\n#[oracle(notifyNullifiedNote)]\nfn notify_nullified_note_oracle<N>(_nullifier: Field, _inner_note_hash: Field) -> Field {}\n\nunconstrained pub fn notify_nullified_note<N>(nullifier: Field, inner_note_hash: Field) -> Field {\n notify_nullified_note_oracle(nullifier, inner_note_hash)\n}\n\n#[oracle(getNotes)]\nfn get_notes_oracle<N, S>(\n _storage_slot: Field,\n _num_selects: u8,\n _select_by: [u8; N],\n _select_values: [Field; N],\n _sort_by: [u8; N],\n _sort_order: [u2; N],\n _limit: u32,\n _offset: u32,\n _return_size: u32,\n _placeholder_fields: [Field; S]\n) -> [Field; S] {}\n\nunconstrained fn get_notes_oracle_wrapper<N, S>(\n storage_slot: Field,\n num_selects: u8,\n select_by: [u8; N],\n select_values: [Field; N],\n sort_by: [u8; N],\n sort_order: [u2; N],\n limit: u32,\n offset: u32,\n mut placeholder_fields: [Field; S]\n) -> [Field; S] {\n let return_size = placeholder_fields.len() as u32;\n get_notes_oracle(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n limit,\n offset,\n return_size,\n placeholder_fields\n )\n}\n\nunconstrained pub fn get_notes<Note, N, M, S, NS>(\n storage_slot: Field,\n note_interface: NoteInterface<Note, N>,\n num_selects: u8,\n select_by: [u8; M],\n select_values: [Field; M],\n sort_by: [u8; M],\n sort_order: [u2; M],\n limit: u32,\n offset: u32,\n mut placeholder_opt_notes: [Option<Note>; S], // TODO: Remove it and use `limit` to initialize the note array.\n placeholder_fields: [Field; NS] // TODO: Remove it and use `limit` to initialize the note array.\n) -> [Option<Note>; S] {\n let fields = get_notes_oracle_wrapper(\n storage_slot,\n num_selects,\n select_by,\n select_values,\n sort_by,\n sort_order,\n limit,\n offset,\n placeholder_fields\n );\n let num_notes = fields[0] as u32;\n let contract_address = AztecAddress::from_field(fields[1]);\n let deserialize = note_interface.deserialize;\n let set_header = note_interface.set_header;\n for i in 0..placeholder_opt_notes.len() {\n if i as u32 < num_notes {\n // lengths named as per typescript.\n let return_header_length: Field = 2; // num_notes & contract_address.\n let extra_preimage_length: Field = 2; // nonce & is_transient.\n let read_offset: Field = return_header_length + i * (N + extra_preimage_length);\n let nonce = fields[read_offset];\n let is_transient = fields[read_offset + 1] as bool;\n let header = NoteHeader { contract_address, nonce, storage_slot, is_transient };\n let serialized_note = arr_copy_slice(fields, [0; N], read_offset + 2);\n let mut note = deserialize(serialized_note);\n set_header(&mut note, header);\n placeholder_opt_notes[i] = Option::some(note);\n };\n }\n placeholder_opt_notes\n}\n\n#[oracle(checkNullifierExists)]\nfn check_nullifier_exists_oracle(_inner_nullifier: Field) -> Field {}\n\nunconstrained pub fn check_nullifier_exists(inner_nullifier: Field) -> bool {\n check_nullifier_exists_oracle(inner_nullifier) == 1\n}\n",
990
1002
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/notes.nr"
991
1003
  },
992
- "78": {
993
- "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n};\n\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE + side_effect_counter\n// = 2 + 4 + 7 + 1\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 14;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(contract_address, function_selector, args_hash)\n}\n",
1004
+ "81": {
1005
+ "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n};\n\n// contract_address + \n// args_hash +\n// crate::abi::FUNCTION_DATA_SIZE +\n// crate::abi::CALL_CONTEXT_SIZE\n// = 2 + 4 + 8\nglobal ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE: Field = 14;\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter\n )\n}\n",
994
1006
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr"
995
1007
  },
996
- "83": {
997
- "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::CALL_PRIVATE_FUNCTION_RETURN_SIZE,\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(contract_address, function_selector, args_hash)\n}\n",
1008
+ "86": {
1009
+ "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector,\n address::AztecAddress,\n constants::CALL_PRIVATE_FUNCTION_RETURN_SIZE,\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32\n) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {\n call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter\n )\n}\n",
998
1010
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/call_private_function.nr"
999
1011
  },
1000
- "90": {
1012
+ "93": {
1001
1013
  "source": "#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<T, N>(storage_slot: Field, deserialize: fn([Field; N]) -> T) -> T {\n let fields = storage_read_oracle_wrapper(storage_slot);\n deserialize(fields)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\n// TODO: Remove return value.\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n",
1002
1014
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/storage.nr"
1003
1015
  },
1004
- "92": {
1016
+ "95": {
1005
1017
  "source": "use dep::protocol_types::{\n address::{\n AztecAddress,\n PartialAddress,\n },\n grumpkin_point::GrumpkinPoint,\n};\n\n#[oracle(getPublicKeyAndPartialAddress)]\nfn get_public_key_and_partial_address_oracle(_address: AztecAddress) -> [Field; 3] {}\n\nunconstrained fn get_public_key_and_partial_address_internal(address: AztecAddress) -> [Field; 3] {\n get_public_key_and_partial_address_oracle(address)\n}\n\npub fn get_public_key(address: AztecAddress) -> GrumpkinPoint {\n let result = get_public_key_and_partial_address_internal(address);\n let pub_key = GrumpkinPoint::new(result[0], result[1]);\n let partial_address = PartialAddress::from_field(result[2]);\n\n let calculated_address = AztecAddress::compute(pub_key, partial_address);\n assert(calculated_address.eq(address));\n\n pub_key\n}\n",
1006
1018
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/get_public_key.nr"
1007
1019
  },
1008
- "94": {
1020
+ "97": {
1009
1021
  "source": "use dep::protocol_types::{\n address::AztecAddress,\n constants::NUM_FIELDS_PER_SHA256,\n grumpkin_point::GrumpkinPoint,\n};\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle<N>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _encryption_pub_key: GrumpkinPoint,\n _preimage: [Field; N]\n) -> Field {}\n\nunconstrained pub fn emit_encrypted_log<N>(\n contract_address: AztecAddress,\n storage_slot: Field,\n encryption_pub_key: GrumpkinPoint,\n preimage: [Field; N]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n [emit_encrypted_log_oracle(contract_address, storage_slot, encryption_pub_key, preimage), 0]\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(_contract_address: AztecAddress, _event_selector: Field, _message: T) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n [emit_unencrypted_log_oracle(contract_address, event_selector, message), 0]\n}\n",
1010
1022
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/logs.nr"
1011
1023
  },
1012
- "95": {
1024
+ "98": {
1013
1025
  "source": "use crate::oracle::get_public_key::get_public_key;\nuse dep::protocol_types::{\n address::AztecAddress,\n grumpkin_point::GrumpkinPoint,\n};\n\n#[oracle(getSecretKey)]\nfn get_secret_key_oracle(_owner: GrumpkinPoint) -> [Field; dep::std::grumpkin_scalar::GRUMPKIN_SCALAR_SERIALIZED_LEN] {}\n\nunconstrained fn get_secret_key_internal(owner_public_key: GrumpkinPoint) -> dep::std::grumpkin_scalar::GrumpkinScalar {\n dep::std::grumpkin_scalar::deserialize_grumpkin_scalar(get_secret_key_oracle(owner_public_key))\n}\n\npub fn get_secret_key(owner: AztecAddress) -> dep::std::grumpkin_scalar::GrumpkinScalar {\n let owner_public_key = get_public_key(owner);\n let secret = get_secret_key_internal(owner_public_key);\n\n // Constrain the owner - Nullifier secret key is currently just the encryption private key so we can constrain\n // the owner by deriving the public key from the secret key and checking the result.\n let computed_public_key = dep::std::grumpkin_scalar_mul::grumpkin_fixed_base(secret);\n assert(owner_public_key.x == computed_public_key[0]);\n assert(owner_public_key.y == computed_public_key[1]);\n\n secret\n}\n",
1014
1026
  "path": "/usr/src/yarn-project/aztec-nr/aztec/src/oracle/get_secret_key.nr"
1015
1027
  },
1016
- "96": {
1017
- "source": "global ARGS_LENGTH: Field = 16;\nglobal RETURN_VALUES_LENGTH: Field = 4;\n\n/**\n * Convention for constant array lengths are mainly divided in 2 classes:\n * - FUNCTION CALL\n * - TRANSACTION\n *\n * Agreed convention is to use MAX_XXX_PER_CALL resp. MAX_XXX_PER_TX, where XXX denotes a type of element such as\n * commitment, or nullifier, e.g.,:\n * - MAX_NEW_NULLIFIERS_PER_CALL\n * - MAX_NEW_COMMITMENTS_PER_TX\n *\n * In the kernel circuits, we accumulate elements such as commitments and the nullifiers from all functions calls in a\n * transaction. Therefore, we always must have:\n * MAX_XXX_PER_TX ≥ MAX_XXX_PER_CALL\n *\n * For instance:\n * MAX_NEW_COMMITMENTS_PER_TX ≥ MAX_NEW_COMMITMENTS_PER_CALL\n * MAX_NEW_NULLIFIERS_PER_TX ≥ MAX_NEW_NULLIFIERS_PER_CALL\n *\n */\n\n// docs:start:constants\n// \"PER CALL\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_CALL: Field = 16;\nglobal MAX_NEW_NULLIFIERS_PER_CALL: Field = 16;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_CALL: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_CALL: Field = 16;\nglobal MAX_READ_REQUESTS_PER_CALL: Field = 32;\n\n// \"PER TRANSACTION\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_TX: Field = 64;\nglobal MAX_NEW_NULLIFIERS_PER_TX: Field = 64;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_TX: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_TX: Field = 16;\nglobal MAX_NEW_CONTRACTS_PER_TX: Field = 1;\nglobal MAX_OPTIONALLY_REVEALED_DATA_LENGTH_PER_TX: Field = 4;\nglobal MAX_READ_REQUESTS_PER_TX: Field = 128;\nglobal NUM_ENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\nglobal NUM_UNENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\n// docs:end:constants\n\n// ROLLUP CONTRACT CONSTANTS - constants used only in l1-contracts\nglobal NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP: Field = 16;\n\n// TREES RELATED CONSTANTS\nglobal VK_TREE_HEIGHT: Field = 3;\nglobal FUNCTION_TREE_HEIGHT: Field = 5;\nglobal CONTRACT_TREE_HEIGHT: Field = 16;\nglobal NOTE_HASH_TREE_HEIGHT: Field = 32;\nglobal PUBLIC_DATA_TREE_HEIGHT: Field = 40;\nglobal NULLIFIER_TREE_HEIGHT: Field = 20;\nglobal L1_TO_L2_MSG_TREE_HEIGHT: Field = 16;\nglobal ROLLUP_VK_TREE_HEIGHT: Field = 8;\n\n// SUB-TREES RELATED CONSTANTS\nglobal CONTRACT_SUBTREE_HEIGHT: Field = 0;\nglobal CONTRACT_SUBTREE_SIBLING_PATH_LENGTH: Field = 16;\nglobal NOTE_HASH_SUBTREE_HEIGHT: Field = 6;\nglobal NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH: Field = 26;\nglobal NULLIFIER_SUBTREE_HEIGHT: Field = 6;\nglobal PUBLIC_DATA_SUBTREE_HEIGHT: Field = 4;\nglobal ARCHIVE_HEIGHT: Field = 16;\nglobal NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH: Field = 14;\nglobal PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH: Field = 36;\nglobal L1_TO_L2_MSG_SUBTREE_HEIGHT: Field = 4;\nglobal L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH: Field = 12;\n\n// MISC CONSTANTS\nglobal FUNCTION_SELECTOR_NUM_BYTES: Field = 4;\nglobal MAPPING_SLOT_PEDERSEN_SEPARATOR: Field = 4;\nglobal NUM_FIELDS_PER_SHA256: Field = 2;\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\n// NOIR CONSTANTS - constants used only in yarn-packages/noir-contracts\n// Some are defined here because Noir doesn't yet support globals referencing other globals yet.\n// Move these constants to a noir file once the issue bellow is resolved:\n// https://github.com/noir-lang/noir/issues/1734\nglobal L1_TO_L2_MESSAGE_LENGTH: Field = 8;\nglobal L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH: Field = 26;\nglobal MAX_NOTE_FIELDS_LENGTH: Field = 20;\n// GET_NOTE_ORACLE_RETURN_LENGT = MAX_NOTE_FIELDS_LENGTH + 1 + 2\n// The plus 1 is 1 extra field for nonce.\n// + 2 for EXTRA_DATA: [number_of_return_notes, contract_address]\nglobal GET_NOTE_ORACLE_RETURN_LENGTH: Field = 23;\nglobal MAX_NOTES_PER_PAGE: Field = 10;\n// VIEW_NOTE_ORACLE_RETURN_LENGTH = MAX_NOTES_PER_PAGE * (MAX_NOTE_FIELDS_LENGTH + 1) + 2;\nglobal VIEW_NOTE_ORACLE_RETURN_LENGTH: Field = 212;\nglobal CALL_CONTEXT_LENGTH: Field = 8;\nglobal BLOCK_HEADER_LENGTH: Field = 7;\nglobal FUNCTION_DATA_LENGTH: Field = 4;\nglobal CONTRACT_DEPLOYMENT_DATA_LENGTH: Field = 6;\n// Change this ONLY if you have changed the PrivateCircuitPublicInputs structure.\n// In other words, if the structure/size of the public inputs of a function call changes then we\n// should change this constant as well as the offsets in private_call_stack_item.nr\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 189;\nglobal CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH: Field = 3;\nglobal CONTRACT_STORAGE_READ_LENGTH: Field = 2;\n// Change this ONLY if you have changed the PublicCircuitPublicInputs structure.\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 190;\nglobal GET_NOTES_ORACLE_RETURN_LENGTH: Field = 674;\nglobal CALL_PRIVATE_FUNCTION_RETURN_SIZE: Field = 195;\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 87;\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 177;\nglobal COMMITMENTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal PUBLIC_DATA_WRITES_NUM_BYTES_PER_BASE_ROLLUP: Field = 1024;\nglobal CONTRACTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 32;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED: Field = 52;\nglobal L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\n\n/**\n * Enumerate the hash_indices which are used for pedersen hashing.\n * We start from 1 to avoid the default generators. The generator indices are listed\n * based on the number of elements each index hashes. The following conditions must be met:\n *\n * +-----------+-------------------------------+----------------------+\n * | Hash size | Number of elements hashed (n) | Condition to use |\n * |-----------+-------------------------------+----------------------|\n * | LOW | n ≤ 8 | 0 < hash_index ≤ 32 |\n * | MID | 8 < n ≤ 16 | 32 < hash_index ≤ 40 |\n * | HIGH | 16 < n ≤ 48 | 40 < hash_index ≤ 48 |\n * +-----------+-------------------------------+----------------------+\n *\n * Note: When modifying, modify `GeneratorIndexPacker` in packer.hpp accordingly.\n */\n// Indices with size ≤ 8\nglobal GENERATOR_INDEX__COMMITMENT = 1;\nglobal GENERATOR_INDEX__COMMITMENT_NONCE = 2;\nglobal GENERATOR_INDEX__UNIQUE_COMMITMENT = 3;\nglobal GENERATOR_INDEX__SILOED_COMMITMENT = 4;\nglobal GENERATOR_INDEX__NULLIFIER = 5;\nglobal GENERATOR_INDEX__INITIALIZATION_NULLIFIER = 6;\nglobal GENERATOR_INDEX__OUTER_NULLIFIER = 7;\nglobal GENERATOR_INDEX__PUBLIC_DATA_READ = 8;\nglobal GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST = 9;\nglobal GENERATOR_INDEX__FUNCTION_DATA = 10;\nglobal GENERATOR_INDEX__FUNCTION_LEAF = 11;\nglobal GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA = 12;\nglobal GENERATOR_INDEX__CONSTRUCTOR = 13;\nglobal GENERATOR_INDEX__CONSTRUCTOR_ARGS = 14;\nglobal GENERATOR_INDEX__CONTRACT_ADDRESS = 15;\nglobal GENERATOR_INDEX__CONTRACT_LEAF = 16;\nglobal GENERATOR_INDEX__CALL_CONTEXT = 17;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM = 18;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM_2 = 19;\nglobal GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET = 20;\nglobal GENERATOR_INDEX__L2_TO_L1_MSG = 21;\nglobal GENERATOR_INDEX__TX_CONTEXT = 22;\nglobal GENERATOR_INDEX__PUBLIC_LEAF_INDEX = 23;\nglobal GENERATOR_INDEX__PUBLIC_DATA_LEAF = 24;\nglobal GENERATOR_INDEX__SIGNED_TX_REQUEST = 25;\nglobal GENERATOR_INDEX__GLOBAL_VARIABLES = 26;\nglobal GENERATOR_INDEX__PARTIAL_ADDRESS = 27;\nglobal GENERATOR_INDEX__BLOCK_HASH = 28;\nglobal GENERATOR_INDEX__SIDE_EFFECT = 29;\n// Indices with size ≤ 16\nglobal GENERATOR_INDEX__TX_REQUEST = 33;\nglobal GENERATOR_INDEX__SIGNATURE_PAYLOAD = 34;\n// Indices with size ≤ 44\nglobal GENERATOR_INDEX__VK = 41;\nglobal GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS = 42;\nglobal GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS = 43;\nglobal GENERATOR_INDEX__FUNCTION_ARGS = 44;\n",
1028
+ "99": {
1029
+ "source": "global ARGS_LENGTH: Field = 16;\nglobal RETURN_VALUES_LENGTH: Field = 4;\n\n/**\n * Convention for constant array lengths are mainly divided in 2 classes:\n * - FUNCTION CALL\n * - TRANSACTION\n *\n * Agreed convention is to use MAX_XXX_PER_CALL resp. MAX_XXX_PER_TX, where XXX denotes a type of element such as\n * commitment, or nullifier, e.g.,:\n * - MAX_NEW_NULLIFIERS_PER_CALL\n * - MAX_NEW_COMMITMENTS_PER_TX\n *\n * In the kernel circuits, we accumulate elements such as commitments and the nullifiers from all functions calls in a\n * transaction. Therefore, we always must have:\n * MAX_XXX_PER_TX ≥ MAX_XXX_PER_CALL\n *\n * For instance:\n * MAX_NEW_COMMITMENTS_PER_TX ≥ MAX_NEW_COMMITMENTS_PER_CALL\n * MAX_NEW_NULLIFIERS_PER_TX ≥ MAX_NEW_NULLIFIERS_PER_CALL\n *\n */\n\n// docs:start:constants\n// \"PER CALL\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_CALL: Field = 16;\nglobal MAX_NEW_NULLIFIERS_PER_CALL: Field = 16;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL: Field = 4;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_CALL: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_CALL: Field = 16;\nglobal MAX_READ_REQUESTS_PER_CALL: Field = 32;\n\n// \"PER TRANSACTION\" CONSTANTS\nglobal MAX_NEW_COMMITMENTS_PER_TX: Field = 64;\nglobal MAX_NEW_NULLIFIERS_PER_TX: Field = 64;\nglobal MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX: Field = 8;\nglobal MAX_NEW_L2_TO_L1_MSGS_PER_TX: Field = 2;\nglobal MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX: Field = 16;\nglobal MAX_PUBLIC_DATA_READS_PER_TX: Field = 16;\nglobal MAX_NEW_CONTRACTS_PER_TX: Field = 1;\nglobal MAX_OPTIONALLY_REVEALED_DATA_LENGTH_PER_TX: Field = 4;\nglobal MAX_READ_REQUESTS_PER_TX: Field = 128;\nglobal NUM_ENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\nglobal NUM_UNENCRYPTED_LOGS_HASHES_PER_TX: Field = 1;\n// docs:end:constants\n\n// ROLLUP CONTRACT CONSTANTS - constants used only in l1-contracts\nglobal NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP: Field = 16;\n\n// TREES RELATED CONSTANTS\nglobal VK_TREE_HEIGHT: Field = 3;\nglobal FUNCTION_TREE_HEIGHT: Field = 5;\nglobal CONTRACT_TREE_HEIGHT: Field = 16;\nglobal NOTE_HASH_TREE_HEIGHT: Field = 32;\nglobal PUBLIC_DATA_TREE_HEIGHT: Field = 40;\nglobal NULLIFIER_TREE_HEIGHT: Field = 20;\nglobal L1_TO_L2_MSG_TREE_HEIGHT: Field = 16;\nglobal ROLLUP_VK_TREE_HEIGHT: Field = 8;\n\n// SUB-TREES RELATED CONSTANTS\nglobal CONTRACT_SUBTREE_HEIGHT: Field = 0;\nglobal CONTRACT_SUBTREE_SIBLING_PATH_LENGTH: Field = 16;\nglobal NOTE_HASH_SUBTREE_HEIGHT: Field = 6;\nglobal NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH: Field = 26;\nglobal NULLIFIER_SUBTREE_HEIGHT: Field = 6;\nglobal PUBLIC_DATA_SUBTREE_HEIGHT: Field = 4;\nglobal ARCHIVE_HEIGHT: Field = 16;\nglobal NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH: Field = 14;\nglobal PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH: Field = 36;\nglobal L1_TO_L2_MSG_SUBTREE_HEIGHT: Field = 4;\nglobal L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH: Field = 12;\n\n// MISC CONSTANTS\nglobal FUNCTION_SELECTOR_NUM_BYTES: Field = 4;\nglobal MAPPING_SLOT_PEDERSEN_SEPARATOR: Field = 4;\n// sha256 hash is stored in two fields to accommodate all 256-bits of the hash\nglobal NUM_FIELDS_PER_SHA256: Field = 2;\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\n\n// NOIR CONSTANTS - constants used only in yarn-packages/noir-contracts\n// Some are defined here because Noir doesn't yet support globals referencing other globals yet.\n// Move these constants to a noir file once the issue bellow is resolved:\n// https://github.com/noir-lang/noir/issues/1734\nglobal L1_TO_L2_MESSAGE_LENGTH: Field = 8;\nglobal L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH: Field = 26;\nglobal MAX_NOTE_FIELDS_LENGTH: Field = 20;\n// GET_NOTE_ORACLE_RETURN_LENGT = MAX_NOTE_FIELDS_LENGTH + 1 + 2\n// The plus 1 is 1 extra field for nonce.\n// + 2 for EXTRA_DATA: [number_of_return_notes, contract_address]\nglobal GET_NOTE_ORACLE_RETURN_LENGTH: Field = 23;\nglobal MAX_NOTES_PER_PAGE: Field = 10;\n// VIEW_NOTE_ORACLE_RETURN_LENGTH = MAX_NOTES_PER_PAGE * (MAX_NOTE_FIELDS_LENGTH + 1) + 2;\nglobal VIEW_NOTE_ORACLE_RETURN_LENGTH: Field = 212;\nglobal CALL_CONTEXT_LENGTH: Field = 8;\nglobal BLOCK_HEADER_LENGTH: Field = 7;\nglobal FUNCTION_DATA_LENGTH: Field = 4;\nglobal CONTRACT_DEPLOYMENT_DATA_LENGTH: Field = 6;\n// Change this ONLY if you have changed the PrivateCircuitPublicInputs structure.\n// In other words, if the structure/size of the public inputs of a function call changes then we\n// should change this constant as well as the offsets in private_call_stack_item.nr\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 189;\nglobal CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH: Field = 3;\nglobal CONTRACT_STORAGE_READ_LENGTH: Field = 2;\n// Change this ONLY if you have changed the PublicCircuitPublicInputs structure.\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH: Field = 190;\nglobal GET_NOTES_ORACLE_RETURN_LENGTH: Field = 674;\nglobal CALL_PRIVATE_FUNCTION_RETURN_SIZE: Field = 195;\nglobal PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 87;\nglobal PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH: Field = 177;\nglobal COMMITMENTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;\nglobal PUBLIC_DATA_WRITES_NUM_BYTES_PER_BASE_ROLLUP: Field = 1024;\nglobal CONTRACTS_NUM_BYTES_PER_BASE_ROLLUP: Field = 32;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED: Field = 52;\nglobal L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\nglobal LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 64;\n\n/**\n * Enumerate the hash_indices which are used for pedersen hashing.\n * We start from 1 to avoid the default generators. The generator indices are listed\n * based on the number of elements each index hashes. The following conditions must be met:\n *\n * +-----------+-------------------------------+----------------------+\n * | Hash size | Number of elements hashed (n) | Condition to use |\n * |-----------+-------------------------------+----------------------|\n * | LOW | n ≤ 8 | 0 < hash_index ≤ 32 |\n * | MID | 8 < n ≤ 16 | 32 < hash_index ≤ 40 |\n * | HIGH | 16 < n ≤ 48 | 40 < hash_index ≤ 48 |\n * +-----------+-------------------------------+----------------------+\n *\n * Note: When modifying, modify `GeneratorIndexPacker` in packer.hpp accordingly.\n */\n// Indices with size ≤ 8\nglobal GENERATOR_INDEX__COMMITMENT = 1;\nglobal GENERATOR_INDEX__COMMITMENT_NONCE = 2;\nglobal GENERATOR_INDEX__UNIQUE_COMMITMENT = 3;\nglobal GENERATOR_INDEX__SILOED_COMMITMENT = 4;\nglobal GENERATOR_INDEX__NULLIFIER = 5;\nglobal GENERATOR_INDEX__INITIALIZATION_NULLIFIER = 6;\nglobal GENERATOR_INDEX__OUTER_NULLIFIER = 7;\nglobal GENERATOR_INDEX__PUBLIC_DATA_READ = 8;\nglobal GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST = 9;\nglobal GENERATOR_INDEX__FUNCTION_DATA = 10;\nglobal GENERATOR_INDEX__FUNCTION_LEAF = 11;\nglobal GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA = 12;\nglobal GENERATOR_INDEX__CONSTRUCTOR = 13;\nglobal GENERATOR_INDEX__CONSTRUCTOR_ARGS = 14;\nglobal GENERATOR_INDEX__CONTRACT_ADDRESS = 15;\nglobal GENERATOR_INDEX__CONTRACT_LEAF = 16;\nglobal GENERATOR_INDEX__CALL_CONTEXT = 17;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM = 18;\nglobal GENERATOR_INDEX__CALL_STACK_ITEM_2 = 19;\nglobal GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET = 20;\nglobal GENERATOR_INDEX__L2_TO_L1_MSG = 21;\nglobal GENERATOR_INDEX__TX_CONTEXT = 22;\nglobal GENERATOR_INDEX__PUBLIC_LEAF_INDEX = 23;\nglobal GENERATOR_INDEX__PUBLIC_DATA_LEAF = 24;\nglobal GENERATOR_INDEX__SIGNED_TX_REQUEST = 25;\nglobal GENERATOR_INDEX__GLOBAL_VARIABLES = 26;\nglobal GENERATOR_INDEX__PARTIAL_ADDRESS = 27;\nglobal GENERATOR_INDEX__BLOCK_HASH = 28;\nglobal GENERATOR_INDEX__SIDE_EFFECT = 29;\n// Indices with size ≤ 16\nglobal GENERATOR_INDEX__TX_REQUEST = 33;\nglobal GENERATOR_INDEX__SIGNATURE_PAYLOAD = 34;\n// Indices with size ≤ 44\nglobal GENERATOR_INDEX__VK = 41;\nglobal GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS = 42;\nglobal GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS = 43;\nglobal GENERATOR_INDEX__FUNCTION_ARGS = 44;\n",
1018
1030
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/constants.nr"
1019
1031
  },
1020
- "99": {
1021
- "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::function_leaf_preimage::FunctionLeafPreimage;\nuse crate::abis::new_contract_data::NewContractData as ContractLeafPreimage;\nuse crate::abis::function_data::FunctionData;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint128::U128;\nuse crate::utils::uint256::U256;\nuse crate::utils::bounded_vec::BoundedVec;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT,\n ARGS_HASH_CHUNK_LENGTH,\n CONTRACT_TREE_HEIGHT, \n FUNCTION_TREE_HEIGHT, \n NOTE_HASH_TREE_HEIGHT,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__COMMITMENT_NONCE,\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__FUNCTION_ARGS,\n};\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n// Checks that `value` is a member of a merkle tree with root `root` at position `index`\n// The witness being the `sibling_path`\npub fn assert_check_membership<N>(value: Field, index: Field, sibling_path: [Field; N], root: Field) {\n let calculated_root = root_from_sibling_path(value, index, sibling_path);\n assert(calculated_root == root, \"membership check failed\");\n}\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<N>(leaf: Field, leaf_index: Field, sibling_path: [Field; N]) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\n// Calculate the function tree root from the sibling path and leaf preimage.\n//\n// TODO: The cpp code passes in components of the FunctionLeafPreimage and then \n// builds it up. We should build it up and then pass the leaf preimage as a parameter.\n// We can then choose to have a general method that takes in anything hashable\n// and deduplicate the logic in `contract_tree_root_from_siblings`\npub fn function_tree_root_from_siblings(\n selector: FunctionSelector,\n is_internal: bool,\n is_private: bool,\n vk_hash: Field,\n acir_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = FunctionLeafPreimage { selector, is_internal, is_private, vk_hash, acir_hash };\n\n let function_leaf = function_leaf_preimage.hash();\n\n let function_tree_root = root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path);\n\n function_tree_root\n}\n\n// Calculate the contract tree root from the sibling path and leaf preimage.\npub fn contract_tree_root_from_siblings(\n function_tree_root: Field,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n contract_leaf_index: Field,\n contract_leaf_sibling_path: [Field; CONTRACT_TREE_HEIGHT]\n) -> Field {\n //TODO(Kev): if we use shorthand syntax here, we get an error as expected,\n // since variable name is `storage_contract_address` but the span is incorrect.\n let contract_leaf_preimage = ContractLeafPreimage { contract_address: storage_contract_address, portal_contract_address, function_tree_root };\n\n let contract_leaf = contract_leaf_preimage.hash();\n\n let computed_contract_tree_root = root_from_sibling_path(contract_leaf, contract_leaf_index, contract_leaf_sibling_path);\n\n computed_contract_tree_root\n}\n\npub fn read_request_root_from_siblings(\n read_request: Field,\n leaf_index: Field,\n sibling_path: [Field; NOTE_HASH_TREE_HEIGHT]\n) -> Field {\n root_from_sibling_path(read_request, leaf_index, sibling_path)\n}\n\npub fn silo_commitment(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_COMMITMENT\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\nfn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\n// TODO CPP uses blake2s for this\npub fn compute_new_contract_address_hash(new_contract_address: AztecAddress) -> Field {\n dep::std::hash::pedersen_hash([new_contract_address.to_field()])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n portal_contract_address: EthAddress,\n chain_id: Field,\n content: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new(0);\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, portal_contract_address.to_field(), chain_id, content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn compute_constructor_hash(\n function_data: FunctionData,\n args_hash: Field,\n constructor_vk_hash: Field\n) -> Field {\n let function_data_hash = function_data.hash();\n\n pedersen_hash(\n [\n function_data_hash,\n args_hash,\n constructor_vk_hash\n ],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n\n// sha256 hash is stored in two fields to accommodate all 256-bits of the hash\nglobal NUM_FIELDS_PER_SHA256 : Field = 2;\n\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n //\n // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_field(previous_log_hash[0]),\n U128::from_field(previous_log_hash[1]),\n U128::from_field(current_log_hash[0]),\n U128::from_field(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_commitment_nonce(first_nullifier: Field, commitment_index: Field) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index\n ],\n GENERATOR_INDEX__COMMITMENT_NONCE\n )\n}\n\npub fn compute_unique_siloed_commitment(nonce: Field, siloed_commitment: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_commitment\n ],\n GENERATOR_INDEX__UNIQUE_COMMITMENT\n )\n}\n\npub fn compute_unique_siloed_commitments<N>(\n first_nullifier: Field,\n siloed_commitments: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_commitments = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_commitment = siloed_commitments[i];\n if siloed_commitment.value != 0 {\n let nonce = compute_commitment_nonce(first_nullifier, i);\n unique_siloed_commitments[i] = SideEffect {\n value: compute_unique_siloed_commitment(nonce, siloed_commitment.value),\n counter: siloed_commitment.counter\n };\n }\n }\n unique_siloed_commitments\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n",
1032
+ "105": {
1033
+ "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::function_leaf_preimage::FunctionLeafPreimage;\nuse crate::abis::new_contract_data::NewContractData as ContractLeafPreimage;\nuse crate::abis::function_data::FunctionData;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint256::U256;\nuse crate::utils::bounded_vec::BoundedVec;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT,\n ARGS_HASH_CHUNK_LENGTH,\n CONTRACT_TREE_HEIGHT, \n FUNCTION_TREE_HEIGHT, \n NOTE_HASH_TREE_HEIGHT,\n NUM_FIELDS_PER_SHA256,\n GENERATOR_INDEX__SILOED_COMMITMENT,\n GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__COMMITMENT_NONCE,\n GENERATOR_INDEX__UNIQUE_COMMITMENT,\n GENERATOR_INDEX__FUNCTION_ARGS,\n};\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < (args.len() as u32) {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < (args.len() as u32) {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n// Checks that `value` is a member of a merkle tree with root `root` at position `index`\n// The witness being the `sibling_path`\npub fn assert_check_membership<N>(value: Field, index: Field, sibling_path: [Field; N], root: Field) {\n let calculated_root = root_from_sibling_path(value, index, sibling_path);\n assert(calculated_root == root, \"membership check failed\");\n}\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like \n// this because it means we never even need to consider cases where \n// the index is greater than p.\npub fn root_from_sibling_path<N>(leaf: Field, leaf_index: Field, sibling_path: [Field; N]) -> Field {\n let mut node = leaf;\n let indices = leaf_index.to_le_bits(N);\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\n// Calculate the function tree root from the sibling path and leaf preimage.\n//\n// TODO: The cpp code passes in components of the FunctionLeafPreimage and then \n// builds it up. We should build it up and then pass the leaf preimage as a parameter.\n// We can then choose to have a general method that takes in anything hashable\n// and deduplicate the logic in `contract_tree_root_from_siblings`\npub fn function_tree_root_from_siblings(\n selector: FunctionSelector,\n is_internal: bool,\n is_private: bool,\n vk_hash: Field,\n acir_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = FunctionLeafPreimage { selector, is_internal, is_private, vk_hash, acir_hash };\n\n let function_leaf = function_leaf_preimage.hash();\n\n let function_tree_root = root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path);\n\n function_tree_root\n}\n\n// Calculate the contract tree root from the sibling path and leaf preimage.\npub fn contract_tree_root_from_siblings(\n function_tree_root: Field,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n contract_leaf_index: Field,\n contract_leaf_sibling_path: [Field; CONTRACT_TREE_HEIGHT]\n) -> Field {\n //TODO(Kev): if we use shorthand syntax here, we get an error as expected,\n // since variable name is `storage_contract_address` but the span is incorrect.\n let contract_leaf_preimage = ContractLeafPreimage { contract_address: storage_contract_address, portal_contract_address, function_tree_root };\n\n let contract_leaf = contract_leaf_preimage.hash();\n\n let computed_contract_tree_root = root_from_sibling_path(contract_leaf, contract_leaf_index, contract_leaf_sibling_path);\n\n computed_contract_tree_root\n}\n\npub fn read_request_root_from_siblings(\n read_request: Field,\n leaf_index: Field,\n sibling_path: [Field; NOTE_HASH_TREE_HEIGHT]\n) -> Field {\n root_from_sibling_path(read_request, leaf_index, sibling_path)\n}\n\npub fn silo_commitment(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_COMMITMENT\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\nfn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\n// TODO CPP uses blake2s for this\npub fn compute_new_contract_address_hash(new_contract_address: AztecAddress) -> Field {\n dep::std::hash::pedersen_hash([new_contract_address.to_field()])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n portal_contract_address: EthAddress,\n chain_id: Field,\n content: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new(0);\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, portal_contract_address.to_field(), chain_id, content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn compute_constructor_hash(\n function_data: FunctionData,\n args_hash: Field,\n constructor_vk_hash: Field\n) -> Field {\n let function_data_hash = function_data.hash();\n\n pedersen_hash(\n [\n function_data_hash,\n args_hash,\n constructor_vk_hash\n ],\n GENERATOR_INDEX__CONSTRUCTOR\n )\n}\n\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n //\n // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_integer(previous_log_hash[0]),\n U128::from_integer(previous_log_hash[1]),\n U128::from_integer(current_log_hash[0]),\n U128::from_integer(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_commitment_nonce(first_nullifier: Field, commitment_index: Field) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index\n ],\n GENERATOR_INDEX__COMMITMENT_NONCE\n )\n}\n\npub fn compute_unique_siloed_commitment(nonce: Field, siloed_commitment: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_commitment\n ],\n GENERATOR_INDEX__UNIQUE_COMMITMENT\n )\n}\n\npub fn compute_unique_siloed_commitments<N>(\n first_nullifier: Field,\n siloed_commitments: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_commitments = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_commitment = siloed_commitments[i];\n if siloed_commitment.value != 0 {\n let nonce = compute_commitment_nonce(first_nullifier, i);\n unique_siloed_commitments[i] = SideEffect {\n value: compute_unique_siloed_commitment(nonce, siloed_commitment.value),\n counter: siloed_commitment.counter\n };\n }\n }\n unique_siloed_commitments\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n",
1022
1034
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/hash.nr"
1023
1035
  },
1024
- "115": {
1025
- "source": "use crate::{\n constants::{\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n },\n hash::pedersen_hash,\n utils,\n grumpkin_point::GrumpkinPoint,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::Empty;\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(pub_key: GrumpkinPoint, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_key.x, pub_key.y, partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n \n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl EthAddress{\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn to_field(self) -> Field{\n self.inner\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl PartialAddress {\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(contract_address_salt : Field, function_tree_root : Field, constructor_hash : Field) -> Self {\n PartialAddress::from_field(\n pedersen_hash([\n // TODO why the zeroes?\n 0,\n 0,\n contract_address_salt,\n function_tree_root,\n constructor_hash\n ], GENERATOR_INDEX__PARTIAL_ADDRESS)\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n",
1036
+ "121": {
1037
+ "source": "use crate::{\n constants::{\n GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__PARTIAL_ADDRESS,\n },\n hash::pedersen_hash,\n utils,\n grumpkin_point::GrumpkinPoint,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, ToField};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(pub_key: GrumpkinPoint, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_key.x, pub_key.y, partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n \n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl EthAddress{\n pub fn zero() -> Self {\n Self {\n inner: 0\n }\n }\n\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs : Self, rhs : Self) -> Self{\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self {\n inner : result\n }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0]\n }\n }\n}\n\n// Partial address\nstruct PartialAddress {\n inner : Field\n}\n\nimpl ToField for PartialAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl PartialAddress {\n pub fn from_field(field : Field) -> Self {\n Self {\n inner : field\n }\n }\n\n pub fn compute(contract_address_salt : Field, function_tree_root : Field, constructor_hash : Field) -> Self {\n PartialAddress::from_field(\n pedersen_hash([\n // TODO why the zeroes?\n 0,\n 0,\n contract_address_salt,\n function_tree_root,\n constructor_hash\n ], GENERATOR_INDEX__PARTIAL_ADDRESS)\n )\n }\n\n pub fn to_field(self) -> Field {\n self.inner\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n",
1026
1038
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/address.nr"
1027
1039
  },
1028
- "120": {
1040
+ "126": {
1029
1041
  "source": "use crate::address::EthAddress;\nuse crate::constants::{\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\n};\nuse crate::hash::pedersen_hash;\nuse crate::grumpkin_point::GrumpkinPoint;\nuse crate::traits::Hash;\n\n// docs:start:contract-deployment-data\nstruct ContractDeploymentData {\n deployer_public_key : GrumpkinPoint,\n constructor_vk_hash : Field,\n function_tree_root : Field,\n contract_address_salt : Field,\n portal_contract_address : EthAddress,\n}\n// docs:end:contract-deployment-data\n\nimpl Hash for ContractDeploymentData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)\n }\n}\n\nimpl ContractDeploymentData {\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\n [\n self.deployer_public_key.x,\n self.deployer_public_key.y,\n self.constructor_vk_hash,\n self.function_tree_root,\n self.contract_address_salt,\n self.portal_contract_address.to_field(),\n ]\n }\n\n fn assert_is_zero(self) {\n self.deployer_public_key.assert_is_zero();\n assert(self.constructor_vk_hash == 0);\n assert(self.function_tree_root == 0);\n assert(self.contract_address_salt == 0);\n self.portal_contract_address.assert_is_zero();\n }\n\n}\n",
1030
1042
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/deployment_data.nr"
1031
1043
  },
1032
- "121": {
1044
+ "127": {
1033
1045
  "source": "use crate::{\n constants::{\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Hash, Empty};\n\nstruct StorageUpdateRequest{\n storage_slot : Field,\n old_value : Field,\n new_value : Field,\n}\n\nimpl Eq for StorageUpdateRequest {\n fn eq(self, request: Self) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n (request.storage_slot == self.storage_slot)\n & (request.old_value == self.old_value)\n & (request.new_value == self.new_value)\n }\n}\n\nimpl Empty for StorageUpdateRequest {\n fn empty() -> Self {\n StorageUpdateRequest {\n storage_slot: 0,\n old_value: 0,\n new_value: 0,\n }\n }\n}\n\nimpl Hash for StorageUpdateRequest {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)\n }\n}\n\nimpl StorageUpdateRequest {\n pub fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\n [self.storage_slot, self.old_value, self.new_value]\n }\n\n pub fn is_empty(self) -> bool {\n self.storage_slot == 0\n }\n}\n",
1034
1046
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/storage_update_request.nr"
1035
1047
  },
1036
- "122": {
1048
+ "128": {
1037
1049
  "source": "use crate::{\n constants::{\n CONTRACT_STORAGE_READ_LENGTH,\n GENERATOR_INDEX__PUBLIC_DATA_READ,\n },\n hash::pedersen_hash,\n};\nuse crate::traits::Empty;\n\nstruct StorageRead {\n storage_slot: Field,\n current_value: Field,\n}\n\nimpl Empty for StorageRead { \n fn empty() -> Self {\n Self {\n storage_slot: 0,\n current_value: 0,\n }\n }\n}\n\nimpl StorageRead {\n\n pub fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\n [self.storage_slot, self.current_value]\n }\n\n pub fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)\n }\n\n pub fn is_empty(self) -> bool {\n self.storage_slot == 0\n }\n}\n",
1038
1050
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/contrakt/storage_read.nr"
1039
1051
  },
1040
- "131": {
1052
+ "136": {
1041
1053
  "source": "use crate::abis::{\n function_data::FunctionData,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n};\nuse crate::address::AztecAddress;\nuse crate::constants::{\n GENERATOR_INDEX__CALL_STACK_ITEM,\n};\nuse crate::traits::Hash;\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n public_inputs: PrivateCircuitPublicInputs,\n function_data: FunctionData,\n // Not really needed for PrivateCallStackItem.\n is_execution_request: bool,\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.contract_address.to_field(),\n self.function_data.hash(),\n self.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs,\n };\n call_stack_item\n }\n}\n",
1042
1054
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/call_stack_item.nr"
1043
1055
  },
1044
- "136": {
1045
- "source": "use crate::constants::{GENERATOR_INDEX__SIDE_EFFECT};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash};\n\nstruct SideEffect{\n value: Field,\n counter: Field,\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffect {\n pub fn serialize(self) -> [Field; 2] {\n [self.value, self.counter]\n }\n\n pub fn deserialise(values: [Field; 2]) -> Self {\n Self {\n value: values[0],\n counter: values[1],\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.counter == 0)\n }\n}\n\nstruct SideEffectLinkedToNoteHash{\n value: Field,\n note_hash: Field,\n counter: Field,\n}\n\nimpl Eq for SideEffectLinkedToNoteHash {\n fn eq(self, side_effect: SideEffectLinkedToNoteHash) -> bool {\n (self.value == side_effect.value)\n & (self.note_hash == side_effect.note_hash) \n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffectLinkedToNoteHash {\n fn empty() -> Self {\n SideEffectLinkedToNoteHash {\n value: 0,\n note_hash: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffectLinkedToNoteHash {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffectLinkedToNoteHash{\n pub fn serialize(self) -> [Field; 3] {\n [self.value, self.note_hash, self.counter]\n }\n\n pub fn deserialise(values: [Field; 3]) -> Self {\n Self {\n value: values[0],\n note_hash: values[1],\n counter: values[2],\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.note_hash == 0)\n & (self.counter == 0)\n }\n}\n\n",
1056
+ "141": {
1057
+ "source": "use crate::constants::{GENERATOR_INDEX__SIDE_EFFECT};\nuse dep::std::cmp::Eq;\nuse crate::traits::{Empty, Hash};\n\ntrait Ordered {\n fn counter(self) -> u32;\n}\n\nstruct SideEffect{\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffect {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffect {\n pub fn serialize(self) -> [Field; 2] {\n [self.value, self.counter as Field]\n }\n\n pub fn deserialise(values: [Field; 2]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.counter == 0)\n }\n}\n\nstruct SideEffectLinkedToNoteHash{\n value: Field,\n note_hash: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffectLinkedToNoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffectLinkedToNoteHash {\n fn eq(self, side_effect: SideEffectLinkedToNoteHash) -> bool {\n (self.value == side_effect.value)\n & (self.note_hash == side_effect.note_hash) \n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffectLinkedToNoteHash {\n fn empty() -> Self {\n SideEffectLinkedToNoteHash {\n value: 0,\n note_hash: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffectLinkedToNoteHash {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl SideEffectLinkedToNoteHash{\n pub fn serialize(self) -> [Field; 3] {\n [self.value, self.note_hash, self.counter as Field]\n }\n\n pub fn deserialise(values: [Field; 3]) -> Self {\n Self {\n value: values[0],\n note_hash: values[1],\n counter: values[2] as u32,\n }\n }\n\n pub fn is_empty(self) -> bool {\n (self.value == 0)\n & (self.note_hash == 0)\n & (self.counter == 0)\n }\n}\n\n",
1046
1058
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/side_effect.nr"
1047
1059
  },
1048
- "139": {
1049
- "source": "use crate::constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n};\nuse crate::{\n abis::{\n call_context::CallContext,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n block_header::BlockHeader,\n },\n address::AztecAddress,\n contrakt::{\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n hash::{NUM_FIELDS_PER_SHA256},\n utils::bounded_vec::BoundedVec,\n};\n\nstruct PublicCircuitPublicInputs{\n call_context: CallContext,\n\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n unencrypted_log_preimages_length: Field,\n\n block_header: BlockHeader,\n\n prover_address: AztecAddress,\n}\n\nimpl PublicCircuitPublicInputs{\n fn hash(self) -> Field { \n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595) have mercy por favor \n let mut inputs: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_reads[i].hash());\n }\n inputs.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n inputs.push(self.new_commitments[i].hash());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n inputs.push(self.new_nullifiers[i].hash());\n }\n inputs.push_array(self.new_l2_to_l1_msgs);\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_header.serialize());\n inputs.push(self.prover_address.to_field());\n\n assert_eq(inputs.len(), PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PublicCircuitPublicInputs\");\n\n dep::std::hash::pedersen_hash_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n\n pub fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_reads[i].serialize());\n }\n fields.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push(self.prover_address.to_field());\n fields.storage\n }\n}\n",
1060
+ "144": {
1061
+ "source": "use crate::constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n};\nuse crate::{\n abis::{\n call_context::CallContext,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n block_header::BlockHeader,\n },\n address::AztecAddress,\n contrakt::{\n storage_read::StorageRead,\n storage_update_request::StorageUpdateRequest,\n },\n utils::bounded_vec::BoundedVec,\n};\n\nstruct PublicCircuitPublicInputs{\n call_context: CallContext,\n\n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n unencrypted_log_preimages_length: Field,\n\n block_header: BlockHeader,\n\n prover_address: AztecAddress,\n}\n\nimpl PublicCircuitPublicInputs{\n fn hash(self) -> Field { \n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595) have mercy por favor \n let mut inputs: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0);\n inputs.push(self.call_context.hash());\n inputs.push(self.args_hash);\n inputs.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n inputs.push(self.contract_storage_update_requests[i].hash());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n inputs.push(self.contract_storage_reads[i].hash());\n }\n inputs.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n inputs.push(self.new_commitments[i].hash());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n inputs.push(self.new_nullifiers[i].hash());\n }\n inputs.push_array(self.new_l2_to_l1_msgs);\n inputs.push_array(self.unencrypted_logs_hash);\n inputs.push(self.unencrypted_log_preimages_length);\n inputs.push_array(self.block_header.serialize());\n inputs.push(self.prover_address.to_field());\n\n assert_eq(inputs.len(), PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PublicCircuitPublicInputs\");\n\n dep::std::hash::pedersen_hash_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n\n pub fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize()); \n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.push_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.push_array(self.contract_storage_reads[i].serialize());\n }\n fields.push_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push(self.prover_address.to_field());\n fields.storage\n }\n}\n",
1050
1062
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/public_circuit_public_inputs.nr"
1051
1063
  },
1052
- "141": {
1053
- "source": "use crate::{\n abis::{\n call_context::CallContext,\n block_header::BlockHeader,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n contrakt::deployment_data::ContractDeploymentData,\n hash::{\n NUM_FIELDS_PER_SHA256,\n pedersen_hash,\n },\n utils::bounded_vec::BoundedVec,\n};\nuse crate::constants::{\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n RETURN_VALUES_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n};\nuse crate::traits::Hash;\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n \n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n read_requests: [SideEffect; MAX_READ_REQUESTS_PER_CALL],\n\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter : Field,\n\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n\n block_header: BlockHeader,\n\n contract_deployment_data: ContractDeploymentData,\n\n chain_id: Field,\n version: Field,\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PrivateCircuitPublicInputs\");\n\n pedersen_hash(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\n#[test]\nfn serialization_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _serialized = pcpi.serialize();\n}\n\n#[test]\nfn hash_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _hashed = pcpi.hash();\n}\n",
1064
+ "146": {
1065
+ "source": "use crate::{\n abis::{\n call_context::CallContext,\n block_header::BlockHeader,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash},\n },\n contrakt::deployment_data::ContractDeploymentData,\n hash::{\n pedersen_hash,\n },\n utils::bounded_vec::BoundedVec,\n};\nuse crate::constants::{\n MAX_READ_REQUESTS_PER_CALL,\n MAX_NEW_COMMITMENTS_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n NUM_FIELDS_PER_SHA256,\n RETURN_VALUES_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n};\nuse crate::traits::Hash;\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n \n args_hash: Field,\n return_values: [Field; RETURN_VALUES_LENGTH],\n\n read_requests: [SideEffect; MAX_READ_REQUESTS_PER_CALL],\n\n new_commitments: [SideEffect; MAX_NEW_COMMITMENTS_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter : u32,\n\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\n\n block_header: BlockHeader,\n\n contract_deployment_data: ContractDeploymentData,\n\n chain_id: Field,\n version: Field,\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0); \n fields.push(self.call_context.hash());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push(self.contract_deployment_data.hash());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH, \"Incorrect number of input fields when hashing PrivateCircuitPublicInputs\");\n\n pedersen_hash(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \n fields.push_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push_array(self.return_values);\n\n for i in 0..MAX_READ_REQUESTS_PER_CALL{\n fields.push_array(self.read_requests[i].serialize());\n }\n for i in 0..MAX_NEW_COMMITMENTS_PER_CALL{\n fields.push_array(self.new_commitments[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.push_array(self.new_nullifiers[i].serialize());\n }\n fields.push_array(self.private_call_stack_hashes);\n fields.push_array(self.public_call_stack_hashes);\n fields.push_array(self.new_l2_to_l1_msgs);\n fields.push(self.end_side_effect_counter as Field);\n fields.push_array(self.encrypted_logs_hash);\n fields.push_array(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.push_array(self.block_header.serialize());\n fields.push_array(self.contract_deployment_data.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\n#[test]\nfn serialization_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _serialized = pcpi.serialize();\n}\n\n#[test]\nfn hash_smoke() {\n let pcpi: PrivateCircuitPublicInputs = dep::std::unsafe::zeroed();\n let _hashed = pcpi.hash();\n}\n",
1054
1066
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/private_circuit_public_inputs.nr"
1055
1067
  },
1056
- "144": {
1068
+ "149": {
1057
1069
  "source": "use crate::abis::function_selector::FunctionSelector;\nuse crate::constants::GENERATOR_INDEX__FUNCTION_DATA;\n\nstruct FunctionData {\n // First four bytes of the abi encoding \n // of a function. \n selector : FunctionSelector,\n is_internal : bool,\n is_private : bool,\n is_constructor : bool,\n}\n\nimpl FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator([\n self.selector.to_field(),\n self.is_internal as Field,\n self.is_private as Field,\n self.is_constructor as Field,\n ], GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n",
1058
1070
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_data.nr"
1059
1071
  },
1060
- "147": {
1061
- "source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{EthAddress,AztecAddress},\n constants::{\n CALL_CONTEXT_LENGTH,\n GENERATOR_INDEX__CALL_CONTEXT,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::Hash;\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment : bool,\n\n start_side_effect_counter : Field,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, call_context: CallContext) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n call_context.msg_sender.eq(self.msg_sender)\n & call_context.storage_contract_address.eq(self.storage_contract_address)\n & call_context.portal_contract_address.eq(self.portal_contract_address)\n & call_context.function_selector.eq(self.function_selector)\n & (call_context.is_delegate_call == self.is_delegate_call)\n & (call_context.is_static_call == self.is_static_call)\n & (call_context.is_contract_deployment == self.is_contract_deployment)\n & (call_context.start_side_effect_counter == self.start_side_effect_counter)\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender.to_field(),\n self.storage_contract_address.to_field(),\n self.portal_contract_address.to_field(),\n self.function_selector.to_field(),\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n self.start_side_effect_counter,\n ]\n }\n\n fn assert_is_zero(self) {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n assert(self.msg_sender.to_field() == 0);\n assert(self.storage_contract_address.to_field() == 0);\n assert(self.portal_contract_address.to_field() == 0);\n assert(self.function_selector.to_field() == 0);\n assert(self.is_delegate_call == false);\n assert(self.is_static_call == false);\n assert(self.is_contract_deployment == false);\n assert(self.start_side_effect_counter == 0);\n }\n}\n",
1072
+ "154": {
1073
+ "source": "use crate::{\n abis::function_selector::FunctionSelector,\n address::{EthAddress,AztecAddress},\n constants::{\n CALL_CONTEXT_LENGTH,\n GENERATOR_INDEX__CALL_CONTEXT,\n },\n hash::pedersen_hash,\n};\nuse dep::std::cmp::Eq;\nuse crate::traits::Hash;\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n is_contract_deployment : bool,\n\n start_side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, call_context: CallContext) -> bool {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n call_context.msg_sender.eq(self.msg_sender)\n & call_context.storage_contract_address.eq(self.storage_contract_address)\n & call_context.portal_contract_address.eq(self.portal_contract_address)\n & call_context.function_selector.eq(self.function_selector)\n & (call_context.is_delegate_call == self.is_delegate_call)\n & (call_context.is_static_call == self.is_static_call)\n & (call_context.is_contract_deployment == self.is_contract_deployment)\n & (call_context.start_side_effect_counter == self.start_side_effect_counter)\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n [\n self.msg_sender.to_field(),\n self.storage_contract_address.to_field(),\n self.portal_contract_address.to_field(),\n self.function_selector.to_field(),\n self.is_delegate_call as Field,\n self.is_static_call as Field,\n self.is_contract_deployment as Field,\n self.start_side_effect_counter as Field,\n ]\n }\n\n fn assert_is_zero(self) {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)\n assert(self.msg_sender.to_field() == 0);\n assert(self.storage_contract_address.to_field() == 0);\n assert(self.portal_contract_address.to_field() == 0);\n assert(self.function_selector.to_field() == 0);\n assert(self.is_delegate_call == false);\n assert(self.is_static_call == false);\n assert(self.is_contract_deployment == false);\n assert(self.start_side_effect_counter == 0);\n }\n}\n",
1062
1074
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/call_context.nr"
1063
1075
  },
1064
- "153": {
1076
+ "160": {
1065
1077
  "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n\n pub fn from_u32(value: u32) -> Self {\n Self {\n inner : value,\n }\n }\n\n pub fn from_field(value : Field) -> Self {\n Self {\n inner : value as u32,\n }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n\n pub fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n",
1066
1078
  "path": "/usr/src/yarn-project/noir-protocol-circuits/src/crates/types/src/abis/function_selector.nr"
1067
1079
  },
1068
- "179": {
1069
- "source": "mod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::protocol_types::address::AztecAddress;\n use dep::std;\n use dep::std::option::Option;\n use dep::aztec::{\n abi::CallContext,\n context::{PrivateContext, PublicContext, Context},\n note::{\n note_header::NoteHeader,\n utils as note_utils,\n },\n oracle::get_public_key::get_public_key,\n state_vars::immutable_singleton::ImmutableSingleton,\n };\n use dep::authwit:: {\n entrypoint::{ EntrypointPayload, ENTRYPOINT_PAYLOAD_SIZE },\n account::AccountActions,\n auth_witness::get_auth_witness,\n };\n\n use crate::ecdsa_public_key_note::{\n EcdsaPublicKeyNote, EcdsaPublicKeyNoteInterface, ECDSA_PUBLIC_KEY_NOTE_LEN,\n };\n\n struct Storage {\n public_key: ImmutableSingleton<EcdsaPublicKeyNote, ECDSA_PUBLIC_KEY_NOTE_LEN>,\n }\n\n impl Storage {\n fn init(context: Context) -> Self {\n Storage {\n public_key: ImmutableSingleton::new(context, 1, EcdsaPublicKeyNoteInterface),\n }\n }\n }\n\n global ACCOUNT_ACTIONS_STORAGE_SLOT = 2;\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n fn constructor(signing_pub_key_x: pub [u8; 32], signing_pub_key_y: pub [u8; 32]) {\n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialize(&mut pub_key_note, Option::none(), true);\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(payload: pub EntrypointPayload) {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.entrypoint(payload);\n }\n\n #[aztec(private)]\n fn is_valid(message_hash: Field) -> Field {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid(message_hash)\n }\n\n #[aztec(public)]\n fn is_valid_public(message_hash: Field) -> Field {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid_public(message_hash)\n }\n\n #[aztec(public)]\n internal fn set_is_valid_storage(message_hash: Field, value: bool) {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.internal_set_is_valid_storage(message_hash, value)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, message_field: Field) -> pub bool {\n // Load public key from storage\n let storage = Storage::init(Context::private(context));\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(message_field);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let hashed_message: [u8; 32] = std::hash::sha256(message_field.to_be_bytes(32));\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(\n contract_address: AztecAddress,\n nonce: Field,\n storage_slot: Field,\n serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]\n ) -> pub [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader::new(contract_address, nonce, storage_slot);\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, serialized_note)\n }\n}\n",
1080
+ "186": {
1081
+ "source": "mod ecdsa_public_key_note;\n\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\n// The signing key is stored in an immutable private note and should be different from the signing key.\ncontract EcdsaAccount {\n use dep::aztec::protocol_types::address::AztecAddress;\n use dep::std;\n use dep::std::option::Option;\n use dep::aztec::{\n abi::CallContext,\n context::{PrivateContext, PublicContext, Context},\n note::{\n note_header::NoteHeader,\n utils as note_utils,\n },\n oracle::get_public_key::get_public_key,\n state_vars::immutable_singleton::ImmutableSingleton,\n };\n use dep::authwit:: {\n entrypoint::{ EntrypointPayload, ENTRYPOINT_PAYLOAD_SIZE },\n account::AccountActions,\n auth_witness::get_auth_witness,\n };\n\n use crate::ecdsa_public_key_note::{\n EcdsaPublicKeyNote, EcdsaPublicKeyNoteInterface, ECDSA_PUBLIC_KEY_NOTE_LEN,\n };\n\n struct Storage {\n public_key: ImmutableSingleton<EcdsaPublicKeyNote, ECDSA_PUBLIC_KEY_NOTE_LEN>,\n }\n\n impl Storage {\n fn init(context: Context) -> Self {\n Storage {\n public_key: ImmutableSingleton::new(context, 1, EcdsaPublicKeyNoteInterface),\n }\n }\n }\n\n global ACCOUNT_ACTIONS_STORAGE_SLOT = 2;\n\n // Creates a new account out of an ECDSA public key to use for signature verification\n #[aztec(private)]\n fn constructor(signing_pub_key_x: pub [u8; 32], signing_pub_key_y: pub [u8; 32]) {\n let this = context.this_address();\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\n storage.public_key.initialize(&mut pub_key_note, Option::none(), true);\n }\n\n // Note: If you globally change the entrypoint signature don't forget to update default_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(payload: pub EntrypointPayload) {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.entrypoint(payload);\n }\n\n #[aztec(private)]\n fn is_valid(message_hash: Field) -> Field {\n let actions = AccountActions::private(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid(message_hash)\n }\n\n #[aztec(public)]\n fn is_valid_public(message_hash: Field) -> Field {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.is_valid_public(message_hash)\n }\n\n #[aztec(public)]\n internal fn set_is_valid_storage(message_hash: Field, value: bool) {\n let actions = AccountActions::public(&mut context, ACCOUNT_ACTIONS_STORAGE_SLOT, is_valid_impl);\n actions.internal_set_is_valid_storage(message_hash, value)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, message_field: Field) -> pub bool {\n // Load public key from storage\n let storage = Storage::init(Context::private(context));\n let public_key = storage.public_key.get_note();\n\n // Load auth witness\n let witness: [Field; 64] = get_auth_witness(message_field);\n let mut signature: [u8; 64] = [0; 64];\n for i in 0..64 {\n signature[i] = witness[i] as u8;\n }\n\n // Verify payload signature using Ethereum's signing scheme\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\n let hashed_message: [u8; 32] = std::hash::sha256(message_field.to_be_bytes(32));\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\n assert(verification == true);\n\n true\n }\n\n // Computes note hash and nullifier.\n // Note 1: Needs to be defined by every contract producing logs.\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\n unconstrained fn compute_note_hash_and_nullifier(\n contract_address: AztecAddress,\n nonce: Field,\n storage_slot: Field,\n serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]\n ) -> pub [Field; 4] {\n assert(storage_slot == 1);\n let note_header = NoteHeader::new(contract_address, nonce, storage_slot);\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, serialized_note)\n }\n}\n",
1070
1082
  "path": "/usr/src/yarn-project/noir-contracts/contracts/ecdsa_account_contract/src/main.nr"
1071
1083
  },
1072
- "180": {
1073
- "source": "use dep::protocol_types::address::AztecAddress;\nuse dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_unique_siloed_note_hash,\n },\n oracle::{\n get_secret_key::get_secret_key,\n get_public_key::get_public_key,\n },\n log::emit_encrypted_log,\n hash::pedersen_hash,\n context::PrivateContext,\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n pub fn serialize(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n pub fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(EcdsaPublicKeyNoteInterface, self);\n let secret = get_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n pub fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n // Broadcasts the note as an encrypted log on L1.\n pub fn broadcast(self, context: &mut PrivateContext, slot: Field) {\n let encryption_pub_key = get_public_key(self.owner);\n emit_encrypted_log(\n context,\n (*context).this_address(),\n slot,\n encryption_pub_key,\n self.serialize(),\n );\n }\n}\n\nfn deserialize(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(serialized_note[4]), header: NoteHeader::empty() }\n}\n\nfn serialize(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n note.serialize()\n}\n\nfn compute_note_hash(note: EcdsaPublicKeyNote) -> Field {\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash(note.serialize(), 0)\n}\n\nfn compute_nullifier(note: EcdsaPublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: EcdsaPublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut EcdsaPublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\n// Broadcasts the note as an encrypted log on L1.\nfn broadcast(context: &mut PrivateContext, slot: Field, note: EcdsaPublicKeyNote) {\n note.broadcast(context, slot);\n}\n\nglobal EcdsaPublicKeyNoteInterface = NoteInterface {\n deserialize,\n serialize,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n broadcast,\n};\n",
1084
+ "187": {
1085
+ "source": "use dep::aztec::protocol_types::address::AztecAddress;\nuse dep::aztec::{\n note::{\n note_header::NoteHeader,\n note_interface::NoteInterface,\n utils::compute_unique_siloed_note_hash,\n },\n oracle::{\n get_secret_key::get_secret_key,\n get_public_key::get_public_key,\n },\n log::emit_encrypted_log,\n hash::pedersen_hash,\n context::PrivateContext,\n};\n\nglobal ECDSA_PUBLIC_KEY_NOTE_LEN: Field = 5;\n\n// Stores an ECDSA public key composed of two 32-byte elements\n// TODO: Do we need to include a nonce, in case we want to read/nullify/recreate with the same pubkey value?\nstruct EcdsaPublicKeyNote {\n x: [u8; 32],\n y: [u8; 32],\n owner: AztecAddress, // We store the owner address only to get the secret key to compute the nullifier\n header: NoteHeader,\n}\n\nimpl EcdsaPublicKeyNote {\n pub fn new(x: [u8; 32], y: [u8; 32], owner: AztecAddress) -> Self {\n EcdsaPublicKeyNote {\n x,\n y,\n owner,\n header: NoteHeader::empty(),\n }\n }\n\n // serialize the note as 5 fields where:\n // [0] = x[0..31] (upper bound excluded)\n // [1] = x[31]\n // [2] = y[0..31]\n // [3] = y[31]\n // [4] = owner\n pub fn serialize(self) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n let mut x: Field = 0;\n let mut y: Field = 0;\n let mut mul: Field = 1;\n\n for i in 1..32 {\n let byte_x: Field = self.x[31 - i] as Field;\n x = x + (byte_x * mul);\n let byte_y: Field = self.y[31 - i] as Field;\n y = y + (byte_y * mul);\n mul *= 256;\n }\n\n let last_x = self.x[31] as Field;\n let last_y = self.y[31] as Field;\n \n [x, last_x, y, last_y, self.owner.to_field()]\n }\n\n pub fn compute_nullifier(self) -> Field {\n let unique_siloed_note_hash = compute_unique_siloed_note_hash(EcdsaPublicKeyNoteInterface, self);\n let secret = get_secret_key(self.owner);\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash([\n unique_siloed_note_hash,\n secret.low,\n secret.high,\n ],0)\n }\n\n pub fn set_header(&mut self, header: NoteHeader) {\n self.header = header;\n }\n\n // Broadcasts the note as an encrypted log on L1.\n pub fn broadcast(self, context: &mut PrivateContext, slot: Field) {\n let encryption_pub_key = get_public_key(self.owner);\n emit_encrypted_log(\n context,\n (*context).this_address(),\n slot,\n encryption_pub_key,\n self.serialize(),\n );\n }\n}\n\nfn deserialize(serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> EcdsaPublicKeyNote {\n let mut x: [u8; 32] = [0; 32];\n let mut y: [u8; 32] = [0; 32];\n\n let part_x = serialized_note[0].to_be_bytes(32);\n for i in 0..31 {\n x[i] = part_x[i + 1];\n }\n x[31] = serialized_note[1].to_be_bytes(32)[31];\n\n let part_y = serialized_note[2].to_be_bytes(32);\n for i in 0..31 {\n y[i] = part_y[i + 1];\n }\n y[31] = serialized_note[3].to_be_bytes(32)[31];\n\n EcdsaPublicKeyNote { x, y, owner: AztecAddress::from_field(serialized_note[4]), header: NoteHeader::empty() }\n}\n\nfn serialize(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] {\n note.serialize()\n}\n\nfn compute_note_hash(note: EcdsaPublicKeyNote) -> Field {\n // TODO(#1205) Should use a non-zero generator index.\n pedersen_hash(note.serialize(), 0)\n}\n\nfn compute_nullifier(note: EcdsaPublicKeyNote) -> Field {\n note.compute_nullifier()\n}\n\nfn get_header(note: EcdsaPublicKeyNote) -> NoteHeader {\n note.header\n}\n\nfn set_header(note: &mut EcdsaPublicKeyNote, header: NoteHeader) {\n note.set_header(header);\n}\n\n// Broadcasts the note as an encrypted log on L1.\nfn broadcast(context: &mut PrivateContext, slot: Field, note: EcdsaPublicKeyNote) {\n note.broadcast(context, slot);\n}\n\nglobal EcdsaPublicKeyNoteInterface = NoteInterface {\n deserialize,\n serialize,\n compute_note_hash,\n compute_nullifier,\n get_header,\n set_header,\n broadcast,\n};\n",
1074
1086
  "path": "/usr/src/yarn-project/noir-contracts/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr"
1075
1087
  },
1076
- "181": {
1077
- "source": "use dep::aztec::abi;\nuse dep::aztec::types::vec::BoundedVec;\nuse dep::aztec::context::PrivateContext;\nuse dep::protocol_types::{\n abis::{\n call_stack_item::{\n PrivateCallStackItem,\n PublicCallStackItem,\n },\n function_selector::FunctionSelector,\n },\n address::AztecAddress,\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::pedersen_hash,\n};\n\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS) + 1 (IS_PUBLIC)\nglobal FUNCTION_CALL_SIZE: Field = 4;\n// 3 * 32 + 1\nglobal FUNCTION_CALL_SIZE_IN_BYTES: Field = 97;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: FunctionSelector,\n target_address: AztecAddress,\n is_public: bool,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector.to_field(), self.target_address.to_field(), self.is_public as Field]\n }\n\n fn to_be_bytes(self) -> [u8; FUNCTION_CALL_SIZE_IN_BYTES] {\n let mut bytes: [u8; FUNCTION_CALL_SIZE_IN_BYTES] = [0; FUNCTION_CALL_SIZE_IN_BYTES];\n let args_hash_bytes = self.args_hash.to_be_bytes(32);\n for i in 0..32 { bytes[i] = args_hash_bytes[i]; }\n let function_selector_bytes = self.function_selector.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 32] = function_selector_bytes[i]; }\n let target_address_bytes = self.target_address.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 64] = target_address_bytes[i]; }\n bytes[96] = self.is_public as u8;\n bytes\n }\n}\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 420;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:entrypoint-struct\nstruct EntrypointPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:entrypoint-struct\n\nimpl EntrypointPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(), \n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \n for call in self.function_calls {\n fields.push_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n for i in 0..ACCOUNT_MAX_CALLS {\n let item_bytes = self.function_calls[i].to_be_bytes();\n for j in 0..FUNCTION_CALL_SIZE_IN_BYTES { \n bytes[i * FUNCTION_CALL_SIZE_IN_BYTES + j] = item_bytes[j];\n }\n }\n\n let nonce_bytes = self.nonce.to_be_bytes(32);\n let nonce_offset = FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS;\n for j in 0..32 {\n bytes[nonce_offset + j] = nonce_bytes[j];\n }\n \n bytes\n }\n\n // Executes all private and public calls \n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n",
1088
+ "188": {
1089
+ "source": "use dep::aztec::abi;\nuse dep::aztec::types::vec::BoundedVec;\nuse dep::aztec::context::PrivateContext;\nuse dep::aztec::protocol_types::{\n abis::{\n call_stack_item::{\n PrivateCallStackItem,\n PublicCallStackItem,\n },\n function_selector::FunctionSelector,\n },\n address::AztecAddress,\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n hash::pedersen_hash,\n};\n\nglobal ACCOUNT_MAX_CALLS: Field = 4;\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS) + 1 (IS_PUBLIC)\nglobal FUNCTION_CALL_SIZE: Field = 4;\n// 3 * 32 + 1\nglobal FUNCTION_CALL_SIZE_IN_BYTES: Field = 97;\n\nstruct FunctionCall {\n args_hash: Field,\n function_selector: FunctionSelector,\n target_address: AztecAddress,\n is_public: bool,\n}\n\nimpl FunctionCall {\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\n [self.args_hash, self.function_selector.to_field(), self.target_address.to_field(), self.is_public as Field]\n }\n\n fn to_be_bytes(self) -> [u8; FUNCTION_CALL_SIZE_IN_BYTES] {\n let mut bytes: [u8; FUNCTION_CALL_SIZE_IN_BYTES] = [0; FUNCTION_CALL_SIZE_IN_BYTES];\n let args_hash_bytes = self.args_hash.to_be_bytes(32);\n for i in 0..32 { bytes[i] = args_hash_bytes[i]; }\n let function_selector_bytes = self.function_selector.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 32] = function_selector_bytes[i]; }\n let target_address_bytes = self.target_address.to_field().to_be_bytes(32);\n for i in 0..32 { bytes[i + 64] = target_address_bytes[i]; }\n bytes[96] = self.is_public as u8;\n bytes\n }\n}\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 420;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:entrypoint-struct\nstruct EntrypointPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:entrypoint-struct\n\nimpl EntrypointPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(), \n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \n for call in self.function_calls {\n fields.push_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\n\n for i in 0..ACCOUNT_MAX_CALLS {\n let item_bytes = self.function_calls[i].to_be_bytes();\n for j in 0..FUNCTION_CALL_SIZE_IN_BYTES { \n bytes[i * FUNCTION_CALL_SIZE_IN_BYTES + j] = item_bytes[j];\n }\n }\n\n let nonce_bytes = self.nonce.to_be_bytes(32);\n let nonce_offset = FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS;\n for j in 0..32 {\n bytes[nonce_offset + j] = nonce_bytes[j];\n }\n \n bytes\n }\n\n // Executes all private and public calls \n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address, call.function_selector, call.args_hash\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n",
1078
1090
  "path": "/usr/src/yarn-project/aztec-nr/authwit/src/entrypoint.nr"
1079
1091
  },
1080
- "182": {
1081
- "source": "use dep::aztec::context::{PrivateContext, PublicContext, Context};\nuse dep::aztec::state_vars::{map::Map, public_state::PublicState};\nuse dep::aztec::types::type_serialization::bool_serialization::{BoolSerializationMethods,BOOL_SERIALIZED_LEN};\n\nuse crate::entrypoint::EntrypointPayload;\nuse crate::auth::IS_VALID_SELECTOR;\n\nstruct AccountActions {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n approved_action: Map<PublicState<bool, BOOL_SERIALIZED_LEN>>,\n}\n\nimpl AccountActions {\n pub fn init(context: Context, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions {\n context: context,\n is_valid_impl: is_valid_impl,\n approved_action: Map::new(\n context,\n approved_action_storage_slot,\n |context, slot| {\n PublicState::new(context, slot, BoolSerializationMethods)\n },\n ),\n }\n }\n\n pub fn private(context: &mut PrivateContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::private(context), approved_action_storage_slot, is_valid_impl)\n }\n\n pub fn public(context: &mut PublicContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::public(context), approved_action_storage_slot, is_valid_impl)\n }\n \n // docs:start:entrypoint\n pub fn entrypoint(self, payload: EntrypointPayload) {\n let message_hash = payload.hash();\n let valid_fn = self.is_valid_impl;\n let private_context = self.context.private.unwrap();\n assert(valid_fn(private_context, message_hash));\n payload.execute_calls(private_context);\n }\n // docs:end:entrypoint\n\n pub fn is_valid(self, message_hash: Field) -> Field {\n let valid_fn = self.is_valid_impl;\n if (valid_fn(self.context.private.unwrap(), message_hash)) {\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn is_valid_public(self, message_hash: Field) -> Field {\n let value = self.approved_action.at(message_hash).read();\n if (value){\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn internal_set_is_valid_storage(self, message_hash: Field, value: bool) {\n self.approved_action.at(message_hash).write(value);\n }\n}\n",
1092
+ "189": {
1093
+ "source": "use dep::aztec::context::{PrivateContext, PublicContext, Context};\nuse dep::aztec::state_vars::{map::Map, public_state::PublicState};\nuse dep::aztec::types::type_serialization::bool_serialization::{BoolSerializationMethods,BOOL_SERIALIZED_LEN};\n\nuse crate::entrypoint::EntrypointPayload;\nuse crate::auth::IS_VALID_SELECTOR;\n\nstruct AccountActions {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n approved_action: Map<Field, PublicState<bool, BOOL_SERIALIZED_LEN>>,\n}\n\nimpl AccountActions {\n pub fn init(context: Context, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions {\n context: context,\n is_valid_impl: is_valid_impl,\n approved_action: Map::new(\n context,\n approved_action_storage_slot,\n |context, slot| {\n PublicState::new(context, slot, BoolSerializationMethods)\n },\n ),\n }\n }\n\n pub fn private(context: &mut PrivateContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::private(context), approved_action_storage_slot, is_valid_impl)\n }\n\n pub fn public(context: &mut PublicContext, approved_action_storage_slot: Field, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions::init(Context::public(context), approved_action_storage_slot, is_valid_impl)\n }\n \n // docs:start:entrypoint\n pub fn entrypoint(self, payload: EntrypointPayload) {\n let message_hash = payload.hash();\n let valid_fn = self.is_valid_impl;\n let private_context = self.context.private.unwrap();\n assert(valid_fn(private_context, message_hash));\n payload.execute_calls(private_context);\n }\n // docs:end:entrypoint\n\n pub fn is_valid(self, message_hash: Field) -> Field {\n let valid_fn = self.is_valid_impl;\n if (valid_fn(self.context.private.unwrap(), message_hash)) {\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn is_valid_public(self, message_hash: Field) -> Field {\n let value = self.approved_action.at(message_hash).read();\n if (value){\n IS_VALID_SELECTOR\n } else {\n 0\n }\n }\n\n pub fn internal_set_is_valid_storage(self, message_hash: Field, value: bool) {\n self.approved_action.at(message_hash).write(value);\n }\n}\n",
1082
1094
  "path": "/usr/src/yarn-project/aztec-nr/authwit/src/account.nr"
1083
1095
  },
1084
- "185": {
1096
+ "192": {
1085
1097
  "source": "#[oracle(getAuthWitness)]\nfn get_auth_witness_oracle<N>(_message_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn get_auth_witness<N>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n",
1086
1098
  "path": "/usr/src/yarn-project/aztec-nr/authwit/src/auth_witness.nr"
1087
1099
  }