@aztec/protocol-contracts 0.0.1-commit.86469d5 → 0.0.1-commit.87a0206

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "transpiled": true,
3
- "noir_version": "1.0.0-beta.18+13ce5c89c1edbfbf5e92c4cbf2258ea6e63f46b5",
3
+ "noir_version": "1.0.0-beta.18+b3f73584360453a658cb6940db694c13668d6563",
4
4
  "name": "FeeJuice",
5
5
  "functions": [
6
6
  {
@@ -71,7 +71,7 @@
71
71
  }
72
72
  },
73
73
  "bytecode": "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",
74
- "debug_symbols": "rZlRbhs5DIbv4uc8SJREiblKURRu6hYGDCdwkwUWRe6+pEaknAISHHlfPN/Qnn8okqI04z+7H4fvb7++Hc8/n3/vHr/82X2/HE+n469vp+en/evx+czWPzsnHx7y7jE87HyA3WOSY96O0W/2iNsx8XmWI25HbOdI2zHHdiy7R+8YSmDwAqUB4Qbg+FqPAtjAJwVqAFFBLUEtQS0xKOQGCRRUGfVeKLcghuwUokJpUEAhNyC1VOcZguPLwQukBl4tvjQAdgyygFjkqiBhlK9qXCuoRSIbggA2QLVIcCuIq6EIlAYS3g3Y1QgM4mrk1EVkfyIKsIeR3YgFGxArxyKQNkgynEgCUYEaeLV4tYBaZFwVpGw2yA1kgBtgg6S3SElBBZFHkbhaEuUNUCohcVgQnIJaglhAIDWQdKcgkBugWiTLG8iPowDfNHF8sESF0oDCBlkqcwN2PnEMs/cKaqmOZYHUfgxNOYeooJaoyrHdK1efK4ggpyBLchMJUANJLjqB0oCapYiHG2ADrxZJUwVJE3oBahDUEkSQQ1eqYySQG1THKqhF6nADbFCjWkGUObxFgokcXnKggA1kXmyQFOQqjiHJBNmgNAhqCWqJaolqSXIvDh1J2WAWYFeRY0gZGhSJBgnwTTNHg8gpSIvyArSBdy4amc1nJQAjs0ntbRRFFyolpWQ28TWHSrTd3ztxu1FRymbLWUnaUCPptlFIZm4juZu0aC9zt5HZfDAqSmC24I1EGYVkwjYyWx1HrpTafX0dRyWMRmar49ioKNVxlEpZqY6DKmGjuh40IiVpPo3MVrNQSdpOcZWyUjSbjKNIjqCuWqVSUpL22KjbSKmuYxsVJRsH2DhAxlFCpdSoLg2NzObN5s0GZgPxVOolSHMr8P7+sNNF+tvr5XCQNfpq1ea1/GV/OZxfd4/nt9PpYffP/vRWf/T7ZX+ux9f9hb/lOBzOP/jIgj+Pp4PQ+0O/2o0vRV6N29XIa60JJPig4CcKUWb7phBzNgX86AOMFYKsDlUgYLTrc7jdAwL1IMU48iDOPNAgRJ4NPQhLUYxlFEUcK2Tpr1UgZ7TrI9zuQbIscFmPPCgTBd67mYKDURRprABZBYCGebw1ildRSLdHIcomq9XidSL/quZJMXJDUSdktptE+VgMPkziUHRCBuq1ED1+VJjUI/f4rCXNvd15UwmlfFRJk2i4oEWFLvZ4hk/44S0lgjD2I09UXEnqCK9ozo1VJvUZElhUe5cBKren1pM2Gm7aOEotTAoslR7RPoyS1wp02G5hMgqSvX1V4H3QyAUIs3SAbG1bOmDSsmeV4ZzPJuLCsOtCurvlAN7Zc2YDIeozjXeIZejEtDSjlkVIEzfmSYlXSaFhMMKkunwh0yAfeusJYalAMY0KNEwKFGyWBX/VuOh2F/okS1dV8bcL8e4mHtK9TTzg/9HEQ763id8aTj8OJ01H0leB4EdNJ7rpGhCi1XeZ7NImGz2fyfworgzre+5Ipt64+DF66Mh0tibsXYPb2FBktunErBEJ2aeFDZPntbTP9zRcFOctw9ZEAlqSoL6cUMprEtmbRIEVCX69qBLgrjbAn5GITmPBz5drXsTQJdAtSSRnA0mAaxLJmUTyaxIxdglY9AJNIpe7vViVsALn18NLBQ4YwSTSWlIRLSP8bnJNwp7wAIu7eyBrEvwG2rY6/DpwUaLv5N1SUgPZLiUQjsOJkwU+Fnu0ieWqwj3d7oVttxjz2kCobzNorcC9LQJwvcn4VO+k2CXWJrv3Vlr8Zm9xINgl7h/IooTvHdzHvCaRskkgLUrYIuCzu3sgqxL2fMYvZteWIuhJBV8WJVyXoHsHsirRHykAShhKFFhrOV/5bP90vHz42/ZdtC7H/ffToZ3+fDs/XX37+u+LfqN/+75cnp8OP94uB1Hq//3yxxfgXRaQ+yp/LPApd/Jc5MTLd9wreWn6+i6u/Ac="
74
+ "debug_symbols": "rZnRbts6DIbfJde9kCiJFPsqwzBkXTYECNIiaw9wMPTdDymLdDrAQqqcm/gzE/+mSIqSnT+7H4fvb7++Hc8/n3/vHr/82X2/HE+n469vp+en/evx+SzWP7ugHxFo95gedjHB7rHokZZjjos943Isck56xOWI/Rx5OVLux7p7jEGgJoGoUDswLgBBro2ogB1iMeAOkA3MksySzJKTAXUoYGDKaPdCvQULUDDIBrVDBQPqwGZpzgukIJdDVCgdolli7QDiGJCCWvSqpGHUr1pcG5hFI5uSAnZAs2hwG6irqSrUDhreBcTVDALqapbUZRR/MiqIh1ncyBU7sCjnqlAWKDqczArZgDtEs0SzgFl0XA20bBagDjrABbBDsVuUYmCCKKMoUi2FaQHUSigSFoRgYJakFlAoHTTdJSlQBzSLZnkB/XFWkJsWiQ/WbFA7cFqAtDIXEOeLxJBiNDBLc4wUSv8xdGVK2cAs2ZRzvxc1nxuooKSANLmFFbiDJheDQu3A3VLVwwWwQzSLpqmBpgmjAndIZkkqKKGrzTFWoA7NsQZm0TpcADu0qDZQZQlv1WCihJcDGGAHnRcLFAO9SmLIOkEWqB2SWZJZslmyWYreS0LHWjZICuIqSgyZoEPVaLCC3JQkGszBQFtUVOAFYgjZyW2RjACc3Ka1t1BWXWhUjIrb1FdKjXi5fwzqdqdqRG4jMtI21Em7bVbSmdtJ76YtOurc7eS2mJyqEbgtRSdVRiWdsJ3c1sZBjUq/b2zjaITZyW1tHAtVozaO2oiM2ji4EXZq60EnNtLm08ltLQuNtO3U0IiMstt0HFVzBG3Vqo2KkbbHTquNjdo6tlA18nGAjwN0HDU1Kp3a0tDJbdFt0W3gNlBPtV6SNrcK7+8PO1ukv71eDgddo69WbVnLX/aXw/l193h+O50edv/sT2/tR79f9ud2fN1f5FuJw+H8Q44i+PN4Oii9P6xXh+1LUVbjfjXKWusCBT4oxIFC1tm+KGQiV8CPPsC2QtLVoQkkzH49pds9YDAPSs5bHuSRBxaELLNhDcJUFHPdiiJuK5D21yZAhH59hts9KJ4FKestD+pAQfZurhBgK4q8rQBkAsCbebw1ildRKLdHIesmq9fidSL/quZBMUpDMSd0trtE/VgMMQ3iUG1CJl5rIUf6qDCoR+nxZCUtvT1EV0mVP6qUQTRCsqLCkNd4pk/4ET0lirDtBw1UQi3miKxoIWyrDOozFfCorl0GmG9PbWRrNNK0cSu1MCiwUteIrsOoNFegm+0WBqNg3ds3BdkHbbkAaZQO0K1tTwcMWvaoMkKI5CIhbXZdKHe3HMA7e85oIMzrTJMdYt10Ylia2coilYEb46Tkq6TwZjDSoLpiZdfgmNbWI+mZKVAsWwWaBgUKPstSvGpcfLsL6yQrV1Xxtwv57iaeyr1NPOH/0cQT3dvEbw1n3A4nD0eyrgIpbjWdHIZrQMpe33WwSxts9CKx+1FD3azvsSPEa+OSx+hNR4azteDaNaSNbYqMNp1IFpFEsUxsmKKspet8L5uL4rhl+JrIwFMSvC4nXGhOgqJLVJiRkNeLJgHhagP8GYkcLBbyfDnnRU6rBIYpiRJ8IAVwTqIElyhxTiLnVQImvUCXoHq3F7MSXuDyeniqwAEzuESZSyqiZ0TeTc5J+BMeYA13D2ROQt5A+1ZHXgdOSqw7+TCV1MS+S0mM2+HEwQKfqz/a5HpV4fETXvh2S5DmBsLrNoPnCjz6IgDXm4xP9U7Oq8TcZI/RS0ve7E0OBFeJ+wcyKRHXDh4zzUkUcgnkSQlfBCKFuwcyK+HPZ/Jidm4pgjWpEOukRFgl+N6BzEqsjxQANW1KVJhrOV/lbP90vHz42/ZdtS7H/ffToZ/+fDs/XX37+u+LfWN/+75cnp8OP94uB1Va//uVjy8guyzg8FX/WJBT6eRU9STqd9IrZWn6+q6u/Ac="
75
75
  },
76
76
  {
77
77
  "name": "balance_of_public",
@@ -123,7 +123,7 @@
123
123
  }
124
124
  },
125
125
  "bytecode": "JwACBAEoAAABBIBGJwAABEYlAAAARScCAgQBJwIDBAAfCgACAAMARC0IRAElAAAARi0CAUUnAgIERScCAwQBOw4AAwACJiUAAAFAHgIAAgknAgMBASQCAAIAAABiJQAAAWYpAgACAEHs+ksnAgMAASsCAAQAAAAAAAAAAAMAAAAAAAAAAC0IAQUnAgYEBQAIAQYBJwMFBAEAIgUCBi0KBgctDgIHACIHAgctDgMHACIHAgctDgEHACIHAgctDgQHLQsFAQAiAQIBLQ4BBS0IAQEnAgIEBQAIAQIBJwMBBAEAIgUCAgAiAQIDPw8AAgADJwICBAEAKgECBC0LBAMnAgEAAAoqAwECJwIBAQAKKgIBBCQCAAQAAAEfJQAAAXgeAgABAC8qAAMAAQACHAoCAwYcCgMBABwKAQIGLQoCASYoAAAEBHhGDAAABAMkAAADAAABZSoBAAEF2sX11rRKMm08BAIBJioBAAEF3Btu6/u2vEM8BAIBJioBAAEFursh14IzGGQ8BAIBJg==",
126
- "debug_symbols": "nZbdjuIwDIXfJde9SJw/m1cZjVCBMqpUFdSBlVaId1+HqdN2pUQjuCCnDv1q5zihD3XqDvevfT+eL99q9/FQh6kfhv5rP1yO7a2/jBx9KJ2+olc72yjkC8eDfw1kfwZUO2MaZXSchYFZWCtCppxMOYl4iXiJBCPCzyJqEU4EzQLlEShpkAAp/AjQRkQC2iRoFsaJkAhIBCRiJeJSGi4JPwsvEZ9+E5KgWQSJBIlEiSCI4JIBWKScgTlWMxBCEn4W5hV5PhsltuxvU9clV1Y+sXvXdurGm9qN92Fo1J92uL9+9H1tx9d4ayee1Y3qxhOPDDz3Q5fUs1nu1uVb0Wk3342OUxKAhw3BlAkUUkkvAgUXMyFsc4AywWiUHAw3XCZE+14VWKqiRvAOheBDLBF8pQruIKkCyGcC+g0hlAmAYqSlpQZnwgYQKynwJ+fAEjLEIm4gWHXDW4Fo0roIoTLEesilLIsJtAWYiiHAm39G8D4O7zEWSwDQlhmV5nSYl9ThakUN/ToNS7QYu3L2/zRqzWWIxBOrQ6m5TAXhUVwNK08xvrVDIhVPikp/kotyUkQopWCqvQk+5N6EWDxtDNUg2sQM0dYVj6zKaoSlPQNoKCIqByfE3ODkSoderRDiVVzqcFhMwtY2qpO2sL6SRt0UtzKFyotRa3CkzCCzbFVnOZFPvmyP/bR5iXkm2NS3h6GbL8/38biavf29yoy8BF2ny7E73acukZY3ofR3/BFME8JnetPhi6ibCJ/P9Oh/"
126
+ "debug_symbols": "nZbdivIwEIbvJcc9SCa/460sIlXrUihVuvrBh/Ted+Jm0nYhYdED83Zin87kncQ+xbk7Pj4P/Xi5fondx1Mcp34Y+s/DcD219/46UvQpZPzyVux0IwJdGBrsa0D9MwSxU6oRSvokFCShNQueMjxlOGI5YjniFAubhJcsDAtMIvAjAqeBDET3I0AqFhGoo8AklGHBEeAIcERzxMQ0TBQ2CcsRG3/josAkHEccRzxHArCgkgFIxJyBOFoSEFwUNgn1isxzI9iWw33quujKyidy79ZO3XgXu/ExDI341w6P14++bu34Gu/tRLOyEd14ppGAl37oopqb5W5ZvjUYadLdwVBKDLCwIagyAV0s6UVAZ3wmuG0OUCYoGTgHRQ2XCV6/V0UoVVEjWBOYYJ0vEWylCuogrgLQZkKwG4IrEyCwkRqXGozyG4CvpECfnANJyBAdcAMJVTesZohEKYsQLEO0hVzKspiAW4CqGAK0+ROC9rF7j7FYAhB0mVFpThPykpqwWlH19zQ04mLsytnfadSaSyGyJ1q6UnOpCsIGdtWtPA3+rR3isXhSVPoTjeeTwkMpBVXtTbAu9yb44mmjsAaRymeI1KZ4ZFVWwy3t6UBCEVE5OMHnBkdTOvRqhSCt4lKHCcUkdG2jGm4LbStp1E0xK1OwvBi1Bg+YGaiWrWrInnlPl+2pnzYvMXOETX17HLp0eXmMp9Xs/f+NZ/gl6DZdT935MXWRtLwJxb/jD6ca5/bxTYcuvGw87Of46G8="
127
127
  },
128
128
  {
129
129
  "name": "check_balance",
@@ -165,7 +165,7 @@
165
165
  }
166
166
  },
167
167
  "bytecode": "JwACBAEoAAABBIBFJwAABEUlAAAARicCAgQBJwIDBAAfCgACAAMARBwAREQGLQhEASUAAABsJwIBBEUnAgIEADsOAAIAASwAAEMAMGROcuExoCm4UEW2gYFYXSgz6Eh5uXCRQ+H1k/AAAAAmJQAAAaceAgACCScCAwEBJAIAAgAAAIglAAABzR4CAAIBCiICQwMWCgMEHAoEBQAEKgUCBCcCAgEACioDAgUkAgAFAAAAuycCBgQAPAYGASkCAAMAQez6SycCBQABKwIABgAAAAAAAAAAAwAAAAAAAAAALQgBBycCCAQFAAgBCAEnAwcEAQAiBwIILQoICS0OAwkAIgkCCS0OBQkAIgkCCS0OBAkAIgkCCS0OBgktCwcDACIDAgMtDgMHLQgBAycCBAQFAAgBBAEnAwMEAQAiBwIEACIDAgU/DwAEAAUnAgQEAQAqAwQGLQsGBScCAwAACioFAwQKKgQCAyQCAAMAAAFzJQAAAd8eAgADAC8qAAUAAwAEHAoEBQYcCgUDABwKAwQGDCoEAQMKKgMCASQCAAEAAAGmJQAAAfEmKAAABAR4RQwAAAQDJAAAAwAAAcwqAQABBdrF9da0SjJtPAQCASYqAQABBQ7+IEnrN048PAQCASYqAQABBbq7IdeCMxhkPAQCASYqAQABBYRygMKEIwtGPAQCASY=",
168
- "debug_symbols": "nZZLbuMwDIbv4nUWEklJVK5SFIWbuoUBwwncZIBBkbsPVYt+zEDCNFmEvyj7M0VSsr+at+719vHSj+/nz+b49NW8Tv0w9B8vw/nUXvvzKN6vxqQ/a7E54kEsN0cSCzhbtNn65hjEkoxjsn62zsx+52brZWxtEi6LoJ7AWTCqCCJYRPSzAGOzAFChU6hTqB5SD6knRTMLUhGz8KiCswj6iJDDAFYguyyiAqMAwSTBs0CDKtRj1WPVA+oBCQNkyYikQj2UrsEkOAunHqce77MIEiHEJMSD6XYWIKYpjllE9cTkkeKRIRXqsSGJ+/3QaC+8XKeuS62waQ5pmUs7deO1OY63YTg0v9rh9n3R56Udv+21nWRWltiNb2IF+N4PXVL3w3q3Kd8a0Pp8d0DkBeBgR7BlQvSghOgpLAS/jwHKBGuYMsFasxICPrQKMqVV1AgUNIZAsZgHVyZ48kqQNBTz4MsEpJgB6KmUhWoEETQCR1SKgGsRuAwgOVrWJDySRbep5N/dVEN4VELwC4B+UEi3FlJyVwqh1o+wpMFCdAuC93mwWEYA657ETTOR9XsCVYKQ3xKFSFgoyLynuOrWcppPa6IxZUqtMR0sq1mLKmfxnhAq+bDMGQHyunmMsZYFgLHMiGUG8ZJU4k1ObfzvMORcX2u7Ke4/YdQ6zEbd6haNL3UYVBCOta5+U1UOj+wTZ11pn0ClRSMFPfgDlEKAaneC80t3QvnQBF+DGBsWiMHiuQeVovq1Pz0YKCIqZyeEpcNj8fSuLSRKFtd1EJeCQFPbqaRtga4SRr0otClKLCYDaw3OcWFEu+5VQnyoQXH/Tn+WUXvqp92n9D2xpr59Hbo8fL+Np83s9fdFZ/RT/DKdT93bbeoSafM9Lv9P8ioL8Tl9lMtAdhu753t69B8="
168
+ "debug_symbols": "nZZLbuMwDIbv4nUWEkk9mKsMisJN3cKA4QRuMsCgyN2HqkU/OpAwTRbhLyr+QpGUrM/mtXu5vT/349v5ozn++mxepn4Y+vfn4Xxqr/15FO9nY9KXtdgc8SA2NkcSCzhbtNn65hjEkow5WT9bZ2a/c7P1MrY2CZdFUE+IWURUEUREEexnAcZmAaBCp1CnUD2kHlJPimYWpIKz8KgiZhH0L0IOA6ICo8uCFcgCBJNEnAUaVKEeqx6rHlAPSBggS0YkFeqh9BtMImbh1OPU430WQSIETkI8mB6PAsQ0FTkLVg8njxSPDKlQjw1J3O+HRnvh+Tp1XWqFTXNIy1zaqRuvzXG8DcOh+d0Ot68ffVza8cte20lmZYnd+CpWgG/90CV1P6xPm/KjAa3PTwfEuAAc7Ai2TGAPSmBPYSH4fQxQJlgTKROsNSsh4EOrIFNaRY1AQWMIxMU8uDLBk1eCpKGYB18mIHEGoKdSFqoRMGgEjqgUQaxF4DKA5GhZk/BIFt2mkt+7qYbwqITgFwD9oJBuLaTkrhRCrR9hSYMFdgsi7vNgsYyAqHsSN80k+35PoEoQ8lmiEAkLRY6aPcVVt5bTfFrDxpQptcZ0sKxmLSrwN0Ko5MPGmBEgr5vHGGtZACKWGVxmUFySSnGTU/v/Yci5vtZ2U9x/wqh1mGXd6haNL3UYVBAual39pqoxPLJPnHWlfQKVFmUKevAHKIUA1e4E55fuhPKhCb4GMTYsEIPFcw8qRfVrf3owUERUzk4IS4dz8fSuLYQli+s6KJaCQFPbqaRtga4SRr0otCkKF5OBtQaPvDDYrnuVvm49P29Q3L/Tn2TUnvppd5W+J9bUty9Dl4dvt/G0mb3+ueiMXsUv0/nUvd6mLpE293H5/iWvssBP6VIuA9lt0T3d01//BQ=="
169
169
  },
170
170
  {
171
171
  "name": "claim",
@@ -2015,9 +2015,9 @@
2015
2015
  }
2016
2016
  }
2017
2017
  },
2018
- "bytecode": "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NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF669hiOLaeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrk36LU5OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL137W44tp5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla5MaunB66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla2/h2HJ66dqcXro2p5euzemla3N66dqcXro2p5euvZNjy+mla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzeml63B66TqcXroOp5euw+ml63B66TqcXroOp5euw+ml63B66TqcXroOp5euw+ml63B66TqcXroOp5euE+DYZnJsC3JsC3FsOf1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9apwLHl9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91KnFsOf1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vnTs5tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rZHFsOf1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bJ5thy+t86nP63Dqf/rcPpf+tw+t86nP63Dqf/rcPpf+tw+t86nP63Dqf/rcPpf+tw+t86nP63Dqf/rcPpf+tw+t86nP63Dqf/rcPpf+tw+t86nP63Dqf/rcPpf+tw+t86nP63Dqf/rQP1v63fonXbrC6127Ts2Nda77x22eVXXHnV1WXLla9wzbXXXX/DjTfdfEvFW2+7vVLlKlWrVa9Rs1btOnXr1W/QsNEdd9519z33Nr7v/gcefOjhR5o82vSxZs1bPP7Eky2ferpV6zZt27XP6tCx0zPPdu7y3PMvvNi1W6h7qEfopdDLoVdCr4ZeC/UM9Qq9Hnoj9GbordDboXdCvUN9QsFQdqhvqF/o3dB7ofdDH4Q+DH0U+jjUPzQg9Eno09DA0Gehz0ODQoNDQ0JDQ1+EhoWGh74MjQh9FRoZ+jr0TWhUaHRoTGhsaFxofGhCaGJoUmhyaEpoamhaaHpoRmhmaFZodmhOaG5oXmh+aEFoYWhRaHFoSWhpKBQSoWWh5aEVoZWhb0Pfhb4PrQqtDq0JrQ2tC/0Q+jG0PvRT6OfQL6ENoY2hX0O/hX4P/RH6M7Qp9Fdoc2hL6O/Q1tA/oW2h7aEdoX9DO0O7QrtDe0J7Q/tC+0MHQgdDh0KHQ0dCR0PHhJUgLEtYtrAcYRUQVqKwfMJKElaysFKElSqsNGGlCytDWH5hBYSVKayCwiokrMLCKiKss4R1trDOEVZRYRUT1rnCKi6s84RVQljnC6uksEoJ6wJhXSisi4R1sbAuEdalwiotrDLCukxYlwvrCmFdKayrhHW1sMoKq5ywygurgrCuEda1wrpOWNcL6wZh3Sism4R1s7BuEVZFYd0qrNuEdbuwKgmrsrCqCKuqsKoJq7qwagirprBqCau2sOoIq66w6gmrvrAaCKuhsBoJ6w5h3Smsu4R1t7DuEda9wmosrPuEdb+wHhDWg8J6SFgPC+sRYTUR1qPCaiqsx4TVTFjNhdVCWI8L6wlhPSmslsJ6SlhPC6uVsFoLq42w2gqrnbDaCytLWB2E1VFYnYT1jLCeFVZnYXUR1nPCel5YLwjrRWF1FVY3YXUXVg9hvSSsl4X1irBeFdZrwuoprF7Cel1YbwjrTWG9Jay3hfWOsHoLq4+wgsLKFlZfYfUT1rvCek9Y7wvrA2F9KKyPhPWxsPoLa4CwPhHWp8IaKKzPhPW5sAYJa7CwhghrqLC+ENYwYQ0X1pfCGiGsr4Q1UlhfC+sbYY0S1mhhjRHWWGGNE9Z4YU0Q1kRhTRLWZGFNEdZUYU0T1nRhzRDWTGHNEtZsYc0R1lxhzRPWfGEtENZCYS0S1mJhLRHWUmGFhCWEtUxYy4W1QlgrhfWtsL4T1vfCWiWs1cJaI6y1wlonrB+E9aOw1gvrJ2H9LKxfhLVBWBuF9auwfhPW78L6Q1h/CmuTsP4S1mZhbRHW38LaKqx/hLVNWNuFtUNY/wprp7B2CWu3sPYIa6+w9glrv7AOCOugsA4J67CwjgjrqLCOCTtB2JawbWE7wi4g7ERh+4SdJOxkYacIO1XYacJOF3aGsP3CDgg7U9gFhV1I2IWFXUTYZwn7bGGfI+yiwi4m7HOFXVzY5wm7hLDPF3ZJYZcS9gXCvlDYFwn7YmFfIuxLhV1a2GWEfZmwLxf2FcK+UthXCftqYZcVdjlhlxd2BWFfI+xrhX2dsK8X9g3CvlHYNwn7ZmHfIuyKwr5V2LcJ+3ZhVxJ2ZWFXEXZVYVcTdnVh1xB2TWHXEnZtYdcRdl1h1xN2fWE3EHZDYTcS9h3CvlPYdwn7bmHfI+x7hd1Y2PcJ+35hPyDsB4X9kLAfFvYjwm4i7EeF3VTYjwm7mbCbC7uFsB8X9hPCflLYLYX9lLCfFnYrYbcWdhthtxV2O2G3F3aWsDsIu6OwOwn7GWE/K+zOwu4i7OeE/bywXxD2i8LuKuxuwu4u7B7CfknYLwv7FWG/KuzXhN1T2L2E/bqw3xD2m8J+S9hvC/sdYfcWdh9hB4WdLey+wu4n7HeF/Z6w3xf2B8L+UNgfCftjYfcX9gBhfyLsT4U9UNifCftzYQ8S9mBhDxH2UGF/Iexhwh4u7C+FPULYXwl7pLC/FvY3wh4l7NHCHiPsscIeJ+zxwp4g7InCniTsycKeIuypwp4m7OnCniHsmcKeJezZwp4j7LnCnifs+cJeIOyFwl4k7MXCXiLspcIOCVsIe5mwlwt7hbBXCvtbYX8n7O+FvUrYq4W9Rthrhb1O2D8I+0dhrxf2T8L+Wdi/CHuDsDcK+1dh/ybs34X9h7D/FPYmYf8l7M3C3iLsv4W9Vdj/CHubsLcLe4ew/xX2TmHvEvZuYe8R9l5h7xP2fmEfEPZBYR8S9mFhHxH2UWEfE06CcCSSbeE4wikgnETh+ISTJJxk4aQIJ1U4acJJF06GcPzCCQgnUzgFhVNIOIWFU0Q4ZwnnbOGcI5yiwikmnHOFU1w45wmnhHDOF05J4ZQSzgXCuVA4FwnnYuFcIpxLhVNaOGWEc5lwLhfOFcK5UjhXCedq4ZQVTjnhlBdOBeFcI5xrhXOdcK4Xzg3CuVE4NwnnZuHcIpyKwrlVOLcJ53bhVBJOZeFUEU5V4VQTTnXh1BBOTeHUEk5t4dQRTl3h1BNOfeE0EE5D4TQSzh3CuVM4dwnnbuHcI5x7hdNYOPcJ537hPCCcB4XzkHAeFs4jwmkinEeF01Q4jwmnmXCaC6eFcB4XzhPCeVI4LeXH/PIjefnxufyoW34sLT9Clh/3yo9m5ceo8iNP+fGk/ChRfuwnP6KTH6fJj77kx1TyIyX58Y/8qEZ+rCI/ApEfV8iPFuTHAPKRvXy8Lh+Fy8fW8hGzfBwsH93Kx6zykah8fCkfNcrHgvIRnnzcJh+NycdY8pGTfDwkH+XIxy7yEYl8nCEfPcjHBPItvXz7Ld8qy7e18i2ofLso39rJt2HyLZN8eyPfisi3DfIlvnw5Ll86y5e58iWpfPkoX+rJl2Vf3tmiY6esNtWadmy6PuGyBMt2CiT6kpJTUtPSM/yBzIKFChc56+xzihY7t/h5Jc4vWeqCCy+6+JJLS5fp02d9wtXZPQZXbtYyq2j28hVJf+9euuCJPn1O/ujc3D+qmL38x7lX3Lm6uq9k5Ee35v7Rbbl/JIt2Xj88lscP7YQ8fuj8nr38g61FhqR/nPGA+8Mtef1wR14/3JvXDw/n8cMCdl4/TM7rh/68fnhNHosvcG1eP7wujx8m7snrh3vz+uG+PH6YNDGvH07K64eT8/hhSpe8fvhcXj98Po8fpt2S1w8r5vXDPJJGpB/J64d5pU16XmkTKJHHcQQuyuuHl+X1w7J5/fC6vH54S14/rJzXD2vm9cM22ctHfNW7+YvdF/U49cPMG7KXPzg19eB7jRYNcH94W+4LKDJren74Ufa6Mk2Pv4tr0qxt63ZNO7Z8rFWLJm2zmjaT/98zLbI6tGzbpsmzWU3btWuRtT7h7B5DqrZt06Fj3x5Dq7XMatGso93ji9ptOrZ4okXWoHuuqaB+A5jz31v5+vfdq+X89wn5m79aj8FVm7ZqFUw75TPszhat5KafaZG/lch3qbkc7Pw6fBVeS3NZcau2bdfl1JaqedfkMT+x8owzXnk1AysffFfHtu2C2VFWmuOMqg6p0bJFK/XXI1OHnmDQyZ1m9hhRo21Wi5ZPtAn/n++uu7hTx5atWnbscuKZQ9VTydrweK7eeyJV+/QJ9hh54vFB5ebNs1p06HBqFcEeQ+9q2bpdqxYnlhOZLMdiC+QrFJ2r9RhRpWWbpuGHFR0btns34uIMqyenvvvJpm3CLm6ynppkaJ1OrdvVfjz71D84q8fI2m2an1hp1BtyfYzfWf1h/p7V4+pUaN1j8N3ytgaz3X8fuaond5w94bFOLVs1b9K6wxNNHmvVttnTTZ5s0Sp8u62z/se3++MzvN0fn8ycx3NneP6ONaFGbodEM7e7undNHnO5cs/Gq7uDyKyf33NjDlENdxBdVNMdRBfVcgfRRbXdQXRRHXcQXVTXHUQX1XMH0UX13UF0UQN3EF3U0B1EFzVyB9FFd7iD6KI73UF00V3uILrobncQXXSPO4guutcdRBc1dgfRRfe5g+ii+91BdNED7iC66EF3EF30kDuILnrYHUQXPeIOoouauIPookfdQXRRU3cQXfSYO4guauYOoouau4PoohbuILrocXcQXfSEO4guetIdRBe1dAfRRU+5g+iip91BdFErdxBd1NodRBe1cQfRRW3dQXRRO3cQXdTeHUQXZbmD6KIO7iC6qKM7iC7q5A6ii55xB9FFz7qD6KLO7iC6qIs7iC56zh1EFz3vDqKLXnAH0UUvuoPooq7uILqomzuILgp194xiyHp4RjFkL3lGMWQve0YxZK94RjFkr3pGMWSveUYxZD09oxiyXp5RDNnrnpH31WVO3Rue0Wm6M30vWP2MX+dW6zGofttnsr2vak+u1crt7cvv6vJ8c2UNkm/tvO+rLO8MOd9GDdN8C2DlmNyd4tT0ufdsn4zGyf/T8R7Maf+lgHfJp/2XxBzvCuT7mZY5Y2x5p87x32xPTuX4T44njU44d4y2STv3Jt03krkP1slfbN884zdomVEDbUcNtBM10AVOBfpMH428ecaxycz9cMX2muV8uJI/90o5/321/P37ApHHJnnezKScN9Nxg31a7JNdwWk/T3GPLc8JUodWb9+paasO3jlOeSXleqqS2qHH4HptmzY/9QOf+4+GyChntcg9sy/vmZNzbi3ZvQ55/oOUnP8gxf0Hg8PrDLY6/XlXaLuBhw45brwvRjFOyp93wfwX46ToxdhnqBgn5a5Tvhh1Kjm/dzHKtMm5p0327jvHMaR4/1sUy9SvI48MPSmel3uKm+buP5YvlSIJndesidFmTcm9kVx52jXndpLcs0Zzwj2SnKtM8p5cNOSe/jg178KYOyq+0EcntyBZiJ+k49bWaFGLeVaO99hyryol9Hbkxu+JOoF6w3lbZ0c23CdqKagakXwQPSZ3dXosRqTPNCp2nkt/LxKV/bmX7tn1qcXnet3p0Z8U9Y8hSnRFGi/0qkWNXcwgnLbI3EFIDg10U+NMi5cV/c7nOt7TInymBcqXZ4Ea4h5v1HhXa/lMlFqUx4dWKfmt5bkcUj3vzcrn49ONUwZpZ/zJW7r37aHOh44Z+VtCcu63C7lvxMhoJ+RXl6W8Dt8fGhOxHhV5QTYsj/cySZEXRDnWGDDJmwBAxcxB9Tu1yrlF1c0vlDt9M5X/qODQvC5Todi1smBoSuQyHcoZK38e5zkt6uxRztPvrjuv2ZdHjGfmOk2/N9A5/2MAeBmUqU6xvF4AZYbmRUJyNOpbw8CZfdgrXwKfmEJYVs6wZ7pvdKLFOjdNMqO9hfDkVK5/VNAbk1zZXch7FLFea0V9aevPPeVprzqi1w+/sn4UyisGnn8f5Z8VjkmeTO/uc2dG4dB3ypdbhaMkXaHTyJ+H9drIllfnjEtBb40/Kfo96vx5vQj1rCLKPyuCvuAqnMfii4TWK+NSKEpcCnsRmNu6UOgX9zJGW3vMB0xR/tFZuf9REe+qchYcz/mdFeOACrkHFMMhEP307nqyVdTEyYg8zM3rPxY8/XEuXjoKn3F6FPauIq/0+NvzUjQGRAvmY9X+GIXE77U8Ba4z+3bOx6a+nRPa/X/29ZwznSjyzT76RMWntVhx+/ot6+kTJRYo/mGpbx6tR5/o9+RG1e3xb5VUTxTlqaIT5bFoHk8tPU+pcmZbkrAiL92ElZTzofWpqSKKIlEU+X6xXAB8kOm4/+C0mVOjPNRNi/ba6OSP0/MIT6rnqWmO8KQLq3COA0h2/1mOx7ppriTvB8o5N5eqeKyblvMfpOV8XCas9GiJmM/HuZbyG3uj/7ff2Otxw5l9Y8+64dQravuMPxL6Nf6dvfh39uLf2Yt/Zy/+nb34d/bi39mLf2cv/p29+Hf2WvyffGcvD1leX9nLQ/amZxRD9pZnFEP2tmcUQ/aOZxRD1tsziiHr4xnFkAU9oxiybM8ohsw7iiHr5xnFkL3rGcWQvecZxZC97xnFkH3gGcWQfegZxZB95BnFkH3sGcWQ9feMYsgGeEYxZJ94RjFkn3pGMWQDPaMYss88oxiyzz2jGLJBnlEM2WDPKIZsiGcUQzbUM4oh+8IziiEb5hnFkA33jGLIvvSMYshGeEYxZF95RjFkIz2jGLKvPaMYsm88oxiyUZ5RDNlozyiGbIxnFEM21jOKIRvnGcWQjfeMYsgmeEYxZBM9oxiySZ5RDNlkzyiGbIpnFEM21TOKIZvmGcWQTfeMYshmeEYxZDM9oxiyWZ5RDNlszyiGbI5nFEM21zOKIZvnGcWQzfeMYsgWeEYxZAs9oxiyRZ5RDNlizyiGbIlnFEO21DOKIQt5RjFkwjOKIVvmGcWQLfeMYshWeEYxZCs9oxiybz2jGLLvPKMYsu89oxiyVZ5RDNlqzyiGbI1nFEO21jOKIVvnGcWQ/eAZxZD96BnFkK33jGLIfvKMYsh+9oxiyH7xjGLINnhGMWQbPaMYsl89oxiy3zyjGLLfPaMYsj88oxiyPz2jGLJNnlEM2V+eUQzZZs8ohmyLZxRD9rdnFEO21TOKIfvHM4oh2+YZxZBt94xiyHZ4RjFk/3pGMWQ7PaMYsl2eUQzZbs8ohmyPZxRDttcziiHb5xnFkO33jGLIDnhGMWQHPaMYskOeUQzZYc8ohuyIZxRDdtQziiE75hlFlwkrwTuMJbS8w1hC2zuMJXS8w1jCAt5hLGGidxhL6PMOYwmTvMNYwmTvMJYwxTuMJUz1DmMJ07zDWMJ07zCWMMM7jCX0e4exhAHvMJYw0zuMJSzoHcYSFvIOYwkLe4exhEW8w1jCs7zDWMKzvcNYwnO8w1jCot5hLGEx7zCW8FzvMJawuHcYS3iedxhLWMI7jCU83zuMJSzpHcYSlvIOYwkv8A5jCS/0DmMJL/IOYwkv9g5jCS/xDiPCPH6HX1iXeoenKf/3v8W/gfhb/Bvjv8V/8jtOiVq/xx9OrGi/yB9OpYh75v/kd/mt0v/R3+UPh/sMf5s/r73Ff5u/xf/st/nDL3T+w7/PL1+mnv4b/cJ6M/4r/dH+J/4r/V6zPH5jNvwyivY7/eEXnP+v/la/sK4/tYtL/kO/1y+sy05d/KDp3+wX1tWnNn2l8nf7hXXtf+qX+4VV4VRo+gG/3h9ev/r3+4V1I/AL/mHVf+c3/IVV0ZMk///1O/7Cquw55f+v/pb/hv83fstfWLVN/5q/sBqcMq8X/0V/A7/oL6x7T92o94Ff9RfWfWZ/119YT5+yfvC/89v+wnr0VFw++j/4ff8B8d/3z/3f/OpK8j/5hX9htVW/DtP9lX9hdTy17Szgl/6F1f0/9Vv/wuqsDo7u7/0L63nPtfx/6Df/w6cU/9V/N0d6el+j/m9++T+MsjMq311uMPXb/8LqE//1/5z/E//1/1wPIY39+v9np+7AIOWv/4/6/96v/3/z3/71/2Gmf/1/5hMtOjZpVb5Jx7ZNWlVo0rpF68daZHV4smW7Js+27NhG1rL1CRX+x3+5p9UZ/uWeVid5c/YZf5jk0LoAVPOuyWOe6zO9U/pon+hVj/p5Xo2TcTjn9CtU02sfhbhOXq/joz82z2dYa51xWC+O+jbNifopXwHlh6oXnPEndDXPODaX5P6Mz7O7Aqd/JpTr2W1ijM9zfPldiMlP2hMNPYrM4yFroqfKnvY33i44+TfearboWK/83W3rVah/qtg1PlHrsnP+eTfPqQ2v1aJpu8pZWU27eJ8uX5x9+h9+6zHkhCTH34O7uG9UZyvqf7Gj/henb45ZY/1f+fpagBvF/7c+vb3iv/zZ7cVm/hxgK1NvOcr/3/05wHWXtGnbseXjXZo0y2rRtGOL5k3adGrV6v/X3bWsNAxE0TxabaObigVfO4W6UMFvqNG4qYIfENqYYqCkaWxK/YtSutC1rgRBXIp+iODHmMfkNZmJiZP04bbMZCYz955z7u1MrtJWZN0tA6rp3eHd7It/8oQigwcQvEpc5YEmZp0EIoOJMiRKZDxlVBaUz7ssaGx1z09NVwam9TVsU6w7lthwDRFR1dMfIpe6nvwC1vX8qt1aMCoqqigPZcmk0q4qSk3pxqvn69XxPZqxKwuEriwAK9ogdsQCsfxL4MpBOZhH/d7UMRIu/qCJZX4hvQYt4jUom5EGLcacBvnLac/ir8cPN2NEHYuNDM9A7z1iKxGmBeeLIT5351l87oSpcT9FiE9jIqkPwKf2u52rvMsHdYsOrFLwyFiJZfGRzhgTN7F50K+QFf0eTpF+D4COltWeIRumkNaMVkeRxLahSoCLOx2fg7f/CQdXMuAM0sxHAg4uBh8evpuB+CinbV/hVsivch5nnP7DXcNwiWFtcYjBmXAVyvDUQkKfB65yaXvKKXAUq+VoNMk2H4PPG02SZGrClgH/aBrCnAHf1vSA780ZxlxK6x8KvXmtDL+pCrwQqbPwUP8lQnRcTquR0YhCBUSG+2JhnKDReAzPJ+XBRi6h0Cr7o784HWwzvtC8T6Gxz2DcE2UQeSsG16tgnZSLqLmY5ldGC2GnOLFVSKudoPtWlD81tGpDOlAZrxhLy8Qb5qJkZGfGr77HKOpA1vsP8GBVQmtfz4Y/KX8+3oNh1eLgZIIhcPYIpDzCFiOoVoponoSjY72Begy4Ae3PAdo8735ydfwe3Dx7icWeYbKZrPbv4elx6baBgfuvZLyNnP9gzHowceiAXUU6iA5MguYodKAxLs3Am+H95879AL5daLKJKgsA",
2019
- "debug_symbols": "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JC5JXJK4JHHJWve6aMF+wyWJSxKXJNc4a93rjtBwSeKSxCWJSxKXJC5Z614XrbPfcEniksQlyTXOWve6IzRckrgkcUniksQliUvWutdFS/YbLklckrgkucZZ6153hIZLEpckLklckrgkccla97pog/2GSxKXJC5JrnHWutcdoeGSxCWJSxKXJC5JXLLWvS7aZL/hksQlhUuKa5y17nVHJwaxE5NYxEG8xrbWvS5aa0QjOjGI0Bo0XFK4pHBJ4ZLCJYVLCpesda+LZp2YxCIOIjRcUpyXFOclhUuKa5y17nVHaLikcEnhkuK8ZK17LTvjObazwrrGWTGInZjEIg7ivOJyyYoHbbQzGtGJQezEJBZxEOcVT5fsCC2hJbSEltAS2umS47fn+lr3uiNjK8a2rnFWZCaLmSxmspjJYiaLmSxmsqANaAPagDagDWgD2mBsg5kczORgJiczOZnJyUxOZnIyk5OZnNAmtAltXrS17nXHRjTN+lr3eo5irXvdsROTWMRBvGZyrXvdsRGNCK1Ba9AatAatQWvQjLEZYzMjOjGInZjEIg4iM+nQHJpDc2gOzaGdLlmzfrpkjDMO4rzi6ZIdG9GITgxiJx6049dP+1r3uuMgziueLtmxEY3oxCB2IrQOrUPr0BJaQjtc8rzBeEYnxhHrjJ2YxCIO4rzi4RLFRjSiE6EVtIJW0ApaQRvQBrQBbUAb0Aa0AW1AG9AGtAltQpvQJrQJbUKb0Ca0CW1etHPdq2IjGtGJQezEJBZxEKE1aA3a4ZLnXdszHjTrZwxiJyaxiIM4r3i4RLERjQjNoBk0g2bQDJpBc2gOzaE5NIfm0ByaQ3NoDi2gBbSAFtACWkALaAEtoAW0Du1wyfOe9hmN6MQgdmISiziI84qHSxShJbSEltASWkJLaAktoRW0glbQClpBK2gFraAVtII2oA1oA9qANqANaAPagDagDWgT2oQ2oU1oE9qENqFNaBPaFC3Oda+KjWhEJwaxE5NYxEGE1qA1aA1ag9agNWgNWoPWoDVoBs2gGTSDZtAMmkEzaAbNoDk0h+bQHJpDc2gOzaE5NIcW0AJaQAtoAS2gBbSAFtACWofWoXVoHVqH1qF1aB1ah9ahJbSEltASWkJLaAktoSW0hFbQClpBK2gFraAVtIJW0AragDagDWgD2oA2oA1oA9qANqBNaBPahDahTWgT2oQ2oU1ouKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5puKThkoZLGi5pyyV5xoMW6786MYideNBinvGgHU+VinPdq+JByzOeLtmxEY140LKfMYgHLccZD1qtf1vEg1b+r2+/+T/f/fzDd3/+8fv/+eYP/3z+8b/+8dNf/v7DX3/af/z7//2b/ubPP//w448//Pef/vbzX//y/X/+4+fv//TjX/9y/N03j+P/juP5P1p+a+2Pz3/c9n//D+v1rVX+8fm5ffz9o3/7PISffzr/ufn89jkpxx/b8ccY31p/HO83vf+5p78Nt/3+Y9DPEej9z1O4b58f0Hr/0/nPP+bxfj/ef7zDj7fr3z/nP+bx1/HvW9z1juc5p19bGI9vox9/ndc7nlcN9mT8619//Nf/Aw==",
2020
- "verification_key": "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"
2018
+ "bytecode": "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NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF669hiOLaeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrk36LU5OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL137W44tp5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla5MaunB66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla2/h2HJ66dqcXro2p5euzemla3N66dqcXro2p5euvZNjy+mla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzeml63B66TqcXroOp5euw+ml63B66TqcXroOp5euw+ml63B66TqcXroOp5euw+ml63B66TqcXroOp5euE+DYZnJsC3JsC3FsOf1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9apwLHl9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91KnFsOf1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vnTs5tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rZHFsOf1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bJ5thy+t86nP63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",
2019
+ "debug_symbols": "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",
2020
+ "verification_key": "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"
2021
2021
  },
2022
2022
  {
2023
2023
  "name": "claim_and_end_setup",
@@ -3867,9 +3867,9 @@
3867
3867
  }
3868
3868
  }
3869
3869
  },
3870
- "bytecode": "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eunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrj2GY8vppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWuTfouT00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX/pZjy+mla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqkhi6cXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dpbOLacXro2p5euzemla3N66dqcXro2p5euzemla//LseX00rU5vXRtTi9dm9NL1+b00rU5vXRtTi9dm9NL1+b00rU5vXRtTi9dm9NL1+b00nU4vXQdTi9dh9NL1+H00nU4vXQdTi9dh9NL1+H00nU4vXQdTi9dh9NL1+H00nU4vXQdTi9dh9NL1wlwbDM5tgU5toU4tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rVODYcvrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpU4tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+t86dHFtO/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dbI4tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rZHNsOf1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9bh9L91OP1vHU7/W4fT/9aB+t/Wb9G6bVaX2m1aduxjrXdev+zyK6686uqy5cpXuOba666/4cabbr6l4q233V6pcpWq1arXqFmrdp269eo3aNjojjvvuvueexvfd/8DDz708COPNmn6WLPmLR5/4smWTz3dqnWbtu3aZ3Xo2OmZZzt3ee75F158qWuoW6h76OXQK6FXQ6+FXg/1CPUMvRF6M/RW6O3QO6F3Q71CvUPBUHaoT6hv6L3Q+6EPQh+GPgp9HPok1C/UP/RpaEBoYOiz0OehQaHBoSGhoaEvQsNCw0NfhkaEvgqNDH0d+iY0KjQ6NCY0NjQuND40ITQxNCk0OTQlNDU0LTQ9NCM0MzQrNDs0JzQ3NC80P7QgtDC0KLQ4tCS0NBQKidCy0PLQitDK0Leh70Lfh1aFVofWhNaG1oV+CP0YWh/6KfRz6JfQhtDG0K+h30K/h/4I/RnaFPortDm0JfR3aGvon9C20PbQjtDO0L+hXaHdoT2hvaF9of2hA6GDoUOhw6EjoaOhY8JKEJYlLFtYjrAKCCtRWD5hJQkrWVgpwkoVVpqw0oWVISy/sALCyhRWQWEVElZhYRUR1lnCOltY5wirqLCKCetcYRUX1nnCKiGs84VVUlilhHWBsC4U1kXCulhYlwjrUmGVFlYZYV0mrMuFdYWwrhTWVcK6WlhlhVVOWOWFVUFY1wjrWmFdJ6zrhXWDsG4U1k3CullYtwirorBuFdZtwrpdWJWEVVlYVYRVVVjVhFVdWDWEVVNYtYRVW1h1hFVXWPWEVV9YDYTVUFiNhHWHsO4U1l3CultY9wjrXmE1FtZ9wrpfWA8I60FhPSSsh4X1iLAeFVYTYTUV1mPCaias5sJqIazHhfWEsJ4UVkthPSWsp4XVSlithdVGWG2F1U5Y7YWVJawOwuoorE7CekZYzwqrs7C6COs5YT0vrBeE9aKwXhJWV2F1E1Z3Yb0srFeE9aqwXhPW68LqIayewnpDWG8K6y1hvS2sd4T1rrB6Cau3sILCyhZWH2H1FdZ7wnpfWB8I60NhfSSsj4X1ibD6Cau/sD4V1gBhDRTWZ8L6XFiDhDVYWEOENVRYXwhrmLCGC+tLYY0Q1lfCGimsr4X1jbBGCWu0sMYIa6ywxglrvLAmCGuisCYJa7KwpghrqrCmCWu6sGYIa6awZglrtrDmCGuusOYJa76wFghrobAWCWuxsJYIa6mwQsISwlomrOXCWiGslcL6VljfCet7Ya0S1mphrRHWWmGtE9YPwvpRWOuF9ZOwfhbWL8LaIKyNwvpVWL8J63dh/SGsP4W1SVh/CWuzsLYI629hbRXWP8LaJqztwtohrJ3C+ldYu4S1W1h7hLVXWPuEtV9YB4R1UFiHhHVYWEeEdVRYx4SdIGxL2LawHWEXEHaisH3CThJ2srBThJ0q7DRhpws7Q9h+YQeEnSnsgsIuJOzCwi4i7LOEfbawzxF2UWEXE/a5wi4u7POEXULY5wu7pLBLCfsCYV8o7IuEfbGwLxH2pcIuLewywr5M2JcL+wphXynsq4R9tbDLCrucsMsLu4KwrxH2tcK+TtjXC/sGYd8o7JuEfbOwbxF2RWHfKuzbhH27sCsJu7Kwqwi7qrCrCbu6sGsIu6awawm7trDrCLuusOsJu76wGwi7obAbCfsOYd8p7LuEfbew7xH2vcJuLOz7hH2/sB8Q9oPCfkjYDwv7EWE/Kuwmwm4q7MeE3UzYzYXdQtiPC/sJYT8p7JbCfkrYTwu7lbBbC7uNsNsKu52w2ws7S9gdhN1R2J2E/YywnxV2Z2F3EfZzwn5e2C8I+0VhvyTsrsLuJuzuwn5Z2K8I+1Vhvybs14XdQ9g9hf2GsN8U9lvCflvY7wj7XWH3EnZvYQeFnS3sPsLuK+z3hP2+sD8Q9ofC/kjYHwv7E2H3E3Z/YX8q7AHCHijsz4T9ubAHCXuwsIcIe6iwvxD2MGEPF/aXwh4h7K+EPVLYXwv7G2GPEvZoYY8R9lhhjxP2eGFPEPZEYU8S9mRhTxH2VGFPE/Z0Yc8Q9kxhzxL2bGHPEfZcYc8T9nxhLxD2QmEvEvZiYS8R9lJhh4QthL1M2MuFvULYK4X9rbC/E/b3wl4l7NXCXiPstcJeJ+wfhP2jsNcL+ydh/yzsX4S9Qdgbhf2rsH8T9u/C/kPYfwp7k7D/EvZmYW8R9t/C3irsf4S9Tdjbhb1D2DuF/a+wdwl7t7D3CHuvsPcJe7+wDwj7oLAPCfuwsI8I+6iwjwknQTgSybZwHOEUEE6icHzCSRJOsnBShJMqnDThpAsnQzh+4QSEkymcgsIpJJzCwikinLOEc7ZwzhFOUeEUE865wikunPOEU0I45wunpHBKCecC4VwonIuEc7FwLhHOpcIpLZwywrlMOJcL5wrhXCmcq4RztXDKCqeccMoLp4JwrhHOtcK5TjjXC+cG4dwonJuEc7NwbhFOReHcKpzbhHO7cCoJp7JwqginqnCqCae6cGoIp6ZwagmntnDqCKeucOoJp75wGginoXAaCecO4dwpnLuEc7dw7hHOvcJpLJz7hHO/cB4QzoPCeUg4DwvnEeE8KpwmwmkqnMeE00w4zYXTQjiPC+cJ4TwpnJbyY375kbz8+Fx+1C0/lpYfIcuPe+VHs/JjVPmRp/x4Un6UKD/2kx/RyY/T5Edf8mMq+ZGS/PhHflQjP1aRH4HIjyvkRwvyYwD5yF4+XpePwuVja/mIWT4Olo9u5WNW+UhUPr6UjxrlY0H5CE8+bpOPxuRjLPnIST4eko9y5GMX+YhEPs6Qjx7kYwL5ll6+/ZZvleXbWvkWVL5dlG/t5Nsw+ZZJvr2Rb0Xk2wb5El++HJcvneXLXPmSVL58lC/15MuyL+9s0bFTVptqTTs2XZ9wWYJlOwUSfUnJKalp6Rn+QGbBQoWLnHX2OUWLnVv8vBLnlyx1wYUXXXzJpaXL9O69PqFcdvfBlZu1zCqavXxF0t+7ly54onfvkz86N/ePKmYv/3HuFXeuru4rGfnRrbl/dFvuH8mindcPj+XxQzshjx86v2cv/3BrkSHpn2Q84P5wS14/3JHXD/fm9cPDefywgJ3XD5Pz+qE/rx9ek8fiC1yb1w+vy+OHiXvy+uHevH64L48fJk3M64eT8vrh5Dx+mNIlrx8+l9cPn8/jh2m35PXDinn9MI+kEelH8vphXmmTnlfaBErkcRyBi/L64WV5/bBsXj+8Lq8f3pLXDyvn9cOaef2wTfbyEV/1av5it0XdT/0w84bs5Q9OTT34fqNF/d0f3pb7AorMmnn9sE5eP6zn+eEn2evKND3+fu/RZm1bt2vaseVjrVo82jaraTP5/zzTIqtDy7ZtHn02q2m7di2y1iec3X1I1bZtOnTs031otZZZLZp1tLt/UbtNxxZPtMgadM81FdRvFXP+eytf/75btZz/PiF/81frPrhq01atgmmnfIbd2aKV3PQzLfK3Evl+NpeDnV+Hr8JraS5rc9W27bqc2lI175o85idWnnHGK69mYOWD7+rYtl0wO8pKc5xR1SE1WrZopf4iZerQE7Q6udPM7iNqtM1q0fKJNuH/8711F3fq2LJVy45dTjydqHoqWRsez9V7T6Rq797B7iNPPGio3Lx5VosOHU6tIth96F0tW7dr1eLEciKT5VhsgXyFonO17iOqtGzTNPxYo2PDdu9FXJxh9eTUdz/ZtE3YxU3WU5MMrdOpdbvaj2ef+gdndR9Zu03zEyuNekOuj/HbrT/M37N6XJ0KrbsPvlve1mC2++8jV/XkjrMnPNapZavmj7bu8MSjj7Vq2+zpR59s0Sp8u62z/se3+5MzvN2fnMycx3NneP6ONaFGbodEM7e7undNHnO5cs/Gq7uDyKyf33NjDlENdxBdVNMdRBfVcgfRRbXdQXRRHXcQXVTXHUQX1XMH0UX13UF0UQN3EF3U0B1EFzVyB9FFd7iD6KI73UF00V3uILrobncQXXSPO4guutcdRBc1dgfRRfe5g+ii+91BdNED7iC66EF3EF30kDuILnrYHUQXPeIOoosedQfRRU3cQXRRU3cQXfSYO4guauYOoouau4PoohbuILrocXcQXfSEO4guetIdRBe1dAfRRU+5g+iip91BdFErdxBd1NodRBe1cQfRRW3dQXRRO3cQXdTeHUQXZbmD6KIO7iC6qKM7iC7q5A6ii55xB9FFz7qD6KLO7iC6qIs7iC56zh1EFz3vDqKLXnAH0UUvuoPoopfcQXRRV3cQXRTq5hnFkHX3jGLIXvaMYshe8YxiyF71jGLIXvOMYshe94xiyHp4RjFkPT2jGLI3PCPvq8ucujc9o9N0Z/pesPoZv86t1n1Q/bbPZHtf1Z5cq5Xb25ff1eX55soaJN/aed9XWd4Zcr6NGqb5FsDKMbk7xanpc+/ZPhmNk/+n4z2Y0/6XAt4ln/a/JOZ4VyDfz7TMGWPLO3WO/8325FSO/8nxpNEJ547RNmnn3qT7RjL3wTr5i+1bZ/wGLTNqoO2ogXaiBrrAqUCf6aORt844Npm5H67YXrOcD1fy514p57+vlr9/XyDy2CTPm5mU82Y6brBPi32yKzjt5ynuseU5QerQ6u07NW3VwTvHKa+kXE9VUjt0H1yvbdPmp37gc//REBnlrBa5Z/blPXNyzq0lu9chz3+QkvMfpLj/YHB4ncFWpz/vCm038NAhx433xSjGSfnzLpj/YpwUvRj7DBXjpNx1yhejTiXn9y5GmTY597TJ3n3nOIYU7/8WxTL168gjQ0+K5+We4qa5+4/lS6VIQuc1a2K0WVNybyRXnr6UcztJ7lmjOeEeSc5VJnlPLhpyT3+cmndhzB0VX+jjk1uQLMRP0nFra7SoxTwrx3tsuVeVEnoncuP3RJ1AveG8rbMjG+4dtRRUjUg+jB6Tuzo9FiPSZxoVO8+lvx+Jyv7cS/fs+tTic73u9OhPivrFECW6Io0XetWixi5mEE5bZO4gJIcGuqlxpsXLin7ncx3vaRE+0wLly7NADXGPN2q8q7V8JkotyuNDq5T81vJcDqme92bl8/HpximDtDP+5C3d+/ZQ50PHjPwtITn324XcN2JktBPyq8tSXofvD42JWI+KvCAblsd7maTIC6IcawyY5E0AoGLmoPqdWuXcourmF8qdvpnKf1RwaF6XqVDsWlkwNCVymQ7ljJU/j/OcFnX2KOfpd9ed1+zLI8Yzc52m3xvonP9jAHgZlKlOsbxeAGWG5kVCcjTqW8PAmX3YK18Cn5hCWFbOsGe6b3SixTo3TTKjvYXw5FSuf1TQG5Nc2V3IexSxXmtFfWnrzz3laa86otcPv7J+FMorBp5/H+WfFY5Jnkzv7nNnRuHQd8qXW4WjJF2h08ifh/XayJZX54xLQW+NPyn6Per8eb0I9awiyj8rgr7gKpzH4ouE1ivjUihKXAp7EZjbulDoF/cyRlt7zAdMUf7RWbn/URHvqnIWHM/5nRXjgAq5BxTDIRD99O56slXUxMmIPMzN638sePrjXLx0FD7j9CjsXUVe6fG356VoDIgWzMeq/TEKid9reQpcZ/btnE9MfTsntPv/7Os5ZzpR5Jt99ImKT2ux4vb1W9bTJ0osUPyjUt80qUef6PfkRtXt8W+XVE8U5amiE+WxaB5PLT1PqXJmW5KwIi/dhJWU86H1qakiiiJRFPl+sVwAfJDpuP/gtJlTozzUTYv22ujkj9PzCE+q56lpjvCkC6twjgNIdv9Zjse6aa4k7wfKOTeXqnism5bzH6TlfFwmrPRoiZjPx7mW8ht7o/+339jrfsOZfWPPuuHUK2r7jD8S+jX+nb34d/bi39mLf2cv/p29+Hf24t/Zi39nL/6dvfh39lr8n3xnLw9ZXl/Zy0P2lmcUQ/a2ZxRD9o5nFEP2rmcUQ9bLM4oh6+0ZxZAFPaMYsmzPKIbMO4oh6+sZxZC95xnFkL3vGcWQfeAZxZB96BnFkH3kGcWQfewZxZB94hnFkPXzjGLI+ntGMWSfekYxZAM8oxiygZ5RDNlnnlEM2eeeUQzZIM8ohmywZxRDNsQziiEb6hnFkH3hGcWQDfOMYsiGe0YxZF96RjFkIzyjGLKvPKMYspGeUQzZ155RDNk3nlEM2SjPKIZstGcUQzbGM4ohG+sZxZCN84xiyMZ7RjFkEzyjGLKJnlEM2STPKIZssmcUQzbFM4ohm+oZxZBN84xiyKZ7RjFkMzyjGLKZnlEM2SzPKIZstmcUQzbHM4ohm+sZxZDN84xiyOZ7RjFkCzyjGLKFnlEM2SLPKIZssWcUQ7bEM4ohW+oZxZCFPKMYMuEZxZAt84xiyJZ7RjFkKzyjGLKVnlEM2beeUQzZd55RDNn3nlEM2SrPKIZstWcUQ7bGM4ohW+sZxZCt84xiyH7wjGLIfvSMYsjWe0YxZD95RjFkP3tGMWS/eEYxZBs8oxiyjZ5RDNmvnlEM2W+eUQzZ755RDNkfnlEM2Z+eUQzZJs8ohuwvzyiGbLNnFEO2xTOKIfvbM4oh2+oZxZD94xnFkG3zjGLItntGMWQ7PKMYsp2eUQzZv55RDNkuzyiGbLdnFEO2xzOKIdvrGcWQ7fOMYsj2e0YxZAc8oxiyg55RDNkhzyiG7LBnFEN2xDOKITvqGcWQHfOMosuEleAdxhJa3mEsoe0dxhI63mEsYQHvMJYw0TuMJfR5h7GESd5hLGGydxhLmOIdxhKmeoexhGneYSxhuncYS5jhHcYS+r3DWMKAdxhLmOkdxhIW9A5jCQt5h7GEhb3DWMIi3mEs4VneYSzh2d5hLOE53mEsYVHvMJawmHcYS3iudxhLWNw7jCU8zzuMJSzhHcYSnu8dxhKW9A5jCUt5h7GEF3iHsYQXeoexhBd5h7GEF3uHsYSXeIcRYR6/wy+sS73D05T/+9/i30D8Lf6N8d/iP/kdp0St3+MPJ1a0X+QPp1LEPfN/8rv8Vun/6O/yh8N9hr/Nn9fe4r/N3+J/9tv84Rc6/+Hf55cvU0//jX5hvRX/lf5o/4n/Sr/XLI/fmA2/jKL9Tn/4Bef/q7/VL6zrT+3ikv/Q7/UL67JTFz9o+jf7hXX1qU1fqfzdfmFd+5/65X5hVTgVmr7Ar/eH16/+/X5h3Qj8gn9Y9d/5DX9hVfQkyf9//Y6/sCp7Tvn/q7/lv+H/jd/yF1Zt07/mL6wGp8zrxX/R38Av+gvr3lM36gPgV/2FdZ/Z3/UX1tOnrB/87/y2v7CanIrLx/8Hv+/fP/77/rn/N7+6kvxPfuFfWG3Vr8N0f+VfWB1PbTsL+KV/YXX7T/3Wv7A6q4Oj+3v/wnrecy3/H/rN//ApxX/1382RHt7XqP+bX/4Po+yMyneXG0z99r+wesd//T/nf+K//p/rIaSxX///7NQdGKT89f9R/9/79f9v/tu//j/M9K//z3yiRcdHW5V/tGPbR1tVeLR1i9aPtcjq8GTLdo8+27JjG1nL1idU+B//5Z5WZ/iXe1qd5M3ZZ/xhkkPrAlDNuyaPea7P9E7po32iVz3q53k1TsbhnNOvUE2vfRTiOnm9jo/+2DyfYa11xmG9OOrbNCfqp3wFlB+qXnDGn9DVPOPYXJL7Mz7P7gqc/plQrme3iTE+z/HldyEmP2lPNPQoMo+HrImeKnva33i74OTfeKvZomO98ne3rVeh/qli1/hErcvO+efdPKc2vFaLpu0qZ2U17eJ9unxx9ul/+K37kBOSHH8P7uI+/7/urma3aSAIx3ZC2/AjBRH+bxQVCajUO7fUEA4URB7ASpy1WMk4qWNH6VtUoQc4wwkJCXFE8CCVeBjW9vpvveva3Y0b95afXc96d2a++WbXHuaVJeY/MvMf5RMhNe9bqWMB8SzWa/f26Trv3W6LKQdoiqIce9WVAzx9bE0caBxpug2GDhhrlmua0IDADsuATu3J4ujii3+qnEGGil3wNe4qDxI36hQIMuQsQtKCjG+CyoKqqy4Lmlvd8+/UhnOkfQe+KvYCTTwIFZFS1TMWsZK6nmoN63qe7sw8N6pBSwMLoCMonViaPtQ/RPV8ozq+uxdsyn1OU+5jLbrLbYhN7vCvgCknw8FV1O8tzZFY/EPiDvOb5WPQFjsGVQTFoK2c0yDnOe3ZOvP44b2coE5hMsNXuPc2t5b0q3Ln9Qg+H61z8PkwDY1PSlB8icGk/mA89e/ttaWGeNDz4MArBU/lSorCZjpLBm9SVgG/fVHw+7xC+H2G42hgHbrARYH01B2ZUNcM19IxFptmjMEPLgkGdwRgBm/mowAGt5IXTz+bQXkpp69f6VbUt3LuCU7/sR7DCIHhZn2AIRhwl8jw7KQCfRWbyjvfUl5iQ/FaHh+fiM3HsPNGJ0UyNWnNIH9EirBmju9+hY7vBXZ8M7RN8RGxDxvMge3AEWIcMzgGGjAM1F7TJy4SbGfIyJ1Lkle4XsO8QtrF7ccfUup+VvbhRt2yDx3CK+2mvNIAOG+g9T7S4gFSYtXX4V6gwsXyEanxr1la4nZ17uFXIAZNjbeBaQ/HcPGv0SEnovQmHdH/CqfP2ChLoel21khwkPDG0jYm0b0UOZ6S557bBXnYViz9R9DBR7m30+hNicp3LHcfzjN3JbN6Nb2DtBmyl9N84I4oesriYs2y1Ip4HLMRD41O6qgGtMUmlJsb3AsWuqvMyix/xhYDLc8JfSGFdTm1/ZYYVGnE44kuTGJ5EEYVEMHSR8z0KbqY8WqbmUigoHSmNTS+JsxAisdALF70+oLu8ndy8fwp1g5dBCvAcj6Tw2uXWwaZ7H9V8DK24wsz5kPO8w7MWZSS3kEu0JzmHSSGScvkYkRHctr/ATt2DNDXMAsA",
3871
- "debug_symbols": "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rXvQugete/D85t2zsj46SAftYB26snbl7kHrHrTuQesetO5B6x607kGzrmzeoWeje9C6B8/v9F2v6srdg9Y9aN2D1j1o3YPWPWjdg+f3/p6Vvee5e9C6B6178Pze3/NVoyt3D1r3oHUPWvegdQ9a96B1D1p05eh57h607kHrHrS+1LS+1rTuQesetO5B6x607kHrHrTuwfPbgs/K2fPcPWjdg9Y9aH3heX5b8ApduXvQugete9C6B6170LoHz+8PPivPnufuQesetO5B68tQm125e9C6B6170LoHvXvQuwe9e9Afu7I/vMPoEB2yQ/WrunL3oHcPevegdw9696B3D3r3oEtXluqwZ8O7B7170Pta1LUrdw9696B3D3r3oHcPevegdw+6dWXTDj0b3YPePeh9LerWlbsHvXvQuwe9e9C7B7170LsH3buy9zx3D3r3oHcPel+L+ujK3YPePejdg9496N2D3j3o3YM+unL0PHcPevegdw96X4t696D3+6D3+6B3D3pfi3p25b7n8+5B7x707kHv90E/ezCPcHxl++MI1WHucH4L/Bmkg3awDt5hdIgOXbm6cnXl2ZVnV55deXbl2ZVnV55deXbl2ZXnrjwejw7SQTtYB+8wOkSH7FAdurJ0ZenK0pWPHozzUwHvMDocle0I2aE6zB3OX0FxBtmvOn8JxRm68vlrKM5/Mzp0Ze3K2pW1K1tXtq5sXdm6svU+W++zdWXrytaVrSt7Vz56cAXtYB16n70rHz24QnaoDnOH0ZVHVx5deXTl0ZVHz8bofR69z6P3eXTlowdX6NmIno3o2YiuHF05unJ05ejK0bORvc/Z+5y9z9mVs+c5ezayZyN7NrIrZ1eurlxdubpy9WxU73P1Plfvc3Xl6nmuno3ZszF7NmZXnl15duXZlWdXnj0bs/d57n2Ox6PDrhwP7WAdvMPoEP2q7FAdurJ0ZZEO2sE6eIeuLNEhO1SHPRvRPRjalbUra1fuHozuwegejO7B6B4M7cr26NCz0T0Y3YNhXdm6cvdgdA9G92B0D0b3YHQPRvdgeFf2nufuwegejO7B8K7sXbl7MLoHo3swugejezC6B6N7MEZXHj3P3YPRPRjdgxFdObpy92B0D0b3YHQPRvdgdA9G92BkV86e5+7B6B6M7sHIrpxduXswugejezC6B6N7MLoHo3swqitXz3P3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AS2gBbSAFtACWkALaAEtoCW0hJbQElpCS2gJLaGdLjm+FUzOda07ni7Z8aTlGZVoRCcOYlAhidBOl6x/e7pkR2gT2oQ2oU1oE9qENqHNHpuuda87Nk3XutcdjejEQQxiEos4ryjQTpfsqEQjOhGaQBNoAk2g6YPI2JSxKWNTaKdLdgxiEosIzaAZNINm0IyZNMZmjM0Ym0Ezjpszk85MOjPp0ByaQ3NoDs2ZSWdsg7ENxjagDY7bYCYHMzmYyQFtQBvQAlpAC2YyGFswtmBsAS04bsFMBjOZzGRCS2gJLaEltGQmk7ElY0vGVtCK41bMZDGTxUwWtIJW0ApaQZvM5GRsk7FNxjahTY7bZCYnMzmZyXnR1rrXHYWoRCM6cRCDmMSLtta9rohLBJcILlnrXlcFgYZLBJcILhFcIrhEcIngkrXuddHUiE4cxCBCU2i4RHCJ4BLBJYJLBJcILlnrXhfNkshM4hLBJWvd66rg0HCJ4BLBJYJLBJcILhFcsta9LtrguOESwSWCS9a6110BGi4RXCK4RHCJ4BLBJYJL1rrXRQuOGy4RXCK4ZK17XRUSGi4RXCK4RHCJ4BLBJYJLJKElxw2XCC4RXCIFraDhEsElgksElwguEVwiuGSte120yXHDJYJLBJesda+7AjRcorhEcYniEsUliksUl6x1rydtrXvdsYjXTCouWeteVwWBhksUlyguUVyiuERxieKSte510VSISjSiE6EpNFyiuERxieISxSWKSxSXrHWvi2aDyEziEsUla93rquDQcIniEsUliksUlyguUVyy1r0umnPccIniEsUla93rqjCg4RLFJYpLFJcoLlFcorhkrXtdtOC44RLFJYpL1rrXXQEaLlFcorhEcYniEsUlikvWutdFS44bLlFcorhEC1pBwyWKSxSXKC5RXKK4RHHJWve6aJPjhksUlygu0QltQsMliksUlxguMVxiuMRwyVr3etLWutcdg5jEIkITaLjEcInhEsMlhksMlxguWeteF02u42a4xHCJ4RLjHmete90RGi4xXGK4xHCJ4RLDJWvd66KZEZlJXGK4xLjHWeted4SGSwyXGC4xXGK4xHDJWve6aM5xwyWGSwyXGPc4a93rjtBwieESwyWGSwyXGC5Z614XLThuuMRwieES4x5nrXvdERouMVxiuMRwieESwyVr3euiJccNlxguMVxi3OMYLjGuS4zrEsMlxj3OWve6IzRcYrjEcIlxXbLWvR6/qUbXutfz+9vXutcdnTiIQUxiEWfHte51RyEq0YhOHMQgJrGI0ASaQBNoAk2gCTSBJtAEmkBTaApNoSk0habQFJpCO12yvif4dMmKp0t2PGnjjEo0ohMHMaiQRGinS9a/PV2yIzSH5tAcmkNzaA7NoTljG4xtQBvQBrQBbUA7XbJjEovI2ALa6ZIdlWhEJ0ILaAEtoAW0ZCaTsSVjS8aW0E6X7MhMJjOZzGRCK2gFraAVtGImi7EVYyvGVtCK4zaZyclMTmZyQpvQJrQJbUKbzOS8xrbWve4oxIu21r3u6MRBDGJSoYjQBJpAEyUa0YmDCE2SWMRrJte61x2hKTSFptAUmgaRsSljU8aGS9a61x2ZSWMmjZnEJWvd647QDBouGbhk4JKBSwYuWete97eUc9xwycAlA5esda+rwoCGSwYuGbhk4JKBSwYuGbhkrXtdtMFxwyUDlwxcsta9rgoBDZcMXDJwycAlA5cMXDJwyVr3umjJccMlA5cMXLLWve4K0HDJwCUDlwxcMnDJwCUDl6x1r4tWHDdcMnDJwCVr3euqMKHhkoFLBi4ZuGTgkoFLBi5Z615P2lr3uqMSjejEQYUgJrGI0HBJ4JLAJYFL1rrXRZNBDGISiwhNoeGSwCWBSwKXBC4JXBK4JLguCa5LApcELglcElyXBNclgUsClwQuCVwSuCRwSeCSte510ZzjhksClwQuWetedwVouCRwSeCSwCWBSwKXBC5Z614XbXDccEngksAla93rqhDQcEngksAlgUsClwQuCVyy1r0uWnLccEngksAla93rrgANlwQuCVwSuCRwSeCSwCVr3euiFccNlwQuCVyy1r2uChMaLglcErgkcEngksAlgUvWutdFm9dxS1ySuCRxyVr3elZY6153HMQgJrGI19gSlyQuWeteF02M6MRBDCI0gYZLEpckLklckrgkcUnikrXuddE0iUVkJnFJco+T3OMkLklckrgkcUniksQliUvWutdFc44bLklckrgkucdZ6153hIZLEpckLklckrgkccla97pog+OGSxKXJC5J7nHWutcdoeGSxCWJSxKXJC5JXLLWvS5acNxwSeKSxCXJPc5a97ojNFySuCRxSeKSxCWJS9a610UrjhsuSVySuCS5x1nrXneE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",
3872
- "verification_key": "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"
3870
+ "bytecode": "H4sIAAAAAAAA/+z9B5xUxdb2Dc/em+nJ3UNQQUQwgpFgVlRyTkbMgoCKEgdQMAEmMEIPmEFQgiCi5Jxz6CKoJEUFE4JIkJy/aqDZm5nprmuKuu7j8719fud9n7rnXFxVtWrV+nfv7lnjZAc/GNusVdOWrR9t2qb5oy3k/9ehRcdO7UTBO9YXXtV9VJVWTZs9XaVt5xqd2jSr2rRVq+5D7qzcoGb17O5fNG7ZsU2LDh3sUoDIsQBRQcSpcCVAdHaoG6A6B1Kdh6yqBCI6HxGVRESloJVfAKkuhFQXQaqLkcVfKq1GVMlq2apVyyfCgr4JvXv36d17XqmE2P+xun9ZuUOHFlkdH2iR1bZP72D2vFLlmjfI2lh+4GWTGlWf0L37fQ+XueavWl0mtwtW3binzw75T4TzTWzbC4+uGq5jOyqqbWJkkEckxjVq26FFy+Zt21Ro1CKrdaeOTTu2bNsmu++pyMjlnhpf4sbL87+P6iuc0cIZI5yxwhl3+sr7ZKtDWBrQyBmgGIxXWiXkf4FloAWOgRY4AVigziGN94wneMZjPeNx8qAmCmeScCYLZ8rpccgG9lgY2uFUhZF1B3JrpU+l/K/wYmiF04BrjaxwWqnTa0Zyn+5D72rZ5olWLU5cWdUklwC5cMpQXYtK5UNsJQS7D6mcldW0y/qEUsKZLpwZwpkpnFnCmS2cOcKZK5x5wpkvnAXCWSicRcJZLJwlwlkqnJBwhHCWCWe5cFYIZ6VwvhXOd8L5XjirhLNaOGuEs1Y464Tzg3B+FM56rJAiEZ+eDMlmYLKZmGwWJpuNyeZgsrmYbB4mm4/JFmCyhZhsESZbjMmWYLKlmCyEyQQmW4bJlmOyFZhsJSb7FpN9h8m+x2SrMNlqTLYGk63FZOsw2Q+Y7EdMtj75dJj1jQ6q3idBJV9SzI+qaht0VQuiqSa186gWImgM7M7v66ccGxmfh62cfOVpqmoT8lZ961U1rB5F9R20kf353cj6hBIIsqEXGNMVqu3HjsmNzFCqwtudqVIdD8qs2KrsE6GbHVO1+2SA58RSbYgcw9wYqiqnDmteFFXn0450Ud6qmqcf/OI8VZtypMeSvFQVcibR0jxUpXOlWii36qHcCSlyqRrnkbbLcqq65ZXcy3OouuV5BVZ4VBMbRbso37uqMpOiqladUg24LLpqdURVbmAM1ZqTqg3lY6nWnlC13xhTte64qn5WbNUPYVWzBgrVj1JVtrlKtR55mxfYDamQ8nPae4eUYP7eO8jlKmvMyuOerdu1aiGcn/L/NCPYB1qG9M5W17uVYRni97O6wOqt8ucgtMqf83tyqdkaJ6cQrcjXW7ls95h/cYcbzL3t+gWTbUjO/7OVE9dODctfIPBuACKb/+T5WU6PPYL7hX/tf1RGq7/n2m9kXXv5vn4jcO37h2WI36+Uay9X+WsQWuWv/Gv/o1LUT/fa/+YOfzd37X/DZL9rXfsfoWv/G3Ttfgcim+tZotoWm/wPjfuldpU159dsDJjQKv/M5/sh7H79IY2DxuY/w8r4gzKhxnoq4yZWZZQPPTcBlXFsWIb4/UWpjHKVfwWhVf6lkTlQfv9pMr835/f9PlYC/oJUW4BEOkN4/KAUjdGFx9/ucKs5ePyNybZqweMHCB5/Q4e3FYisRuZgk/9DKUGbZUpiZXkbBQv/SGPO/GDwt0Gq7ZTgRyobUAMh1Y78Fpf8k3Od8jb18pBzJ4uc8hPDnQA5e4VliN+/FHLKVf4bhFb5L4Wc22VKmLwFu/L7JRds8n8h1W4+OdcpRe/qknOPO9xrjpx7MNleLXKug8i5Bzq8vUBkNTIHm3wfpQTtkimJkWs/hZz7pDFnfjD4+yHVAUrwI5VNrcQq20H+e861yttUykPOQyxyrpXeADlLhWWI32EKOeUqDwehVR6mkPOATAmTt+AIh5yHIdVRPjnXKkUldcl57NSwQII5ch6DZAUStMi5FiLnMeTwCiQAkdXIHGxyi1KCjsiUhMhVwGaQs4D8r82ZHwt+ARtSOZTgRyqbWglVtgIF+ORco7xNK1xyFkhkkXON9AbIuSIsQ9LQRyGnXKUvCK3SxyBnAUemhMlbkEQhZwEfpErmk3ONUrRck5wFUtxhqjFyFkjBZKla5FyDkLNACnR4qUBkNTIHmzyNUYIKJMmUxMiVTiFnmjTmzA8GPx1SZVCCH6lsaiVW2fx8cq5W3qamHnIGWORcLb0BcjYNy5D4ZlLIKVeZGYRWmUkhZ4ZMCZO3oCCHnJmQqhCfnKuVoia65CzsDouYI2dhTFZEi5yrIXJCv5dXoAgQWY3MwSY/i1K8C8qUxMh1NoWcZ0ljzvxg8M+GVOdQgh+pbGolVtmK8sm5Snmb1nrIWYxFzlXSGyDn2rAMie+5FHLKVZ4bhFZ5LoWc58iUMHkLinPIeS6kOo9PzlVK0RpdcpZwh+ebI2cJTHa+FjlXQeQsAR3e+UBkNTIHm7wkpXgXlymJkasUhZwlpTFnfjD4pSDVBZTgRyqbWolVtgv55PxeeZtqe8h5EYuc30tvgJy1wzIkvhdTyClXeXEQWuXFFHJeIFPC5C24hENOqFlHgUv55PxeKaqlS87S7rCMOXKWxmRltMj5PUTO0tDhlQEiq5E52OSXUYr3JTIlMXJdTiHnZdKYMz8Y/Msh1RWU4Ecqm1qJVbYr+eT8TnmbRnvIeRWLnN9Jb4Cco8MyJL5XU8gpV3l1EFrl1RRyXiFTwuQtKMsh59WQqhyfnN8pRaN0yVneHVYwR87ymKyCFjm/g8hZHjq8CkBkNTIHm/waSvEuK1MSI9e1FHJeI40584PBvxZSXUcJfqSyqZVYZbueT85vlbdpmoecN7DI+a30Bsg5LSxD4nsjhZxylTcGoVXeSCHndTIlTN6CmzjkvBFS3cwn57dK0VRdct7iDiuaI+ctmKyiFjm/hch5C3R4FYHIamQONvmtlOJ9k0xJjFy3Uch5qzTmzA8G/zZIdTsl+JHKplZila0Sn5wrlbeproeclVnkXCm9AXLWDcuQ+FahkFOuskoQWmUVCjlvlylh8hZU5ZCzCqSqxifnSqWoji45q7vDGubIWR2T1dAi50qInNWhw6sBRFYjc7DJa1KKd1WZkhi5alHIWVMac+YHg18LUtWmBD9S2dRKrLLV4ZNzhfI2dfOQsy6LnCukN0DObmEZEt96FHLKVdYLQqusRyGn/AC1jslbUJ9DznqQqgGfnCuUoq665GzoDhuZI2dDTNZIi5wrIHI2hA6vERBZjczBJr+DUrzry5TEyHUnhZx3SGPO/GDw74RUd1GCH6lsaiVW2e7mk3N5vsh5D4ucy6U3Rs57oPjeSyGnXOW9GDnvpZDzLpkSJm9BYw4574VU9/HJuZxHzvvd4QPmyHk/JntAi5zLIXLeDx3eAxxyYpM/SCnejWVKYuR6iELOB6UxZ34w+A9BqocpwY9UNrUSq2yP8Mm5THmbhnvI+SiLnMukN0DO4WEZEt8mFHLKVTYJQqtsQiHnwzIlTN6CphxyNoFUj/HJuUwpGqZLzmbusLk5cjbDZM21yLkMImcz6PCaA5HVyBxs8haU4t1UpiRGrscp5JSZ9DhnfjD4j0OqJyjBj1Q2tRKrbE/yySmUt2mwh5wtWeQU0hsg5+CwDInvUxRyylU+FYRW+RSFnE/IlDB5C57mkPMpSNWKT06hFA3SJWdrd9jGHDlbY7I2WuQUEDlbQ4fXBoisRuZgk7elFO+nZUpi5GpHIWdbacyZHwx+O0jVnhL8SGVTK7HKlsUnZ0h5m9Z5yNmBRc6Q9AbIuS4sQ+LbkUJOucqOQWiVHSnkbC9TwuQt6MQhZ0dI9QyfnCGlaK0uOZ91h53NkfNZTNZZi5whiJzPQofXGYisRuZgk3ehFO9OMiUxcj1HIWcXacyZHwz+c5DqeUrwI5VNrcQq2wt8ci5V3qZlHnK+yCLnUukNkHNZWIbE9yUKOeUqXwpCq3yJQs7nZUqYvAVdOeR8CVJ145NzqVIkdMnZ3R2+bI6c3THZy1rkXAqRszt0eC8DkdXIHGzyVyjFu6tMSYxcr1LI+Yo05swPBv9VSPUaJfiRyqZWYpXtdT45lyhvUzEPOXuwyLlEegPkLBaWIfHtSSGnXGXPILTKnhRyviZTwuQteINDzp6Q6k0+OZcoRUV1yfmWO3zbHDnfwmRva5FzCUTOt6DDexuIrEbmYJO/Qyneb8iUxMj1LoWc70hjzvxg8N+FVL0owY9UNrUSq2y9+eRcrLxNkz3kDLLIuVh6A+ScHJYh8c2mkFOuMjsIrTKbQs5eMiVM3oI+HHJiqr58ci5WiibpkvM9d/i+OXK+h8ne1yLnYoic70GH9z4QWY3MwSb/gFK8+8iUxMj1IYWcH0hjzvxg8D+EVB9Rgh+pbGolVtk+5pNzkfI29fSQ8xMWORdJb4CcPcMyJL79KOSUq+wXhFbZj0LOj2RKmLwF/Tnk7AepPuWTc5FS1EOXnAPc4UBz5ByAyQZqkXMRRM4B0OENBCKrkTnY5J9Rind/mZIYuT6nkPMzacyZHwz+55BqECX4kcqmVmKVbTCfnAuVt6mWh5xDWORcKL0BctYKy5D4DqWQU65yaBBa5VAKOQfJlDB5C77gkHMopBrGJ+dCpaimLjmHu8MvzZFzOCb7UoucCyFyDocO70sgshqZg00+glK8v5ApiZHrKwo5R0hjzvxg8L+CVCMpwY9UNrUSq2xf88m5QHmbgh5yfsMi5wLpDZAzGJYh8R1FIadc5aggtMpRFHKOlClh8haM5pBzFKQawyfnAqWoty45x7rDcebIORaTjdMi5wKInGOhwxsHRFYjc7DJx1OK92iZkhi5JlDIOV4ac+YHgz8BUk2kBD9S2dRKrLJN4pNzvvI2tfOQczKLnPOlN0DOdmEZEt8pFHLKVU4JQqucQiHnRJkSJm/BVA45p0CqaXxyzleK2uqSc7o7nGGOnNMx2Qwtcs6HyDkdOrwZQGQ1MgebfCaleE+VKYmRaxaFnDOlMWd+MPizINVsSvAjlU2txCrbHD455ylv0wwPOeeyyDlPegPknBGWIfGdRyGnXOW8ILTKeRRyzpYpYfIWzOeQcx6kWsAnp/oUpuuSc6E7XGSOnAsx2SItcs6DyLkQOrxFQGQ1MgebfDGleMuXxQswci2hkHOxNObMDwZ/CaRaSgl+pLKplVhlC/HJOVd5m0p5yClY5JwrvQFylgrLkPguo5BTrnJZEFrlMgo5l8qUMHkLlnPIuQxSreCTc65SVFKXnCvd4bfmyLkSk32rRc65EDlXQof3LRBZjczBJv+OUryXy5TEyPU9hZzfSWPO/GDwv4dUqyjBj1Q2tRKrbKv55JyjvE3pHnKuYZFzjvQGyJkeliHxXUshp1zl2iC0yrUUcq6SKWHyFqzjkHMtpPqBT071M5s0XXL+6A7XmyPnj5hsvRY550Dk/BE6vPVAZDUyB5v8J0rxXidTEiPXzxRy/iSNOfODwf8ZUv1CCX6ksqmVWGXbwCfnbOVtauMh50YWOeW79Y0AOduEZUh8f6WQU67y1yC0yl8p5PxFpoTJW/Abh5y/Qqrf+eRUfybTWpecf7jDP82R8w9M9qcWOWdD5PwDOrw/gchqZA42+SZK8f5NpiRGrr8o5NwkjTnzg8H/C1JtpgQ/UtnUSqyybeGTc5byNhX0kPNvFjlnSW+AnAXDMiS+WynklKvcGoRWuZVCzs0yJUzegn845NwKqbbxyan+KkWmLjm3u8Md5si5HZPt0CLnLIic26HD2wFEViNzsMl3Uor3PzIlMXL9SyHnTmnMmR8M/r+Qahcl+JHKplZilW03n5zq76kleMi5h0XOmdIb6w60l8JEOf/e3hTa7ZLHaDJz93FotxdS7dc4fGBL0vj/oF3WjHyl+gFWqs+Q3liqH6Skupz/oE6qK53D53gwaCiJz/i0p6vX4TntQ6zTni69sRt4CMqJw5SckKs8jJ3cYUqRlJlzGAPnPmiVRxj5HY7Skd6cVy1HINVRyquWCKHUSoxQxyjF5ag0xsrmEeCKnFZckvvkr7hcCmwQf0OWUCpf796C3YdUzspq2mV9QimRmCASLZFoi0RHJBYQiYki0ScSk0RiskhMEYmpIjFNJKaLxAyR6BeJAZGYKRILisRCIrGwSCwiEs8SiWeLxHNEYlGRWEwknisSi4vE80RiCZF4vkgsaewdYWJCMiSzMJmNyRxMVgCTJWIyHyZLwmTJmCwFk6VisjRMlo7JMjCZH5MFMFkmJiuIyQphssKYrAgmOwuTnY3JzsFkRTFZMUx2LiYrjsnOw2QlMNn5mKxkjmdUfaMTsPdJuMiCnBxV1TboqlKiqSa186hSEeZmOvl9WZJjI+PzsJWTFzlNVW1C3qqzvKqG1aOozoY2kpTfjaxPKIEgG5k8MQF5tphoKVXh7doq1fGgOLFV2SdCF7sl8u6TAU6MpdoQOQZfDFWVU4eVFEXV+bQjTctbVfP0g0/PU7UpR3pk5KWqkDOJ/HmoSudKtUBu1UO5EzIzl6pxHmlbMKeqW17JXSiHqlueV6CwRzWxUbSLco6rKjMpqqroKdWAy6KrikVU5QbGUJ17UrWhfCxV8ROq9htjqs47rqqfFVsVvrPlmjVQqM6XqrLNVaqSyLuCTAdSJdEfTCSWVNaYle6DicRSpAcTiSWlN/BZ5cqwDPG7gPFgIrzKC4LQKi/I78nl+4O48MkpRCs0P4hLvNAdXmTubdeFmOwinQ/ijl87NSwvhMB7ERDZ/CfPBXJ66KlW4oX8a3++Mlr9Pdf+Yta1l+/rLwauff+wDPG7hHLt5SovCUKrvIR/7c9XivrpXvtL3WFpc9f+UkxWWuvanw9de+z1dmkgsvl/mApOXobxWVa45lySjQETWuVljIepiWWkcdDY/GdYGUsoE2qspzJezqqM8qHn5UBlHBuWIX5XUCqjXOUVQWiVVzA+qQnn92Um8/tKyucpiVdAqqvoX94KJ7dCNEYXHle7w7Lm4HE1JiurBY8SEDyuhg6vLBBZjczBJi9HKUFXypTEynJ5ChbKSWPO/GDwy0OqCpTgRyobUAMh1TX5LS75J+d5ytvUy0POa1nklJ8YXguQs1dYhvhdRyGnXOV1QWiV11HIWUGmhMlbcD3li2CJ10GqG/jkPE8peleXnDe6w5vMkfNGTHaTFjnPg8h5I3R4NwGR1cgcbPKbKSXoepmSGLluoZDzZmnMmR8M/i2QqiIl+JHKplZile1W/nvO4srb5GnvlHgbi5zFpTfU3knKEL/bKeSUq7wdau8Unl9hp0POijIlTN6CShxy3g6pKvPJWVwp0m3vlFjFHVY1R84qmKyqFjmLQ+SsAh1eVSCyGpmDTV6NUoIqyZTEyFWdQs5q0pgzPxj86pCqBiX4kcqmVmKVrSafnOcqb9MKDzlrsch5rvQGyLkiLEP8alPIKVdZOwitsjaFnDVkSpi8BXU45KwNqeryyXmuUrRcl5z13GF9c+Ssh8nqa5HzXIic9aDDqw9EViNzsMkbUEpQHZmSGLkaUsjZQBpz5geD3xBSNaIEP1LZ1Eqsst3BJ2cx5W1q6iHnnSxyFpPeADmbhmWI310UcspV3hWEVnkXhZyNZEqYvAV3c8h5F6S6h0/OYkpRE11y3usOG5sj572YrLEWOYtB5LwXOrzGQGQ1Mgeb/D5KCbpbpiRGrvsp5LxPGnPmB4N/P6R6gBL8SGVTK7HK9iCfnEWVt2mth5wPschZVHoD5FwbliF+D1PIKVf5cBBa5cMUcj4gU8LkLXiEQ86HIdWjfHIWVYrW6JKziTtsao6cTTBZUy1yFoXI2QQ6vKZAZDUyB5v8MUoJekSmJEauZhRyPiaNOfODwW8GqZpTgh+pbGolVtla8Ml5jvI21faQ83EWOc+R3gA5a4dliN8TFHLKVT4RhFb5BIWczWVKmLwFT3LI+QSkaskn5zlKUS1dcj7lDp82R86nMNnTWuQ8ByLnU9DhPQ1EViNzsMlbUUrQkzIlMXK1ppCzlTTmzA8GvzWkakMJfqSyqZVYZWvLJ+fZyts02kPOdixyni29AXKODssQv/YUcspVtg9Cq2xPIWcbmRImb0EWh5ztIVUHPjnPVopG6ZKzozvsZI6cHTFZJy1yng2RsyN0eJ2AyGpkDjb5M5QSlCVTEiPXsxRyPiONOfODwX8WUnWmBD9S2dRKrLJ14ZPzLOVtmuYh53Mscp4lvQFyTgvLEL/nKeSUq3w+CK3yeQo5O8uUMHkLXuCQ83lI9SKfnGcpRVN1yfmSO+xqjpwvYbKuWuQ8CyLnS9DhdQUiq5E52OTdKCXoBZmSGLm6U8jZTRpz5geD3x1SvUwJfqSyqZVYZXuFT84iyttU10POV1nkLCK9AXLWDcsQv9co5JSrfC0IrfI1Cjlflilh8ha8ziHna5CqB5+cRZSiOrrk7OkO3zBHzp6Y7A0tchaByNkTOrw3gMhqZA42+ZuUEvS6TEmMXG9RyPmmNObMDwb/LUj1NiX4kcqmVmKV7R0+OQsrb1M3DznfZZGzsPQGyNktLEP8elHIKVfZKwitsheFnG/LlDB5C3pzyNkLUgX55CysFHXVJadn2MccObMxWR8tchaGyIkdcR8gshqZg6n6UkpQb5mSGLneo5CzrzTmzA8G/z1I9T4l+JHKplZile0DPjkL5YucH7LIWUh6Y+T8ENrWRxRyylV+hJHzIwo535cpYfIWfMwh50eQ6hM+OQvxyNnPHfY3R85+mKy/FjkLQeTsBx1efw45sck/pZSgj2VKYuQaQCHnp9KYMz8Y/AGQaiAl+JHKplZile0zPjkLKm/TcA85P2eRs6D0Bsg5PCxD/AZRyClXOSgIrXIQhZwDZUqYvAWDOeQcBKmG8MlZUCkapkvOoe7wC3PkHIrJvtAiZ0GInEOhw/sCiKxG5mCTD6OUoMEyJTFyDaeQc5g05swPBn84pPqSEvxIZVMrsco2gk/OTOVtGuwh51cscmZKb4Ccg8MyxG8khZxylSOD0CpHUsj5pUwJk7fgaw45R0Kqb/jkzFSKBumSc5Q7HG2OnKMw2WgtcmZC5BwFHd5oILIamYNNPoZSgr6WKYmRayyFnGOkMWd+MPhjIdU4SvAjlU2txCrbeD45A8rbtM5DzgkscgakN0DOdWEZ4jeRQk65yolBaJUTKeQcJ1PC5C2YxCHnREg1mU/OgFK0VpecU9zhVHPknILJpmqRMwCRcwp0eFOByGpkDjb5NEoJmiRTEiPXdAo5p0ljzvxg8KdDqhmU4Ecqm1qJVbaZfHL6lbdpmYecs1jk9EtvgJzLwjLEbzaFnHKVs4PQKmdTyDlDpoTJWzCHQ87ZkGoun5x+pUjoknOeO5xvjpzzMNl8LXL6IXLOgw5vPhBZjczBJl9AKUFzZEpi5FpIIecCacyZHwz+Qki1iBL8SGVTK7HKtphPzgzlbSrmIecSFjkzpDdAzmJhGeK3lEJOucqlQWiVSynkXCRTwuQtCHHIuRRSCT45M5SiorrkXOYOl5sj5zJMtlyLnBkQOZdBh7cciKxG5mCTr6CUoJBMSYxcKynkXCGNOfODwV8Jqb6lBD9S2dRKrLJ9xydnuvI2TfaQ83sWOdOlN0DOyWEZ4reKQk65ylVBaJWrKOT8VqaEyVuwmkPOVZBqDZ+c6UrRJF1yrnWH68yRcy0mW6dFznSInGuhw1sHRFYjc7DJf6CUoNUyJTFy/Ugh5w/SmDM/GPwfIdV6SvAjlU2txCrbT3xypilvU08POX9mkTNNegPk7BmWIX6/UMgpV/lLEFrlLxRyrpcpYfIWbOCQ8xdItZFPzjSlqIcuOX91h7+ZI+evmOw3LXKmQeT8FTq834DIamQONvnvlBK0QaYkRq4/KOT8XRpz5geD/wek+pMS/EhlUyuxyraJT85U5W2q5SHnXyxypkpvgJy1wjLEbzOFnHKVm4PQKjdTyPmnTAmTt2ALh5ybIdXffHKmKkU1dcm51R3+Y46cWzHZP1rkTIXIuRU6vH+AyGpkDjb5NkoJ2iJTEiPXdgo5t0ljzvxg8LdDqh2U4Ecqm1qJVbadfHKmKG9T0EPOf1nkTJHeADmDYRnit4tCTrnKXUFolbso5NwhU8LkLdjNIecuSLWHT84Upai3Ljn3usN95si5F5Pt0yJnCkTOvdDh7QMiq5E52OT7KSVot0xJjFwHKOTcL40584PBPwCpDlKCH6lsaiVW2Q7xyZmsvE3tPOQ8zCJnsvQGyNkuLEP8jlDIKVd5JAit8giFnAdlSpi8BUc55DwCqY7xyZmsFLXVJKcvwR1axsjpA2WWFjmTEXL6EpDD81lAZPOfOeDkNqUEHZUpCZHL5zDI6bOlMWd+MPgOpCpACX6ksqmVUGXzJfLJmaS8TTNccvp8LHImSW+AnDPCMiQNkyjklKtMCkKrTGKQ01dApoTJW5BMIacvCVKl8MmpPoXpuuRMdYdp5siZisnStMiZBJEzFTq8NCCyGpmDTZ7OKEG+ZJmSGLkyKORMl8ac+cHgZ0AqPyX4kcqmVmKVLcAnp095m0p5yJnJIqdPegPkLBWWIfEtSCGnXGXBILTKghRy+mVKmLwFhTjkLAipCvPJ6VOKSuqSs4g7PMscOYtgsrO0yOmDyFkEOryzgMhqZA42+dmU4l1IpiRGrnMo5DxbGnPmB4N/DqQqSgl+pLKplVhlK8YnZ6LyNqV7yHkui5yJ0hsgZ3pYhsS3OIWccpXFg9Aqi1PIWVSmhMlbcB6HnMUhVQk+OdXPbNJ0yXm+OyxpjpznY7KSWuRMhMh5PnR4JYHIamQONnkpSvE+T6YkRq4LKOSUr7cv4MwPBv8CSHUhJfiRyqZWYpXtIj45CyhvUxsPOS9mkVO+W78YIGebsAyJ7yUUcspVXhKEVnkJhZwXypQweQsu5ZDzEkhVmk9O9WcyrXXJWcYdXmaOnGUw2WVa5CwAkbMMdHiXAZHVyBxs8sspxftSmZIYua6gkPNyacyZHwz+FZDqSkrwI5VNrcQq21V8cjrK21TQQ86rWeR0pDdAzoJhGRLfshRyylWWDUKrLEsh55UyJUzegnIccpaFVOX55FR/lSJTl5wV3OE15shZAZNdo0VOByJnBejwrgEiq5E52OTXUop3OZmSGLmuo5DzWmnMmR8M/nWQ6npK8COVTa3EKtsNfHKqv6eW4CHnjSxy2tIbWrDvJgoT5fw39abQ7np5jCYz92YO7W6CVLdoHD6wJWncm5/qVr5SvSIr1WUOV8RS/VZKqoeNdVJd6Rw+x1uDhpL4jE87Qb0Oz2nfxjptudnbsBt4G5QTt1NyQk5/O3Zyt1OKpMyc2zFw3gytshIjv8NRqtSb86qlEqSqTHnVEiGUWokRqgqluFSWxljZrARckdOKi9Wn+5DKWVlNu6xPqIbUgWaIaDciqo2IngRLnqNu75WAWv1ozuoHc1brzFmtNWe1xpzVanNWq8xZfW/O6jtzVt+as1ppzmqFOavl5qyWmbMS5qxC5qyWmrNaYs5qsTmrReasFpqzWmDOar45q3nmrOaas5pjzmq2OatZ5qxmmrOaYc5qujGrxJLmrM43Z1XCnNV55qyKm7M615xVMXNWRc1ZnWPO6mxzVmeZsypizqqwOatC5qwKmrPKNGcVMGflN2eVYc4q3ZxVmjmrVHNWKeasks1ZJZmz8pmzSjRnVcCclWPOyjZnZZmzSlBb5ePbCQnV8iOWT/AjD+4yha+q8FUTvurCV0P4agpfLeGrLXx1hK+u8NUTvvrC10D4GgpfI+G7Q/juNPd1h2qlIFl1TFYDk9XEZLUwWW1MVgeT1cVk9TBZfUzWAJM1xGSNMNkdmOzOUqd/JoA9x64a+zn222kTPjrd9j3k8byzDvkCjfODUnX8MbFKdeK5NLTdakAh0djuKmi7q6HtroG2uxbabvX8brcPNDn0J5Z8NaTqvH+K7xnjFHnvUnvrutvnHHmwaIHqV+6pNbRF895lvunX4om1IrCfcyICOpFl0Iksh4KyAgpKTc52F0PbXQJtdym03RC03VqcBFwETV5bqi5ePSVp35e9CoxZu6Pts3su77Ok5jszRlTMFlfd1u2u397fVl8EdnNOZDZ0InOgE5kLBWUeFJQ6nO1Oh7Y7A9ruTGi70N8W99WlbDfxPGS7iSWQ7Saej2w3sSS03Xqc7RaFtlsM2u650HaLQ9utTykviedAkzdA+JaZxDmRTOhECkInUggKSmEoKA0528X+NF0GtF0/tN0AtN1GnARMgya/A+FbpsM5EeiXy4Bf3k5AmqOceCIEBeXO/G4X+0raXbFtm+2u/aSO7d2xbZ9K+fMJHdt7YttOfeLr13Rs741tW7HNriwd28axbYc03HOzju19sW3v8N/ZVcf2/ti2nyQ++baO7QOxbUu+sm6Eju2DsW0f3CCK5fF0YfRdTzatcN31Vdu2bpclHy60bNumj3z65XnYcJf30ZT3+ZP3IZP3SZL3cZH3mZD3wY/36Y73EY73OY33YYz3iYv3sYr32Yn3AcmHnv/jbs/4Hs/4Xs+4sWd8n2d8v2f8gGf84IfC95DwPSx8jwjfo8LXRPiaCt9jwtcs/lVAhVX8q4DxrwKesop/FTD+VcBTVvGvAsa/CnjKKv5VwPhXAU9Zxb8KGP8q4Cmr+FcB418FPGUV/ypg/KuAp6ziXwWMfxXwlFX8q4DxrwKe9p98fRWw0mlfBWwufC2E73Hhe0L4nhS+lsL3lPA9LXythK+18LURvrbC10742gtflvB1MPdVwOaldD6vUf1FsROf11jQ5zU29HmNA31e0xw4T43vtbXg2D7OsX2CY/skx7Ylx/Ypju3THNtWHNvWHNs2HNu2HNt2HNv2HNssjm0HHVv1B4IdY9t207TtxFntMypbu5TOx5fNPeOOnnGn//D4Ge/Hlw95xg97xo94xo96xk0846ae8WOecTP58eWzwtdZ+LoI33PC97zwvSB8LwrfS6d/fJncJ59tknzPmn3NViBfnSgjr9n6Cl9X4esmfN2F72Vzr8a6JkOybpisOyZ7OTn3S0DVbuQxQFeuK/JC0dcNeaHo6468UPS9DKTHGWZg5/9IBr4ifK8K32vC97q5DHwFy5lXMdlrmOx1rQzsDGXgK1AGvgpl4GtQBr7Oz8Au/5EM7CF8PYXvDeF701wG9sBypicmewOTvamVgV2gDOwBZWBPKAPfgDLwTX4GPvcfycC3hO9t4XtH+N41l4FvYTnzNiZ7B5O9q5WBz0EZ+BaUgW9DGfgOlIHv8jPw+f9IBvYSvt7CFxS+bHMZ2AvLmd6YLIjJsrUy8HkoA3tBGdgbysAglIHZ/Ax84T+SgX2ET/7/3xO+981lYB8sZ/pisvcw2ftaGfgClIF9oAzsC2Xge1AGvs/PwBf/Ixn4gfDJ9/sfCd/H5jLwAyxnPsRkH2Gyj7Uy8EUoAz+AMvBDKAM/gjLwY34GvvQfycBPhK+f8PUXvk/NZeAnWM70w2T9MdmnWhn4EpSBn0AZ2A/KwP5QBn7KeZI7QGG7tdo4HduBUW3tU6vNfYbjGrXt0KJl87ZtKjRqkdW6U8emHeUz4uy+njMdcGpcOsrz2IEyhT8Tvs+Fb5DwDT6zS3mu2StZSutKrk8oJXxDhG+o8H0hfMOEb7jwfSl8I4TvK+EbKXxfC983wjdK+EYL3xjhGyt844RvvPBNEL6JwjdJ+CYL3xThmyp804RvuvDNEL6ZwjdL+GYL3xzhmyt888xd9CHY1RyKyb7AZMMw2XBM9iUmG4HJvsJkIzHZ15jsG0w2CpONxmRjMNlYTDYOk43HZBMw2URMNgmTTcZkUzDZVEw2DZNNx2QzMNlMTDYLk83GZHMw2VxMNi/Hi4UYb196n8SchPLIqKq2QVf1dTTVpHYe1TcIWDMvze/LgBwbGZ+HrZx88mmqahPyVk3xqhpWj6KaCm3k8vxuZH1CCQTZ0MuTIdDLt6HQy7cvoJdvw2Krsk+EbnhM1e6TAf4ylmpD5BhGxFBVOXVYX0VRdT7tSEflrap5+sGPzlO1KUd6jMlLVSFnEo3NQ1U6V6qNy616KHdCjs+lapxH2k7IqeqWV3JPzKHqlucVmORRTWwU7aJMc1VlJkVVuS18BlwWXXWqhU+5gTFUkRY+G8rHUs06oWq/MabqRCel+lmxVcc7KTVroFCFOymVba5SQZ2UMi+FVJfn9w19Sn7/CpVvnrLGrPT8Far5pL9C5ZsnvYE/TLsyLEP8FqgLrN4qFwShVS7I78nl+6+u+tS/ObhC96+uLnSHi8y97VqIyRbp/NXV49dODcuFEHgXAZHNf/IskNNjzyUW8q/9XGW0+nuu/WLWtZfv6xcD175/WIb4LaFce7nKJUFolUv41179W779dK/9UncYMnftl2KykNa1nwtd+6XQtQsBkdX4y3nY5ELjfqldZc1Zgv3lvAXQKoHeDBr3S0jjoLH5z7AyzlEm1FhPZVzOqozyoedyoDKODcsQvxWUyihXuSIIrXKFRuZA+b3MZH6vzOcqwRKwAlJ9CyTSGcJD3ddhjC48vnOH35uDx3eY7HsteMyB4PEddHjfA5HVyBxs8lWUEiTfxnyLleXVFCysksac+cHgr4ZUayjBj1Q2oAZCqrX5LS75J+ds5W3q5SHnOhY5Z0tvgJy9wjLE7wcKOeUqfwhCq/yBQs41MiVM3oIf83mW4BX8AVKt55NT3cboXV1y/uQOfzZHzp8w2c9a5IQa1Pt+gg7vZyCyGpmDTf4LpQT9KFMSI9cGCjl/kcac+cHgb4BUGynBj1Q2tRKrbL/y33POUt6mUh5y/sYi5yzpDZCzVFiG+P1OIadc5e9BaJW/U8i5UaaEyVvwB4ecv0OqP/nkVHftK6lLzk3u8C9z5NyEyf7SIucsiJyboMP7C4isRuZgk2+mlKA/ZEpi5NpCIedmacyZHwz+Fkj1NyX4kcqmVmKVbSufnDOVt2mFh5z/sMg5U3oD5FwRliF+2yjklKvcFoRWuY1Czr9lSpi8Bds55NwGqXbwyaluUrtcl5w73eG/5si5E5P9q0XOmRA5d0KH9y8QWY3MwSbfRSlB22VKYuTaTSHnLmnMmR8M/m5ItYcS/EhlUyuxyraXT84ZytvU1EPOfSxyzpDeADmbhmWI334KOeUq9wehVe6nkHOPTAmTt+AAh5z7IdVBPjnVPdmb6JLzkDs8bI6chzDZYS1yzoDIeQg6vMNAZDUyB5v8CKUEHZApiZHrKIWcR6QxZ34w+Ech1TFK8COVTa2EKltSAp+c05W3aa1LziSLRc7p0hsg59qwDPBLsinklKu0g9AqbQo5j8mUMHgLkhwKOZNsSFWAT071nyBZo0nOpER36DNGzqRETObTIif0l6mTEqHD8wGR1cgcbPIkRglKcmRKQuRKSmaQMylJGnPmB4OfDKlSKPU/UtnUSqyypfLJOU15m2p7yJnGIuc06Q2Qs3ZYhqRhOoWccpXpQWiV6QxyJqXIlDB5CzI45EyHVH4+OacpRbV0yRlwh5nmyBnAZJla5JwGkTMAHV4mEFmNzMEmL0ghZ4ZMSYxchSjkLCiNOfODwS8EqQpTgh+pbGolVtmK8Mk5VXmbRnvIeRaLnFOlN0DO0WEZEt+zKeSUqzw7CK3ybAo5C8uUMHkLzuGQ82xIVZRPzqlK0ShdchZzh+eaI2cxTHauFjmnQuQsBh3euUBkNTIHm7w4pXifI1MSI9d5FHIWl8ac+cHgnwepSlCCH6lsaiVW2c7nk3OK8jZN85CzJIucU6Q3QM5pYRkS31IUcspVlgpCqyxFIWcJmRImb8EFHHKWglQX8sk5RSmaqkvOi9zhxebIeREmu1iLnFMgcl4EHd7FQGQ1Mgeb/BJK8b5ApiRGrksp5LxEGnPmB4N/KaQqTQl+pLKplVhlK8Mn52TlbarrIedlLHJOlt4AOeuGZUh8L6eQU67y8iC0yssp5CwtU8LkLbiCQ87LIdWVfHJOVorq6JLzKnd4tTlyXoXJrtYi52SInFdBh3c1EFmNzMEmL0sp3lfIlMTIVY5CzrLSmDM/GPxykKo8JfiRyqZWYpWtAp+ck5S3qZuHnNewyDlJegPk7BaWIfG9lkJOucprg9Aqr6WQs7xMCZO34DoOOa+FVNfzyTlJKeqqS84b3OGN5sh5Aya7UYuckyBy3gAd3o1AZDUyB5v8Jkrxvk6mJEaumynkvEkac+YHg38zpLqFEvxIZVMrscpWkU/Oifki560sck6U3hg5b4XiexuFnHKVt2HkvI1CzltkSpi8BbdzyHkbpKrEJ+dEHjkru8Mq5shZGZNV0SLnRIiclaHDq8IhJzZ5VUrxvl2mJEauahRyVpXGnPnB4FeDVNUpwY9UNrUSq2w1+OScoLxNwz3krMki5wTpDZBzeFiGxLcWhZxylbWC0CprUchZXaaEyVtQm0POWpCqDp+cE5SiYbrkrOsO65kjZ11MVk+LnBMgctaFDq8eEFmNzMEmr08p3rVlSmLkakAhZ31pzJkfDH4DSNWQEvxIZVMrscrWiE/O8crbNNhDzjtY5BwvvQFyDg7LkPjeSSGnXOWdQWiVd1LI2VCmhMlbcBeHnHdCqrv55ByvFA3SJec97vBec+S8B5Pdq0XO8RA574EO714gshqZg03emFK875IpiZHrPgo5G0tjzvxg8O+DVPdTgh+pbGolVtke4JNznPI2rfOQ80EWOcdJb4Cc68IyJL4PUcgpV/lQEFrlQxRy3i9TwuQteJhDzocg1SN8co5TitbqkvNRd9jEHDkfxWRNtMg5DiLno9DhNQEiq5E52ORNKcX7YZmSGLkeo5CzqTTmzA8G/zFI1YwS/EhlUyuxytacT86xytu0zEPOFixyjpXeADmXhWVIfB+nkFOu8vEgtMrHKeRsJlPC5C14gkPOxyHVk3xyjlWKhC45W7rDp8yRsyUme0qLnGMhcraEDu8pILIamYNN/jSleD8hUxIjVysKOZ+Wxpz5weC3glStKcGPVDa1EqtsbfjkHKO8TcU85GzLIucY6Q2Qs1hYhsS3HYWccpXtgtAq21HI2VqmhMlb0J5DznaQKotPzjFKUVFdcnZwhx3NkbMDJuuoRc4xEDk7QIfXEYisRuZgk3eiFO/2MiUxcj1DIWcnacyZHwz+M5DqWUrwI5VNrcQqW2c+OUcrb9NkDzm7sMg5WnoD5JwcliHxfY5CTrnK54LQKp+jkPNZmRImb8HzHHI+B6le4JNztFI0SZecL7rDl8yR80VM9pIWOUdD5HwROryXgMhqZA42eVdK8X5epiRGrm4UcnaVxpz5weB3g1TdKcGPVDa1EqtsL/PJOUp5m3p6yPkKi5yjpDdAzp5hGRLfVynklKt8NQit8lUKObvLlDB5C17jkPNVSPU6n5yjlKIeuuTs4Q57miNnD0zWU4ucoyBy9oAOrycQWY3MwSZ/g1K8X5MpiZHrTQo535DGnPnB4L8Jqd6iBD9S2dRKrLK9zSfnN8rbVMtDzndY5PxGegPkrBWWIfF9l0JOucp3g9Aq36WQ8y2ZEiZvQS8OOd+FVL355PxGKaqpS07Ppcg2R84gJsvWIuc3EDmx4p0NRFYjc7DJ+1CKdy+Zktj8fSnk7CONOfODwe8Lqd6jBD9S2dRKrLK9zyfn18rbFPQUiQ9Y5PxaegPkDIZlSHw/pJBTrvLDILTKDynkfE+mhMlb8BGHnB9Cqo/55PxaKeqtS85P3GE/c+T8BJP10yLn1xA5P4EOrx8QWY3MwSbvTyneH8mUxMj1KYWc/aUxZ34w+J9CqgGU4Ecqm1qJVbaBfHKOVN6mdh5yfsYi50jpDZCzXViGxPdzCjnlKj8PQqv8nELOATIlTN6CQRxyfg6pBvPJOVIpaqtLziHucKg5cg7BZEO1yDkSIucQ6PCGApHVyBxs8i8oxXuQTEmMXMMo5PxCGnPmB4M/DFINpwQ/UtnUSqyyfckn51fK2zTDQ84RLHJ+Jb0Bcs4Iy5D4fkUhp1zlV0FolV9RyDlcpoTJWzCSQ86vINXXfHKqT2G6Ljm/cYejzJHzG0w2SoucX0Hk/AY6vFFAZDUyB5t8NKV4y5fFX2PkGkMh52hpzJkfDP4YSDWWEvxIZVMrsco2jk/OEcrbVMpDzvEsco6Q3gA5S4VlSHwnUMgpVzkhCK1yAoWcY2VKmLwFEznknACpJvHJOUIpKqlLzsnucIo5ck7GZFO0yDkCIudk6PCmAJHVyBxs8qmU4j1RpiRGrmkUck6Vxpz5weBPg1TTKcGPVDa1EqtsM/jk/FJ5m9I95JzJIueX0hsgZ3pYhsR3FoWccpWzgtAqZ1HIOV2mhMlbMJtDzlmQag6fnOpnNmm65JzrDueZI+dcTDZPi5xfQuScCx3ePCCyGpmDTT6fUrxny5TEyLWAQs750pgzPxj8BZBqISX4kcqmVmKVbRGfnMOVt6mNh5yLWeSU79YXA+RsE5Yh8V1CIadc5ZIgtMolFHIulClh8hYs5ZBzCaQK8cmp/kymtS45hTtcZo6cApMt0yLncIicAjq8ZUBkNTIHm3w5pXgvlSmJkWsFhZzLpTFnfjD4KyDVSkrwI5VNrcQq27d8cg5T3qaCHnJ+xyLnMOkNkLNgWIbE93sKOeUqvw9Cq/yeQs6VMiVM3oJVHHJ+D6lW88mp/ipFpi4517jDtebIuQaTrdUi5zCInGugw1sLRFYjc7DJ11GK9yqZkhi5fqCQc5005swPBv8HSPUjJfiRyqZWYpVtPZ+c6u+pJXjI+ROLnF9Ib2jBST9TmCjn/7k3hXY/ymM0mbm/cGj3M6TaoHH4wJakcW9+qg/NV6pvZKX6UOmNpfqvlFSX8/+qk+pK5/A5/ho0lMRnfNpD1OvwnPZvrNMeIr2xG/gblBO/U3JCrvJ37OR+pxRJmTm/Y+D8BVrlH4z8Dkfpj96cVy1/QKo/Ka9aIoRSKzFCbaIUlz+lMVY2/wCuyGnFJblP/oqLBWwQf0OWUCpf796C3YdUzspq2mV9QimR9JdI2iyStoikv0XSVpH0j0jaJpK2i6QdImmnSPpXJO0SSbtF0h6RtFck7RNJ+0XSAZF0UCQdEkmHRdIRkXRUJB0TyQki2RLJtkh2RHIBkZwokn0iOcncO8K/kiHZZky2BZP9jcm2YrJ/MNk2TLYdk+3AZDsx2b+YbBcm243J9mCyvZhsHybbj8kOYLKDmOwQJjuMyY5gsqOY7BgkS07AZBYmszGZg8kKYLJETObDZEk5nlHF+J3Y3ifhIgm0I6qqbdBV7YymmtTOo/oXYW7mdfl9WZJjI+PzsJWTHz5NVW1C3qojXlXD6lFUR6GN3JTfjaxPKIEgG3rl8hf0bHGzUhXe7haV6nhQ/o6tyj4Ruq0xVbtPBvifWKoNkWPYFkNV5dRhbY+i6nzake7KW1Xz9IPfnadqU4702JOXqkLOJNqbh6p0rlTbl1v1UO6E3J9L1TiPtD2QU9Utr+Q+mEPVLc8rcMijmtgo2kU55qrKTIqmSk44pRpwWXTVqbwvNzCGyj6p2lA+lso5oWq/MaaqwHFV/azYqsSwqlkDhconVWWbq1RAcylLVkhIdRP9wURykrLGrHQfTCQnkx5MJCdJb+CzypVhGeKXwngwEV5lShBaZUp+Ty7fH8SFT04hWqH5QVxyqjtMM/a2KzkVk6XpfBB3/NopYZmcioA3OQ2IbP6TJ0VODz3VSk7lX3ufMlr9Pdc+nXXt5fv6dODa9w/LEL8MyrWXq8wIQqvM4F97n1LUT/fa+91hwNy192OygNa190HX3g9duwAQ2fw/TAUnz2R8lhWuORnZGDChVRZkPExNzpTGQWPzn2FlTFQm1FhPZSzEqozyoWchoDKODcsQv8KUyihXWTgIrbIw45OacH4XNJnfRSifpyQXhlRn0b+8FU5uhWiMLjzOdofnmIPH2ZjsHC14JELwOBs6vHOAyGpkDjZ5UUoJKiJTEivLxShYKCqNOfODwS8Gqc6lBD9S2YAaCKmK57e45J+cBZS3qZeHnOexyCk/MTwPIGevsAzxK0Ehp1xliSC0yhIUcp4rU8LkLTif8kWw5BKQqiSfnAWUond1yVnKHV5gjpylMNkFWuQsAJGzFHR4FwCR1cgcbPILKSXofJmSGLkuopDzQmnMmR8M/kWQ6mJK8COVTa3EKtsl/PecjvI2edo7JV/KIqcjvaH2TlKG+JWmkFOusjTU3ik8v8JOh5wXy5QweQvKcMhZGlJdxienoxTptndKvtwdXmGOnJdjsiu0yOlA5LwcOrwrgMhqZA42+ZWUElRGpiRGrqso5LxSGnPmB4N/FaS6mhL8SGVTK7HKVpZPTlt5m1Z4yFmORU5begPkXBGWIX7lKeSUqywfhFZZnkLOq2VKmLwFFTjkLA+pruGT01aKluuS81p3eJ05cl6Lya7TIqcNkfNa6PCuAyKrkTnY5NdTSlAFmZIYuW6gkPN6acyZHwz+DZDqRkrwI5VNrcQq2//BF78s5W1q6iHnzSxyyv/eDJCzaViG+N1CIWfYOAit8hYKOW+UKWHyFlTkkPMWSHUrn5zq34lqokvO29zh7ebIeRsmu12LnBZEztugw7sdiKxG5mCTV6KUoIoyJTFyVaaQs5I05swPBr8ypKpCCX6ksqmVWGWryidngvI2rfWQsxqLnHKz1QByrg3LEL/qFHLKVVYPQqusTiFnFZkSJm9BDQ45q0OqmnxyJihFa3TJWcsd1jZHzlqYrLYWORMgctaCDq82EFmNzMEmr0MpQTVkSmLkqkshZx1pzJkfDH5dSFWPEvxIZVMrscpWn07OpGPK21TbQ84GJHKGWww0AMhZOyxD4tuQQc7wKhsGoVU2pJCznkwJk7egEYecDSHVHXRyhpNbIaqlS8473eFd5sh5Jya7S4ec3l8bjUHOO6HDuwuIrEbmYJPfTSnejWRKYuS6h0LOu6UxZ34w+PdAqnspwY9UNrUSq2yN+eQ8qrxNoz3kvI9FzqPSGyDn6LAMie/9FHLKVd4fhFZ5P4Wc98qUMHkLHuCQ835I9SCfnEeVolG65HzIHT5sjpwPYbKHtch5FCLnQ9DhPQxEViNzsMkfoRTvB2RKYuR6lELOR6QxZ34w+I9CqiaU4Ecqm1qJVbamfHIeUd6maR5yPsYi5xHpDZBzWliGxLcZhZxylc2C0CqbUcjZRKaEyVvQnEPOZpCqBZ+cR5SiqbrkfNwdPmGOnI9jsie0yHkEIufj0OE9AURWI3OwyZ+kFO/mMiUxcrWkkPNJacyZHwx+S0j1FCX4kcqmVmKV7Wk+OQ8rb1NdDzlbsch5WHoD5KwbliHxbU0hp1xl6yC0ytYUcj4lU8LkLWjDIWdrSNWWT87DSlEdXXK2c4ftzZGzHSZrr0XOwxA520GH1x6IrEbmYJNnUYp3G5mSGLk6UMiZJY0584PB7wCpOlKCH6lsaiVW2TrxyXlIeZu6ecj5DIuch6Q3QM5uYRkS32cp5JSrfDYIrfJZCjk7ypQweQs6c8j5LKTqwifnIaWoqy45n3OHz5sj53OY7Hktch6CyPkcdHjPA5HVyBxs8hcoxbuzTEmMXC9SyPmCNObMDwb/RUj1EiX4kcqmVmKVrSufnAfzRc5uLHIelN4YObtB8e1OIadcZXeMnN0p5HxJpoTJW/Ayh5zdIdUrfHIe5JHzVXf4mjlyvorJXtMi50GInK9Ch/cah5zY5K9TivfLMiUxcvWgkPN1acyZHwx+D0jVkxL8SGVTK7HK9gafnAeUt2m4h5xvssh5QHoD5BweliHxfYtCTrnKt4LQKt+ikLOnTAmTt+BtDjnfglTv8Ml5QCkapkvOd91hL3PkfBeT9dIi5wGInO9Ch9cLiKxG5mCTc34x7m2Zkhi5ghRy9pbGnPnB4GOTZ1OCH6lsaiVW2frwyblfeZsGe8jZl0XO/dIbIOfgsAyJ73sUcspVvheEVvkehZzZMiVM3oL3OeR8D1J9wCfnfqVokC45P3SHH5kj54eY7CMtcu6HyPkhdHgfAZHVyBxs8o8pxft9mZLYtfmEQs6PpTFnfjD4n0CqfpTgRyqbWomFqD+fnPuUt2mdh5yfssi5T3oD5FwXliHxHUAhp1zlgCC0ygEUcvaTKWHyFgzkkHMApPqMT859StFaXXJ+7g4HmSPn55hskBY590Hk/Bw6vEFAZDUyB5t8MKV4D5QpiZXlIRRyytfbQzjzg8EfAqmGUoIfqWxqJVbZvuCTc6/yNi3zkHMYi5x7pTdAzmVhGRLf4RRyylUOD0KrHE4h51CZEiZvwZcccg6HVCP45NyrFAldcn7lDkeaI+dXmGykFjn3QuT8Cjq8kUBkNTIHm/xrSvH+UqYkRq5vKOT8Whpz5geD/w2kGkUJfqSyqZVYZRvNJ+ce5W0q5iHnGBY590hvgJzFwjIkvmMp5JSrHBuEVjmWQs5RMiVM3oJxHHKOhVTj+eTcoxQV1SXnBHc40Rw5J2CyiVrk3AORcwJ0eBOByGpkDjb5JErxHidTEiPXZAo5J0ljzvxg8CdDqimU4Ecqm1qJVbapfHLuVt6myR5yTmORc7f0Bsg5OSxD4judQk65yulBaJXTKeScIlPC5C2YwSHndEg1k0/O3UrRJF1yznKHs82RcxYmm61Fzt0QOWdBhzcbiKxG5mCTz6EU7xkyJTFyzaWQc4405swPBn8upJpHCX6ksqmVWGWbzyfnLuVt6ukh5wIWOXdJb4CcPcMyJL4LKeSUq1wYhFa5kELOeTIlTN6CRRxyLoRUi/nk3KUU9dAl5xJ3uNQcOZdgsqVa5NwFkXMJdHhLgchqZA42eYhSvBfJlMTIJSjkDEljzvxg8AWkWkYJfqSyqZVYZVvOJ+e/yttUy0POFSxy/iu9AXLWCsuQ+K6kkFOucmUQWuVKCjnlB6jLTd6CbznkXAmpvuOT81+lqKYuOb93h6vMkfN7TLZKi5z/QuT8Hjq8VUBkNTIHm3w1pXh/K1MSI9caCjlXS2PO/GDw10CqtZTgRyqbWolVtnV8cu5U3qagh5w/sMi5U3oD5AyGZUh8f6SQU67yxyC0yh8p5FwrU8LkLVjPIeePkOonPjl3KkW9dcn5szv8xRw5f8Zkv2iRcydEzp+hw/sFiKxG5mCTb6AU7/UyJTFybaSQc4M05swPBn8jpPqVEvxIZVMrscr2G5+cO5S3qZ2HnL+zyLlDegPkbBeWIfH9g0JOuco/gtAq/6CQ81eZEiZvwZ8ccv4BqTbxyblDKWqrS86/3OFmc+T8C5Nt1iLnDoicf0GHtxmIrEbmYJNvoRTvP2VKYuT6m0LOLdKYMz8Y/L8h1VZK8COVTa3EKts/fHJuV96mGR5ybmORc7v0Bsg5IyxD4rudQk65yu1BaJXbKeTcKlPC5C3YwSHndki1k09O9SlM1yXnv+5wlzly/ovJdmmRcztEzn+hw9sFRFYjc7DJd1OKt3xZvBMj1x4KOXdLY878YPD3QKq9lOBHKptaiVW2fXxyblPeplIecu5nkXOb9AbIWSosQ+J7gEJOucoDQWiVByjk3CtTwuQtOMgh5wFIdYhPzm1KUUldch52h0fMkfMwJjuiRc5tEDkPQ4d3BIisRuZgkx+lFO+DMiUxch2jkPOoNObMDwb/GKJKSaAEP1LZ1EqosqVYfHL+o7xN6S45U2wWOf+R3gA508MywC/FoZBTrtIJQqt0GORMCaeEyVtQgELOFAdSJfLJqX5mk6ZJzhSfO0wyRs4UHyZL0iLnPwg5U3zQ4SUBkdXIHGzyZEYJSikgUxIiV0oKg5wpydKYMz8Y/BRIlUoJfqSyKZVgZUvjk3Or8ja18ZAznUXOrdIbIGebsAw5iQwKOeUqM4LQKjMo5EyVKWHyFvg55MyAVAE+OdWfybTWJWemOyxojpyZmKygFjm3QuTMhA6vIBBZjczBJi9EKd5+mZIYuQpTyFlIGnPmB4NfGFIVoQQ/UtnUSqyyncUn59/K21TQQ86zWeT8W3oD5CwYliHxPYdCTrnKc4LQKs+hkLOITAmTt6Aoh5znQKpifHKqv0qRqUvOc91hcXPkPBeTFdci598QOc+FDq84EFmNzMEmP49SvIvKlMTIVYJCzvOkMWd+MPglINX5lOBHKptaiVW2knxyqr+nluAhZykWObdIb2jBKRdQmCjnv6A3hXbny2M0mbkXcmh3AaS6SOPwgS1J4978VN+cr1S/mJXqm6U3luqXUFJdzn+JTqorncPneEnQUBKf8Wn/pV6H57QvZZ32X9Ibu4GXQjlRmpITcpWlsZMrTSmSMnNKY+C8EFplGUZ+h6NUpjfnVUsZSHUZ5VVLhFBqJUaoyynF5TJpjJXNMsAVOa24JPfJX3EpDmwQf0OWUCpf796C3YdUzspq2mV9QimRcoVIuVKkXCVSrhYpZUVKOZFSXqRUECnXiJRrRcp1IuV6kXKDSLlRpNwkUm4WKbeIlIoi5VaRcptIuV2kVBIplUVKFZFSVaRUEynVRUoNkVJTpNQSKbVFSh1z7wivSIZkV2KyqzDZ1ZisLCYrh8nKY7IKmOwaTHYtJrsOk12PyW7AZDdispsw2c2Y7BZMVhGT3YrJbsNkt2OySpisMiargsmqYrJqmKw6JquByWpislqYrDYmq5PjGVXf6ATsfRIukkDXRFW1Dbqqa6OpJrXzqK5DmJtZLb8vS3JsZHwetnLy209TVZuQt6qSV9WwehRVZWgjtfK7kfUJJRBkQ69croCeLV6pVIW3e5VKdTwoV8dWZZ8IXdmYqt0nA1wulmpD5BjKx1BVOXVYFaKoOp92pNfnrap5+sHfkKdqU470uDEvVYWcSXRTHqrSuVLt5tyqh3In5C25VI3zSNuKOVXd8kruW3OouuV5BW7zqCY2inZRqriqMpOiqqqeUg24LLqqWkRVbmAMVfWTqg3lY6lqnFC13xhTVfO4qn5WbFWtsKpZA4WqtlSVba5S1UHeFWRWg1S16A8mUuooa8xKz4OJuqQHEyl1pDfwWeXKsAzxq8d4MBFeZb0gtMp6+T25fH8QFz45hWiF7gdx9d1hA3Nvu+pjsgY6H8Qdv3ZqWNaHwNsAiGz+k6eenB57qlWff+1rK6PV33PtG7KuvXxf3xC49v3DMsSvEeXay1U2CkKrbMS/9rWVon661/4Od3inuWt/Bya7U+va14au/R3QtbsTiKzGw1Rs8rson2XJmtMIe5haD1rl3ZSHqXdJ46Cx+c+wMtZSJtRYT2W8h1UZ5UPPe4DKODYsQ/zupVRGucp7g9Aq76V8UiPz+26T+d2Y83nKvZDqPvqXt1LUbyjG6MLjfnf4gDl43I/JHtCCRy0IHvdDh/cAEFmNzMEmf5BSghrLlMTK8kMULDwojTnzg8F/CFI9TAl+pLIBNRBSPZLf4pJ/ctZU3qZeHnI+yiKn/MTwUYCcvcIyxK8JhZxylU2C0CqbUMj5sEwJk7egKeeLYE0g1WN8ctZUit7VJWczd9jcHDmbYbLmWuSsCZGzGXR4zYHIamQONnkLSglqKlMSI9fjFHLKTHqcMz8Y/Mch1ROU4Ecqm1qJVbYn+e85ayhvk6e9U0pLFjlrSG+ovZOUIX5PUcgpV/kU1N4pPL/CToecT8iUMHkLnuaQ8ylI1YpPzhpKkW57p5TW7rCNOXK2xmRttMhZAyJna+jw2gCR1cgcbPK2lBL0tExJjFztKORsK40584PBbwep2lOCH6lsaiVW2bL45KyuvE0rPOTswCJndekNkHNFWIb4daSQU66yYxBaZUcKOdvLlDB5CzpxyNkRUj3DJ2d1pWi5LjmfdYedzZHzWUzWWYuc1SFyPgsdXmcgshqZg03ehVKCOsmUxMj1HIWcXaQxZ34w+M9BqucpwY9UNrUSq2wv8MlZTXmbmnrI+SKLnNWkN0DOpmEZ4vcShZxylS8FoVW+RCHn8zIlTN6CrhxyvgSpuvHJqf4CehNdcnZ3hy+bI2d3TPayFjmrQeTsDh3ey0BkNTIHm/wVSgnqKlMSI9erFHK+Io0584PBfxVSvUYJfqSyqZVYZXudT86qytu01kPOHixyVpXeADnXhmWIX08KOeUqewahVfakkPM1mRImb8EbHHL2hFRv8slZVSlao0vOt9zh2+bI+RYme1uLnFUhcr4FHd7bQGQ1Mgeb/B1KCXpDpiRGrncp5HxHGnPmB4P/LqTqRQl+pLKplVhl4/e8SamivE21PeQMsshZRXoD5KwtUrBtZVPIKVeZHYRWmU0hZy+ZEiZvQR8OOTFVXz45qyhFtXTJ+Z47fN8cOd/DZO9rkbMKRM73oMN7H4isRuZgk39AKUF9ZEpi5PqQQs4PpDFnfjD4H0KqjyjBj1Q2tRKrbB/zyVlZeZtGe8j5CYuclaU3QM7RYRni149CTrnKfkFolf0o5PxIpoTJW9CfQ85+kOpTPjkrK0WjdMk5wB0ONEfOAZhsoBY5K0PkHAAd3kAgshqZg03+GaUE9ZcpiZHrcwo5P5PGnPnB4H8OqQZRgh+pbGolVtkG88lZSXmbpnnIOYRFzkrSGyDntLAM8RtKIadc5dAgtMqhFHIOkilh8hZ8wSHnUEg1jE/OSkrRVF1yDneHX5oj53BM9qUWOStB5BwOHd6XQGQ1MgebfASlBH0hUxIj11cUco6Qxpz5weB/BalGUoIfqWxqJVbZvuaT83blbarrIec3LHLeLr0BctYNyxC/URRyylWOCkKrHEUh50iZEiZvwWgOOUdBqjF8ct6uFNXRJedYdzjOHDnHYrJxWuS8HSLnWOjwxgGR1cgcbPLxlBIknxSNwcg1gULO8dKYMz8Y/AmQaiIl+JHKplZilW0Sn5y3KW9TNw85J7PIeZv0BsjZLSxD/KZQyClXOSUIrXIKhZwTZUqYvAVTOeScAqmm8cl5m1LUVZec093hDHPknI7JZmiR8zaInNOhw5sBRFYjc7DJZ1JK0FSZkhi5ZlHIOVMac+YHgz8LUs2mBD9S2dRKrLLN4ZPz1nyRcy6LnLdKb4ycc6FtzaOQU65yHkbOeRRyzpYpYfIWzOeQcx6kWsAn5608ci50h4vMkXMhJlukRc5bIXIuhA5vEYec2OSLKSVovkxJjFxLKORcLI0584PBXwKpllKCH6lsaiVW2UJ8clZU3qbhHnIKFjkrSm+AnMPDMsRvGYWccpXLgtAql1HIuVSmhMlbsJxDzmWQagWfnBWVomG65FzpDr81R86VmOxbLXJWhMi5Ejq8b4HIamQONvl3lBK0XKYkRq7vKeT8Thpz5geD/z2kWkUJfqSyqZVYZVvNJ+ctyts02EPONSxy3iK9AXIODssQv7UUcspVrg1Cq1xLIecqmRImb8E6DjnXQqof+OS8RSkapEvOH93henPk/BGTrdci5y0QOX+EDm89EFmNzMEm/4lSgtbJlMTI9TOFnD9JY878YPB/hlS/UIIfqWxqJVbZNvDJebPyNq3zkHMji5w3S2+AnOvCMsTvVwo55Sp/DUKr/JVCzl9kSpi8Bb9xyPkrpPqdT86blaK1uuT8wx3+aY6cf2CyP7XIeTNEzj+gw/sTiKxG5mCTb6KUoN9kSmLk+otCzk3SmDM/GPy/INVmSvAjlU2txCrbFj45b1LepmUecv7NIudN0hsg57KwDPHbSiGnXOXWILTKrRRybpYpYfIW/MMh51ZItY1PzpuUIqFLzu3ucIc5cm7HZDu0yHkTRM7t0OHtACKrkTnY5DspJegfmZIYuf6lkHOnNObMDwb/X0i1ixL8SGVTK7HKtptPzhuVt6mYh5x7WOS8UXoD5CwWliF+eynklKvcG4RWuZdCzl0yJUzegn0ccu6FVPv55LxRKSqqS84D7vCgOXIewGQHtch5I0TOA9DhHQQiq5E52OSHKCVon0xJjFyHKeQ8JI0584PBPwypjlCCH6lsaiVW2Y7yyXmD8jZN9pDzGIucN0hvgJyTwzLALzWBQs4bpHEQWWV4foWdDjmPyJQweAtSLQo5UxMglc0n5w1K0SRNcqY67rCAMXKmOpisgBY5b0DImepAh1cAiKxG5mCTJzJKUKr8rw2RK9XHIGdqojTmzA8G3wepkij1P1LZ1EqssiXzyXm98jb1dMmZmsIi5/XSGyBnz7AMScNUCjnlKlOD0CpTGeRMTZIpYfIWpHHImQqp0vnkvF4p6qFLzgx36DdHzgxM5tci5/UQOTOgw/MDkdXIHGzyAIWcaTIlMXJlUsgZkMac+cHgZ0KqgpTgRyqbWolVtkJ8cl6nvE21POQszCLnddIbIGetsAyJbxEKOeUqiwShVRahkLOgTAmTt+AsDjmLQKqz+eS8TimqqUvOc9xhUXPkPAeTFdUi53UQOc+BDq8oEFmNzMEmL0Yp3mfJlMTIdS6FnMWkMWd+MPjnQqrilOBHKptaiVW28/jkvFZ5m4IecpZgkfNa6Q2QMxiWIfE9n0JOucrzg9Aqz6eQs7hMCZO3oCSHnOdDqlJ8cl6rFPXWJecF7vBCc+S8AJNdqEXOayFyXgAd3oVAZDUyB5v8IkrxLilTEiPXxRRyXiSNOfODwb8YUl1CCX6ksqmVWGW7lE/Oa5S3qZ2HnKVZ5LxGegPkbBeWIfEtQyGnXGWZILTKMhRyXiJTwuQtuIxDzjKQ6nI+Oa9RitrqkvMKd3ilOXJegcmu1CLnNRA5r4AO70ogshqZg01+FaV4XyZTEiPX1RRyXiWNOfODwb8aUpWlBD9S2dRKrLKV45OzgvI2zfCQszyLnBWkN0DOGWEZEt8KFHLKVVYIQqusQCFnWZkSJm/BNRxyVoBU1/LJqT6F6brkvM4dXm+OnNdhsuu1yFkBIud10OFdD0RWI3OwyW+gFG/5svhajFw3Ush5gzTmzA8G/0ZIdRMl+JHKplZile1mPjnLK29TKQ85b2GRs7z0BshZKixD4luRQk65yopBaJUVKeS8SaaEyVtwK4ecFSHVbXxylleKSuqS83Z3WMkcOW/HZJW0yFkeIuft0OFVAiKrkTnY5JUpxftWmZIYuapQyFlZGnPmB4NfBVJVpQQ/UtnUSqyyVeOTs5zyNqV7yFmdRc5y0hsgZ3pYhsS3BoWccpU1gtAqa1DIWVWmhMlbUJNDzhqQqhafnOpnNmm65KztDuuYI2dtTFZHi5zlIHLWhg6vDhBZjczBJq9LKd41ZUpi5KpHIWddacyZHwx+PUhVnxL8SGVTK7HK1oBPzrLK29TGQ86GLHLKd+sNAXK2CcuQ+DaikFOuslEQWmUjCjnry5QweQvu4JCzEaS6k09O9WcyrXXJeZc7vNscOe/CZHdrkbMsRM67oMO7G4isRuZgk99DKd53yJTEyHUvhZz3SGPO/GDw74VUjSnBj1Q2tRKrbPfxyXm18jYV9JDzfhY5r5beADkLhmVIfB+gkFOu8oEgtMoHKORsLFPC5C14kEPOByDVQ3xyqr9KkalLzofd4SPmyPkwJntEi5xXQ+R8GDq8R4DIamQONvmjlOL9oExJjFxNKOR8VBpz5geD3wRSNaUEP1LZ1Eqssj3GJ6f6e2oJHnI2Y5HzKukNLTi1OYWJcv7mvSm0ayqP0WTmtuDQrjmkelzj8IEtSePe/FS/Ml+p/gQr1a+U3liqP0lJdTn/kzqprnQOn+OTQUNJfManfYV6HZ7Tbsk67SukN3YDW0I58RQlJ+Qqn8JO7ilKkZQn8BQGzhbQKp9m5Hc4Sk/35rxqeRpStaK8aokQSq3ECNWaUlxaSWOsbD4NXJHTiktyH7e4rE8oeXISK8Yswtf1hCqWSKq6HVfFFElV97AqtkiqXvZs3oqqesVVWdG9Xj2lsmLM+FpEZcVa1+s5DsXKU9XjdJWVt1fP01RWlBnf8KqsaOt6M49ksXKp3sqtsnJ7vZ1LZeUx4zs5VVZe63o3ShJbp6l65a2yTvfqnafKyjFjntfGyrmuWCXAOqWK8Sbdcr36RlVZnhnfi6ayvOt6X3HpreOqD2KrrBNeH8ZUWSdn/CiWyoqs62OkGPn6KVWW9OqvUlnhGT8FCiv+ICihVL6eGgW7D6mcldW0y/qEUiJVfqrWVqS2E6ntRWqWSJUPczqK1E4i9RmR+qxI7SxSu4jU50Tq8yL1BZH6okh9SaR2FandRGp3kfqySH1FpL4qUl8Tqa+L1B4itadIfUOkvilS3xKpb4vUd8w9iWqTDMnaYrJ2mKw9JsvCZB0wWUdM1gmTPYPJnsVknTFZF0z2HCZ7HpO9gMlexGQvYbKumKwbJuuOyV7GZK9gslcx2WuY7HVM1gOT9cRkb2CyNzHZW5jsbUz2To5n432jv/LuffJFrXzl+0xUVdugq3o2mmpSO4+qM/JaP/Ph/L4dyrGR8XnYyslfPk1VbULeqle8qobVo6hehTbSNL8bWZ9wS/yNwklV/I1CRBV/oxBRxd8oRNb1P3ijAD2naQN9ktpWqQoX2XYq1fFS3D62KvtEwc6Kqdp9sqx3iKXaECn+HWOoqpxCRKcoqs6ngaRL3qqap+PmuTxVm3JA6fm8VBVyouuFPFSlcwHuxdyqh3Jj8KVcqsZ5wLJrTlW3vJDaLYeqW57g7e5RTWwUDc+vuaoyk6KqXj+lGnBZdFWPiKrcwBiqnidVG8rHUr1xQtV+Y0zVm8dV9bNiq8LsKNesgUIVZkfZ5irVO0g1yXwYUiEves7sY5jUd5Q1ZqXnY5h3SR/DpL4jvYFvZq0MyxC/XoyPYcKr7BWEVtkrvyeX768dhU9OIVqh+7Wj3u4waO5hT29MFtT52tHxa6eGZW8IvEEgsvlPnl5yeuwzPP5n7alvK6PV33Pts1nXXj5NzAauff+wDPHrQ7n2cpV9gtAq+/Cv/dtKUT/da9/XHb5n7tr3xWTvaV37t6Fr3xe6du8BkdX46Bib/H2N+6V2lTWnD3ZzekGr/IDy0fH70jhobP4zrIxvKRNqrKcyfsiqjPKjlg+Byjg2LEP8PqJURrnKj4LQKj+ifC9F5vcHJvP7Y863Rz6CVJ8AiXSG8HhLKRqjC49+7rC/OXj0w2T9teDxFgSPftDh9Qciq5E52OSfUkrQxzIlsbI8gIKFT6UxZ34w+AMg1UBK8COVDaiBkOqz/BaX/JPzTeVt6uUh5+cscr4pvQFy9grLEL9BFHLKVQ4KQqscRCHnQJkSJm/B4HyeJXgFB0GqIXxyvqkUvatLzqHu8Atz5ByKyb7QIuebEDmHQof3BRBZjczBJh9GKUGDZUpi5BpOIecwacyZHwz+cEj1JSX4kcqmVmKVbQT/PecbytvkbWb5FYucb0hvrJnlV9C2RlLIKVc5EmtmOZJCzi9lSpi8BV9zyDkSUn3DJ+cbSpF2M8tR7nC0OXKOwmSjtcj5BkTOUdDhjQYiq5E52ORjKCXoa5mSGLnGUsg5Rhpz5geDPxZSjaMEP1LZ1Eqsso3nk7On8jat8JBzAoucPaU3QM4VYRniN5FCTrnKiUFolRMp5BwnU8LkLZjEIedESDWZT86eStFyXXJOcYdTzZFzCiabqkXOnhA5p0CHNxWIrEbmYJNPo5SgSTIlMXJNp5BzmjTmzA8GfzqkmkEJfqSyqZVYZZvJJ2cP5W1q6iHnLBY5e0hvgJxNwzLEbzaFnHKVs4PQKmdTyDlDpoTJWzCHQ87ZkGoun5w9lKImuuSc5w7nmyPnPEw2X4ucPSByzoMObz4QWY3MwSZfQClBc2RKYuRaSCHnAmnMmR8M/kJItYgS/EhlUyuxyraYT87XlbdprYecS1jkfF16A+RcG5Yhfksp5JSrXBqEVrmUQs5FMiVM3oIQh5xLIZXgk/N1pWiNLjmXucPl5si5DJMt1yLn6xA5l0GHtxyIrEbmYJOvoJSgkExJjFwrKeSUT6pWcuYHg78SUn1LCX6ksqmVWGX7jk/O15S3qbaHnN+zyPma9AbIWTssQ/xWUcgpV7kqCK1yFYWc38qUMHkLVnPIuQpSreGT8zWlqJYuOde6w3XmyLkWk63TIudrEDnXQoe3DoisRuZgk/9AKUGrZUpi5PqRQs4fpDFnfjD4P0Kq9ZTgRyqbWolVtp/45HxVeZtGe8j5M4ucr0pvgJyjwzLE7xcKOeUqfwlCq/yFQs71MiVM3oINHHL+Aqk28sn5qlI0Specv7rD38yR81dM9psWOV+FyPkrdHi/AZHVyBxs8t8pJWiDTEmMXH9QyPm7NObMDwb/D0j1JyX4kcqmVmKVbROfnK8ob9M0Dzn/YpHzFekNkHNaWIb4baaQU65ycxBa5WYKOf+UKWHyFmzhkHMzpPqbT85XlKKpuuTc6g7/MUfOrZjsHy1yvgKRcyt0eP8AkdXIHGzybZQStEWmJEau7RRybpPGnPnB4G+HVDsowY9UNrUSq2w7+eR8WXmb6nrI+S+LnC9Lb4CcdcMyxG8XhZxylbuC0Cp3Uci5Q6aEyVuwm0POXZBqD5+cLytFdXTJudcd7jNHzr2YbJ8WOV+GyLkXOrx9QGQ1MgebfD+lBO2WKYmR6wCFnPulMWd+MPgHINVBSvAjlU2txCrbIT45uytvUzcPOQ+zyNldegPk7BaWIX5HKOSUqzwShFZ5hELOgzIlTN6CoxxyHoFUx/jk7K4UddUkZ1qCO7SMkTMNlFla5OyOkDMtATm8NAuIbP4zB5zcppSgozIlIXKlOQxyptnSmDM/GHwHUhWgBD9S2dRKqLKlJfLJ2S0/5EzzscjZTXpD5JQyJA2TKOSU0ydB5AzPr7DTIGdaAZkSJm9BMoWcaUmQKoVPzm48cqa6wzRz5EzFZGla5OwGkTMVOrw0DjmxydMZJSgtWaYkRq4MCjnTpTFnfjD4GZDKTwl+pLKplVhlC/DJ2VV5m4Z7yJnJImdX6Q2Qc3hYhsS3IIWccpUFg9AqC1LI6ZcpYfIWFOKQsyCkKswnZ1elaJguOYu4w7PMkbMIJjtLi5xdIXIWgQ7vLCCyGpmDTX42pXgXkimJkescCjnPlsac+cHgnwOpilKCH6lsaiVW2YrxyfmS8jYN9pDzXBY5X5LeADkHh2VIfItTyClXWTwIrbI4hZxFZUqYvAXncchZHFKV4JPzJaVokC45z3eHJc2R83xMVlKLnC9B5DwfOrySQGQ1MgebvBSleJ8nUxIj1wUUcpaSxpz5weBfAKkupAQ/UtnUSqyyXcQn54vK27TOQ86LWeR8UXoD5FwXliHxvYRCTrnKS4LQKi+hkPNCmRImb8GlHHJeAqlK88n5olK0VpecZdzhZebIWQaTXaZFzhchcpaBDu8yILIamYNNfjmleF8qUxIj1xUUcl4ujTnzg8G/AlJdSQl+pLKplVhlu4pPzheUt2mZh5xXs8j5gvQGyLksLEPiW5ZCTrnKskFolWUp5LxSpoTJW1COQ86ykKo8n5wvKEVCl5wV3OE15shZAZNdo0XOFyByVoAO7xogshqZg01+LaV4l5MpiZHrOgo5r5XGnPnB4F8Hqa6nBD9S2dRKrLLdwCfn88rbVMxDzhtZ5HxeegPkLBaWIfG9iUJOucqbgtAqb6KQ83qZEiZvwc0cct4EqW7hk/N5paioLjkrusNbzZGzIia7VYucz0PkrAgd3q1AZDUyB5v8NkrxvlmmJEau2ynkvE0ac+YHg387pKpECX6ksqmVWGWrzCfnc8rbNNlDzioscj4nvQFyTg7LkPhWpZBTrrJqEFplVQo5K8mUMHkLqnHIWRVSVeeT8zmlaJIuOWu4w5rmyFkDk9XUIudzEDlrQIdXE4isRuZgk9eiFO9qMiUxctWmkLOWNObMDwa/NqSqQwl+pLKplVhlq8snZxflberpIWc9Fjm7SG+AnD3DMiS+9SnklKusH4RWWZ9CzjoyJUzeggYcctaHVA355OyiFPXQJWcjd3iHOXI2wmR3aJGzC0TORtDh3QFEViNzsMnvpBTvBjIlMXLdRSHnndKYMz8Y/Lsg1d2U4Ecqm1qJVbZ7+OTsrLxNtTzkvJdFzs7SGyBnrbAMiW9jCjnlKhsHoVU2ppDzbpkSJm/BfRxyNoZU9/PJ2VkpqqlLzgfc4YPmyPkAJntQi5ydIXI+AB3eg0BkNTIHm/whSvG+T6YkRq6HKeR8SBpz5geD/zCkeoQS/EhlUyuxyvYon5zPKm9T0EPOJixyPiu9AXIGwzIkvk0p5JSrbBqEVtmUQs5HZEqYvAWPccjZFFI145PzWaWoty45m7vDFubI2RyTtdAi57MQOZtDh9cCiKxG5mCTP04p3o/JlMTI9QSFnI9LY878YPCfgFRPUoIfqWxqJVbZWvLJ+YzyNrXzkPMpFjmfkd4AOduFZUh8n6aQU67y6SC0yqcp5HxSpoTJW9CKQ86nIVVrPjmfUYra6pKzjTtsa46cbTBZWy1yPgORsw10eG2ByGpkDjZ5O0rxbiVTEiNXewo5ZdVoz5kfDH57SJVFCX6ksqmVWGXrwCdnJ+VtmuEhZ0cWOTtJb4CcM8IyJL6dKOSUq+wUhFbZiULOLJkSJm/BMxxydoJUz/LJqT6F6brk7OwOu5gjZ2dM1kWLnJ0gcnaGDq8LEFmNzMEmf45SvOXL4mcxcj1PIedz0pgzPxj85yHVC5TgRyqbWolVthf55OyovE2lPOR8iUXOjtIbIGepsAyJb1cKOeUquwahVXalkPMFmRImb0E3Djm7QqrufHJ2VIpK6pLzZXf4ijlyvozJXtEiZ0eInC9Dh/cKEFmNzMEmf5VSvLvJlMTI9RqFnK9KY878YPBfg1SvU4IfqWxqJVbZevDJ2UF5m9I95OzJIqcsBz0BcqaHZUh836CQU67yjSC0yjco5HxdpoTJW/Amh5xvQKq3+ORUP7NJ0yXn2+7wHXPkfBuTvaNFzg4QOd+GDu8dILIamYNN/i6leL8pUxIjVy8KOd+Vxpz5weD3glSU+n+qsqmVWGUL8smZpbxNbTzkzGaRU75bzwbI2SYsQ+Lbh0JOuco+QWiVfSjk7C1TwuQt6MshZx9I9R6fnOrPZFrrkvN9d/iBOXK+j8k+0CJnFkTO96HD+wCIrEbmYJN/SCnefWVKYuT6iELOD6UxZ34w+B9Bqo8pwY9UNrUSq2yf8MnZXnmbCnrI2Y9FzvbSGyBnwbAMiW9/CjnlKvsHoVX2p5DzY5kSJm/Bpxxy9odUA/jkVH+VIlOXnAPd4WfmyDkQk32mRc72EDkHQof3GRBZjczBJv+cUrw/lSmJkWsQhZyfS2PO/GDwB0GqwZTgRyqbWolVtiF8cqq/p5bgIedQFjnbSW9owWlfUJgo5/+iN4V2g+UxmszcYRzafQGphmscPrAladybn+pt85XqX7JSva30xlJ9BCXV5fwjdFJd6Rw+xxFBQ0l8xqfdRr0Oz2l/xTpt+fzpK+wGfgXlxEhKTshVjsRObiSlSMrMGYmBcxi0yq8Z+R2O0te9Oa9avoZU31BetUQIpVZihBpFKS7fSGOsbH4NXJHTiktyn3wWF99nwBbxt2QJpfL1/i3YfUjlrKymXdYnlBJpo0XaGJE2VqSNE2njRdoEkTZRpE0SaZNF2hSRNlWkTRNp00XaDJE2U6TNEmmzRdockTZXpM0TafNF2gKRtlCkLRJpi0XaEpG2VKSFRJoQactE2nKRtsLce8LRyZBsDCYbi8nGYbLxmGwCJpuIySZhssmYbAomm4rJpmGy6ZhsBiabiclmYbLZmGwOJpuLyeZhsvmYbAEmW4jJFmGyxZhsCSZbislCmExgsmWYbDkmW5HjKVXf6AzsfRIvkkGTo6raBl3VlGiqSe08qqkIdTPz/QtXOTYyPg9bOfn801TVJuStWuBVNaweRbUQ2kh+f7mm9/qEEhi0oVcvo6Hni2OUqvCGx6pUx8MyLrYq+0TwxsdU7T4Z4gmxVBsiBzExhqrKqeOaFEXV+bRDnZa3qubpRz89T9WmHAkyIy9VhZxpNDMPVelcyTYrt+qh3Ck5O5eqcR6JOyenqlte6T03h6pbnpdgnkc1sVG0q7LIVZWZFFW1+JRqwGXRVUsiqnIDY6iWnlRtKB9LFTqhar8xpkocV9XPiq1aFlY1a6BQLZeqss1VqhVIBchsD6k60R9OpK1Q1piVnocTK0kPJ9JWSG/g88qVYRni9y3j4UR4ld8GoVV+m9+Ty/eHceGTU4hW6H4Y9507/N7cG6/vMNn3Oh/GHb92alh+B4H3eyCy+U+eb+X02JOt7/jXfrkyWv09134V69rLd/argGvfPyxD/FZTrr1c5eogtMrV/Gu/XCnqp3vt17jDteau/RpMtlbr2i+Hrv0a6NqtBSKr8UAVm3wd5fMsWXNWYw9Uv4VW+QPlgeo6aRw0Nv8ZVsZlyoQa66mMP7Iqo3zs+SNQGceGZYjfekpllKtcH4RWuZ7yaY3M7x9M5vdPnM9U1kOqn+lf4Aont0I0Rhcev7jDDebg8Qsm26AFj2UQPH6BDm8DEFmNzMEm30gpQT/JlMTK8q8ULGyUxpz5weD/Cql+owQ/UtmAGgipfs9vcck/OYXyNvXykPMPFjnlZ4Z/AOTsFZYhfn9SyClX+WcQWuWfFHL+JlPC5C3YxPky2J+Q6i8+OYVS9K4uOTe7wy3myLkZk23RIqeAyLkZOrwtQGQ1Mgeb/G9KCdokUxIj11YKOf+Wxpz5weBvhVT/UIIfqWxqJVbZtvHfc4aUt8nb4mk7i5wh6Y21eNoObWsHhZxylTuwFk87KOT8R6aEyVuwk0POHZDqXz45Q0qRdounXe5wtzly7sJku7XIGYLIuQs6vN1AZDUyB5t8D6UE7ZQpiZFrL4Wce6QxZ34w+Hsh1T5K8COVTa3EKtt+PjmXKm/TCg85D7DIuVR6A+RcEZYhfgcp5JSrPBiEVnmQQs59MiVM3oJDHHIehFSH+eRcqhQt1yXnEXd41Bw5j2Cyo1rkXAqR8wh0eEeByGpkDjb5MUoJOiRTEiJXegKFnMekMWd+LPjpCZDKogQ/UtnUSqiypdt8ci5R3qamLjnTHRY5l0hvgJxNwzLAL70AhZxylQWC0CoLMMiZLjdmm7wFiRRypheAVD4+OZcoRU00yZme5A6TjZEzPQmTJWuRcwlCzvQk6PCSgchqZA42eQqjBKUnypTEyJXKIGd6ijTmzA8GPxVSpVGCH6lsaiVW2dL55FysvE1rPeTMYJFzsfQGyLk2LEPi66eQU67SH4RW6aeQM02mhMlbEOCQ0w+pMvnkXKwUrdElZ0F3WMgcOQtiskJa5FwMkbMgdHiFgMhqZA42eWFK8Q7IlMTIVYRCzsLSmDM/GPwikOosSvAjlU2txCrb2XxyLlLeptoecp7DIuci6Q2Qs3ZYhsS3KIWccpVFg9Aqi1LIeZZMCZO3oBiHnEUh1bl8ci5SimrpkrO4OzzPHDmLY7LztMi5CCJncejwzgMiq5E52OQlKMW7mExJjFznU8hZQhpz5geDfz6kKkkJfqSyqZVYZSvFJ+dC5W0a7SHnBSxyLpTeADlHh2VIfC+kkFOu8sIgtMoLKeQsKVPC5C24iEPOCyHVxXxyLlSKRumS8xJ3eKk5cl6CyS7VIudCiJyXQId3KRBZjczBJi9NKd4XyZTEyFWGQs7S0pgzPxj8MpDqMkrwI5VNrcQq2+V8ci5Q3qZpHnJewSLnAukNkHNaWIbE90oKOeUqrwxCq7ySQs7LZEqYvAVXcch5JaS6mk/OBUrRVF1ylnWH5cyRsywmK6dFzgXZCDnLQodXDoisRuZgk5enFO+rZEpi5KpAIWd5acyZHwx+BUh1DSX4kcqmVmKV7Vo+Oecrb1NdDzmvY5FzvvQGyFk3LEPiez2FnHKV1wehVV5PIec1MiVM3oIbOOS8HlLdyCfnfKWoji45b3KHN5sj502Y7GYtcs6HyHkTdHg3A5HVyBxs8lsoxfsGmZIYuSpSyHmLNObMDwa/IqS6lRL8SGVTK7HKdhufnPOUt6mbh5y3s8g5T3oD5OwWliHxrUQhp1xlpSC0ykoUct4qU8LkLajMIWclSFWFT855SlFXXXJWdYfVzJGzKiarpkXOeRA5q0KHVw2IrEbmYJNXpxTvyjIlMXLVoJCzujTmzA8GvwakqkkJfqSyqZVYZavFJ+fcfJGzNoucc6U3Rs7aUHzrUMgpV1kHI2cdCjlrypQweQvqcshZB1LV45NzLo+c9d1hA3PkrI/JGmiRcy5EzvrQ4TXgkBObvCGleMsnRfUwcjWikLOhNObMDwa/EaS6gxL8SGVTK7HKdiefnHOUt2m4h5x3scg5R3oD5BweliHxvZtCTrnKu4PQKu+mkPMOmRImb8E9HHLeDanu5ZNzjlI0TJecjd3hfebI2RiT3adFzjkQORtDh3cfEFmNzMEmv59SvO+RKYmR6wEKOe+Xxpz5weA/AKkepAQ/UtnUSqyyPcQn52zlbRrsIefDLHLOlt4AOQeHZUh8H6GQU67ykSC0ykco5HxQpoTJW/Aoh5yPQKomfHLOVooG6ZKzqTt8zBw5m2Kyx7TIORsiZ1Po8B4DIquROdjkzSjF+1GZkhi5mlPI2Uwac+YHg98cUrWgBD9S2dRKrLI9zifnLOVtWuch5xMscs6S3gA514VlSHyfpJBTrvLJILTKJynklCfwuMlb0JJDzich1VN8cs5SitbqkvNpd9jKHDmfxmSttMg5CyLn09DhtQIiq5E52OStKcW7pUxJjFxtKORsLY0584PBbwOp2lKCH6lsaiVW2drxyTlTeZuWecjZnkXOmdIbIOeysAyJbxaFnHKVWUFolVkUcraVKWHyFnTgkDMLUnXkk3OmUiR0ydnJHT5jjpydMNkzWuScCZGzE3R4zwCR1cgcbPJnKcVbxrUjRq7OFHI+K40584PB7wypulCCH6lsaiVW2Z7jk3OG8jYV85DzeRY5Z0hvgJzFwjIkvi9QyClX+UIQWuULFHJ2kSlh8ha8yCHnC5DqJT45ZyhFRXXJ2dUddjNHzq6YrJsWOWdA5OwKHV43ILIamYNN3p1SvF+UKYmR62UKObtLY878YPBfhlSvUIIfqWxqJVbZXuWTc7ryNk32kPM1FjmnS2+AnJPDMiS+r1PIKVf5ehBa5esUcr4iU8LkLejBIefrkKonn5zTlaJJuuR8wx2+aY6cb2CyN7XIOR0i5xvQ4b0JRFYjc7DJ36IU7x4yJTFyvU0h51vSmDM/GPy3IdU7lOBHKptaiVW2d/nknKa8TT095OzFIuc06Q2Qs2dYhsS3N4WccpW9g9Aqe1PI+Y5MCZO3IMghZ29Ilc0n5zSlqIcuOfu4w77myNkHk/XVIuc0iJx9oMPrC0RWI3Owyd+jFO+gTEmMXO9TyPmeNObMDwb/fUj1ASX4kcqmVmKV7UM+Oacqb1MtDzk/YpFzqvQGyFkrLEPi+zGFnHKVHwehVX5MIecHMiVM3oJPOOT8GFL145NzqlJUU5ec/d3hp+bI2R+TfapFzqkQOftDh/cpEFmNzMEmH0Ap3p/IlMTINZBCzgHSmDM/GPyBkOozSvAjlU2txCrb53xyTlHepqCHnINY5JwivQFyBsMyJL6DKeSUqxwchFY5mELOz2RKmLwFQzjkHAyphvLJOUUp6q1Lzi/c4TBz5PwCkw3TIucUiJxfQIc3DIisRuZgkw+nFO8hMiUxcn1JIedwacyZHwz+l5BqBCX4kcqmVmKV7Ss+OScrb1M7DzlHssgpPxocCZCzXViGxPdrCjnlKr8OQqv8mkLOETIlTN6Cbzjk/BpSjeKTc7JS1FaXnKPd4Rhz5ByNycZokXMyRM7R0OGNASKrkTnY5GMpxfsbmZIYucZRyDlWGnPmB4M/DlKNpwQ/UtnUSqyyTeCTc5LyNs3wkHMii5yTpDdAzhlhGRLfSRRyylVOCkKrnEQh53iZEiZvwWQOOSdBqil8cqpPYbouOae6w2nmyDkVk03TIuckiJxTocObBkRWI3OwyadTird8WTwFI9cMCjmnS2PO/GDwZ0CqmZTgRyqbWolVtll8ck5U3qZSHnLOZpFzovQGyFkqLEPiO4dCTrnKOUFolXMo5JwpU8LkLZjLIeccSDWPT86JSlFJXXLOd4cLzJFzPiZboEXOiRA550OHtwCIrEbmYJMvpBTvuTIlMXItopBzoTTmzA8GfxGkWkwJfqSyqZVYZVvCJ+cE5W1K95BzKYucE6Q3QM70sAyJb4hCTrnKUBBaZYhCzsUyJUzeAsEhZwhSLeOTU/3MJk2XnMvd4Qpz5FyOyVZokXMCRM7l0OGtACKrkTnY5CspxVvIlMTI9S2FnCulMWd+MPjfQqrvKMGPVDa1Eqts3/PJOV55m9p4yLmKRU75bn0VQM42YRkS39UUcspVrg5Cq1xNIed3MiVM3oI1HHKuhlRr+eRUfybTWpec69zhD+bIuQ6T/aBFzvEQOddBh/cDEFmNzMEm/5FSvNfIlMTItZ5Czh+lMWd+MPjrIdVPlOBHKptaiVW2n/nkHKe8TQU95PyFRc5x0hsgZ8GwDInvBgo55So3BKFVbqCQ8yeZEiZvwUYOOTdAql/nqSc/Q3Kqv0qRqUvO39zh7+bI+Rsm+12LnOMgcv4GHd7vQGQ1Mgeb/A9K8d4oUxIj158Ucv4hjTnzg8H/E1JtogQ/UtnUSqyy/cUnp/p7agkecm5mkXOs9IYWnL6FwkQ5/xZO94JN8hhNZu7fHNptgVRbNQ4f2JI07s1P9TH5SvV/WKk+Rnpjqb6Nkupy/m06qa50Dp/jtqChJD7j0x6tXofntLezTnu09MZu4HYoJ3ZQckKucgd2cjsoRVJmzg4MnH9Dq9zJyO9wlHb25rxq2Qmp/qW8aokQSq3ECLWLUlz+lcZY2dwJXJHTiktyn/wVlzLABvE3ZAml8vXuLdh9SOWsrKZd1ieUEum7Rfoekb5XpO8T6ftF+gGRflCkHxLph0X6EZF+VKQfExkJIsMSGbbIcERGAZGRKDJ8IiNJZCSLjBSRkSoy0kRGusjIEBl+kREQGZkio6DIKCQyCpt7R7g7GZLtwWR7Mdk+TLYfkx3AZAcx2SFMdhiTHcFkRzHZMUiWkYDJLExmYzIHkxXAZImYzIfJkjBZMiZLwWSpmCwNk6VjsgxM5sdkAUyWickKYrJCmKxwjmdUfaMTsPdJuEgCHY6qaht0VUeiqSa186iOIszN7JbflyU5NjI+D1tJjeTTVNUm5K1K8aoaVo+iSoU28mp+N7I+oQSCbOiVy27o2eIepSp8bntVquOnuy+2KvtEDuyPqdp9MlMOxFJtiOTTwRiqKqey7lAUVWfvkaYfy1tV8/SDT8hTtSlHelh5qSrkTCI7D1XpXKnm5FY9lDshC+RSNc4jbRNzqrrlldy+HKpueV6BJI9qYqNoFyXNVZWZFFWVfko14LLoqoyIqtzAGCr/SdWG8rFUgROq9htjqjKPq+pnxVYVDKuaNVCoCklV2eYqVWHkXUFmN0jF79qeUVhZY1a6DyYyipAeTGQUlt7AZ5UrwzLE7yzGg4nwKs8KQqs8K78nl+8P4sInpxCt0PwgLuNsd3iOsbddGWdjsnN0Pog7fu2UsMw4GwFvxjlAZPOfPGfJ6aGnWhln8699IWW0+nuufVHWtZfv64sC175/WIb4FaNce7nKYkFolcX4176QUtRP99qf6w6Lm7v252Ky4lrXvhB07c+Frl1xILL5f5gKTn4e47OscM0plo0BE1plCcbD1IzzpHHQ2PxnWBkLKhNqrKcyns+qjPKh5/lAZRwbliF+JSmVUa6yZBBaZUnGJzXh/C5hMr9LUT5PySgJqS6gf3krnNwK0RhdeFzoDi8yB48LMdlFWvAoCMHjQujwLgIiq5E52OQXU0pQKZmSWFm+hIKFi6UxZ34w+JdAqkspwY9UNqAGQqrS+S0u+SdnpvI29fKQswyLnPITwzIAOXuFZYjfZRRyylVeFoRWeRmFnJfKlDB5Cy6nfBEs4zJIdQWfnJlK0bu65LzSHV5ljpxXYrKrtMiZCZHzSujwrgIiq5E52ORXU0rQ5TIlMXKVpZDzamnMmR8MfllIVY4S/EhlUyuxylae/54zoLxNnvZOGRVY5AxIb6i9k5QhftdQyClXeQ3U3ik8v8JOh5zlZEqYvAXXcsh5DaS6jk/OgFKk294p43p3eIM5cl6PyW7QImcAIuf10OHdAERWI3OwyW+klKBrZUpi5LqJQs4bpTFnfjD4N0GqmynBj1Q2tRKrbLfwyelX3qYVHnJWZJHTL70Bcq4IyxC/WynklKu8NQit8lYKOW+WKWHyFtzGIeetkOp2Pjn9StFyXXJWcoeVzZGzEiarrEVOP0TOStDhVQYiq5E52ORVKCXoNpmSGLmqUshZRRpz5geDXxVSVaMEP1LZ1EqsslXnkzNDeZuaeshZg0XODOkNkLNpWIb41aSQU66yZhBaZU0KOavJlDB5C2pxyFkTUtXmkzNDKWqiS8467rCuOXLWwWR1tciZAZGzDnR4dYHIamQONnk9SgmqJVMSI1d9CjnrSWPO/GDw60OqBpTgRyqbWolVtoZ8cqYrb9NaDzkbsciZLr0Bcq4NyxC/OyjklKu8Iwit8g4KORvIlDB5C+7kkPMOSHUXn5zpStEaXXLe7Q7vMUfOuzHZPVrkTIfIeTd0ePcAkdXIHGzyeykl6E6Zkhi5GlPIea805swPBr8xpLqPEvxIZVMrscp2P5+cacrbVNtDzgdY5EyT3gA5a4dliN+DFHLKVT4YhFb5IIWc98mUMHkLHuKQ80FI9TCfnGlKUS1dcj7iDh81R85HMNmjWuRMg8j5CHR4jwKR1cgcbPImlBL0kExJjFxNKeRsIo0584PBbwqpHqMEP1LZ1EqssjXjkzNVeZtGe8jZnEXOVOkNkHN0WIb4taCQU66yRRBaZQsKOR+TKWHyFjzOIWcLSPUEn5ypStEoXXI+6Q5bmiPnk5ispRY5UyFyPgkdXksgshqZg03+FKUEPS5TEiPX0xRyPiWNOfODwX8aUrWiBD9S2dRKrLK15pMzRXmbpnnI2YZFzhTpDZBzWliG+LWlkFOusm0QWmVbCjlbyZQweQvaccjZFlK155MzRSmaqkvOLHfYwRw5szBZBy1ypkDkzIIOrwMQWY3MwSbvSClB7WRKYuTqRCFnR2nMmR8MfidI9Qwl+JHKplZile1ZPjmTlbeproecnVnkTJbeADnrhmWIXxcKOeUquwShVXahkPMZmRImb8FzHHJ2gVTP88mZrBTV0SXnC+7wRXPkfAGTvahFzmSInC9Ah/ciEFmNzMEmf4lSgp6TKYmRqyuFnC9JY878YPC7QqpulOBHKptaiVW27nxyJilvUzcPOV9mkTNJegPk7BaWIX6vUMgpV/lKEFrlKxRySuPuJm/BqxxyvgKpXuOTM0kp6qpLztfdYQ9z5Hwdk/XQImcSRM7XocPrAURWI3OwyXtSStCrMiUxcr1BIWdPacyZHwz+G5DqTUrwI5VNrcQq21t8cvryRc63WeT0SW+MnG9D23qHQk65yncwcr5DIeebMiVM3oJ3OeR8B1L14pPTxyNnb3cYNEfO3pgsqEVOH0TO3tDhBTnkxCbPppSgd2VKYuTqQyFntjTmzA8Gvw+k6ksJfqSyqZVYZXuPT85E5W0a7iHn+yxyJkpvgJzDwzLE7wMKOeUqPwhCq/yAQs6+MiVM3oIPOeT8AFJ9xCdnolI0TJecH7vDT8yR82NM9okWORMhcn4MHd4nQGQ1MgebvB+lBH0oUxIjV38KOftJY878YPD7Q6pPKcGPVDa1EqtsA/jkLKC8TYM95BzIImcB6Q2Qc3BYhvh9RiGnXOVnQWiVn1HI+alMCZO34HMOOT+DVIP45CygFA3SJedgdzjEHDkHY7IhWuQsAJFzMHR4Q4DIamQONvlQSgn6XKYkRq4vKOQcKo0584PB/wJSDaMEP1LZ1Eqssg3nk9NR3qZ1HnJ+ySKnI70Bcq4LyxC/ERRyylWOCEKrHEEh5zCZEiZvwVccco6AVCP55HSUorW65PzaHX5jjpxfY7JvtMjpQOT8Gjq8b4DIamQONvkoSgn6SqYkRq7RFHKOksac+cHgj4ZUYyjBj1Q2tRKrbGP55LSVt2mZh5zjWOS0pTdAzmVhGeI3nkJOucrxQWiV4ynkHCNTwuQtmMAh53hINZFPTlspErrknOQOJ5sj5yRMNlmLnDZEzknQ4U0GIquROdjkUyglaIJMSYxcUynknCKNOfODwZ8KqaZRgh+pbGolVtmm88lpKW9TMQ85Z7DIKf87AyBnsbAM8ZtJIWfYOAitciaFnNNkSpi8BbM45JwJqWbzyWkpRUV1yTnHHc41R845mGyuFjktiJxzoMObC0RWI3OwyedRStAsmZIYueZTyDlPGnPmB4M/H1ItoAQ/UtnUSqyyLeSTM0F5myZ7yLmIRU652UUAOSeHZYjfYgo55SoXB6FVLqaQc4FMCZO3YAmHnIsh1VI+OROUokm65Ay5Q2GOnCFMJrTImQCRMwQdngAiq5E52OTLKCVoiUxJjFzLKeSUT6qWc+YHg78cUq2gBD9S2dRKrLKtpJMz/ZjyNvX0kPNbEjnTj0lvgJw9wzIkvt8xyBle5XdBaJXfUci5QqaEyVvwPYec30GqVXRyhpNbIeqhS87V7nCNOXKuxmRrdMiZfgwi52ro8NYAkdXIHGzytZTi/b1MSYxc6yjkXCuNOfODwV8HqX6gBD9S2dRKrLL9yCfnUeVtquUh53oWOY9Kb4CctcIyJL4/UcgpV/lTEFrlTxRy/iBTwuQt+JlDzp8g1S98ch5VimrqknODO9xojpwbMNlGLXIehci5ATq8jUBkNTIHm/xXSvH+WaYkRq7fKOT8VRpz5geD/xuk+p0S/EhlUyuxyvYHn5xHlLcp6CHnnyxyHpHeADmDYRkS300UcspVbgpCq9xEIefvMiVM3oK/OOTcBKk288l5RCnqrUvOLe7wb3Pk3ILJ/tYi5xGInFugw/sbiKxG5mCTb6UU779kSmLk+odCzq3SmDM/GPx/INU2SvAjlU2txCrbdj45DytvUzsPOXewyHlYegPkbBeWIfHdSSGnXOXOILTKnRRybpMpYfIW/Msh505ItYtPzsNKUVtdcu52h3vMkXM3JtujRc7DEDl3Q4e3B4isRuZgk++lFO9/ZUpi5NpHIedeacyZHwz+Pki1nxL8SGVTK7HKdoBPzkPK2zTDQ86DLHIekt4AOWeEZUh8D1HIKVd5KAit8hCFnPtlSpi8BYc55DwEqY7wyak+hem65DzqDo+ZI+dRTHZMi5yHIHIehQ7vGBBZjcyBJvcnUIq3fFl8BCKX32KQ0x825syPBd9vQSqbEvxIZVMrocrmd/jkPKi8TaVccvoLsMh5UHoD5CwVliFpmEghp1xlYhBaZSKDnH5bpoTJW+CjkNOfCKmS+OQ8qBSV1CSnP9kdphgjpz8Zk6VokfMgQk5/MnR4KUBkNTIHmzyVUYL8PpmSGLnSKORMlcac+cHgp0GqdErwI5VNrcQqWwafnAeUtyndQ04/i5wHpDdAzvSwDIlvgEJOucpAEFplgEJOaZxh8hZkcsgZgFQF+eRUP7NJ0yVnIXdY2Bw5C2GywlrkPACRsxB0eIWByGpkDjZ5EUrxzpQpiZHrLAo5i0hjzvxg8M+CVGdTgh+pbGolVtnO4ZNzv/I2tfGQsyiLnPulN0DONmEZEt9iFHLKVRYLQqssRiHn2TIlTN6CcznkLAapivPJqf5MprUuOc9zhyXMkfM8TFZCi5z7IXKeBx1eCSCyGpmDTX4+pXifK1MSI1dJCjnPl8ac+cHgl4RUpSjBj1Q2tRKrbBfwyblPeZsKesh5IYuc+6Q3QM6CYRkS34so5JSrvCgIrfIiCjnlY+ALTN6CiznkvAhSXcInp/qrFJm65LzUHZY2R85LMVlpLXLug8h5KXR4pYHIamQONnkZSvG+WKYkRq7LKOQsI40584PBvwxSXU4JfqSyqZVYZbuCT07199QSPOS8kkXOvdIbWrD/KgoT5fxX9abQ7nJ5jCYz92oO7a6CVGU1Dh/YkjTuzU/1PflK9XKsVN8jvbFUL09JdTl/eZ1UVzqHz7F80FASn/Fp71avw3PaFVinvVt6YzewApQT11ByQq7yGuzkrqEUSZk512DgvBpa5bWM/A5H6drenFct10Kq6yivWiKEUisxQl1PKS7XSWOsbF4LXJHTiovdp/uQyllZTbusT9iA1IGEuCguioviov97USL48sc3D5kPs5przmqOOavZ5qxmmbOaac5qhjmr6easppmzmmrOaoo5q8nmrCaZs5pozmqCOavx5qzGmbMaa85qjDmr0easRpmz+sac1dfmrEaas/rKnNUIc1ZfmrMabs5qmDmrL8xZDTVnNcSYVXKSOSufOatEc1YFzFk55qxsc1aWOasEY1ZJx8xZHTVndcSc1WFzVofMWR00Z3XAnNV+c1b7zFntNWe1x5zVbnNWu8xZ/WvOaqc5qx3mrLabs9pmzuofc1ZbzVn9bc5qizmrzeas/jJmlVLHnFVtc1a1zFnVNGdVw5xVdXNW1cxZVTVnVcWcVWVzVpXMWd1uzuo2c1a3mrOqaM7qFnNWN5uzusmc1Y3mrG4wZ3W9OavrzFlda87qGnNWFcxZlTdnVc6cVVlzVlebs7rKnNWV5qyuMGaV+o45q7fNWb1lzupNc1ZvmLPqac6qhzmr181ZvWbO6lVzVq+Ys3rZnFV3c1bdzFl1NWf1kjmrF81ZvWDO6nlzVs+Zs+pizqqzOatnzVk9Y86qkzmrjuasOpizyjJn1d6cVTtzVm3NWbUxZpW2wpzVcnNWy8xZCXNWIXNWS81ZLTFntdic1SJzVgvNWS0wZzXfnJW570CmmfsOZJq570CmmfsOZJq570CmmfsOZJq570CmmfsOZJq570CmmfsOZJq570CmmfsOZJq570CmmfsOZJq570CmmfsOZJq570CmmfsOZNoYc1bmvgOZUdicVSFzVgXNWWWaswqYs/Kbs8owZ5VuzirNnFWqOasUc1bJ5qzMfQcyw9x3IDPMfQcyw9x3IDPMfQcyw9x3IDPMfQcyw9x3INPNfQcy3dx3INPNfQcy3dx3INPNfQcy3dx3INPNfQcy3dx3INPNfQcy3dx3INPNfQcyHfgOZD46RSVsyI84IXjql6gzhf8G4b9R+G8S/puF/xbhryj8twr/bcJ/u/BXEv7Kwl9F+KsKfzXhry78Ncy1nrq9FCSrhMkqY7IqmKwqJquGyapjshqlTm9HACWSH/iyh47tjRzbmzi2N3Nsb+HYVuTY3sqxvU3ZxO3w6bbvZQOtJ3yzs4HmcL45SlVC+NeeVarwRnzzoO3ent8oYtudDm13BrTdmdB2Z0HbrZTf7faBJp8GTV5Zqs77p/ieMU6R9y61t667fc6RB4sWqH7lnlpDWzTvXeabfi2eWCsyL+ecyHjoRCZAJzIRCsokKChVONsdDW13DLTdsdB2x0HbrcpJwFHQ5NWk6uLVU5L2fdmrwJi1O9o+u+fyPktqvjNjRMVscdVt3e767f1t9UXmpZwTGQ6dyJfQiYyAgvIVFJTqnO0OgbY7FNruF9B2h0HbraGDTXVrJfUvDSTm8apw9F1PNq1w3fVV27ZulyVfFLZs26aPfJHuvkj0dTI/9tf0vir3vvT2vr72voj2vlL2vhz2vub1vrD90DPx3Z7xPZ7xvZ5xY8/4Ps/4fs/4Ac/4wQ+Fv5bw1xb+OsJfV/jrCX994W8g/A3j3aPiorgoLvp/ThTvHhWxinePwq3i3aNwq3j3KNwq3j0Kt4p3j8Kt4t2jcKt49yjcKt49CreKd4/CreLdo3CrePco3CrePQq3inePwq3i3aNwq3j3KNwq3j0Kt4p3j8Kt4t2jcKt49yjcKt49CreKd4/CreLdo3CrePco3CrePQq3inePwq3i3aNwq3j3KNwq3j0Kt4p3j8Kt4t2jcKssc1bx7lGwVbx7VD6s4t2jcKt49yjcKt49CreKd4/CreLdo3CrePco3CrePQq2inePyodVvHsUbhXvHoVbxbtH4Vbx7lGwVbx7VD6s4t2jcKt49yhi96hKp3WPaiT8dwj/ncJ/l/DfLfz3CP+9wt9Y+O8T/vuF/wHhf1D4HxL+h4X/EeF/1Fz3qEZYT6U7MNmdmOwuTHY3JrsHk92LyRpjsvsw2f2Y7AFM9iAmewiTPYzJHsFkj5bSaGaRXCAbaGaRnJgNNLNI9mUDzSySk5DC4G8EFAaN7SZA27Wg7drQdh1ou3fkd7tQ85ikY9Dkd2Yj3YtuopxI0n7kRJIOICeSdBAKyiEoKHdxtrsb2u4eaLt7oe3ug7Z7NycBd0GT35ONdC+6jnMiW6ET+Qc6kW1QULZDQbmXs92/oO1uhra7Bdru39B2G1O2m1IT2W5KLWS7KbWR7abUgbZ7H2e7VaHtVoO2Wx3abg1ou/dTyktKFWjyByC+1eKcyC3QiVSETuRWKCi3QUF5kLPdG6Dt3ght9yZouzdD232Ik4DXQ5M/DPGtGudEykInUg46kfJQUCpAQXmEs90roO1eCW33Kmi7V0PbfRTYbv7b6PkbeZ8ReB8EeN/te9/Se9+3e9+ce9+Be99me99Le98we98Ve9/6et/fet/Eet+petro+Wt5xrU94zqecV3PuJ5nXN8zbuAZN/xQ+JsIf1Phf0z4mwl/c+FvIfyPC/8T8TZ6cVFcFBf9PyeKt9GLWMXb6OFW8TZ6uFW8jR5uFW+jh1vF2+jhVvE2erhVvI0ebhVvo4dbxdvo4VbxNnq4VbyNHm4Vb6OHW8Xb6OFW8TZ6uFW8jR5uFW+jh1vF2+jhVvE2erhVvI0ebhVvo4dbxdvo4VbxNnq4VbyNHm4Vb6OHW8Xb6OFW8TZ6uFW8jR5uFW+jh1vF2+jhVvE2erhVljmreBs92CreRi8fVvE2erhVvI0ebhVvo4dbxdvo4VbxNnq4VbyNHm4Vb6MHW8Xb6OXDKt5GD7eKt9HDreJt9HCreBs92CreRi8fVvE2erhVvI0esY1et9Pa6D0p/C2F/ynhf1r4Wwl/a+FvI/xthb+d8LcX/izh7yD8HYW/k/A/I/zPmmuj9yTWJK0lJnsKkz2NyVphstaYrA0ma4vJ2mGy9pgsC5N1wGQdMVknTPYMJntWp41e6pvZQNeJ1Leyga4TqW9nA10nUt9BCoP/SaAwaGz3dWi7PaDt9oS2+wa03Zb53S7U5SX1NWjyp7KRNkNNOSfyEnQiXaET6QYFpTsUlKc5230O2u7z0HZfgLb7IrTdVpwE7AJN3jobaTP0MOdEsqAT6QCdSEcoKJ2goLThbLcNtN220HbbQdttD223LWW7aQLZbtoyZLtpy5Htpq2AttuOs93F0HaXQNtdCm03BG23PaW8pC2CJs+C+NaJcyKzoROZA53IXCgo86CgdOBsdzq03RnQdmdC250FbbcjJwGnQZN3gvjWnnMi46ETmQCdyEQoKJOgoDzD2e5oaLtjoO2OhbY7Dtou8GUynTZ6T3qfEXgfBHjf7Xvf0nvft3vfnHvfgXvfZnvfS3vfMHvfFXvf+nrf33rfxHrfqXrb6DXxjJt6xo95xs084+aecQvP+HHP+IkPhb+z8HcR/ueE/3nhf0H4XxT+l4S/a7yNXlwUF8VF/8+J4m30IlbxNnq4VbyNHm4Vb6OHW8Xb6OFW8TZ6uFW8jR5uFW+jh1vF2+jhVvE2erhVvI0ebhVvo4dbxdvo4VbxNnq4VbyNHm4Vb6OHW8Xb6OFW8TZ6uFW8jR5uFW+jh1vF2+jhVvE2erhVvI0ebhVvo4dbxdvo4VbxNnq4VbyNHm4Vb6OHW8Xb6OFW8TZ6uFW8jR5ulWXOKt5GD7aKt9HLh1W8jR5uFW+jh1vF2+jhVvE2erhVvI0ebhVvo4dbxdvowVbxNnr5sIq30cOt4m30cKt4Gz3cKt5GD7aKt9HLh1W8jR5uFW+jR2yjN+u0NnrdhL+78L8s/K8I/6vC/5rwvy78PYS/p/C/IfxvCv9bwv+28L8j/O8Kfy9zbfS6YU3SumOylzHZK5jsVUz2GiZ7HZP10GkHl5GZDXRPyCiYDXRPyCiUDXRPyCiMJLgf+JhLZ7vp0HYzoO36oe0GoO12z+92oW4lGWnQ5C9nI+1yXuWcSAHoRBKhE/FBQUmCgvIKZ7sJ0HYtaLs2tF0H2u6rlARMPwZNHu5aqG6XwykJ6fuRE0k/gJxI+kEoKIegoLzO2e5uaLt7oO3uhba7D9puj/xuF3qh5O/JsX2DY/smx/Ytju3bHNt3OLbvcmx76dgqr6lf+TI5Sat7VDfvS2Pv61/vi1zvK1nvy1Xva1LvC0937PN0g/J1MjP29/Z2j+rsGXfxjJ/zjJ/3jF/wjF/0jF/yjLt+KPxB4c8W/j7C31f43xP+94X/A+H/8PTuUcl93LdJWHIEzb5NK5APsZUQeZsmd/SR8H8s/J8Ifz9zb8A+SoZkH2OyTzBZv+TczFPtRh4DdOU+Qsjo/xgho/8ThIz+fkB6nGEGZv9HMrC/8H8q/AOEf6C5DOyP5cynmGwAJhuolYHZUAb2hzLwUygDB0AZOJCfgX3+Ixn4mfB/LvyDhH+wuQz8DMuZzzHZIEw2WCsD+0AZ+BmUgZ9DGTgIysDB/Azs+x/JwCHCP1T4vxD+YeYycAiWM0Mx2ReYbJhWBvaFMnAIlIFDoQz8AsrAYfwMfO8/koHDhf9L4R8h/F+Zy8DhWM58iclGYLKvtDIQekLiHw5l4JdQBo6AMvArfga+/x/JwJHC/7XwfyP8o8xl4EgsZ77GZN9gslFaGfg+lIEjoQz8GsrAb6AMHMXPwA/+Ixk4WvjHCP9Y4R9nLgNHYzkzBpONxWTjtDLwAygDR0MZCDVV90NN1f3j+Bn44X8kA8cL/wThnyj8k8xl4HgsZyZgsomYbJJWBn4IZSD0Vwz80F8x8EN/xcA/Kb8Z6OQzA6385N/6hJInLa0Y+hNPrRSihBNPrRSihBNPrRQiqern2aoVVdXfVVnRvT49pbJizDggorJirWtgjiOw8lR9drrKytvr89NUVpQZB3lVVrR1Dc4jNaxcqiG5VVZur6G5VFYeM36RU2Xlta5hUVLWOk01PG+VdbrXl3mqrBwzjshLZeVc11cxrpJ1SjUyuspyvb6OqrI8M34TTWV51zVKccWthAg5FaKEE+RUiBJOkFMhkirsz5FMUKqshBOVUiFKwCplvipjabVhdtixdbtWLYR/8qnvn10s/FOEf6rwTxP+6cI/Q/hnCv8s4Z8t/HOEf67wzxP++cK/QPgXCv8i4V8s/EuEf6nwh4RfCP8y4V8u/CuEf6Xwfyv83wn/98K/SvhXC/8a4V8r/OuE/wfh/1H41wv/Txisz+g1Shmzr1Auzo/YDnrD+rPw/yL8G4R/o/D/Kvy/Cf/vwv+H8P8p/JuE/y/h3yz8W4T/b+HfKvz/CP824d8u/DuEf6fw/yv8u4R/t/DvEf69wr9P+PcL/wHhPyj8h4T/sPAfEf6jwn9MBBJEwDL3GuhnTPYLJtuAyTZisl8x2W+Y7HdM9gcm+xOTbcJkf2GyzZhsCyb7G5NtxWT/YLJtmGw7JtuByXZisn8x2S5MthuT7cFkezHZPky2H5MdwGQHMdkhTHYYkx3BZEcx2TFIFsCKasCyTn+Ptz7hEgRk0Hu8n9Xv8Y7Jeq1WSaBsUKskgjaqVRJgv6pVEou/qVXydcjvalV3Wamhd7t/KlVHpWqTUnVYqv5SqvZL1WalaodUbVGqNkjV30rVLKnaqlR1k6p/oPf921Sqo2HVdpXqcFi1Q6XaH1btVKl2hFX/qlQbwqpdKtWssEr5fc5uYZXy+5zH3yOovs+57bhqn0K19bhK9bXav46rVF+r3XBcpfpa7YrjqkMK1ajjqsMKVbvjqiOxVdk7jquOxlYFT6iOxVb1Oq4KKL4Y/tYJFfIIyVuug31OuG6IXoet418P+xn6jlTmYr3522+MOf/H8PxL8jl/777/k4do6o1s1trI//mzOfVGtuieyP/tIz/1Rv7W30jUuQlPEtUb2XqGG8lzDeYfUKo38s8Zb+T/5LmneiPbTJwI/3GqeiPbzWzktLkJT2nVG9lhcCOn1mD+4a96IzuNboT2TFm9kX/zuZE+x19Z1M+K/criE/nKIixs1kAh7HdSeHKdE6MK+8OvVXZr7ei4a5noC/3Uu9ABMXY0wCMsF2vrA+Ed7dHf0XHXbnnO/9npoZfC8Xkv9POcwmpRdjQI3tHeM9lRw2gRHZxrR8eFpXMJh+QpfCi341B4R/vO8Iy6d2+cx46+yGOh3fLa+rC8tx4Wdj5NOBze0f4z3tFx15qnL/TLaAvdlGNHI6IIK+Tc+lfwjg6Y2dFx1yqn5h8ZPfRS2Ntd6NexhG09O/oG3tFBUzua5I3oqJg78jy4GK0UnnzHPgbe0SGDZ1R14+6TOxqrWOiGyNbHqbd+4hnqBHhHh43uKPJMciJwRscfxk06IVSswDr+iS64oyP5ffGzPqEo9gE3Mn3ARl4kZS6GVEsg1WZItQVS/Q2ptkKqfyDVNki1HVLtgFQ7IdW/kGo3pNoDqfZCKugX5zP3Q6oDkOogpIL6F2QehlT5vsKfQu9MpkAX2MGeeWJPJrH3BNjrbOy1K/Z6EHuNhb1uwV4LYHzFmGWMA7k/6xzXqG2HFi2bt21ToVGLrNadOjbt2LJtm+y+ns8+bc/YifKb6gP7ikABEUgUAZ8IJOV6+J2gTNWp8hNOCHcF0/N5V4LQC4hf5Pqx+TPye1f7Inc1UAC6q8mIV8F0SMXZiH8qtJEU7KyNnYhO4id7xikxEj9VBNJEIF0EMjQSf5r80B5LPD8l8TfI9WPzBziJnwrlix9KaUzF2Yh/GrSRAHbWxk5EJ/H9nnEgRuJnikBBESgkAoU1En+68G/EEi+Tkvgb5fqx+QtyEj8TypciUEpnQirORvzToY2chZ21sRPRSfwinvFZMRL/bBE4RwSKikAxjcSfIfy/YolXiJL4v8r1Y/MX5iT+2VC+nAuldCFIxdmIfwa0keLYWRs7EZ3EP9czLh4j8c8TgRIicL4IlNRI/JnC/xuWeEUoif+bXD82/1mcxD8PypdSUEpjXOBsxD8T2sgF2FkbOxGdxC/lGV8QI/EvFIGLROBiEbhEI/FnCf/vWOKdTUn83+X6sfnP4ST+hVC+XAql9NmQirMR/yxoI6WxszZ2IjqJf6lnXDpG4pcRgctE4HIRuEIj8WcL/x9Y4hWlJP4fcv3Y/MU4iQ/9BkDgSiili0Iqzkb8s6GNXIWdtbET0Un8Kz3jq2Ik/tUiUFYEyolAeY3EnyP8f2KJdy4l8f+U68fmL85J/KuhfKkApTT2ToCzEf8caCPXYGdt7ER0Er+CZ3xNjMS/VgSuE4HrReAGjcSfK/ybsMQ7j5L4m+T6sflLcBL/WihfboRS+jxIxdmIfy60kZuwszZ2IjqJf6NnfFOMxL9ZBG4RgYoicKtG4s8T/r+wxDufkvh/yfVj85fkJP7NUL7cBqX0+ZCKsxH/PGgjt2NnbexEdBL/Ns/49hiJX0kEKotAFRGoqpH484V/M5Z4pSiJv1muH5v/Ak7iV4LypRqU0tizH85G/POhjVTHztrYiegkfjXPuHqMxK8hAjVFoJYI1NZI/AXCvwVLvAspib9Frh+b/yJO4teA8qUOlNIXQirORvwLoI3Uxc7a2InoJH4dz7hujMSvJwL1RaCBCDTUSPyFwv83lngXUxL/b7l+bP5LOIlfD8qXRlBKXwypOBvxL4Q2cgd21sZORCfxG3nGd8RI/DtF4C4RuFsE7tFI/EXCvxVLvEspib9Vrh+bvzQn8e+E8uVeKKWxp/2cjfgXQRtpjJ21sRPRSfx7PePGMRL/PhG4XwQeEIEHNRJ/sfD/gyVeGUri/yPXj81/GSfx74Py5SEopctAKs5G/NDXuAMPY2dt7ER0Ev8hz/jhGIn/iAg8KgJNRKCpRuIvEf5tWOJdTkn8bXL92PxXcBL/EShfHoNS+nJIxdmIH/rNhEAz7KyNnYhO4j/mGTeLkfjNRaCFCDwuAk9oJP5S4d+OJd6VlMTfLtePzX8VJ/GbQ/nyJJTS2Oe7nI34l0IbaYmdtbET0Un8Jz3jljES/ykReFoEWolAa43EDwn/DizxrqYk/g65fmz+spzEfwrKlzZQSl8NqTgb8YegjbTFztrYiegkfhvPuG2MxG8nAu1FIEsEOmgkvhD+nVjilaMk/k65fmz+8pzEbwflS0copctBKs5G/ALaSCfsrI2diE7ie/6QbqBTjMR/RgSeFYHOItBFI/GXCf+/WOJVoCT+v3L92PzXcBL/GShfnoNSGvtGD2cj/mXQRp7HztrYiegkvucPOQeej5H4L4jAiyLwkgh01Uj85cK/C0u8aymJv0uuH5v/Ok7ivwDlSzcopa+FVJyN+JdDG+mOnbWxE9FJfM+fZg90j5H4L4vAKyLwqgi8ppH4K4R/N5Z411MSf7dcPzb/DZzEfxnKl9ehlL4eUnE24l8BbaQHdtbGTkQn8V/3jHvESPyeIvCGCLwpAm9pJP5K4d+DJd6NlMTfI9ePzX8TJ/F7QvnyNpTS2Hc4ORvxr4Q28g521sZORCfx3/aM34mR+O+KQC8R6C0CQY3E/1b492KJdzMl8ffK9WPz38JJ/HehfMmGUvpmSMXZiP9baCN9sLM2diI6ie/9+yJ9YiS+/O97IvC+CHygkfjfCf8+LPEqUhJ/n1w/Nv+tnMSH/t564EMopStCKs5G/N9BG/kIO2tjJ6KT+B96xh/FSPyPReATEegnAv01Ev974d+PJd5tlMTfL9ePzX87J/E/hvIFaiRXEPvWPmcj/u+hjQzAztrYiegk/qee8YAYiT9QBD4Tgc9FYJBG4q8S/gNY4lWiJP4BuX5s/sqcxB8I5ctgKKUrQSrORvyroI0Mwc7a2InoJP5gz3hIjMQfKgJfiMAwERiukfirhf8glnhVKIl/UK4fm78qJ/GHQvnyJZTSVSAVZyP+1dBGRmBnbexEdBL/S894RIzE/0oERorA1yLwjUbirxH+Q1jiVaMk/iG5fmz+6pzE/wrKl1FQSmO/p8XZiH8NtJHR2FkbOxGdxB/lGY+OkfhjRGCsCIwTgfEaib9W+A9jiVeDkviH5fqx+WtyEn8MlC8ToJSuAak4G/GvhTYyETtrYyeik/gTPOOJMRJ/kghMFoEpIjBVI/HXCf8RLPFqURL/iFw/Nn9tTuJjf5pgGpTStSAVZyP+ddBGpmNnbexEdBJ/mmc8PUbizxCBmSIwSwRmayT+D8J/FEu8OpTEPyrXj81fl5P4WMvJOVBKY7+Zy9mI/wdoI3OxszZ2IjqJP8cznhsj8eeJwHwRWCACCzUS/0fhP4YlXj1K4h+T68fmr89JfKwrxyIopetBKs5G/D9CG1mMnbWxE9FJ/EWe8eIYib9EBJaKQEgEhEbirxeBBCzxGjASPyD/uwSbvyEn8bFfXFoGpXQDSMXZiH89tJHl2FkbOxGdxF/mGS+PkfgrRGClCHwrAt9pJP5PImBhideIkvgy9VZg89/BSXzsu13fQymN9WLgbMT/E7SRVdhZGzsRncT/3jNeFSPxV4vAGhFYKwLrTo9XNrB6H5Qcq/N7VFAqB36IbXvg3EKn//p8736q1ebjL+n9iOw8/tfvTqmM/vU7Tj6tj2rrnLLVuYg/eMY/nhp7+jgH1strKBHyswj8IgIbuo+oktWyVauWT4T9+xYIdh96V8s2T7RqcWIfCarwBH5Sh6d3n9691Va564HqXwgH+8M6G4HJc4d6yJ2VG9Ss7v0q1sZSOgf9a+zZz7mqraNj+1ts2007qh/Tsf09qm2ByEArLX/1jH87Nb7E89PfZVr+IQJ/isAmEfjr9LX3AbIB6hoT+AOKwmYSJTd7xn96xps8479kHLaIwN8isFUE/jn9eiZmdx9SOSuraZc+yisVTgDsDgONlzAjpLVRPqvLlv9hdQlshHJlm6Hqsq3U6Wft65u/YFn/k+jn13KjaUvnf5kh26AM2W4oQ7aX0lnjdmiNOwytcUeOLE7K9wuK7bwDVYUhAVhgvrsvIRNbwMSXMyZG/kT3FYyJHWDiK3UmVplCf4jCmajzol819dWMQBYAJi7LmDgRmLgcY2LkMUB5xsRJwMQVGBMjf9v3GsbEKcDE1zImTgUmvo4xcRow8fWMiZG/zHwDY+IMYOIbGRMjf5L3JsbEAWDimxkTI3+L9RbGxAWBiSsyJkb+COetjIkLAxPfxpi4CDDx7YyJzwImrsSYGPmze5UZE58DTFyFMTHy99aqMiYuBkxcjTEx8oe2qjMmLg5MXIMxMfIXlmoyJi4BTFyLMTHyp3VqMyYuCUxchzEx8jdV6jImvgCYuB5jYuSPadRnTHwRMHEDnYlVpg0NPaLTeL/fiLGfO6DnF1MZZ4j8QYo7GXu+y9AjTI0zvJtheg/D9F6GaWOG6X0M0/sZpg8wTB9kmD7EMH2YYfoIw/RRhmkThmlThuljDNNmDNPmDNMWDNPHGaZPMEyfZJi2ZJg+xTB9mmHaimHammHahmHalmHajmHanmGaxTDtwDDtyDDtxDB9hmH6LMO0M8O0C8P0OYbp8wzTFximLzJMX2KYdmWYhrpRXLtTXF+muL5CcX2V4voaxfV1imsPimtPiusbFNc3Ka5vUVzfpri+Q3F9l+Lai+Lam+IapLhmU1z7UFz7Ulzfo7i+T3H9gOL6IcX1I4rrxxTXTyiu/Siu/Smun1JcB1BcB1JcP6O4fk5xHURxHUxxHUJxHUpx/YLiOoziOpzi+iXFdQTF9SuK60iK69cU128orqMorqMprmMormMpruMoruMprhMorpTfjwlNorhOprhOobhOpbhOo7hOp7jOoLjOpLjOorjOprjOobjOpbjOo7jOp7guoLgupLguorguprguobgupbiGKK6C4rqM4rqc4rqC4rqS4votxfU7iuv3FNdVFNfVFNc1FNe1FNd1FNcfKK4/UlzXU1x/orj+THH9heK6geK6keL6K8X1N4rr7xTXPyiuf1JcN1Fc/6K4bqa4bqG4/k1x3Upx/Yfiuo3iSvn9rxDlN5JCOymu/1Jcd1Fcd1Nc91Bc91Jc91Fc91NcD1BcD1JcD1FcD1Ncj1Bcj1JcjzFchZXAsbU4tjbH1uHYFuDYJnJsfRzbJI5tMsc2hWObyrFN49imc2wzOLZ+jm2AY5vJsS3IsS3EsS3MsS3CsT2LY3s2x/Ycjm1Rjm0xju25HNviHNvzOLYlOLbnc2xLcmxLcWwv4NheyLG9iGN7Mcf2Eo7tpRzb0hzbMhzbyzi2l3Nsr+DYXsmxvYpjezXHtizHthzHtjzHtgLH9hqO7bUc2+s4ttdzbG/g2N7Isb2JY3szx/YWjm1Fju2tHNvbOLa3c2wrcWwrc2yrcGyrcmyrcWyrc2xrcGxrcmxrcWwp3XUtaOo6/7upKR12HWhqrR67atv62Ui/0i2cyaE/gBzYyMnghhzbRhzbOzi2d3Js7+LY3s2xvYdjey/HtjHH9j6O7f0c2wc4tg9ybB/i2D7MsX2EY/sox7YJx7Ypx/Yxjm0zjm1zjm0Lju3jHNsnOLZPcmxbcmyf4tg+zbFtxbFtzbFtw7Fty7Ftx7Ftz7HN4th24Nh25Nh24tg+w7F9lmPbmWPbhWP7HMf2eY7tCxzbFzm2L3Fsu3Jsu3Fsu3NsX+bYvsKxfZVj+xrH9nWObQ+ObU+O7Rsc2zc5tm9xbN/m2L7DsX2XY9uLY9ubYxvk2GZzbPtwbPtybN/j2L7Psf2AY/shx/Yjju3HHNtPOLb9OLb9ObafcmwHcGwHcmw/49h+zrEdxLEdzLEdwrEdyrH9gmM7jGM7nGP7Jcd2BMf2K47tSI7t1xzbbzi2ozi2ozm2Yzi2Yzm24zi24zm2Ezi2Ezm2kzi2kzm2Uzi2Uzm20zi20zm2Mzi2Mzm2szi2szm2czi2czm28zi28zm2Czi2Czm2izi2izm2Szi2Szm2IY6t4Ngu49gu59iu4Niu5Nh+y7H9jmP7Pcd2Fcd2Ncd2Dcd2Lcd2Hcf2B47tjxzb9Rzbnzi2P3Nsf+HYbuDYkn7p41eO7W8c2985tn9wbP/k2G7i2P7Fsd3Msd2i/kUpHdu/OavdyrH9h2O7jWO7nWO7g2O7k2P7L8d2F8d2N8d2D8d2L8d2H8d2P8f2AMf2IMf2EMf2MMf2CMf2KMeW07fX5vTttTl9e21O316b07fX5vTttTl9e21O316b07fX5vTttTl9e21O316b07fX5vTttTl9e21O31473317oZ4QdmY20hOC8+jFLsjZUyFkTw7nU1ib0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gO0KHFtOD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2Cb0wPY5vQAtjk9gG1OD2C7EuVTWJvTA9jm9AC2OT2AbU4PYJvTA9jm9AC2OT2AbU4PYLs2x7YOx7Yux7Yex7Y+x7YBx5bTS9fm9NK1Ob107Ts5tpxeujanl67N6aVrc3rp2pxeujanl67N6aVrc3rp2pxeujanl67N6aVrc3rp2pxeujanl67N6aVrc3rp2pxeujanl67N6aVrc3rp2pxeujanl67N6aVrc3rp2pxeujanl67N6aVrc3rp2pxeujanl67N6aVrZ3FsOb10bU4vXZvTS9fm9NK1Ob10bU4vXZvTS9fm9NK1Ob10bU4vXZvTS9fm9NK1Ob10bU4vXZvTS9fm9NK1Ob10bU4vXZvTS9fm9NK1Ob10bU4vXZvTS9fm9NK1Ob10bU4vXZvTS9fm9NK1Ob10bU4vXZvTS9fO5thyeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrj2GY8vppWtzeunanF66NqeXrs3ppWtzeunanF66NqeXrs3ppWuTfouT00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX5vTStTm9dG1OL12b00vX/pZjy+mla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dqkhi6cXro2p5euzemla3N66dqcXro2p5euzemla3N66dqcXro2p5euzemla3N66dpbOLacXro2p5euzemla3N66dqcXro2p5euzemla//LseX00rU5vXRtTi9dm9NL1+b00rU5vXRtTi9dm9NL1+b00rU5vXRtTi9dm9NL1+b00nU4vXQdTi9dh9NL1+H00nU4vXQdTi9dh9NL1+H00nU4vXQdTi9dh9NL1+H00nU4vXQdTi9dh9NL1wlwbDM5tgU5toU4tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rVODYcvrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpU4tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+t86dHFtO/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dTj9bx1O/1uH0//W4fS/dbI4tpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/rcPrfOpz+tw6n/63D6X/r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",
3871
+ "debug_symbols": "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bUALaAEtoAW0gBbQAlpAC2gBLaEltISW0BJaQktoCe10yfGtYHKua93xdMmOJy3PqEQjOnEQgwpJhHa6ZP3b0yU7QpvQJrQJbUKb0Ca0CW322HSte92xabrWve5oRCcOYhCTWMR5RYF2umRHJRrRidAEmkATaAJNH0TGpoxNGZtCO12yYxCTWERoBs2gGTSDZsykMTZjbMbYDJpx3JyZdGbSmUmH5tAcmkNzaM5MOmMbjG0wtgFtcNwGMzmYycFMDmgD2oAW0AJaMJPB2IKxBWMLaMFxC2YymMlkJhNaQktoCS2hJTOZjC0ZWzK2glYct2Imi5ksZrKgFbSCVtAK2mQmJ2ObjG0ytgltctwmMzmZyclMzou21r3uKEQlGtGJgxjEJF60te51RVwiuERwyVr3uioINFwiuERwieASwSWCSwSXrHWvi6ZGdOIgBhGaQsMlgksElwguEVwiuERwyVr3umiWRGYSlwguWeteVwWHhksElwguEVwiuERwieCSte510QbHDZcILhFcsta97grQcIngEsElgksElwguEVyy1r0uWnDccIngEsEla93rqpDQcIngEsElgksElwguEVwiCS05brhEcIngEiloBQ2XCC4RXCK4RHCJ4BLBJWvd66JNjhsuEVwiuGSte90VoOESxSWKSxSXKC5RXKK4ZK17PWlr3euORbxmUnHJWve6Kgg0XKK4RHGJ4hLFJYpLFJesda+LpkJUohGdCE2h4RLFJYpLFJcoLlFcorhkrXtdNBtEZhKXKC5Z615XBYeGSxSXKC5RXKK4RHGJ4pK17nXRnOOGSxSXKC5Z615XhQENlyguUVyiuERxieISxSVr3euiBccNlyguUVyy1r3uCtBwieISxSWKSxSXKC5RXLLWvS5actxwieISxSVa0AoaLlFcorhEcYniEsUlikvWutdFmxw3XKK4RHGJTmgTGi5RXKK4xHCJ4RLDJYZL1rrXk7bWve4YxCQWEZpAwyWGSwyXGC4xXGK4xHDJWve6aHIdN8MlhksMlxj3OGvd647QcInhEsMlhksMlxguWeteF82MyEziEsMlxj3OWve6IzRcYrjEcInhEsMlhkvWutdFc44bLjFcYrjEuMdZ6153hIZLDJcYLjFcYrjEcMla97powXHDJYZLDJcY9zhr3euO0HCJ4RLDJYZLDJcYLlnrXhctOW64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",
3872
+ "verification_key": "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"
3873
3873
  },
3874
3874
  {
3875
3875
  "name": "public_dispatch",
@@ -3941,7 +3941,7 @@
3941
3941
  }
3942
3942
  },
3943
3943
  "bytecode": "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",
3944
- "debug_symbols": "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"
3944
+ "debug_symbols": "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"
3945
3945
  }
3946
3946
  ],
3947
3947
  "outputs": {
@@ -4204,9 +4204,9 @@
4204
4204
  },
4205
4205
  "231": {
4206
4206
  "path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/oracle/version.nr",
4207
- "source": "/// The ORACLE_VERSION constant is used to check that the oracle interface is in sync between PXE and Aztec.nr. We need\n/// to version the oracle interface to ensure that developers get a reasonable error message if they use incompatible\n/// versions of Aztec.nr and PXE. The TypeScript counterpart is in `oracle_version.ts`.\n///\n/// @dev Whenever a contract function or Noir test is run, the `utilityAssertCompatibleOracleVersion` oracle is called\n/// and if the oracle version is incompatible an error is thrown.\npub global ORACLE_VERSION: Field = 10;\n\n/// Asserts that the version of the oracle is compatible with the version expected by the contract.\npub fn assert_compatible_oracle_version() {\n // Safety: This oracle call returns nothing: we only call it to check Aztec.nr and Oracle interface versions are\n // compatible. It is therefore always safe to call.\n unsafe {\n assert_compatible_oracle_version_wrapper();\n }\n}\n\nunconstrained fn assert_compatible_oracle_version_wrapper() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n}\n\n#[oracle(utilityAssertCompatibleOracleVersion)]\nunconstrained fn assert_compatible_oracle_version_oracle(version: Field) {}\n\nmod test {\n use super::{assert_compatible_oracle_version_oracle, ORACLE_VERSION};\n\n #[test]\n unconstrained fn compatible_oracle_version() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n }\n\n #[test(should_fail_with = \"Incompatible oracle version. TXE is using version\")]\n unconstrained fn incompatible_oracle_version() {\n let arbitrary_incorrect_version = 318183437;\n assert_compatible_oracle_version_oracle(arbitrary_incorrect_version);\n }\n}\n"
4207
+ "source": "/// The ORACLE_VERSION constant is used to check that the oracle interface is in sync between PXE and Aztec.nr. We need\n/// to version the oracle interface to ensure that developers get a reasonable error message if they use incompatible\n/// versions of Aztec.nr and PXE. The TypeScript counterpart is in `oracle_version.ts`.\n///\n/// @dev Whenever a contract function or Noir test is run, the `utilityAssertCompatibleOracleVersion` oracle is called\n/// and if the oracle version is incompatible an error is thrown.\npub global ORACLE_VERSION: Field = 11;\n\n/// Asserts that the version of the oracle is compatible with the version expected by the contract.\npub fn assert_compatible_oracle_version() {\n // Safety: This oracle call returns nothing: we only call it to check Aztec.nr and Oracle interface versions are\n // compatible. It is therefore always safe to call.\n unsafe {\n assert_compatible_oracle_version_wrapper();\n }\n}\n\nunconstrained fn assert_compatible_oracle_version_wrapper() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n}\n\n#[oracle(utilityAssertCompatibleOracleVersion)]\nunconstrained fn assert_compatible_oracle_version_oracle(version: Field) {}\n\nmod test {\n use super::{assert_compatible_oracle_version_oracle, ORACLE_VERSION};\n\n #[test]\n unconstrained fn compatible_oracle_version() {\n assert_compatible_oracle_version_oracle(ORACLE_VERSION);\n }\n\n #[test(should_fail_with = \"Incompatible oracle version. TXE is using version\")]\n unconstrained fn incompatible_oracle_version() {\n let arbitrary_incorrect_version = 318183437;\n assert_compatible_oracle_version_oracle(arbitrary_incorrect_version);\n }\n}\n"
4208
4208
  },
4209
- "298": {
4209
+ "299": {
4210
4210
  "path": "/home/aztec-dev/nargo/github.com/noir-lang/poseidon/v0.2.3/src/poseidon2.nr",
4211
4211
  "source": "use std::default::Default;\nuse std::hash::Hasher;\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2 {\n cache: [Field; 3],\n state: [Field; 4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2::hash_internal(input, message_size)\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2 {\n let mut result =\n Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n self.state[0] += self.cache[0];\n self.state[1] += self.cache[1];\n self.state[2] += self.cache[2];\n self.state = crate::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut state = [0; 4];\n state[RATE] = iv;\n\n if std::runtime::is_unconstrained() {\n for i in 0..(in_len / RATE) {\n state[0] += input[i * RATE];\n state[1] += input[i * RATE + 1];\n state[2] += input[i * RATE + 2];\n state = crate::poseidon2_permutation(state, 4);\n }\n\n // handle remaining elements after last full RATE-sized chunk\n let num_extra_fields = in_len % RATE;\n if num_extra_fields != 0 {\n let remainder_start = in_len - num_extra_fields;\n state[0] += input[remainder_start];\n if num_extra_fields > 1 {\n state[1] += input[remainder_start + 1]\n }\n }\n } else {\n let mut states: [[Field; 4]; N / RATE + 1] = [[0; 4]; N / RATE + 1];\n states[0] = state;\n\n // process all full RATE-sized chunks, storing state after each permutation\n for chunk_idx in 0..(N / RATE) {\n for i in 0..RATE {\n state[i] += input[chunk_idx * RATE + i];\n }\n state = crate::poseidon2_permutation(state, 4);\n states[chunk_idx + 1] = state;\n }\n\n // get state at the last full block before in_len\n let first_partially_filled_chunk = in_len / RATE;\n state = states[first_partially_filled_chunk];\n\n // handle remaining elements after last full RATE-sized chunk\n let remainder_start = (in_len / RATE) * RATE;\n for j in 0..RATE {\n let idx = remainder_start + j;\n if idx < in_len {\n state[j] += input[idx];\n }\n }\n }\n\n // always run final permutation unless we just completed a full chunk\n // still need to permute once if in_len is 0\n if (in_len == 0) | (in_len % RATE != 0) {\n state = crate::poseidon2_permutation(state, 4)\n };\n\n state[0]\n }\n}\n\npub struct Poseidon2Hasher {\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv: Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher { _state: &[] }\n }\n}\n"
4212
4212
  },
@@ -4214,7 +4214,7 @@
4214
4214
  "path": "std/array/mod.nr",
4215
4215
  "source": "use crate::cmp::{Eq, Ord};\nuse crate::convert::From;\nuse crate::runtime::is_unconstrained;\n\nmod check_shuffle;\nmod quicksort;\n\nimpl<T, let N: u32> [T; N] {\n /// Returns the length of this array.\n ///\n /// ```noir\n /// fn len(self) -> Field\n /// ```\n ///\n /// example\n ///\n /// ```noir\n /// fn main() {\n /// let array = [42, 42];\n /// assert(array.len() == 2);\n /// }\n /// ```\n #[builtin(array_len)]\n pub fn len(self) -> u32 {}\n\n /// Returns this array as a vector.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let vector = array.as_vector();\n /// assert_eq(vector, [1, 2].as_vector());\n /// ```\n #[builtin(as_vector)]\n pub fn as_vector(self) -> [T] {}\n\n /// Returns this array as a vector.\n /// This method is deprecated in favor of `as_vector`.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let vector = array.as_slice();\n /// assert_eq(vector, [1, 2].as_vector());\n /// ```\n #[builtin(as_vector)]\n #[deprecated(\"This method has been renamed to `as_vector`\")]\n pub fn as_slice(self) -> [T] {}\n\n /// Applies a function to each element of this array, returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.map(|a| a * 2);\n /// assert_eq(b, [2, 4, 6]);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array along with its index,\n /// returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.mapi(|i, a| i + a * 2);\n /// assert_eq(b, [2, 5, 8]);\n /// ```\n pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(i, self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// let mut i = 0;\n /// a.for_each(|x| {\n /// b[i] = x;\n /// i += 1;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n for i in 0..self.len() {\n f(self[i]);\n }\n }\n\n /// Applies a function to each element of this array along with its index.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// a.for_eachi(|i, x| {\n /// b[i] = x;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n for i in 0..self.len() {\n f(i, self[i]);\n }\n }\n\n /// Applies a function to each element of the array, returning the final accumulated value. The first\n /// parameter is the initial value.\n ///\n /// This is a left fold, so the given function will be applied to the accumulator and first element of\n /// the array, then the second, and so on. For a given call the expected result would be equivalent to:\n ///\n /// ```rust\n /// let a1 = [1];\n /// let a2 = [1, 2];\n /// let a3 = [1, 2, 3];\n ///\n /// let f = |a, b| a - b;\n /// a1.fold(10, f); //=> f(10, 1)\n /// a2.fold(10, f); //=> f(f(10, 1), 2)\n /// a3.fold(10, f); //=> f(f(f(10, 1), 2), 3)\n ///\n /// assert_eq(a3.fold(10, f), 10 - 1 - 2 - 3);\n /// ```\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n /// Same as fold, but uses the first element as the starting element.\n ///\n /// Requires the input array to be non-empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [1, 2, 3, 4];\n /// let reduced = arr.reduce(|a, b| a + b);\n /// assert(reduced == 10);\n /// }\n /// ```\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1..self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n /// Returns true if all the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 2];\n /// let all = arr.all(|a| a == 2);\n /// assert(all);\n /// }\n /// ```\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n /// Returns true if any of the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 5];\n /// let any = arr.any(|a| a == 5);\n /// assert(any);\n /// }\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n\n /// Concatenates this array with another array.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr1 = [1, 2, 3, 4];\n /// let arr2 = [6, 7, 8, 9, 10, 11];\n /// let concatenated_arr = arr1.concat(arr2);\n /// assert(concatenated_arr == [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n /// }\n /// ```\n pub fn concat<let M: u32>(self, array2: [T; M]) -> [T; N + M] {\n let mut result = [crate::mem::zeroed(); N + M];\n for i in 0..N {\n result[i] = self[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Ord + Eq,\n{\n /// Returns a new sorted array. The original array remains untouched. Notice that this function will\n /// only work for arrays of fields or integers, not for any arbitrary type. This is because the sorting\n /// logic it uses internally is optimized specifically for these values. If you need a sort function to\n /// sort any type, you should use the [`Self::sort_via`] function.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32];\n /// let sorted = arr.sort();\n /// assert(sorted == [32, 42]);\n /// }\n /// ```\n pub fn sort(self) -> Self {\n self.sort_via(|a, b| a <= b)\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Eq,\n{\n /// Returns a new sorted array by sorting it with a custom comparison function.\n /// The original array remains untouched.\n /// The ordering function must return true if the first argument should be sorted to be before the second argument or is equal to the second argument.\n ///\n /// Using this method with an operator like `<` that does not return `true` for equal values will result in an assertion failure for arrays with equal elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32]\n /// let sorted_ascending = arr.sort_via(|a, b| a <= b);\n /// assert(sorted_ascending == [32, 42]); // verifies\n ///\n /// let sorted_descending = arr.sort_via(|a, b| a >= b);\n /// assert(sorted_descending == [32, 42]); // does not verify\n /// }\n /// ```\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n // Safety: `sorted` array is checked to be:\n // a. a permutation of `input`'s elements\n // b. satisfying the predicate `ordering`\n let sorted = unsafe { quicksort::quicksort(self, ordering) };\n\n if !is_unconstrained() {\n for i in 0..N - 1 {\n assert(\n ordering(sorted[i], sorted[i + 1]),\n \"Array has not been sorted correctly according to `ordering`.\",\n );\n }\n check_shuffle::check_shuffle(self, sorted);\n }\n sorted\n }\n}\n\nimpl<let N: u32> [u8; N] {\n /// Converts a byte array of type `[u8; N]` to a string. Note that this performs no UTF-8 validation -\n /// the given array is interpreted as-is as a string.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let hi = [104, 105].as_str_unchecked();\n /// assert_eq(hi, \"hi\");\n /// }\n /// ```\n #[builtin(array_as_str_unchecked)]\n pub fn as_str_unchecked(self) -> str<N> {}\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n /// Returns an array of the string bytes.\n fn from(s: str<N>) -> Self {\n s.as_bytes()\n }\n}\n\nmod test {\n #[test]\n fn map_empty() {\n assert_eq([].map(|x| x + 1), []);\n }\n\n global arr_with_100_values: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2, 54,\n 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41, 19, 98,\n 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21, 43, 86, 35,\n 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15, 127, 81, 30, 8,\n 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n global expected_with_100_values: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30, 32,\n 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58, 61, 62,\n 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82, 84, 84, 86,\n 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114, 114, 116, 118,\n 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n fn sort_u32(a: u32, b: u32) -> bool {\n a <= b\n }\n\n #[test]\n fn test_sort() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort();\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort();\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values_comptime() {\n let sorted = arr_with_100_values.sort();\n assert(sorted == expected_with_100_values);\n }\n\n #[test]\n fn test_sort_via() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_via_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn mapi_empty() {\n assert_eq([].mapi(|i, x| i * x + 1), []);\n }\n\n #[test]\n fn for_each_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_each(|_x| assert(false));\n }\n\n #[test]\n fn for_eachi_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_eachi(|_i, _x| assert(false));\n }\n\n #[test]\n fn map_example() {\n let a = [1, 2, 3];\n let b = a.map(|a| a * 2);\n assert_eq(b, [2, 4, 6]);\n }\n\n #[test]\n fn mapi_example() {\n let a = [1, 2, 3];\n let b = a.mapi(|i, a| i + a * 2);\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn for_each_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n let mut i = 0;\n let i_ref = &mut i;\n a.for_each(|x| {\n b_ref[*i_ref] = x * 2;\n *i_ref += 1;\n });\n assert_eq(b, [2, 4, 6]);\n assert_eq(i, 3);\n }\n\n #[test]\n fn for_eachi_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n a.for_eachi(|i, a| { b_ref[i] = i + a * 2; });\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn concat() {\n let arr1 = [1, 2, 3, 4];\n let arr2 = [6, 7, 8, 9, 10, 11];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n }\n\n #[test]\n fn concat_zero_length_with_something() {\n let arr1 = [];\n let arr2 = [1];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_something_with_zero_length() {\n let arr1 = [1];\n let arr2 = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_zero_lengths() {\n let arr1: [Field; 0] = [];\n let arr2: [Field; 0] = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, []);\n }\n}\n"
4216
4216
  },
4217
- "388": {
4217
+ "389": {
4218
4218
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
4219
4219
  "source": "mod poseidon2_chunks;\n\nuse crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector,\n note_hash::NoteHash,\n nullifier::Nullifier,\n private_log::{PrivateLog, PrivateLogData},\n transaction::tx_request::TxRequest,\n },\n address::{AztecAddress, EthAddress},\n constants::{\n CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DOM_SEP__NOTE_HASH_NONCE,\n DOM_SEP__PRIVATE_LOG_FIRST_FIELD, DOM_SEP__SILOED_NOTE_HASH, DOM_SEP__SILOED_NULLIFIER,\n DOM_SEP__UNIQUE_NOTE_HASH, FUNCTION_TREE_HEIGHT, NULL_MSG_SENDER_CONTRACT_ADDRESS,\n TWO_POW_64,\n },\n merkle_tree::root_from_sibling_path,\n messaging::l2_to_l1_message::L2ToL1Message,\n poseidon2::Poseidon2Sponge,\n side_effect::{Counted, Scoped},\n traits::{FromField, Hash, ToField},\n utils::field::{field_from_bytes, field_from_bytes_32_trunc},\n};\n\npub use poseidon2_chunks::poseidon2_absorb_in_chunks_existing_sponge;\nuse poseidon2_chunks::poseidon2_absorb_in_chunks;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\n// TODO: refactor these into their own files: sha256, poseidon2, some protocol-specific hash computations, some merkle computations.\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256::digest(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(\n function_leaf,\n function_leaf_index,\n function_leaf_sibling_path,\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier_in_tx: Field, note_index_in_tx: u32) -> Field {\n // Hashing the first nullifier with note index in tx is guaranteed to be unique (because all nullifiers are also\n // unique).\n poseidon2_hash_with_separator(\n [first_nullifier_in_tx, note_index_in_tx as Field],\n DOM_SEP__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(note_nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [note_nonce, siloed_note_hash];\n poseidon2_hash_with_separator(inputs, DOM_SEP__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_note_nonce_and_unique_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n let note_nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n compute_unique_note_hash(note_nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_note_hash(contract_address: AztecAddress, note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), note_hash],\n DOM_SEP__SILOED_NOTE_HASH,\n )\n}\n\n/// Computes unique, siloed note hashes from siloed note hashes.\n///\n/// The protocol injects uniqueness into every note_hash, so that every single note_hash in the\n/// tree is unique. This prevents faerie gold attacks, where a malicious sender could create\n/// two identical note_hashes for a recipient (meaning only one would be nullifiable in future).\n///\n/// Most privacy protocols will inject the note's leaf_index (its position in the Note Hashes Tree)\n/// into the note, but this requires the creator of a note to wait until their tx is included in\n/// a block to know the note's final note hash (the unique, siloed note hash), because inserting\n/// leaves into trees is the job of a block producer.\n///\n/// We took a different approach so that the creator of a note will know each note's unique, siloed\n/// note hash before broadcasting their tx to the network.\n/// (There was also a historical requirement relating to \"chained transactions\" -- a feature that\n/// Aztec Connect had to enable notes to be spent from distinct txs earlier in the same block,\n/// and hence before an archive block root had been established for that block -- but that feature\n/// was abandoned for the Aztec Network for having too many bad tradeoffs).\n///\n/// (\n/// Edit: it is no longer true that all final note_hashes will be known by the creator of a tx\n/// before they send it to the network. If a tx makes public function calls, then _revertible_\n/// note_hashes that are created in private will not be made unique in private by the Reset circuit,\n/// but will instead be made unique by the AVM, because the `note_index_in_tx` will not be known\n/// until the AVM has executed the public functions of the tx. (See an explanation in\n/// reset_output_composer.nr for why).\n/// For some such txs, the `note_index_in_tx` might still be predictable through simulation, but\n/// for txs whose public functions create a varying number of non-revertible notes (determined at\n/// runtime), the `note_index_in_tx` will not be deterministically derivable before submitting the\n/// tx to the network.\n/// )\n///\n/// We use the `first_nullifier` of a tx as a seed of uniqueness. We have a guarantee that there will\n/// always be at least one nullifier per tx, because the init circuit will create one if one isn't\n/// created naturally by any functions of the tx. (Search \"protocol_nullifier\").\n/// We combine the `first_nullifier` with the note's index (its position within this tx's new\n/// note_hashes array) (`note_index_in_tx`) to get a truly unique value to inject into a note, which\n/// we call a `note_nonce`.\npub fn compute_unique_siloed_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n if siloed_note_hash == 0 {\n 0\n } else {\n compute_note_nonce_and_unique_note_hash(siloed_note_hash, first_nullifier, note_index_in_tx)\n }\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: Scoped<Counted<NoteHash>>) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_note_hash(note_hash.contract_address, note_hash.innermost())\n }\n}\n\npub fn compute_siloed_nullifier(contract_address: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), nullifier],\n DOM_SEP__SILOED_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: Scoped<Counted<Nullifier>>) -> Field {\n let value = nullifier.innermost().value;\n // Q: shouldn't we be checking whether the _whole_ scoped, counted, nullifier struct is empty?\n // A: We don't have to. The init and inner circuits add a contract address only to non-empty nullifiers.\n // So we know we should silo it if the contract address is not empty.\n if nullifier.contract_address.is_zero() {\n // Return `.value` instead of 0, because already-siloed nullifiers also have a zero\n // contract_address field, and we of course want to return that already-siloed nullifier\n // (we just don't want to silo it a second time).\n value\n } else {\n compute_siloed_nullifier(nullifier.contract_address, value)\n }\n}\n\npub fn create_protocol_nullifier(tx_request: TxRequest) -> Scoped<Counted<Nullifier>> {\n // The protocol nullifier is ascribed a special side-effect counter of 1. No other side-effect\n // can have counter 1 (see `validate_as_first_call` for that assertion).\n Nullifier { value: tx_request.hash(), note_hash: 0 }.count(1).scope(\n NULL_MSG_SENDER_CONTRACT_ADDRESS,\n )\n}\n\npub fn compute_siloed_private_log_first_field(\n contract_address: AztecAddress,\n field: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), field],\n DOM_SEP__PRIVATE_LOG_FIRST_FIELD,\n )\n}\n\npub fn silo_private_log(private_log: Scoped<Counted<PrivateLogData>>) -> PrivateLog {\n let log = private_log.innermost().log;\n if private_log.contract_address.is_zero() {\n log\n } else {\n let mut fields = log.fields;\n fields[0] = compute_siloed_private_log_first_field(private_log.contract_address, fields[0]);\n PrivateLog::new(fields, log.length)\n }\n}\n\npub fn compute_contract_class_log_hash(log: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS]) -> Field {\n poseidon2_hash(log)\n}\n\npub fn compute_app_siloed_secret_key(\n master_secret_key: EmbeddedCurveScalar,\n app_address: AztecAddress,\n app_secret_key_domain_separator: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [master_secret_key.hi, master_secret_key.lo, app_address.to_field()],\n app_secret_key_domain_separator,\n )\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let contract_address_bytes: [u8; 32] = contract_address.to_field().to_be_bytes();\n let recipient_bytes: [u8; 20] = recipient.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let rollup_version_id_bytes: [u8; 32] = rollup_version_id.to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n\n let mut bytes: [u8; 148] = std::mem::zeroed();\n for i in 0..32 {\n bytes[i] = contract_address_bytes[i];\n bytes[i + 32] = rollup_version_id_bytes[i];\n // 64 - 84 are for recipient.\n bytes[i + 84] = chain_id_bytes[i];\n bytes[i + 116] = content_bytes[i];\n }\n\n for i in 0..20 {\n bytes[64 + i] = recipient_bytes[i];\n }\n\n sha256_to_field(bytes)\n}\n\npub fn silo_l2_to_l1_message(\n msg: Scoped<L2ToL1Message>,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.inner.recipient,\n msg.inner.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n// TODO: consider a variant that enables domain separation with a u32 (we seem to have standardised u32s for domain separators)\n/// Computes sha256 hash of 2 input fields.\n///\n/// @returns A truncated field (i.e., the first byte is always 0).\npub fn accumulate_sha256(v0: Field, v1: Field) -> Field {\n // Concatenate two fields into 32 x 2 = 64 bytes\n let v0_as_bytes: [u8; 32] = v0.to_be_bytes();\n let v1_as_bytes: [u8; 32] = v1.to_be_bytes();\n let hash_input_flattened = v0_as_bytes.concat(v1_as_bytes);\n\n sha256_to_field(hash_input_flattened)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n poseidon::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n T: ToField,\n{\n let inputs_with_separator = [separator.to_field()].concat(inputs);\n poseidon2_hash(inputs_with_separator)\n}\n\n/// Computes a Poseidon2 hash over a dynamic-length subarray of the given input.\n/// Only the first `in_len` fields of `input` are absorbed; any remaining fields are ignored.\n/// The caller is responsible for ensuring that the input is padded with zeros if required.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_in_chunks(input, in_len);\n sponge.squeeze()\n}\n\n// NB the below is the same as poseidon::poseidon2::Poseidon2::hash(), but replacing a range check with a bit check,\n// and absorbing in chunks of 3 below.\n#[no_predicates]\npub fn poseidon2_cheaper_variable_hash<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_in_chunks(input, in_len);\n sponge.squeeze()\n}\n\n// This function is unconstrained because it is intended to be used in unconstrained context only as\n// in constrained contexts it would be too inefficient.\npub unconstrained fn poseidon2_hash_with_separator_bounded_vec<let N: u32, T>(\n inputs: BoundedVec<Field, N>,\n separator: T,\n) -> Field\nwhere\n T: ToField,\n{\n let in_len = inputs.len() + 1;\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs.get(i));\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n let mut fields = [0; (N + 30) / 31];\n let mut field_index = 0;\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n fields[field_index] = field_from_bytes(current_field, false);\n current_field = [0; 31];\n field_index += 1;\n }\n }\n if field_index != fields.len() {\n fields[field_index] = field_from_bytes(current_field, false);\n }\n poseidon2_hash(fields)\n}\n\n#[test]\nfn poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n let sub_chunk_hash = poseidon2_hash_subarray(input, in_len);\n let fixed_len_hash = poseidon::poseidon2::Poseidon2::hash(fixed_input, fixed_input.len());\n assert(sub_chunk_hash == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_matches_variable() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n for i in 0..in_len {\n input[i] = 3;\n }\n let variable_chunk_hash = poseidon2_cheaper_variable_hash(input, in_len);\n let variable_len_hash = poseidon::poseidon2::Poseidon2::hash(input, in_len);\n assert(variable_chunk_hash == variable_len_hash);\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256::digest(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result =\n compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0x3b18c58c739716e76429634a61375c45b3b5cd470c22ab6d3e14cee23dd992);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(\n AztecAddress::from_field(1),\n EthAddress::from_field(3),\n 5,\n 2,\n 4,\n );\n assert(hash_result == 0xaab2a5828156782b12a1dc6f336e2bc627eb1b9514b02d511f66296990c050);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n L2ToL1Message { recipient: EthAddress::from_field(1), content: 2 }.scope(\n AztecAddress::from_field(3),\n ),\n version,\n chainId,\n );\n\n // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n let hash_from_typescript = 0x0081edf209e087ad31b3fd24263698723d57190bd1d6e9fe056fc0c0a68ee661;\n\n assert_eq(hash, hash_from_typescript);\n}\n\n#[test]\nunconstrained fn poseidon2_hash_with_separator_bounded_vec_matches_non_bounded_vec_version() {\n let inputs = BoundedVec::<Field, 4>::from_array([1, 2, 3]);\n let separator = 42;\n\n // Hash using bounded vec version\n let bounded_result = poseidon2_hash_with_separator_bounded_vec(inputs, separator);\n\n // Hash using regular version\n let regular_result = poseidon2_hash_with_separator([1, 2, 3], separator);\n\n // Results should match\n assert_eq(bounded_result, regular_result);\n}\n"
4220
4220
  },
@@ -4222,15 +4222,15 @@
4222
4222
  "path": "std/ops/arith.nr",
4223
4223
  "source": "use crate::convert::AsPrimitive;\n\n// docs:start:add-trait\npub trait Add {\n fn add(self, other: Self) -> Self;\n}\n// docs:end:add-trait\n\nimpl Add for Field {\n fn add(self, other: Field) -> Field {\n self + other\n }\n}\n\nimpl Add for u128 {\n fn add(self, other: u128) -> u128 {\n self + other\n }\n}\nimpl Add for u64 {\n fn add(self, other: u64) -> u64 {\n self + other\n }\n}\nimpl Add for u32 {\n fn add(self, other: u32) -> u32 {\n self + other\n }\n}\nimpl Add for u16 {\n fn add(self, other: u16) -> u16 {\n self + other\n }\n}\nimpl Add for u8 {\n fn add(self, other: u8) -> u8 {\n self + other\n }\n}\nimpl Add for u1 {\n fn add(self, other: u1) -> u1 {\n self + other\n }\n}\n\nimpl Add for i8 {\n fn add(self, other: i8) -> i8 {\n self + other\n }\n}\nimpl Add for i16 {\n fn add(self, other: i16) -> i16 {\n self + other\n }\n}\nimpl Add for i32 {\n fn add(self, other: i32) -> i32 {\n self + other\n }\n}\nimpl Add for i64 {\n fn add(self, other: i64) -> i64 {\n self + other\n }\n}\n\n// docs:start:sub-trait\npub trait Sub {\n fn sub(self, other: Self) -> Self;\n}\n// docs:end:sub-trait\n\nimpl Sub for Field {\n fn sub(self, other: Field) -> Field {\n self - other\n }\n}\n\nimpl Sub for u128 {\n fn sub(self, other: u128) -> u128 {\n self - other\n }\n}\nimpl Sub for u64 {\n fn sub(self, other: u64) -> u64 {\n self - other\n }\n}\nimpl Sub for u32 {\n fn sub(self, other: u32) -> u32 {\n self - other\n }\n}\nimpl Sub for u16 {\n fn sub(self, other: u16) -> u16 {\n self - other\n }\n}\nimpl Sub for u8 {\n fn sub(self, other: u8) -> u8 {\n self - other\n }\n}\nimpl Sub for u1 {\n fn sub(self, other: u1) -> u1 {\n self - other\n }\n}\n\nimpl Sub for i8 {\n fn sub(self, other: i8) -> i8 {\n self - other\n }\n}\nimpl Sub for i16 {\n fn sub(self, other: i16) -> i16 {\n self - other\n }\n}\nimpl Sub for i32 {\n fn sub(self, other: i32) -> i32 {\n self - other\n }\n}\nimpl Sub for i64 {\n fn sub(self, other: i64) -> i64 {\n self - other\n }\n}\n\n// docs:start:mul-trait\npub trait Mul {\n fn mul(self, other: Self) -> Self;\n}\n// docs:end:mul-trait\n\nimpl Mul for Field {\n fn mul(self, other: Field) -> Field {\n self * other\n }\n}\n\nimpl Mul for u128 {\n fn mul(self, other: u128) -> u128 {\n self * other\n }\n}\nimpl Mul for u64 {\n fn mul(self, other: u64) -> u64 {\n self * other\n }\n}\nimpl Mul for u32 {\n fn mul(self, other: u32) -> u32 {\n self * other\n }\n}\nimpl Mul for u16 {\n fn mul(self, other: u16) -> u16 {\n self * other\n }\n}\nimpl Mul for u8 {\n fn mul(self, other: u8) -> u8 {\n self * other\n }\n}\nimpl Mul for u1 {\n fn mul(self, other: u1) -> u1 {\n self * other\n }\n}\n\nimpl Mul for i8 {\n fn mul(self, other: i8) -> i8 {\n self * other\n }\n}\nimpl Mul for i16 {\n fn mul(self, other: i16) -> i16 {\n self * other\n }\n}\nimpl Mul for i32 {\n fn mul(self, other: i32) -> i32 {\n self * other\n }\n}\nimpl Mul for i64 {\n fn mul(self, other: i64) -> i64 {\n self * other\n }\n}\n\n// docs:start:div-trait\npub trait Div {\n fn div(self, other: Self) -> Self;\n}\n// docs:end:div-trait\n\nimpl Div for Field {\n fn div(self, other: Field) -> Field {\n self / other\n }\n}\n\nimpl Div for u128 {\n fn div(self, other: u128) -> u128 {\n self / other\n }\n}\nimpl Div for u64 {\n fn div(self, other: u64) -> u64 {\n self / other\n }\n}\nimpl Div for u32 {\n fn div(self, other: u32) -> u32 {\n self / other\n }\n}\nimpl Div for u16 {\n fn div(self, other: u16) -> u16 {\n self / other\n }\n}\nimpl Div for u8 {\n fn div(self, other: u8) -> u8 {\n self / other\n }\n}\nimpl Div for u1 {\n fn div(self, other: u1) -> u1 {\n self / other\n }\n}\n\nimpl Div for i8 {\n fn div(self, other: i8) -> i8 {\n self / other\n }\n}\nimpl Div for i16 {\n fn div(self, other: i16) -> i16 {\n self / other\n }\n}\nimpl Div for i32 {\n fn div(self, other: i32) -> i32 {\n self / other\n }\n}\nimpl Div for i64 {\n fn div(self, other: i64) -> i64 {\n self / other\n }\n}\n\n// docs:start:rem-trait\npub trait Rem {\n fn rem(self, other: Self) -> Self;\n}\n// docs:end:rem-trait\n\nimpl Rem for u128 {\n fn rem(self, other: u128) -> u128 {\n self % other\n }\n}\nimpl Rem for u64 {\n fn rem(self, other: u64) -> u64 {\n self % other\n }\n}\nimpl Rem for u32 {\n fn rem(self, other: u32) -> u32 {\n self % other\n }\n}\nimpl Rem for u16 {\n fn rem(self, other: u16) -> u16 {\n self % other\n }\n}\nimpl Rem for u8 {\n fn rem(self, other: u8) -> u8 {\n self % other\n }\n}\nimpl Rem for u1 {\n fn rem(self, other: u1) -> u1 {\n self % other\n }\n}\n\nimpl Rem for i8 {\n fn rem(self, other: i8) -> i8 {\n self % other\n }\n}\nimpl Rem for i16 {\n fn rem(self, other: i16) -> i16 {\n self % other\n }\n}\nimpl Rem for i32 {\n fn rem(self, other: i32) -> i32 {\n self % other\n }\n}\nimpl Rem for i64 {\n fn rem(self, other: i64) -> i64 {\n self % other\n }\n}\n\n// docs:start:neg-trait\npub trait Neg {\n fn neg(self) -> Self;\n}\n// docs:end:neg-trait\n\n// docs:start:neg-trait-impls\nimpl Neg for Field {\n fn neg(self) -> Field {\n -self\n }\n}\n\nimpl Neg for i8 {\n fn neg(self) -> i8 {\n -self\n }\n}\nimpl Neg for i16 {\n fn neg(self) -> i16 {\n -self\n }\n}\nimpl Neg for i32 {\n fn neg(self) -> i32 {\n -self\n }\n}\nimpl Neg for i64 {\n fn neg(self) -> i64 {\n -self\n }\n}\n// docs:end:neg-trait-impls\n\n// docs:start:wrapping-add-trait\npub trait WrappingAdd {\n fn wrapping_add(self, y: Self) -> Self;\n}\n// docs:end:wrapping-add-trait\n\nimpl WrappingAdd for u1 {\n fn wrapping_add(self: u1, y: u1) -> u1 {\n self ^ y\n }\n}\n\nimpl WrappingAdd for u8 {\n fn wrapping_add(self: u8, y: u8) -> u8 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u16 {\n fn wrapping_add(self: u16, y: u16) -> u16 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u32 {\n fn wrapping_add(self: u32, y: u32) -> u32 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u64 {\n fn wrapping_add(self: u64, y: u64) -> u64 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u128 {\n fn wrapping_add(self: u128, y: u128) -> u128 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for i8 {\n fn wrapping_add(self: i8, y: i8) -> i8 {\n let x = self as u8;\n x.wrapping_add(y as u8) as i8\n }\n}\n\nimpl WrappingAdd for i16 {\n fn wrapping_add(self: i16, y: i16) -> i16 {\n let x = self as u16;\n x.wrapping_add(y as u16) as i16\n }\n}\n\nimpl WrappingAdd for i32 {\n fn wrapping_add(self: i32, y: i32) -> i32 {\n let x = self as u32;\n x.wrapping_add(y as u32) as i32\n }\n}\n\nimpl WrappingAdd for i64 {\n fn wrapping_add(self: i64, y: i64) -> i64 {\n let x = self as u64;\n x.wrapping_add(y as u64) as i64\n }\n}\nimpl WrappingAdd for Field {\n fn wrapping_add(self: Field, y: Field) -> Field {\n self + y\n }\n}\n\n// docs:start:wrapping-sub-trait\npub trait WrappingSub {\n fn wrapping_sub(self, y: Self) -> Self;\n}\n// docs:start:wrapping-sub-trait\n\nimpl WrappingSub for u1 {\n fn wrapping_sub(self: u1, y: u1) -> u1 {\n self ^ y\n }\n}\n\nimpl WrappingSub for u8 {\n fn wrapping_sub(self: u8, y: u8) -> u8 {\n wrapping_sub_hlp(self, y) as u8\n }\n}\n\nimpl WrappingSub for u16 {\n fn wrapping_sub(self: u16, y: u16) -> u16 {\n wrapping_sub_hlp(self, y) as u16\n }\n}\n\nimpl WrappingSub for u32 {\n fn wrapping_sub(self: u32, y: u32) -> u32 {\n wrapping_sub_hlp(self, y) as u32\n }\n}\nimpl WrappingSub for u64 {\n fn wrapping_sub(self: u64, y: u64) -> u64 {\n wrapping_sub_hlp(self, y) as u64\n }\n}\nimpl WrappingSub for u128 {\n fn wrapping_sub(self: u128, y: u128) -> u128 {\n wrapping_sub_hlp(self, y) as u128\n }\n}\n\nimpl WrappingSub for i8 {\n fn wrapping_sub(self: i8, y: i8) -> i8 {\n let x = self as u8;\n x.wrapping_sub(y as u8) as i8\n }\n}\n\nimpl WrappingSub for i16 {\n fn wrapping_sub(self: i16, y: i16) -> i16 {\n let x = self as u16;\n x.wrapping_sub(y as u16) as i16\n }\n}\n\nimpl WrappingSub for i32 {\n fn wrapping_sub(self: i32, y: i32) -> i32 {\n let x = self as u32;\n x.wrapping_sub(y as u32) as i32\n }\n}\nimpl WrappingSub for i64 {\n fn wrapping_sub(self: i64, y: i64) -> i64 {\n let x = self as u64;\n x.wrapping_sub(y as u64) as i64\n }\n}\nimpl WrappingSub for Field {\n fn wrapping_sub(self: Field, y: Field) -> Field {\n self - y\n }\n}\n\n// docs:start:wrapping-mul-trait\npub trait WrappingMul {\n fn wrapping_mul(self, y: Self) -> Self;\n}\n// docs:start:wrapping-mul-trait\n\nimpl WrappingMul for u1 {\n fn wrapping_mul(self: u1, y: u1) -> u1 {\n self & y\n }\n}\n\nimpl WrappingMul for u8 {\n fn wrapping_mul(self: u8, y: u8) -> u8 {\n wrapping_mul_hlp(self, y)\n }\n}\n\nimpl WrappingMul for u16 {\n fn wrapping_mul(self: u16, y: u16) -> u16 {\n wrapping_mul_hlp(self, y)\n }\n}\n\nimpl WrappingMul for u32 {\n fn wrapping_mul(self: u32, y: u32) -> u32 {\n wrapping_mul_hlp(self, y)\n }\n}\nimpl WrappingMul for u64 {\n fn wrapping_mul(self: u64, y: u64) -> u64 {\n wrapping_mul_hlp(self, y)\n }\n}\n\nimpl WrappingMul for i8 {\n fn wrapping_mul(self: i8, y: i8) -> i8 {\n let x = self as u8;\n x.wrapping_mul(y as u8) as i8\n }\n}\n\nimpl WrappingMul for i16 {\n fn wrapping_mul(self: i16, y: i16) -> i16 {\n let x = self as u16;\n x.wrapping_mul(y as u16) as i16\n }\n}\n\nimpl WrappingMul for i32 {\n fn wrapping_mul(self: i32, y: i32) -> i32 {\n let x = self as u32;\n x.wrapping_mul(y as u32) as i32\n }\n}\n\nimpl WrappingMul for i64 {\n fn wrapping_mul(self: i64, y: i64) -> i64 {\n let x = self as u64;\n x.wrapping_mul(y as u64) as i64\n }\n}\n\nimpl WrappingMul for u128 {\n fn wrapping_mul(self: u128, y: u128) -> u128 {\n wrapping_mul128_hlp(self, y)\n }\n}\nimpl WrappingMul for Field {\n fn wrapping_mul(self: Field, y: Field) -> Field {\n self * y\n }\n}\n\nfn wrapping_add_hlp<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n\nfn wrapping_sub_hlp<T>(x: T, y: T) -> Field\nwhere\n T: AsPrimitive<Field>,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n x.as_() + 340282366920938463463374607431768211456 - y.as_()\n}\n\nfn wrapping_mul_hlp<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\nglobal two_pow_64: u128 = 0x10000000000000000;\n/// Splits a 128 bits number into two 64 bits limbs\nunconstrained fn split64(x: u128) -> (u64, u64) {\n let lo = x as u64;\n let hi = (x / two_pow_64) as u64;\n (lo, hi)\n}\n\n/// Split a 128 bits number into two 64 bits limbs\n/// It will fail if the number is more than 128 bits\nfn split_into_64_bit_limbs(x: u128) -> (u64, u64) {\n // Safety: the limbs are constrained below\n let (x_lo, x_hi) = unsafe { split64(x) };\n assert(x as Field == x_lo as Field + x_hi as Field * two_pow_64 as Field);\n (x_lo, x_hi)\n}\n\n#[field(bn254)]\nfn wrapping_mul128_hlp(x: u128, y: u128) -> u128 {\n let (x_lo, x_hi) = split_into_64_bit_limbs(x);\n let (y_lo, y_hi) = split_into_64_bit_limbs(y);\n // Multiplication using the limbs:(x_lo + 2**64*x_hi)*(y_lo + 2**64*y_hi)=x_lo*y_lo+...\n // and skipping the terms over 2**128\n // Working with u64 limbs ensures that we cannot overflow the field modulus.\n let low = x_lo as Field * y_lo as Field;\n let lo = low as u64 as Field;\n let carry = (low - lo) / two_pow_64 as Field;\n let high = x_lo as Field * y_hi as Field + x_hi as Field * y_lo as Field + carry;\n let hi = high as u64 as Field;\n (lo + two_pow_64 as Field * hi) as u128\n}\n\nmod tests {\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n crate::static_assert(1 == 2, \"custom message\");\n }\n\n mod arithmetic {\n use crate::ops::arith::{Add, Div, Mul, Neg, Rem, Sub};\n #[test]\n fn test_basic_arithmetic_traits() {\n // add\n assert_eq(5.add(3), 8);\n assert_eq(0u8.add(255u8), 255u8);\n assert_eq(42.add(58), 100);\n\n // sub\n assert_eq(10.sub(3), 7);\n assert_eq(100.sub(42), 58);\n\n // mul\n assert_eq(6.mul(7), 42);\n\n // div\n assert_eq(15.div(3), 5);\n assert_eq(10u8.div(3u8), 3u8);\n assert_eq(15.div(3), 5);\n\n // rem\n assert_eq(17.rem(5), 2);\n assert_eq(10u8.rem(3u8), 1u8);\n\n // neg\n assert_eq(42.neg(), -42);\n assert_eq((-10).neg(), 10);\n assert_eq(42.neg(), -42);\n }\n\n #[test]\n fn test_division() {\n // test division by one\n assert_eq(42.div(1), 42);\n assert_eq(0.div(1), 0);\n assert_eq(255u8.div(1u8), 255u8);\n\n // test division by self\n assert_eq(42.div(42), 1);\n assert_eq(1.div(1), 1);\n\n // test remainder\n assert_eq(42.rem(42), 0);\n assert_eq(0.rem(42), 0);\n assert_eq(1.rem(42), 1);\n }\n\n #[test(should_fail)]\n fn test_u8_sub_overflow_failure() {\n let _ = 0u8.sub(1u8);\n }\n\n #[test(should_fail)]\n fn test_u8_add_overflow_failure() {\n let _ = 255u8.add(1u8);\n }\n\n #[test(should_fail)]\n fn test_u8_mul_overflow_failure() {\n let _ = 255u8.mul(2u8);\n }\n\n #[test(should_fail)]\n fn test_u16_sub_overflow_failure() {\n let _ = 0u16.sub(1u16);\n }\n\n #[test(should_fail)]\n fn test_u16_add_overflow_failure() {\n let _ = 65535u16.add(1u16);\n }\n\n #[test(should_fail)]\n fn test_u16_mul_overflow_failure() {\n let _ = 65535u16.mul(2u16);\n }\n\n #[test(should_fail)]\n fn test_signed_sub_overflow_failure() {\n let val: i8 = -128;\n let _ = val.sub(1i8);\n }\n\n #[test(should_fail)]\n fn test_signed_overflow_failure() {\n let _ = 127i8.add(1i8);\n }\n\n #[test]\n fn test_field() {\n let zero: Field = 0;\n let one: Field = 1;\n\n // test Field basic operations\n assert_eq(zero.add(one), one);\n assert_eq(one.add(zero), one);\n assert_eq(one.sub(one), zero);\n assert_eq(one.mul(one), one);\n assert_eq(one.div(one), one);\n assert_eq(zero.neg(), zero);\n assert_eq(one.neg(), -one);\n }\n\n }\n\n mod wrapping_arithmetic {\n use crate::ops::arith::{Add, Div, Mul, Neg, Sub, WrappingAdd, WrappingMul, WrappingSub};\n #[test]\n fn test_wrapping_add() {\n assert_eq(255u8.wrapping_add(1u8), 0u8);\n assert_eq(255u8.wrapping_add(255u8), 254u8);\n assert_eq(0u8.wrapping_add(0u8), 0u8);\n assert_eq(128u8.wrapping_add(128u8), 0u8);\n\n // test u16 wrapping add\n assert_eq(65535u16.wrapping_add(1u16), 0u16);\n assert_eq(65535u16.wrapping_add(65535u16), 65534u16);\n\n // test u32 wrapping add\n assert_eq(0xffffffffu32.wrapping_add(1u32), 0u32);\n assert_eq(0xffffffffu32.wrapping_add(0xffffffffu32), 0xfffffffeu32);\n\n // test u64 wrapping add\n assert_eq(0xffffffffffffffffu64.wrapping_add(1u64), 0u64);\n assert_eq(\n 0xffffffffffffffffu64.wrapping_add(0xffffffffffffffffu64),\n 0xfffffffffffffffeu64,\n );\n\n // test u128 wrapping add\n assert_eq(0xffffffffffffffffffffffffffffffffu128.wrapping_add(1u128), 0u128);\n\n // test signed types\n assert_eq(127i8.wrapping_add(1i8), -128i8);\n let val: i8 = -128;\n assert_eq(val.wrapping_add(-1i8), 127i8);\n\n // test Field wrapping add\n let forty_two: Field = 42;\n let fifty_eight: Field = 58;\n let hundred: Field = 100;\n let neg_two: Field = -2;\n let two: Field = 2;\n let zero: Field = 0;\n let neg_two_hundred: Field = -200;\n let neg_one_ninety_eight: Field = -198;\n assert_eq(forty_two.wrapping_add(fifty_eight), hundred);\n assert_eq(neg_two.wrapping_add(two), zero);\n assert_eq(neg_two_hundred.wrapping_add(two), neg_one_ninety_eight);\n }\n\n #[test]\n fn test_wrapping_sub() {\n assert_eq(0u8.wrapping_sub(1u8), 255u8);\n assert_eq(255u8.wrapping_sub(255u8), 0u8);\n assert_eq(0u8.wrapping_sub(0u8), 0u8);\n assert_eq(1u8.wrapping_sub(2u8), 255u8);\n\n // test u16 wrapping sub\n assert_eq(0u16.wrapping_sub(1u16), 65535u16);\n assert_eq(65535u16.wrapping_sub(65535u16), 0u16);\n\n // test u32 wrapping sub\n assert_eq(0u32.wrapping_sub(1u32), 0xffffffffu32);\n assert_eq(0xffffffffu32.wrapping_sub(0xffffffffu32), 0u32);\n\n // test u64 wrapping sub\n assert_eq(0u64.wrapping_sub(1u64), 0xffffffffffffffffu64);\n assert_eq(0xffffffffffffffffu64.wrapping_sub(0xffffffffffffffffu64), 0u64);\n\n // test u128 wrapping sub\n assert_eq(0u128.wrapping_sub(1u128), 0xffffffffffffffffffffffffffffffffu128);\n\n // test signed types\n let val: i8 = -128;\n assert_eq(val.wrapping_sub(1i8), 127i8);\n assert_eq(127i8.wrapping_sub(-1i8), -128i8);\n\n // test Field wrapping sub\n let forty_two: Field = 42;\n let fifty_eight: Field = 58;\n let neg_sixteen: Field = -16;\n assert_eq(forty_two.wrapping_sub(fifty_eight), neg_sixteen);\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n assert_eq(zero, zero.wrapping_mul(one));\n assert_eq(zero, one.wrapping_mul(zero));\n assert_eq(one, one.wrapping_mul(one));\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n\n // test u8 wrapping mul\n assert_eq(255u8.wrapping_mul(2u8), 254u8);\n assert_eq(255u8.wrapping_mul(255u8), 1u8);\n assert_eq(128u8.wrapping_mul(2u8), 0u8);\n\n // test u16 wrapping mul\n assert_eq(65535u16.wrapping_mul(2u16), 65534u16);\n assert_eq(65535u16.wrapping_mul(65535u16), 1u16);\n\n // test u32 wrapping mul\n assert_eq(0xffffffffu32.wrapping_mul(2u32), 0xfffffffeu32);\n assert_eq(0xffffffffu32.wrapping_mul(0xffffffffu32), 1u32);\n\n // test u64 wrapping mul\n // 0xffffffffffffffffu64 is 2^64 - 1\n assert_eq(0xffffffffffffffffu64.wrapping_mul(2u64), 0xfffffffffffffffeu64);\n assert_eq(0xffffffffffffffffu64.wrapping_mul(0xffffffffffffffffu64), 1u64);\n\n // test signed types\n assert_eq(127i8.wrapping_mul(2i8), -2i8);\n let val: i8 = -128;\n assert_eq(val.wrapping_mul(-1i8), -128i8);\n\n // test Field wrapping mul\n let six: Field = 6;\n let seven: Field = 7;\n let forty_two: Field = 42;\n let neg_two: Field = -2;\n let two: Field = 2;\n let neg_four: Field = -4;\n assert_eq(six.wrapping_mul(seven), forty_two);\n assert_eq(neg_two.wrapping_mul(two), neg_four);\n }\n\n #[test]\n fn test_u1_behavior() {\n // u1 wrapping add is XOR\n assert_eq(0u1.wrapping_add(0u1), 0u1);\n assert_eq(0u1.wrapping_add(1u1), 1u1);\n assert_eq(1u1.wrapping_add(0u1), 1u1);\n assert_eq(1u1.wrapping_add(1u1), 0u1);\n\n // u1 wrapping sub is XOR\n assert_eq(0u1.wrapping_sub(0u1), 0u1);\n assert_eq(0u1.wrapping_sub(1u1), 1u1);\n assert_eq(1u1.wrapping_sub(0u1), 1u1);\n assert_eq(1u1.wrapping_sub(1u1), 0u1);\n\n // u1 wrapping mul is AND\n assert_eq(0u1.wrapping_mul(0u1), 0u1);\n assert_eq(0u1.wrapping_mul(1u1), 0u1);\n assert_eq(1u1.wrapping_mul(0u1), 0u1);\n assert_eq(1u1.wrapping_mul(1u1), 1u1);\n }\n\n // test wrapping operations is the same as the regular operations\n #[test]\n fn test_wrapping_vs_regular() {\n let u64_large = 0x123456789abcdef0u64;\n let u128_large = 0x123456789abcdef0123456789abcdef0u128;\n\n assert_eq(u64_large.wrapping_add(1u64), u64_large + 1u64);\n assert_eq(u64_large.wrapping_sub(1u64), u64_large - 1u64);\n assert_eq(u64_large.wrapping_mul(2u64), u64_large * 2u64);\n\n assert_eq(u128_large.wrapping_add(1u128), u128_large + 1u128);\n assert_eq(u128_large.wrapping_sub(1u128), u128_large - 1u128);\n assert_eq(u128_large.wrapping_mul(2u128), u128_large * 2u128);\n }\n\n #[test]\n fn test_field_wrapping_operations() {\n let zero: Field = 0;\n let one: Field = 1;\n let large_val = 0xffffffffffffffff;\n\n // test Field wrapping operations\n assert_eq(zero.wrapping_add(one), one);\n assert_eq(one.wrapping_add(large_val), one + large_val);\n assert_eq(zero.wrapping_sub(one), -one);\n assert_eq(one.wrapping_sub(large_val), one - large_val);\n assert_eq(zero.wrapping_mul(one), zero);\n assert_eq(one.wrapping_mul(large_val), large_val);\n\n // test Field basic operations\n assert_eq(zero.add(one), one);\n assert_eq(one.add(zero), one);\n assert_eq(one.sub(one), zero);\n assert_eq(one.mul(one), one);\n assert_eq(one.div(one), one);\n assert_eq(zero.neg(), zero);\n assert_eq(one.neg(), -one);\n }\n\n }\n\n mod split_functions {\n\n use crate::ops::arith::{split64, split_into_64_bit_limbs};\n\n // test split64 and split_into_64_bit_limbs functions\n #[test]\n fn test_split_functions() {\n let small_val = 0x123456789abcdefu128;\n let large_val = 0x123456789abcdef0123456789abcdef0u128;\n let max_val = 0xffffffffffffffffffffffffffffffffu128;\n\n // test split64 (unconstrained)\n // Safety: testing\n unsafe {\n let (lo, hi) = split64(small_val);\n assert_eq(lo, 0x123456789abcdefu64);\n assert_eq(hi, 0u64);\n\n let (lo2, hi2) = split64(large_val);\n assert_eq(lo2, 0x123456789abcdef0u64);\n assert_eq(hi2, 0x123456789abcdef0u64);\n }\n\n // test split_into_64_bit_limbs (constrained)\n let (lo3, hi3) = split_into_64_bit_limbs(small_val);\n assert_eq(lo3, 0x123456789abcdefu64);\n assert_eq(hi3, 0u64);\n\n let (lo4, hi4) = split_into_64_bit_limbs(large_val);\n assert_eq(lo4, 0x123456789abcdef0u64);\n assert_eq(hi4, 0x123456789abcdef0u64);\n\n let (lo5, hi5) = split_into_64_bit_limbs(max_val);\n assert_eq(lo5, 0xffffffffffffffffu64);\n assert_eq(hi5, 0xffffffffffffffffu64);\n }\n }\n}\n"
4224
4224
  },
4225
- "395": {
4225
+ "396": {
4226
4226
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/merkle_tree.nr",
4227
4227
  "source": "use crate::{\n hash::{accumulate_sha256, poseidon2_hash},\n traits::Empty,\n utils::math::is_power_of_2_u32,\n};\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn sha_merkle_hash(left: Field, right: Field) -> Field {\n accumulate_sha256(left, right)\n}\n\n#[derive(Eq)]\npub struct MerkleTree<let N: u32> {\n pub leaves: [Field; N],\n pub nodes: [Field; N - 1],\n}\n\nimpl<let N: u32> Empty for MerkleTree<N> {\n fn empty() -> Self {\n MerkleTree { leaves: [0; N], nodes: [0; N - 1] }\n }\n}\n\nimpl<let N: u32> MerkleTree<N> {\n pub fn new(leaves: [Field; N]) -> Self {\n let nodes = compute_merkle_tree_nodes(leaves, merkle_hash);\n MerkleTree { leaves, nodes }\n }\n\n pub fn new_sha(leaves: [Field; N]) -> Self {\n let nodes = compute_merkle_tree_nodes(leaves, sha_merkle_hash);\n MerkleTree { leaves, nodes }\n }\n\n pub fn get_root(self) -> Field {\n self.nodes[N - 2]\n }\n\n pub fn get_sibling_path<let K: u32>(self, leaf_index: u32) -> [Field; K] {\n assert_eq(2.pow_32(K as Field), N as Field, \"Invalid path length\");\n\n let mut path = [0; K];\n let mut current_index = leaf_index;\n let mut subtree_width = N;\n\n let mut current_sibling_index = sibling_index(current_index);\n\n path[0] = self.leaves[current_sibling_index];\n\n let mut subtree_offset: u32 = 0;\n\n for i in 1..K {\n current_index = current_index / 2;\n subtree_width = subtree_width / 2;\n\n current_sibling_index = sibling_index(current_index);\n\n path[i] = self.nodes[subtree_offset + current_sibling_index];\n\n subtree_offset += subtree_width;\n }\n\n path\n }\n}\n\npub fn sibling_index(index: u32) -> u32 {\n if index % 2 == 0 {\n index + 1\n } else {\n index - 1\n }\n}\n\npub fn compute_merkle_tree_nodes<let N: u32>(\n leaves: [Field; N],\n hasher: fn(Field, Field) -> Field,\n) -> [Field; N - 1] {\n // Note: `N` must be a power of 2.\n std::static_assert(is_power_of_2_u32(N), \"N must be a power of 2\");\n std::static_assert(N != 1, \"2 must divide N\");\n\n let mut nodes = [0; N - 1];\n\n let total_nodes = N - 1;\n let half_size = N / 2;\n\n // Hash base layer.\n for i in 0..half_size {\n nodes[i] = hasher(leaves[2 * i], leaves[2 * i + 1]);\n }\n\n // Hash the other layers.\n for i in 0..(total_nodes - half_size) {\n nodes[half_size + i] = hasher(nodes[2 * i], nodes[2 * i + 1]);\n }\n\n nodes\n}\n"
4228
4228
  },
4229
- "397": {
4229
+ "398": {
4230
4230
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/root.nr",
4231
4231
  "source": "use crate::merkle_tree::merkle_tree::{compute_merkle_tree_nodes, merkle_hash, sha_merkle_hash};\n\n/// Calculate the Merkle tree root from the sibling path and leaf, using the default merkle hash.\npub fn root_from_sibling_path<let N: u32>(\n leaf: Field,\n leaf_index: Field,\n sibling_path: [Field; N],\n) -> Field {\n root_from_sibling_path_with_hasher(leaf, leaf_index, sibling_path, merkle_hash)\n}\n\n/// Calculate the Merkle tree root from the sibling path and leaf, using a custom hasher.\n///\n/// The leaf is hashed with its sibling, the result is then hashed with the next sibling in the path. and so on.\n/// The last hash is the root.\npub fn root_from_sibling_path_with_hasher<let N: u32>(\n leaf: Field,\n leaf_index: Field,\n sibling_path: [Field; N],\n hasher: fn(Field, Field) -> Field,\n) -> Field {\n let mut node = leaf;\n let indices: [u1; N] = leaf_index.to_le_bits();\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 = hasher(hash_left, hash_right);\n }\n node\n}\n\npub fn compute_tree_root<let N: u32>(leaves: [Field; N]) -> Field {\n compute_tree_root_with_hasher(leaves, merkle_hash)\n}\n\npub fn compute_sha_tree_root<let N: u32>(leaves: [Field; N]) -> Field {\n compute_tree_root_with_hasher(leaves, sha_merkle_hash)\n}\n\nfn compute_tree_root_with_hasher<let N: u32>(\n leaves: [Field; N],\n hasher: fn(Field, Field) -> Field,\n) -> Field {\n compute_merkle_tree_nodes(leaves, hasher)[N - 2]\n}\n\npub fn compute_empty_tree_root<let TreeHeight: u32>() -> Field {\n compute_empty_tree_root_with_hasher::<TreeHeight>(merkle_hash)\n}\n\npub fn compute_empty_sha_tree_root<let TreeHeight: u32>() -> Field {\n compute_empty_tree_root_with_hasher::<TreeHeight>(sha_merkle_hash)\n}\n\npub fn compute_empty_tree_root_with_hasher<let TreeHeight: u32>(\n hasher: fn(Field, Field) -> Field,\n) -> Field {\n let mut hashes = [0; TreeHeight + 1];\n for i in 1..TreeHeight + 1 {\n hashes[i] = hasher(hashes[i - 1], hashes[i - 1]);\n }\n hashes[TreeHeight]\n}\n\n#[test]\nfn test_merkle_roots_match_typescript() {\n // The following hardcoded values are generated from yarn-project/foundation/src/trees/balanced_merkle_tree_root.test.ts\n\n let root = compute_tree_root([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]);\n let expected_tree_root_from_ts =\n 0x1528946361c480e8dc1e9ae3f8c31c997625fa1ddeddc7db5ad0dce3ac58fc4c;\n assert_eq(root, expected_tree_root_from_ts);\n\n let empty_root = compute_tree_root([0; 16]);\n let expected_empty_root_from_ts =\n 0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e;\n assert_eq(empty_root, expected_empty_root_from_ts);\n\n let sha_root = compute_sha_tree_root([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]);\n let expected_sha_root_from_ts =\n 0x00b007869b8a5e2a9b3b580a318e702cea04b2f5438f2e26743f545e4d1ecbdb;\n assert_eq(sha_root, expected_sha_root_from_ts);\n}\n\n#[test]\nfn test_empty_tree_root() {\n assert_eq(compute_empty_tree_root::<0>(), 0);\n\n assert_eq(\n compute_empty_tree_root::<1>(),\n 0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1,\n );\n\n assert_eq(\n compute_empty_tree_root::<2>(),\n 0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290,\n );\n\n assert_eq(\n compute_empty_tree_root::<6>(),\n 0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76,\n );\n\n assert_eq(\n compute_empty_tree_root::<10>(),\n 0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686,\n );\n}\n"
4232
4232
  },
4233
- "416": {
4233
+ "417": {
4234
4234
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/storage/map.nr",
4235
4235
  "source": "use crate::{\n constants::DOM_SEP__PUBLIC_STORAGE_MAP_SLOT, hash::poseidon2_hash_with_separator,\n traits::ToField,\n};\n\n// TODO: Move this to src/public_data/storage/map.nr\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field\nwhere\n K: ToField,\n{\n poseidon2_hash_with_separator(\n [storage_slot, key.to_field()],\n DOM_SEP__PUBLIC_STORAGE_MAP_SLOT,\n )\n}\n\nmod test {\n use crate::{address::AztecAddress, storage::map::derive_storage_slot_in_map, traits::FromField};\n\n #[test]\n fn test_derive_storage_slot_in_map_matches_typescript() {\n let map_slot = 0x132258fb6962c4387ba659d9556521102d227549a386d39f0b22d1890d59c2b5;\n let key = AztecAddress::from_field(\n 0x302dbc2f9b50a73283d5fb2f35bc01eae8935615817a0b4219a057b2ba8a5a3f,\n );\n\n let slot = derive_storage_slot_in_map(map_slot, key);\n\n // The following value was generated by `map_slot.test.ts`\n let slot_from_typescript =\n 0x1b2a77ec2627004dee6041ffce459c39150329b3752ec46160f4ca55429ae7b1;\n\n assert_eq(slot, slot_from_typescript);\n }\n}\n"
4236
4236
  },
@@ -4242,23 +4242,23 @@
4242
4242
  "path": "std/panic.nr",
4243
4243
  "source": "pub fn panic<T, U>(message: T) -> U\nwhere\n T: StringLike,\n{\n assert(false, message);\n crate::mem::zeroed()\n}\n\ntrait StringLike {}\n\nimpl<let N: u32> StringLike for str<N> {}\nimpl<let N: u32, T> StringLike for fmtstr<N, T> {}\n"
4244
4244
  },
4245
- "433": {
4245
+ "434": {
4246
4246
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/type_packing.nr",
4247
4247
  "source": "use crate::traits::Packable;\n\nglobal BOOL_PACKED_LEN: u32 = 1;\nglobal U8_PACKED_LEN: u32 = 1;\nglobal U16_PACKED_LEN: u32 = 1;\nglobal U32_PACKED_LEN: u32 = 1;\nglobal U64_PACKED_LEN: u32 = 1;\nglobal U128_PACKED_LEN: u32 = 1;\nglobal FIELD_PACKED_LEN: u32 = 1;\nglobal I8_PACKED_LEN: u32 = 1;\nglobal I16_PACKED_LEN: u32 = 1;\nglobal I32_PACKED_LEN: u32 = 1;\nglobal I64_PACKED_LEN: u32 = 1;\n\nimpl Packable for bool {\n let N: u32 = BOOL_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> bool {\n (fields[0] as u1) != 0\n }\n}\n\nimpl Packable for u8 {\n let N: u32 = U8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Packable for u16 {\n let N: u32 = U16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16\n }\n}\n\nimpl Packable for u32 {\n let N: u32 = U32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Packable for u64 {\n let N: u32 = U64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Packable for u128 {\n let N: u32 = U128_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u128\n }\n}\n\nimpl Packable for Field {\n let N: u32 = FIELD_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0]\n }\n}\n\nimpl Packable for i8 {\n let N: u32 = I8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u8 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8 as i8\n }\n}\n\nimpl Packable for i16 {\n let N: u32 = I16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u16 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16 as i16\n }\n}\n\nimpl Packable for i32 {\n let N: u32 = I32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u32 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32 as i32\n }\n}\n\nimpl Packable for i64 {\n let N: u32 = I64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u64 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Packable for [T; M]\nwhere\n T: Packable,\n{\n let N: u32 = M * <T as Packable>::N;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n let mut result: [Field; Self::N] = std::mem::zeroed();\n for i in 0..M {\n let serialized = self[i].pack();\n for j in 0..<T as Packable>::N {\n result[i * <T as Packable>::N + j] = serialized[j];\n }\n }\n result\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::utils::reader::Reader::new(fields);\n let mut result: [T; M] = std::mem::zeroed();\n reader.read_struct_array::<T, <T as Packable>::N, M>(Packable::unpack, result)\n }\n}\n\n#[test]\nfn test_u16_packing() {\n let a: u16 = 10;\n assert_eq(a, u16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i8_packing() {\n let a: i8 = -10;\n assert_eq(a, i8::unpack(a.pack()));\n}\n\n#[test]\nfn test_i16_packing() {\n let a: i16 = -10;\n assert_eq(a, i16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i32_packing() {\n let a: i32 = -10;\n assert_eq(a, i32::unpack(a.pack()));\n}\n\n#[test]\nfn test_i64_packing() {\n let a: i64 = -10;\n assert_eq(a, i64::unpack(a.pack()));\n}\n"
4248
4248
  },
4249
- "446": {
4249
+ "447": {
4250
4250
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/serde/src/reader.nr",
4251
4251
  "source": "pub struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> 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_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_u64(&mut self) -> u64 {\n self.read() as u64\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() != 0\n }\n\n pub fn read_array<let K: u32>(&mut self) -> [Field; K] {\n let mut result = [0; 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, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array());\n result\n }\n\n pub fn read_struct_array<T, let K: u32, let C: u32>(\n &mut self,\n deserialise: fn([Field; K]) -> T,\n mut result: [T; C],\n ) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn peek_offset(&mut self, offset: u32) -> Field {\n self.data[self.offset + offset]\n }\n\n pub fn advance_offset(&mut self, offset: u32) {\n self.offset += offset;\n }\n\n pub fn finish(self) {\n assert_eq(self.offset, self.data.len(), \"Reader did not read all data\");\n }\n}\n"
4252
4252
  },
4253
- "447": {
4253
+ "448": {
4254
4254
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/serde/src/serialization.nr",
4255
4255
  "source": "use crate::{reader::Reader, writer::Writer};\n\n// docs:start:serialize\n/// Trait for serializing Noir types into arrays of Fields.\n///\n/// An implementation of the Serialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait (and Deserialize) are\n/// typically used to communicate between Noir and TypeScript (via oracles and function arguments).\n///\n/// # On Following Noir's Intrinsic Serialization\n/// When calling a Noir function from TypeScript (TS), first the function arguments are serialized into an array\n/// of fields. This array is then included in the initial witness. Noir's intrinsic serialization is then used\n/// to deserialize the arguments from the witness. When the same Noir function is called from Noir this Serialize trait\n/// is used instead of the serialization in TS. For this reason we need to have a match between TS serialization,\n/// Noir's intrinsic serialization and the implementation of this trait. If there is a mismatch, the function calls\n/// fail with an arguments hash mismatch error message.\n///\n/// # Associated Constants\n/// * `N` - The length of the output Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let N: u32> Serialize for str<N> {\n/// let N: u32 = N;\n///\n/// fn serialize(self) -> [Field; Self::N] {\n/// let mut writer: Writer<Self::N> = Writer::new();\n/// self.stream_serialize(&mut writer);\n/// writer.finish()\n/// }\n///\n/// fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n/// let bytes = self.as_bytes();\n/// for i in 0..bytes.len() {\n/// writer.write(bytes[i] as Field);\n/// }\n/// }\n/// }\n/// ```\n#[derive_via(derive_serialize)]\npub trait Serialize {\n let N: u32;\n\n fn serialize(self) -> [Field; Self::N];\n\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>);\n}\n\n/// Generates a `Serialize` trait implementation for a struct type.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A quoted code block containing the trait implementation\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Log<N> {\n/// fields: [Field; N],\n/// length: u32\n/// }\n/// ```\n///\n/// This function generates code equivalent to:\n/// ```\n/// impl<let N: u32> Serialize for Log<N> {\n/// let N: u32 = <[Field; N] as Serialize>::N + <u32 as Serialize>::N;\n///\n/// fn serialize(self) -> [Field; Self::N] {\n/// let mut writer: Writer<Self::N> = Writer::new();\n/// self.stream_serialize(&mut writer);\n/// writer.finish()\n/// }\n///\n/// #[inline_always]\n/// fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n/// Serialize::stream_serialize(self.fields, writer);\n/// Serialize::stream_serialize(self.length, writer);\n/// }\n/// }\n/// ```\npub comptime fn derive_serialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let nested_struct = typ.as_data_type().unwrap();\n\n // We care only about the name and type so we drop the last item of the tuple\n let params = nested_struct.0.fields(nested_struct.1).map(|(name, typ, _)| (name, typ));\n\n // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n // for the `Serialize` trait.\n let generics_declarations = get_generics_declarations(s);\n let where_serialize_clause = get_where_trait_clause(s, quote {Serialize});\n\n let params_len_quote = get_params_len_quote(params);\n\n let function_body = params\n .map(|(name, _typ): (Quoted, Type)| {\n quote {\n $crate::serialization::Serialize::stream_serialize(self.$name, writer);\n }\n })\n .join(quote {});\n\n quote {\n impl$generics_declarations $crate::serialization::Serialize for $typ\n $where_serialize_clause\n {\n let N: u32 = $params_len_quote;\n\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: $crate::writer::Writer<Self::N> = $crate::writer::Writer::new();\n $crate::serialization::Serialize::stream_serialize(self, &mut writer);\n writer.finish()\n }\n\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut $crate::writer::Writer<K>) {\n $function_body\n }\n }\n }\n}\n\n// docs:start:deserialize\n/// Trait for deserializing Noir types from arrays of Fields.\n///\n/// An implementation of the Deserialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait is typically used when\n/// deserializing return values from function calls in Noir. Since the same function could be called from TypeScript\n/// (TS), in which case the TS deserialization would get used, we need to have a match between the 2.\n///\n/// # Associated Constants\n/// * `N` - The length of the input Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let M: u32> Deserialize for str<M> {\n/// let N: u32 = M;\n///\n/// fn deserialize(fields: [Field; Self::N]) -> Self {\n/// let mut reader = Reader::new(fields);\n/// let result = Self::stream_deserialize(&mut reader);\n/// reader.finish();\n/// result\n/// }\n///\n/// fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n/// let mut bytes = [0 as u8; M];\n/// for i in 0..M {\n/// bytes[i] = reader.read() as u8;\n/// }\n/// str::<M>::from(bytes)\n/// }\n/// }\n/// ```\n#[derive_via(derive_deserialize)]\npub trait Deserialize {\n let N: u32;\n\n fn deserialize(fields: [Field; Self::N]) -> Self;\n\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self;\n}\n\n/// Generates a `Deserialize` trait implementation for a given struct `s`.\n///\n/// # Arguments\n/// * `s` - The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A `Quoted` block containing the generated trait implementation\n///\n/// # Requirements\n/// Each struct member type must implement the `Deserialize` trait (it gets used in the generated code).\n///\n/// # Example\n/// For a struct like:\n/// ```\n/// struct MyStruct {\n/// x: AztecAddress,\n/// y: Field,\n/// }\n/// ```\n///\n/// This generates:\n/// ```\n/// impl Deserialize for MyStruct {\n/// let N: u32 = <AztecAddress as Deserialize>::N + <Field as Deserialize>::N;\n///\n/// fn deserialize(fields: [Field; Self::N]) -> Self {\n/// let mut reader = Reader::new(fields);\n/// let result = Self::stream_deserialize(&mut reader);\n/// reader.finish();\n/// result\n/// }\n///\n/// #[inline_always]\n/// fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n/// let x = <AztecAddress as Deserialize>::stream_deserialize(reader);\n/// let y = <Field as Deserialize>::stream_deserialize(reader);\n/// Self { x, y }\n/// }\n/// }\n/// ```\npub comptime fn derive_deserialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let nested_struct = typ.as_data_type().unwrap();\n let params = nested_struct.0.fields(nested_struct.1);\n\n // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n // for the `Deserialize` trait.\n let generics_declarations = get_generics_declarations(s);\n let where_deserialize_clause = get_where_trait_clause(s, quote {Deserialize});\n\n // The following will give us:\n // <type_of_struct_member_1 as Deserialize>::N + <type_of_struct_member_2 as Deserialize>::N + ...\n // (or 0 if the struct has no members)\n let right_hand_side_of_definition_of_n = if params.len() > 0 {\n params\n .map(|(_, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n <$param_type as $crate::serialization::Deserialize>::N\n }\n })\n .join(quote {+})\n } else {\n quote {0}\n };\n\n // For structs containing a single member, we can enhance performance by directly deserializing the input array,\n // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n // expected to be optimized away.\n let function_body = if params.len() > 1 {\n // This generates deserialization code for each struct member and concatenates them together.\n let deserialization_of_struct_members = params\n .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n let $param_name = <$param_type as Deserialize>::stream_deserialize(reader);\n }\n })\n .join(quote {});\n\n // We join the struct member names with a comma to be used in the `Self { ... }` syntax\n // This will give us e.g. `a, b, c` for a struct with three fields named `a`, `b`, and `c`.\n let struct_members = params\n .map(|(param_name, _, _): (Quoted, Type, Quoted)| quote { $param_name })\n .join(quote {,});\n\n quote {\n $deserialization_of_struct_members\n\n Self { $struct_members }\n }\n } else if params.len() == 1 {\n let param_name = params[0].0;\n quote {\n Self { $param_name: $crate::serialization::Deserialize::stream_deserialize(reader) }\n }\n } else {\n quote {\n Self {}\n }\n };\n\n quote {\n impl$generics_declarations $crate::serialization::Deserialize for $typ\n $where_deserialize_clause\n {\n let N: u32 = $right_hand_side_of_definition_of_n;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = $crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut $crate::reader::Reader<K>) -> Self {\n $function_body\n }\n }\n }\n}\n\n/// Generates a quoted expression that computes the total serialized length of function parameters.\n///\n/// # Parameters\n/// * `params` - An array of tuples where each tuple contains a quoted parameter name and its Type. The type needs\n/// to implement the Serialize trait.\n///\n/// # Returns\n/// A quoted expression that evaluates to:\n/// * `0` if there are no parameters\n/// * `(<type1 as Serialize>::N + <type2 as Serialize>::N + ...)` for one or more parameters\ncomptime fn get_params_len_quote(params: [(Quoted, Type)]) -> Quoted {\n if params.len() == 0 {\n quote { 0 }\n } else {\n let params_quote_without_parentheses = params\n .map(|(_, param_type): (Quoted, Type)| {\n quote {\n <$param_type as $crate::serialization::Serialize>::N\n }\n })\n .join(quote {+});\n quote { ($params_quote_without_parentheses) }\n }\n}\n\ncomptime fn get_generics_declarations(s: TypeDefinition) -> Quoted {\n let generics = s.generics();\n\n if generics.len() > 0 {\n let generics_declarations_items = generics\n .map(|(name, maybe_integer_typ)| {\n // The second item in the generics tuple is an Option of an integer type that is Some only if\n // the generic is numeric.\n if maybe_integer_typ.is_some() {\n // The generic is numeric, so we return a quote defined as e.g. \"let N: u32\"\n let integer_type = maybe_integer_typ.unwrap();\n quote {let $name: $integer_type}\n } else {\n // The generic is not numeric, so we return a quote containing the name of the generic (e.g. \"T\")\n quote {$name}\n }\n })\n .join(quote {,});\n quote {<$generics_declarations_items>}\n } else {\n // The struct doesn't have any generics defined, so we just return an empty quote.\n quote {}\n }\n}\n\ncomptime fn get_where_trait_clause(s: TypeDefinition, trait_name: Quoted) -> Quoted {\n let generics = s.generics();\n\n // The second item in the generics tuple is an Option of an integer type that is Some only if the generic is\n // numeric.\n let non_numeric_generics =\n generics.filter(|(_, maybe_integer_typ)| maybe_integer_typ.is_none());\n\n if non_numeric_generics.len() > 0 {\n let non_numeric_generics_declarations =\n non_numeric_generics.map(|(name, _)| quote {$name: $trait_name}).join(quote {,});\n quote {where $non_numeric_generics_declarations}\n } else {\n // There are no non-numeric generics, so we return an empty quote.\n quote {}\n }\n}\n"
4256
4256
  },
4257
- "449": {
4257
+ "450": {
4258
4258
  "path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/serde/src/type_impls.nr",
4259
4259
  "source": "use crate::{reader::Reader, serialization::{Deserialize, Serialize}, writer::Writer};\nuse dep::std::embedded_curve_ops::EmbeddedCurvePoint;\nuse dep::std::embedded_curve_ops::EmbeddedCurveScalar;\n\nglobal U1_SERIALIZED_LEN: u32 = 1;\nglobal BOOL_SERIALIZED_LEN: u32 = 1;\nglobal U8_SERIALIZED_LEN: u32 = 1;\nglobal U16_SERIALIZED_LEN: u32 = 1;\nglobal U32_SERIALIZED_LEN: u32 = 1;\nglobal U64_SERIALIZED_LEN: u32 = 1;\nglobal U128_SERIALIZED_LEN: u32 = 1;\nglobal FIELD_SERIALIZED_LEN: u32 = 1;\nglobal I8_SERIALIZED_LEN: u32 = 1;\nglobal I16_SERIALIZED_LEN: u32 = 1;\nglobal I32_SERIALIZED_LEN: u32 = 1;\nglobal I64_SERIALIZED_LEN: u32 = 1;\n\nimpl Serialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> bool {\n reader.read() != 0\n }\n}\n\nimpl Serialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u1\n }\n}\n\nimpl Serialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u8\n }\n}\n\nimpl Serialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u16\n }\n}\n\nimpl Serialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u32\n }\n}\n\nimpl Serialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u64\n }\n}\n\nimpl Serialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as Field);\n }\n}\n\nimpl Deserialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u128\n }\n}\n\nimpl Serialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self);\n }\n}\n\nimpl Deserialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read()\n }\n}\n\nimpl Serialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u8 as Field);\n }\n}\n\nimpl Deserialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u8 as i8\n }\n}\n\nimpl Serialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u16 as Field);\n }\n}\n\nimpl Deserialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u16 as i16\n }\n}\n\nimpl Serialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u32 as Field);\n }\n}\n\nimpl Deserialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u32 as i32\n }\n}\n\nimpl Serialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self as u64 as Field);\n }\n}\n\nimpl Deserialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n reader.read() as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Serialize for [T; M]\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n for i in 0..M {\n self[i].stream_serialize(writer);\n }\n }\n}\n\nimpl<T, let M: u32> Deserialize for [T; M]\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let mut result: [T; M] = std::mem::zeroed();\n for i in 0..M {\n result[i] = T::stream_deserialize(reader);\n }\n result\n }\n}\n\nimpl<T> Serialize for Option<T>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N + 1;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write_bool(self.is_some());\n if self.is_some() {\n self.unwrap_unchecked().stream_serialize(writer);\n } else {\n writer.advance_offset(<T as Serialize>::N);\n }\n }\n}\n\nimpl<T> Deserialize for Option<T>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N + 1;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n if reader.read_bool() {\n Option::some(<T as Deserialize>::stream_deserialize(reader))\n } else {\n reader.advance_offset(<T as Deserialize>::N);\n Option::none()\n }\n }\n}\n\nglobal SCALAR_SIZE: u32 = 2;\n\nimpl Serialize for EmbeddedCurveScalar {\n\n let N: u32 = SCALAR_SIZE;\n\n fn serialize(self) -> [Field; SCALAR_SIZE] {\n [self.lo, self.hi]\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self.lo);\n writer.write(self.hi);\n }\n}\n\nimpl Deserialize for EmbeddedCurveScalar {\n let N: u32 = SCALAR_SIZE;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n Self { lo: fields[0], hi: fields[1] }\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n Self { lo: reader.read(), hi: reader.read() }\n }\n}\n\nglobal POINT_SIZE: u32 = 3;\n\nimpl Serialize for EmbeddedCurvePoint {\n let N: u32 = POINT_SIZE;\n\n fn serialize(self) -> [Field; Self::N] {\n [self.x, self.y, self.is_infinite as Field]\n }\n\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n writer.write(self.x);\n writer.write(self.y);\n writer.write(self.is_infinite as Field);\n }\n}\n\nimpl Deserialize for EmbeddedCurvePoint {\n let N: u32 = POINT_SIZE;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n Self { x: fields[0], y: fields[1], is_infinite: fields[2] != 0 }\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n Self { x: reader.read(), y: reader.read(), is_infinite: reader.read_bool() }\n }\n}\n\nimpl<let M: u32> Deserialize for str<M> {\n let N: u32 = M;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let u8_arr = <[u8; Self::N] as Deserialize>::stream_deserialize(reader);\n str::<Self::N>::from(u8_arr)\n }\n}\n\nimpl<let M: u32> Serialize for str<M> {\n let N: u32 = M;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.as_bytes().stream_serialize(writer);\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Deserialize for BoundedVec<T, M>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M + 1;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n let mut new_bounded_vec: BoundedVec<T, M> = BoundedVec::new();\n let payload_len = Self::N - 1;\n\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n let len = reader.peek_offset(payload_len) as u32;\n\n for i in 0..M {\n if i < len {\n new_bounded_vec.push(<T as Deserialize>::stream_deserialize(reader));\n }\n }\n\n // +1 for the length of the BoundedVec\n reader.advance_offset((M - len) * <T as Deserialize>::N + 1);\n\n new_bounded_vec\n }\n}\n\n// This may cause issues if used as program input, because noir disallows empty arrays for program input.\n// I think this is okay because I don't foresee a unit type being used as input. But leaving this comment as a hint\n// if someone does run into this in the future.\nimpl Deserialize for () {\n let N: u32 = 0;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(_reader: &mut Reader<K>) -> Self {\n ()\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Serialize for BoundedVec<T, M>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M + 1; // +1 for the length of the BoundedVec\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: Writer<Self::N> = Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.storage().stream_serialize(writer);\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n writer.write_u32(self.len() as u32);\n }\n}\n\n// Create a slice of the given length with each element made from `f(i)` where `i` is the current index\ncomptime fn make_slice<Env, T>(length: u32, f: fn[Env](u32) -> T) -> [T] {\n let mut slice = @[];\n for i in 0..length {\n slice = slice.push_back(f(i));\n }\n slice\n}\n\n// Implements Serialize and Deserialize for an arbitrary tuple type\ncomptime fn impl_serialize_for_tuple(_m: Module, length: u32) -> Quoted {\n // `T0`, `T1`, `T2`\n let type_names = make_slice(length, |i| f\"T{i}\".quoted_contents());\n\n // `result0`, `result1`, `result2`\n let result_names = make_slice(length, |i| f\"result{i}\".quoted_contents());\n\n // `T0, T1, T2`\n let field_generics = type_names.join(quote [,]);\n\n // `<T0 as Serialize>::N + <T1 as Serialize>::N + <T2 as Serialize>::N`\n let full_size_serialize = type_names\n .map(|type_name| quote {\n <$type_name as Serialize>::N\n })\n .join(quote [+]);\n\n // `<T0 as Deserialize>::N + <T1 as Deserialize>::N + <T2 as Deserialize>::N`\n let full_size_deserialize = type_names\n .map(|type_name| quote {\n <$type_name as Deserialize>::N\n })\n .join(quote [+]);\n\n // `T0: Serialize, T1: Serialize, T2: Serialize,`\n let serialize_constraints = type_names\n .map(|field_name| quote {\n $field_name: Serialize,\n })\n .join(quote []);\n\n // `T0: Deserialize, T1: Deserialize, T2: Deserialize,`\n let deserialize_constraints = type_names\n .map(|field_name| quote {\n $field_name: Deserialize,\n })\n .join(quote []);\n\n // Statements to serialize each field\n let serialized_fields = type_names\n .mapi(|i, _type_name| quote {\n $crate::serialization::Serialize::stream_serialize(self.$i, writer);\n })\n .join(quote []);\n\n // Statements to deserialize each field\n let deserialized_fields = type_names\n .mapi(|i, type_name| {\n let result_name = result_names[i];\n quote {\n let $result_name = <$type_name as $crate::serialization::Deserialize>::stream_deserialize(reader);\n }\n })\n .join(quote []);\n let deserialize_results = result_names.join(quote [,]);\n\n quote {\n impl<$field_generics> Serialize for ($field_generics) where $serialize_constraints {\n let N: u32 = $full_size_serialize;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: $crate::writer::Writer<Self::N> = $crate::writer::Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut $crate::writer::Writer<K>) {\n\n $serialized_fields\n }\n }\n\n impl<$field_generics> Deserialize for ($field_generics) where $deserialize_constraints {\n let N: u32 = $full_size_deserialize;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = $crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n \n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut $crate::reader::Reader<K>) -> Self {\n $deserialized_fields\n ($deserialize_results)\n }\n }\n }\n}\n\n// Keeping these manual impls. They are more efficient since they do not\n// require copying sub-arrays from any serialized arrays.\nimpl<T1> Serialize for (T1,)\nwhere\n T1: Serialize,\n{\n let N: u32 = <T1 as Serialize>::N;\n\n fn serialize(self) -> [Field; Self::N] {\n let mut writer: crate::writer::Writer<Self::N> = crate::writer::Writer::new();\n self.stream_serialize(&mut writer);\n writer.finish()\n }\n\n #[inline_always]\n fn stream_serialize<let K: u32>(self, writer: &mut Writer<K>) {\n self.0.stream_serialize(writer);\n }\n}\n\nimpl<T1> Deserialize for (T1,)\nwhere\n T1: Deserialize,\n{\n let N: u32 = <T1 as Deserialize>::N;\n\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::reader::Reader::new(fields);\n let result = Self::stream_deserialize(&mut reader);\n reader.finish();\n result\n }\n\n #[inline_always]\n fn stream_deserialize<let K: u32>(reader: &mut Reader<K>) -> Self {\n (<T1 as Deserialize>::stream_deserialize(reader),)\n }\n}\n\n#[impl_serialize_for_tuple(2)]\n#[impl_serialize_for_tuple(3)]\n#[impl_serialize_for_tuple(4)]\n#[impl_serialize_for_tuple(5)]\n#[impl_serialize_for_tuple(6)]\nmod impls {\n use crate::serialization::{Deserialize, Serialize};\n}\n"
4260
4260
  },
4261
- "459": {
4261
+ "460": {
4262
4262
  "path": "/home/aztec-dev/nargo/github.com/noir-lang/sha256/v0.3.0/src/sha256.nr",
4263
4263
  "source": "use std::hash::sha256_compression;\nuse std::runtime::is_unconstrained;\n\nuse constants::{\n BLOCK_BYTE_PTR, BLOCK_SIZE, HASH, INITIAL_STATE, INT_BLOCK_SIZE, INT_SIZE, INT_SIZE_PTR,\n MSG_BLOCK, MSG_SIZE_PTR, STATE, TWO_POW_16, TWO_POW_24, TWO_POW_32, TWO_POW_8,\n};\n\npub(crate) mod constants;\nmod tests;\nmod oracle_tests;\n\n// Implementation of SHA-256 mapping a byte array of variable length to\n// 32 bytes.\n\n// Deprecated in favour of `sha256_var`\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> HASH\n// docs:end:sha256\n{\n digest(input)\n}\n\n// SHA-256 hash function\n#[no_predicates]\npub fn digest<let N: u32>(msg: [u8; N]) -> HASH {\n sha256_var(msg, N)\n}\n\n// Variable size SHA-256 hash\npub fn sha256_var<let N: u32>(msg: [u8; N], message_size: u32) -> HASH {\n assert(message_size <= N);\n\n let (h, msg_block) = process_full_blocks(msg, message_size, INITIAL_STATE);\n\n finalize_sha256_blocks(message_size, h, msg_block)\n}\n\n/// Returns the first partially filled message block along with the internal state prior to its compression.\npub(crate) fn process_full_blocks<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n initial_state: STATE,\n) -> (STATE, MSG_BLOCK) {\n if std::runtime::is_unconstrained() {\n let num_full_blocks = message_size / BLOCK_SIZE;\n // Intermediate hash, starting with the canonical initial value\n let mut h: STATE = initial_state;\n // Pointer into msg_block on a 64 byte scale\n for i in 0..num_full_blocks {\n let msg_block = build_msg_block(msg, message_size, BLOCK_SIZE * i);\n h = sha256_compression(msg_block, h);\n }\n\n // We now build the final un-filled block.\n let msg_byte_ptr = message_size % BLOCK_SIZE;\n let msg_block: MSG_BLOCK = if msg_byte_ptr != 0 {\n let num_full_blocks = message_size / BLOCK_SIZE;\n let msg_start = BLOCK_SIZE * num_full_blocks;\n build_msg_block(msg, message_size, msg_start)\n } else {\n // If the message size is a multiple of the block size (i.e. `msg_byte_ptr == 0`) then this block will be empty,\n // so we short-circuit in this case.\n [0; 16]\n };\n\n (h, msg_block)\n } else {\n let num_blocks = N / BLOCK_SIZE;\n\n // We store the intermediate hash states and message blocks in these two arrays which allows us to select the correct state\n // for the given message size with a lookup.\n //\n // These can be reasoned about as followed:\n // Consider a message with an unknown number of bytes, `msg_size. It can be seen that this will have `msg_size / BLOCK_SIZE` full blocks.\n // - `states[i]` should then be the state after processing the first `i` blocks.\n // - `blocks[i]` should then be the next message block after processing the first `i` blocks.\n // blocks[first_partially_filled_block_index] is the last block that is partially filled or all 0 if the message is a multiple of the block size.\n //\n // In other words:\n //\n // blocks = [block 1, block 2, ..., block N / BLOCK_SIZE, block N / BLOCK_SIZE + 1]\n // states = [INITIAL_STATE, state after block 1, state after block 2, ..., state after block N / BLOCK_SIZE]\n //\n // We place the initial state in `states[0]` as in the case where the `message_size < BLOCK_SIZE` then there are no full blocks to process and no compressions should occur.\n let mut blocks: [MSG_BLOCK; N / BLOCK_SIZE + 1] = std::mem::zeroed();\n let mut states: [STATE; N / BLOCK_SIZE + 1] = [initial_state; N / BLOCK_SIZE + 1];\n\n // Optimization for small messages. If the largest possible message is smaller than a block then we know that the first block is partially filled\n // no matter the value of `message_size`.\n //\n // Note that the condition `N >= BLOCK_SIZE` is known during monomorphization so this has no runtime cost.\n let first_partially_filled_block_index = if N >= BLOCK_SIZE {\n message_size / BLOCK_SIZE\n } else {\n 0\n };\n\n for i in 0..num_blocks {\n let msg_start = BLOCK_SIZE * i;\n let new_msg_block = build_msg_block(msg, message_size, msg_start);\n\n blocks[i] = new_msg_block;\n states[i + 1] = sha256_compression(new_msg_block, states[i]);\n }\n // If message_size/BLOCK_SIZE == N/BLOCK_SIZE, and there is a remainder, we need to process the last block.\n if N % BLOCK_SIZE != 0 {\n let new_msg_block = build_msg_block(msg, message_size, BLOCK_SIZE * num_blocks);\n\n blocks[num_blocks] = new_msg_block;\n }\n\n (states[first_partially_filled_block_index], blocks[first_partially_filled_block_index])\n }\n}\n\n// Take `BLOCK_SIZE` number of bytes from `msg` starting at `msg_start` and pack them into a `MSG_BLOCK`.\npub(crate) unconstrained fn build_msg_block_helper<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n msg_start: u32,\n) -> MSG_BLOCK {\n let mut msg_block: MSG_BLOCK = [0; INT_BLOCK_SIZE];\n\n // We insert `BLOCK_SIZE` bytes (or up to the end of the message)\n let block_input = if message_size < msg_start {\n // This function is sometimes called with `msg_start` past the end of the message.\n // In this case we return an empty block and zero pointer to signal that the result should be ignored.\n 0\n } else if message_size < msg_start + BLOCK_SIZE {\n message_size - msg_start\n } else {\n BLOCK_SIZE\n };\n\n // Figure out the number of items in the int array that we have to pack.\n // e.g. if the input is [0,1,2,3,4,5] then we need to pack it as 2 items: [0123, 4500]\n let int_input = (block_input + INT_SIZE - 1) / INT_SIZE;\n\n for i in 0..int_input {\n let mut msg_item: u32 = 0;\n // Always construct the integer as 4 bytes, even if it means going beyond the input.\n for j in 0..INT_SIZE {\n let k = i * INT_SIZE + j;\n let msg_byte = if k < block_input {\n msg[msg_start + k]\n } else {\n 0\n };\n msg_item = (msg_item << 8) + msg_byte as u32;\n }\n msg_block[i] = msg_item;\n }\n\n // Returning the index as if it was a 64 byte array.\n // We have to project it down to 16 items and bit shifting to get a byte back if we need it.\n msg_block\n}\n\n// Build a message block from the input message starting at `msg_start`.\n//\n// If `message_size` is less than `msg_start` then this is called with the old non-empty block;\n// in that case we can skip verification, ie. no need to check that everything is zero.\nfn build_msg_block<let N: u32>(msg: [u8; N], message_size: u32, msg_start: u32) -> MSG_BLOCK {\n let msg_block =\n // Safety: We constrain the block below by reconstructing each `u32` word from the input bytes.\n unsafe { build_msg_block_helper(msg, message_size, msg_start) };\n\n if !is_unconstrained() {\n let mut msg_end = msg_start + BLOCK_SIZE;\n\n let max_read_index = std::cmp::min(message_size, msg_end);\n\n // Reconstructed packed item\n let mut msg_item: Field = 0;\n\n // Inclusive at the end so that we can compare the last item.\n for k in msg_start..=msg_end {\n if (k != msg_start) & (k % INT_SIZE == 0) {\n // If we consumed some input we can compare against the block.\n let msg_block_index = (k - msg_start) / INT_SIZE - 1;\n assert_eq(msg_block[msg_block_index] as Field, msg_item);\n\n msg_item = 0;\n }\n\n // If we have input to consume, add it at the rightmost position.\n let msg_byte = if k < max_read_index { msg[k] } else { 0 };\n msg_item = msg_item * (TWO_POW_8 as Field) + msg_byte as Field;\n }\n }\n msg_block\n}\n\n// Encode `8 * message_size` into two `u32` limbs.\nunconstrained fn encode_len(message_size: u32) -> (u32, u32) {\n let len = 8 * message_size as u64;\n let lo = len & 0xFFFFFFFF;\n let hi = (len >> 32) & 0xFFFFFFFF;\n (lo as u32, hi as u32)\n}\n\n// Write the length into the last 8 bytes of the block.\nfn attach_len_to_msg_block(mut msg_block: MSG_BLOCK, message_size: u32) -> MSG_BLOCK {\n // Safety: We assert the correctness of the decomposition below.\n // 2 `u32` limbs cannot overflow the field modulus so performing the check as `Field`s is safe.\n let (lo, hi) = unsafe { encode_len(message_size) };\n assert_eq(8 * (message_size as Field), lo as Field + hi as Field * TWO_POW_32);\n\n msg_block[INT_SIZE_PTR] = hi;\n msg_block[INT_SIZE_PTR + 1] = lo;\n msg_block\n}\n\n// Perform the final compression, then transform the `STATE` into `HASH`.\nfn hash_final_block(msg_block: MSG_BLOCK, mut state: STATE) -> HASH {\n // Hash final padded block\n state = sha256_compression(msg_block, state);\n\n // Return final hash as byte array\n let mut out_h: HASH = [0; 32]; // Digest as sequence of bytes\n for j in 0..8 {\n let h_bytes: [u8; 4] = (state[j] as Field).to_be_bytes();\n for k in 0..4 {\n out_h[4 * j + k] = h_bytes[k];\n }\n }\n\n out_h\n}\n\n/// Lookup table for the position of the padding bit within one of the `u32` words in the final message block.\nglobal PADDING_BIT_TABLE: [u32; 4] =\n [(1 << 7) * TWO_POW_24, (1 << 7) * TWO_POW_16, (1 << 7) * TWO_POW_8, (1 << 7)];\n\n/// Add 1 bit padding to end of message and compress the block if there's not enough room for the 8-byte length.\n/// Returns the updated hash state and message block that will be used to write the message size.\n///\n/// # Assumptions:\n///\n/// - `msg_block[i] == 0` for all `i > msg_byte_ptr / INT_SIZE`\n/// - `msg_block[msg_byte_ptr / INT_SIZE] & ((1 << 7) * (msg_byte_ptr % INT_SIZE)) == 0`\nfn add_padding_byte_and_compress_if_needed(\n mut msg_block: MSG_BLOCK,\n msg_byte_ptr: BLOCK_BYTE_PTR,\n h: STATE,\n) -> (STATE, MSG_BLOCK) {\n // Pad the rest such that we have a [u32; 2] block at the end representing the length\n // of the message, and a block of 1 0 ... 0 following the message (i.e. [1 << 7, 0, ..., 0]).\n // Here we rely on the fact that everything beyond the available input is set to 0.\n let index = msg_byte_ptr / INT_SIZE;\n\n // Lookup the position of the padding bit and insert it into the message block.\n msg_block[index] += PADDING_BIT_TABLE[msg_byte_ptr % INT_SIZE];\n\n // If we don't have room to write the size, compress the block and reset it.\n if msg_byte_ptr >= MSG_SIZE_PTR {\n let h = sha256_compression(msg_block, h);\n\n // In this case, the final block consists of all zeros with the last 8 bytes containing the length.\n // We set msg_block to all zeros and attach_len_to_msg_block will add the length to the last 8 bytes.\n let msg_block = [0; INT_BLOCK_SIZE];\n (h, msg_block)\n } else {\n (h, msg_block)\n }\n}\n\npub(crate) fn finalize_sha256_blocks(\n message_size: u32,\n mut h: STATE,\n mut msg_block: MSG_BLOCK,\n) -> HASH {\n let msg_byte_ptr = message_size % BLOCK_SIZE;\n\n let (h, mut msg_block) = add_padding_byte_and_compress_if_needed(msg_block, msg_byte_ptr, h);\n\n msg_block = attach_len_to_msg_block(msg_block, message_size);\n\n hash_final_block(msg_block, h)\n}\n\n/**\n * Given some state of a partially computed sha256 hash and part of the preimage, continue hashing\n * @notice used for complex/ recursive offloading of post-partial hashing\n *\n * @param N - the maximum length of the message to hash\n * @param h - the intermediate hash state\n * @param msg - the preimage to hash\n * @param message_size - the actual length of the preimage to hash\n * @return the intermediate hash state after compressing in msg to h\n */\npub fn partial_sha256_var_interstitial<let N: u32>(\n mut h: [u32; 8],\n msg: [u8; N],\n message_size: u32,\n) -> [u32; 8] {\n assert(message_size % BLOCK_SIZE == 0, \"Message size must be a multiple of the block size\");\n if std::runtime::is_unconstrained() {\n // Safety: running as an unconstrained function\n unsafe {\n __sha_partial_var_interstitial(h, msg, message_size)\n }\n } else {\n let (h, _) = process_full_blocks(msg, message_size, h);\n\n h\n }\n}\n\n/**\n * Given some state of a partially computed sha256 hash and remaining preimage, complete the hash\n * @notice used for traditional partial hashing\n *\n * @param N - the maximum length of the message to hash\n * @param h - the intermediate hash state\n * @param msg - the remaining preimage to hash\n * @param message_size - the size of the current chunk\n * @param real_message_size - the total size of the original preimage\n * @return finalized sha256 hash\n */\npub fn partial_sha256_var_end<let N: u32>(\n mut h: [u32; 8],\n msg: [u8; N],\n message_size: u32,\n real_message_size: u32,\n) -> [u8; 32] {\n assert(message_size % BLOCK_SIZE == 0, \"Message size must be a multiple of the block size\");\n if std::runtime::is_unconstrained() {\n // Safety: running as an unconstrained function\n unsafe {\n h = __sha_partial_var_interstitial(h, msg, message_size);\n\n // Handle setup of the final msg block.\n // This case is only hit if the msg is less than the block size,\n // or our message cannot be evenly split into blocks.\n\n finalize_last_sha256_block(h, real_message_size, msg)\n }\n } else {\n let (h, msg_block) = process_full_blocks(msg, message_size, h);\n finalize_sha256_blocks(real_message_size, h, msg_block)\n }\n}\n\nunconstrained fn __sha_partial_var_interstitial<let N: u32>(\n mut h: [u32; 8],\n msg: [u8; N],\n message_size: u32,\n) -> [u32; 8] {\n let num_full_blocks = message_size / BLOCK_SIZE;\n // Intermediate hash, starting with the canonical initial value\n // Pointer into msg_block on a 64 byte scale\n for i in 0..num_full_blocks {\n let msg_block = build_msg_block(msg, message_size, BLOCK_SIZE * i);\n h = sha256_compression(msg_block, h);\n }\n h\n}\n\n// Helper function to finalize the message block with padding and length\nunconstrained fn finalize_last_sha256_block<let N: u32>(\n mut h: STATE,\n message_size: u32,\n msg: [u8; N],\n) -> HASH {\n let msg_byte_ptr = message_size % BLOCK_SIZE;\n\n // We now build the final un-filled block.\n let msg_block: MSG_BLOCK = if msg_byte_ptr != 0 {\n let num_full_blocks = message_size / BLOCK_SIZE;\n let msg_start = BLOCK_SIZE * num_full_blocks;\n build_msg_block(msg, message_size, msg_start)\n } else {\n // If the message size is a multiple of the block size (i.e. `msg_byte_ptr == 0`) then this block will be empty,\n // so we short-circuit in this case.\n [0; 16]\n };\n\n // Once built, we need to add the necessary padding bytes and encoded length\n let (h, mut msg_block) = add_padding_byte_and_compress_if_needed(msg_block, msg_byte_ptr, h);\n msg_block = attach_len_to_msg_block(msg_block, message_size);\n\n hash_final_block(msg_block, h)\n}\n\nmod test_process_full_blocks {\n\n /// Wrapper to force an unconstrained runtime on process_full_blocks.\n unconstrained fn unconstrained_process_full_blocks<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n h: super::STATE,\n ) -> (super::STATE, super::MSG_BLOCK) {\n super::process_full_blocks(msg, message_size, h)\n }\n\n #[test]\n fn test_implementations_agree(msg: [u8; 100], message_size: u32) {\n let message_size = message_size % 100;\n // Safety: test function\n let unconstrained_state =\n unsafe { unconstrained_process_full_blocks(msg, message_size, super::INITIAL_STATE) };\n let state = super::process_full_blocks(msg, message_size, super::INITIAL_STATE);\n assert_eq(state, unconstrained_state);\n }\n}\n\nmod test_sha256_var {\n\n /// Wrapper to force an unconstrained runtime on sha256.\n unconstrained fn unconstrained_sha256<let N: u32>(\n msg: [u8; N],\n message_size: u32,\n ) -> super::HASH {\n super::sha256_var(msg, message_size)\n }\n\n #[test]\n fn test_implementations_agree(msg: [u8; 100], message_size: u32) {\n let message_size = message_size % 100;\n // Safety: test function\n let unconstrained_sha = unsafe { unconstrained_sha256(msg, message_size) };\n let sha = super::sha256_var(msg, message_size);\n assert_eq(sha, unconstrained_sha);\n }\n\n}\n"
4264
4264
  },