From 8135931e4eb756d244481cb983bcc9160dffb1de Mon Sep 17 00:00:00 2001 From: Iris Date: Fri, 29 Mar 2024 11:45:44 +0100 Subject: [PATCH] feat: update getAddressFromStarkName to work with ccip --- package.json | 2 +- .../resolver.compiled_contract_class.json | 2793 +++++++++++++++++ .../resolver/resolver.contract_class.json | 1384 ++++++++ packages/core/__test__/fixtures.ts | 3 + packages/core/__test__/profile.test.ts | 11 + packages/core/__test__/resolve.test.ts | 152 + packages/core/package.json | 2 +- .../core/src/starknetIdNavigator/default.ts | 89 +- packages/core/src/types/lib.ts | 7 + 9 files changed, 4430 insertions(+), 13 deletions(-) create mode 100644 packages/core/__mocks__/resolver/resolver.compiled_contract_class.json create mode 100644 packages/core/__mocks__/resolver/resolver.contract_class.json create mode 100644 packages/core/__test__/resolve.test.ts diff --git a/package.json b/package.json index 83ef23a..6bd7d70 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "starknetid.js", - "version": "3.0.4", + "version": "3.0.5", "description": "JavaScript library for Starknet ID", "private": false, "license": "MIT", diff --git a/packages/core/__mocks__/resolver/resolver.compiled_contract_class.json b/packages/core/__mocks__/resolver/resolver.compiled_contract_class.json new file mode 100644 index 0000000..7ea02ab --- /dev/null +++ b/packages/core/__mocks__/resolver/resolver.compiled_contract_class.json @@ -0,0 +1,2793 @@ +{ + "prime": "0x800000000000011000000000000000000000000000000000000000000000001", + "compiler_version": "2.3.1", + "bytecode": [ + "0x40780017fff7fff", + "0x3", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffeaa7a", + "0x400280007ff87fff", + "0x10780017fff7fff", + "0xd1", + "0x4825800180007ffa", + "0x15586", + "0x400280007ff87fff", + "0x482680017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x185", + "0x20680017fff7ffa", + "0xbb", + "0x20680017fff7ffd", + "0xa9", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x1d5", + "0x40137fef7fff8001", + "0x40137ff07fff8002", + "0x20680017fff7ffe", + "0x91", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x40137ffb7fff8000", + "0x1104800180018000", + "0x172", + "0x20680017fff7ffa", + "0x7e", + "0x20680017fff7ffd", + "0x6c", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x12", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x48127ff37fff8000", + "0x480a7ff97fff8000", + "0x48127ff27fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x8b1", + "0x482480017fff8000", + "0x8b0", + "0x480080007fff8000", + "0x480080007fff8000", + "0x484480017fff8000", + "0x4", + "0x482480017fff8000", + "0x0", + "0x480080027ffc8000", + "0x484480017fff8000", + "0x3", + "0x48307ffd7fff8000", + "0xa0680017fff8000", + "0x8", + "0x48307ffe80007fec", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fe97fff", + "0x10780017fff7fff", + "0x2e", + "0x48307ffe80007fec", + "0x400080007fea7fff", + "0x482480017fea8000", + "0x1", + "0x480a7ff97fff8000", + "0x48127ffd7fff8000", + "0x480a7ff77fff8000", + "0x480a7ffb7fff8000", + "0x480a80017fff8000", + "0x480a80027fff8000", + "0x480a80007fff8000", + "0x48127fe87fff8000", + "0x48127fe87fff8000", + "0x1104800180018000", + "0x1ae", + "0x20680017fff7ffd", + "0x13", + "0x40780017fff7fff", + "0x1", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x48127ffd7fff8000", + "0x1104800180018000", + "0x2d2", + "0x48127ff37fff8000", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x48127fef7fff8000", + "0x48127ff07fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x482480017fe68000", + "0x1", + "0x480a7ff97fff8000", + "0x48127fe57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x48127ff57fff8000", + "0x480a7ff97fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x48127ff77fff8000", + "0x480a7ff97fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x48127fe67fff8000", + "0x480a7ff97fff8000", + "0x48127fe57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x48127ff57fff8000", + "0x480a7ff97fff8000", + "0x48127ff47fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x48127ff77fff8000", + "0x480a7ff97fff8000", + "0x48127ff67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x480a7ff77fff8000", + "0x482680017ff88000", + "0x1", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xffffffffffffffffffffffffffffb064", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x96", + "0x4825800180007ffa", + "0x4f9c", + "0x400280007ff97fff", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xf7", + "0x482680017ff98000", + "0x1", + "0x20680017fff7ffd", + "0x7c", + "0x48127fff7fff8000", + "0x48127fee7fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x40137ffa7fff8000", + "0x1104800180018000", + "0x94", + "0x20680017fff7ffa", + "0x6a", + "0x20680017fff7ffd", + "0x59", + "0x48307ffb80007ffc", + "0x4824800180007fff", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x11", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x480a7ff87fff8000", + "0x48127ff37fff8000", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x482480017ff88000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x7d4", + "0x482480017fff8000", + "0x7d3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff2", + "0x0", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007fef7fff", + "0x10780017fff7fff", + "0x25", + "0x4824800180007ff2", + "0x0", + "0x400080007ff07fff", + "0x482480017ff08000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff87fff8000", + "0x480a7ffb7fff8000", + "0x480a80007fff8000", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x1104800180018000", + "0x20d", + "0x20680017fff7ffd", + "0xd", + "0x40780017fff7fff", + "0x1", + "0x48127ffa7fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffa7fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x480a7ff87fff8000", + "0x482480017fec8000", + "0x1", + "0x48127fec7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x482480017ff88000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x400080007ffe7fff", + "0x480a7ff87fff8000", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x482480017ff88000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x400080007ffe7fff", + "0x480a7ff87fff8000", + "0x48127ffc7fff8000", + "0x48127feb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x482480017ff88000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x480a7ff87fff8000", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x482480017ff88000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x36", + "0x40780017fff7fff", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x480080007ff68000", + "0x1104800180018000", + "0x1bc", + "0x20680017fff7ffa", + "0x1c", + "0x20680017fff7ffd", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffc8000", + "0x1", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x8", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x0", + "0x480080007ffa8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x2", + "0x48297ffc80007ffd", + "0x4824800180007fff", + "0x4", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x26", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x6f6666636861696e5f7265736f6c76696e67", + "0x400080007ffe7fff", + "0x480a7ff47fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x1104800180018000", + "0x1b7", + "0x20680017fff7ffd", + "0xc", + "0x48127ff97fff8000", + "0x480a7ff57fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x480a7ff57fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff47fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x3", + "0x1104800180018000", + "0x1b8", + "0x20680017fff7ffd", + "0xef", + "0x480a7ff67fff8000", + "0x480a7ff87fff8000", + "0x1104800180018000", + "0x1d4", + "0x480080007fd88000", + "0x40137ffb7fff8000", + "0x40137fff7fff8001", + "0x20680017fff7ffc", + "0xdc", + "0x48127fd47fff8000", + "0x480a80017fff8000", + "0x1104800180018000", + "0x1e0", + "0x20680017fff7ffe", + "0xc6", + "0x48307fff80017ff0", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0x14", + "0x400080007ffb7fff", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x5369676e61747572652065787069726564", + "0x400080007ffe7fff", + "0x482480017ff98000", + "0x1", + "0x480a7ff57fff8000", + "0x48127fe67fff8000", + "0x480a7ff77fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x482480017ffa8000", + "0x1", + "0x48127fe87fff8000", + "0x480a7ff77fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x1e2", + "0x20680017fff7ffd", + "0x98", + "0x480680017fff8000", + "0x636369705f64656d6f207265736f6c76696e67", + "0x400080007ffb7fff", + "0x400180017ffb8001", + "0x480080027ffb8000", + "0x400080037ffa7fff", + "0x400080047ffa7ffd", + "0x480080057ffa8000", + "0x400080067ff97fff", + "0x400180077ff97ffb", + "0x48127ff77fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x172", + "0x482480017fea8000", + "0x9", + "0x480080087fe98000", + "0x20680017fff7ffb", + "0x78", + "0x48127fff7fff8000", + "0x480080007ffc8000", + "0x400080007ffc7ffe", + "0x400080017ffc7fff", + "0x48127fe57fff8000", + "0x480a80007fff8000", + "0x1104800180018000", + "0x255", + "0x482480017fe58000", + "0x3", + "0x480080027fe48000", + "0x20680017fff7ffb", + "0x61", + "0x48127fdf7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x1104800180018000", + "0x159", + "0x20680017fff7ffd", + "0x4e", + "0x48127ffc7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x2", + "0x1104800180018000", + "0x150", + "0x480080007ff08000", + "0x20680017fff7ffc", + "0x3a", + "0x48127ffb7fff8000", + "0x480a7ff57fff8000", + "0x48127fde7fff8000", + "0x48127fdb7fff8000", + "0x48127ffb7fff8000", + "0x480080007ff98000", + "0x1104800180018000", + "0x266", + "0x20680017fff7fff", + "0x12", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e76616c6964207369676e6174757265", + "0x400080007ffe7fff", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ed57fff8000", + "0x48127ed97fff8000", + "0x48127ed47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x12c", + "0x20680017fff7ffd", + "0xd", + "0x48127ffc7fff8000", + "0x48127fee7fff8000", + "0x48127ec87fff8000", + "0x48127ecc7fff8000", + "0x48127ec77fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480080007ff88000", + "0x208b7fff7fff7ffe", + "0x48127ffc7fff8000", + "0x48127fee7fff8000", + "0x48127ec87fff8000", + "0x48127ecc7fff8000", + "0x48127ec77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x480a7ff57fff8000", + "0x48127fd87fff8000", + "0x48127fdc7fff8000", + "0x48127fd77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffc7fff8000", + "0x480a7ff57fff8000", + "0x48127fe87fff8000", + "0x48127fec7fff8000", + "0x48127fe77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127fdf7fff8000", + "0x480a7ff57fff8000", + "0x48127ff77fff8000", + "0x48127ffb7fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x480a7ff57fff8000", + "0x48127fe57fff8000", + "0x48127ffb7fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x480a7ff57fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x48127ffb7fff8000", + "0x480a7ff57fff8000", + "0x48127fe87fff8000", + "0x480a7ff77fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127fd47fff8000", + "0x480a7ff57fff8000", + "0x48127ff87fff8000", + "0x480a7ff77fff8000", + "0x480a80007fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffc7fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x400380007ffd7ffb", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x298", + "0x20680017fff7ffd", + "0x20", + "0x480a7ff77fff8000", + "0x48127ffa7fff8000", + "0x480a7ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x2c2", + "0x20680017fff7ffd", + "0xd", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff77fff8000", + "0x48127ffa7fff8000", + "0x480a7ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x580", + "0x482480017fff8000", + "0x57f", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4825800180007ff8", + "0x12a2", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x4c", + "0x4825800180007ff8", + "0x12a2", + "0x400280007ff77fff", + "0x482680017ff78000", + "0x1", + "0x20780017fff7ffd", + "0xd", + "0x48127fff7fff8000", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe5b", + "0x20680017fff7ffe", + "0x27", + "0x400280007ffc7fff", + "0x48127ff07fff8000", + "0x48127fee7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x4825800180007ffd", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd1", + "0x20680017fff7ffa", + "0xc", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff07fff8000", + "0x48127fee7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x24d", + "0x20680017fff7ffc", + "0xb", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffb80007ffc", + "0xa0680017fff8000", + "0x6", + "0x48317ffe80007ffd", + "0x400280007ffa7fff", + "0x10780017fff7fff", + "0x10", + "0x482680017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400280007ffa7fff", + "0x40780017fff7fff", + "0x1", + "0x482680017ffa8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x482a7ffd7ffb8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x482680017ffa8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x27b", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480080017ffb8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x12", + "0x4825800180007ffd", + "0x10000000000000000", + "0x4844800180008002", + "0x8000000000000110000000000000000", + "0x4830800080017ffe", + "0x480280007ffc7fff", + "0x482480017ffe8000", + "0xefffffffffffffdeffffffffffffffff", + "0x480280017ffc7fff", + "0x400280027ffc7ffb", + "0x402480017fff7ffb", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7fff", + "0x11", + "0x402780017fff7fff", + "0x1", + "0x400380007ffc7ffd", + "0x482680017ffd8000", + "0xffffffffffffffff0000000000000000", + "0x400280017ffc7fff", + "0x40780017fff7fff", + "0x5", + "0x482680017ffc8000", + "0x2", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x10780017fff7fff", + "0x8", + "0x482680017ffc8000", + "0x3", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x1104800180018000", + "0x497", + "0x482480017fff8000", + "0x496", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x2256", + "0xa0680017fff8000", + "0x8", + "0x48317ffe80007ffa", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x74", + "0x48317ffe80007ffa", + "0x400280007ff97fff", + "0x48297ffc80007ffd", + "0x482680017ff98000", + "0x1", + "0x4824800180007ffe", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5f", + "0x48127ffe7fff8000", + "0x48297ffc80007ffd", + "0x480680017fff8000", + "0x1", + "0x1104800180018000", + "0x236", + "0x20680017fff7ffd", + "0x4f", + "0x48127ffc7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x48127ffc7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff7b", + "0x20680017fff7ffd", + "0x3f", + "0x480680017fff8000", + "0x0", + "0x480080007ffe8000", + "0x40137fff7fff8000", + "0x48297ffc80007ffd", + "0x48307fed7ffd8000", + "0xa0680017fff8000", + "0x8", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400080007ff57fff", + "0x10780017fff7fff", + "0x22", + "0x48307ffe80007ffd", + "0x400080007ff67fff", + "0x482480017ff68000", + "0x1", + "0x48127fd07fff8000", + "0x480a7ffb7fff8000", + "0x48327ff77ffc8000", + "0x48327ff97ffc8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbe", + "0x20680017fff7ffd", + "0xe", + "0x400180007ffc8000", + "0x400080017ffc7fff", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x482480017ffa8000", + "0x3", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480080027ff78000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x482480017ff38000", + "0x1", + "0x48127fcd7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffc7fff8000", + "0x48127fd67fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffc7fff8000", + "0x48127fe57fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffb7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x3b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a4", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x400280027ffd7ffd", + "0x400280037ffd7ffe", + "0x480280057ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffd8000", + "0x482680017ffd8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffd8000", + "0x480280077ffd8000", + "0x1104800180018000", + "0x1d1", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0x9", + "0x40780017fff7fff", + "0xf6", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x4825800180007ffd", + "0x800000000000010ffffffffffffffffb781126dcae7b2321e66a241adc64d2f", + "0x20680017fff7fff", + "0x9", + "0x40780017fff7fff", + "0xf5", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x4825800180007ffc", + "0x800000000000010ffffffffffffffffb781126dcae7b2321e66a241adc64d2f", + "0x20680017fff7fff", + "0x9", + "0x40780017fff7fff", + "0xf4", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x484a7ffb7ffb8001", + "0x48487ffb80008001", + "0x482680017ffb8001", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x483080007fff7ffd", + "0x4850800080008001", + "0x48307ffb80018000", + "0xa0680017fff8000", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x404480017ff97ffe", + "0x3", + "0x10780017fff7fff", + "0x8f", + "0x4844800180008002", + "0x4000000000000088000000000000000", + "0x4830800080017ffc", + "0x480280007ff87ffe", + "0x480280017ff87ffe", + "0x402480017ffd7fff", + "0xfbfffffffffffff77fffffffffffffff", + "0x400280027ff87fff", + "0x480a7ffb7fff8000", + "0x48127ff87fff8000", + "0x484a7ffc7ffc8001", + "0x48487ffc80008001", + "0x482680017ffc8001", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x483080007fff7ffd", + "0x4850800080008001", + "0x48307ffb80018000", + "0xa0680017fff8000", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x404480017ff97ffe", + "0x3", + "0x10780017fff7fff", + "0x6e", + "0x4844800180008002", + "0x4000000000000088000000000000000", + "0x4830800080017ffc", + "0x480280037ff87ffe", + "0x480280047ff87ffe", + "0x402480017ffd7fff", + "0xfbfffffffffffff77fffffffffffffff", + "0x400280057ff87fff", + "0x480a7ffc7fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "0x480680017fff8000", + "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "0x482680017ff88000", + "0x6", + "0x48507ffe7ffe8000", + "0x48507ffc7ffc8001", + "0x48507ffb80008001", + "0x482480017ffa8001", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x483080007fff7ffd", + "0x48307ffc80007ffb", + "0x20680017fff7fff", + "0x4e", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480a7ff97fff8000", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x165", + "0x20680017fff7fff", + "0x9", + "0x40780017fff7fff", + "0xae", + "0x48127f287fff8000", + "0x48127f4e7fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffd7fff8000", + "0x48127fdc7fff8000", + "0x48127fdc7fff8000", + "0x480a7ffa7fff8000", + "0x1104800180018000", + "0x156", + "0x48127ffd7fff8000", + "0x48127fa37fff8000", + "0x48127fa37fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x150", + "0x48127fdd7fff8000", + "0x48127fdd7fff8000", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x1104800180018000", + "0x183", + "0x20680017fff7fff", + "0x6", + "0x40780017fff7fff", + "0x1", + "0x10780017fff7fff", + "0xc", + "0x48307f8a80007ffe", + "0x20680017fff7fff", + "0x9", + "0x40780017fff7fff", + "0x39", + "0x48127f287fff8000", + "0x48127f907fff8000", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127faa7fff8000", + "0x48127faa7fff8000", + "0x48127fc97fff8000", + "0x48127fc97fff8000", + "0x1104800180018000", + "0x1be", + "0x20680017fff7fff", + "0x6", + "0x40780017fff7fff", + "0x1", + "0x10780017fff7fff", + "0xa", + "0x48307f5180007ffe", + "0x20680017fff7fff", + "0x7", + "0x48127f287fff8000", + "0x48127f907fff8000", + "0x480680017fff8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127f287fff8000", + "0x48127f907fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xd1", + "0x48127f287fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xe0", + "0x482680017ff88000", + "0x3", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xed", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x3b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a4", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffc7fff", + "0x400380017ffc7ffb", + "0x400280027ffc7ffd", + "0x400280037ffc7ffe", + "0x400380047ffc7ffd", + "0x480280067ffc8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffc8000", + "0x482680017ffc8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffc8000", + "0x480280087ffc8000", + "0x1104800180018000", + "0x182", + "0x20680017fff7ffd", + "0xb", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0x174", + "0x20680017fff7ffc", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x2bf", + "0x482480017fff8000", + "0x2be", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x4a24", + "0xa0680017fff8000", + "0x8", + "0x48317ffe80007ff8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x48", + "0x48317ffe80007ff8", + "0x400280007ff77fff", + "0x482680017ff78000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x1c1", + "0x20680017fff7ffd", + "0x31", + "0x20680017fff7fff", + "0xc", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480a7ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x400280007ffd7fff", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x482680017ffb8000", + "0x1", + "0x480a7ffc7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffcf", + "0x20680017fff7ffc", + "0xc", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0x1a7", + "0x20680017fff7ffd", + "0xa", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480080007ffb8000", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48297ffd80017ffc", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ffb7fff", + "0x10780017fff7fff", + "0xc", + "0x400280007ffb7fff", + "0x40780017fff7fff", + "0x1", + "0x482680017ffb8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x10780017fff7fff", + "0x8", + "0x482680017ffb8000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x482480017ffc8000", + "0x100000000", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x1104800180018000", + "0x1a5", + "0x20680017fff7ffd", + "0x9", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffc", + "0x9", + "0x40780017fff7fff", + "0x18", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x10780017fff7fff", + "0x31", + "0x4800800080068004", + "0x4800800180058004", + "0x4850800380037ffe", + "0x4850800180017ffe", + "0x485080007ffd7ffe", + "0x482480017fff7ffe", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x48307ffd7ffc7ffa", + "0x400280007ffa7ffd", + "0x400280017ffa7ffe", + "0x400380027ffa7ffb", + "0x400380037ffa7ffc", + "0x400380047ffa7ffd", + "0x480280057ffa8000", + "0x480280067ffa8000", + "0x48127ffd7fff8000", + "0x482680017ffa8000", + "0x7", + "0x480080007ffe8000", + "0x480080017ffd8000", + "0x48307ffe80007ffa", + "0x20680017fff7fff", + "0x5", + "0x40127ffe7fff7ffa", + "0x10780017fff7fff", + "0xe", + "0x48307ffe7ffa8000", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48307ffa7ff68000", + "0x48307fff80027ffe", + "0x483080017fff7ff4", + "0x48507ffe7ffb7fff", + "0x48307ff380007ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff27fff8000", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x7", + "0x40780017fff7fff", + "0x2a", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x2a", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x4800800080068004", + "0x4800800180058004", + "0x4850800380037ffe", + "0x4850800180017ffe", + "0x485080007ffd7ffe", + "0x482480017fff7ffe", + "0x6f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e89", + "0x48307ffd7ffc7ffa", + "0x48317ffd80007ffa", + "0x20680017fff7fff", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x48317ffd80007ffb", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48327ff97ffa8000", + "0x48307fff80027ffe", + "0x483180017fff7ffa", + "0x48507ffe7ffb7fff", + "0x48287ffb80007ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x48317ffd80007ffc", + "0x20680017fff7fff", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x48317ffd80007ffd", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48327ff97ffc8000", + "0x48307fff80027ffe", + "0x483180017fff7ffc", + "0x48507ffe7ffb7fff", + "0x48287ffd80007ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x48127ff47fff8000", + "0x480080007fff8000", + "0x480080017ffe8000", + "0x48307ffe80007ffb", + "0x20680017fff7fff", + "0x5", + "0x40127ffe7fff7ffb", + "0x10780017fff7fff", + "0xe", + "0x48307ffe7ffb8000", + "0x48507ffe80007fff", + "0x48507fff7fff8000", + "0x48307ffa7ff78000", + "0x48307fff80027ffe", + "0x483080017fff7ff5", + "0x48507ffe7ffb7fff", + "0x48307ff480007ffe", + "0x48127ffe7fff8000", + "0x48127ffe7fff8000", + "0x10780017fff7fff", + "0x8", + "0x40780017fff7fff", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x30", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x484680017ffd8000", + "0x800000000000011000000000000000000000000000000000000000000000000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa4", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x9", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x163", + "0x482480017fff8000", + "0x162", + "0x480080007fff8000", + "0x480080007fff8000", + "0x482480017fff8000", + "0x4e70", + "0xa0680017fff8000", + "0x8", + "0x48317ffe80007ff8", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x5d", + "0x48317ffe80007ff8", + "0x400280007ff77fff", + "0x482680017ff78000", + "0x1", + "0x48297ffb80007ffc", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xa", + "0x482680017ffb8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x10780017fff7fff", + "0x8", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x20680017fff7ffc", + "0x38", + "0x48127ff87fff8000", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffd7fff8000", + "0x480080007ff88000", + "0x1104800180018000", + "0xc2", + "0x20680017fff7ffd", + "0x23", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127fcd7fff8000", + "0x48127fcd7fff8000", + "0x482680017ffd8000", + "0x1", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc4", + "0x20680017fff7ffc", + "0xc", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff67fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x48127ff87fff8000", + "0x482480017ff78000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff97fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffd7fff8000", + "0x1104800180018000", + "0xae", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x53746f7261676552656164", + "0x400280007ffc7fff", + "0x400380017ffc7ffa", + "0x400280027ffc7ffe", + "0x400280037ffc7ffd", + "0x480280057ffc8000", + "0x20680017fff7fff", + "0xc", + "0x480280047ffc8000", + "0x482680017ffc8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280067ffc8000", + "0x10780017fff7fff", + "0x9", + "0x480280047ffc8000", + "0x482680017ffc8000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ffc8000", + "0x480280077ffc8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeaf", + "0x20680017fff7ffd", + "0xc", + "0x48127ff07fff8000", + "0x48127ff57fff8000", + "0x48127fef7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff07fff8000", + "0x48127ff57fff8000", + "0x48127fef7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x476574457865637574696f6e496e666f", + "0x400280007ffd7fff", + "0x400380017ffd7ffc", + "0x480280037ffd8000", + "0x20680017fff7fff", + "0xc", + "0x480280027ffd8000", + "0x482680017ffd8000", + "0x5", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480280047ffd8000", + "0x10780017fff7fff", + "0x9", + "0x480280027ffd8000", + "0x482680017ffd8000", + "0x6", + "0x480680017fff8000", + "0x1", + "0x480280047ffd8000", + "0x480280057ffd8000", + "0x1104800180018000", + "0x89", + "0x20680017fff7ffd", + "0xa", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0xa", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x400180007fff7ffd", + "0x480680017fff8000", + "0x1", + "0x48127ffe7fff8000", + "0x482480017ffd8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480a7ff87fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x38", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x53746f726167655772697465", + "0x400280007ffb7fff", + "0x400380017ffb7ff9", + "0x400280027ffb7ffe", + "0x400280037ffb7ffd", + "0x400380047ffb7ffd", + "0x480280067ffb8000", + "0x20680017fff7fff", + "0xd", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x10780017fff7fff", + "0x9", + "0x480280057ffb8000", + "0x482680017ffb8000", + "0x9", + "0x480680017fff8000", + "0x1", + "0x480280077ffb8000", + "0x480280087ffb8000", + "0x1104800180018000", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffedd", + "0x20680017fff7ffd", + "0xd", + "0x48127ff07fff8000", + "0x48127ff57fff8000", + "0x48127fef7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff07fff8000", + "0x48127ff57fff8000", + "0x48127fef7fff8000", + "0x48127ff47fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x2ee3279dd30231650e0b4a1a3516ab3dc26b6d3dfcb6ef20fb4329cfc1213e1", + "0x400280007ffc7fff", + "0x400380017ffc7ffd", + "0x480280027ffc8000", + "0xa0680017fff8005", + "0xe", + "0x4824800180057ffe", + "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00", + "0x484480017ffe8000", + "0x110000000000000000", + "0x48307ffe7fff8003", + "0x480280007ffb7ffc", + "0x480280017ffb7ffc", + "0x482480017ffb7ffd", + "0xffffffffffffffeefffffffffffffeff", + "0x400280027ffb7ffc", + "0x10780017fff7fff", + "0x11", + "0x48127ffe7fff8005", + "0x484480017ffe8000", + "0x8000000000000000000000000000000", + "0x48307ffe7fff8003", + "0x480280007ffb7ffd", + "0x482480017ffc7ffe", + "0xf0000000000000000000000000000100", + "0x480280017ffb7ffd", + "0x400280027ffb7ff9", + "0x402480017ffd7ff9", + "0xffffffffffffffffffffffffffffffff", + "0x20680017fff7ffd", + "0x4", + "0x402780017fff7fff", + "0x1", + "0x482680017ffb8000", + "0x3", + "0x482680017ffc8000", + "0x3", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffb", + "0x8", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x1", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x208b7fff7fff7ffe" + ], + "hints": [ + [ + 2, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x15586" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [49, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 79, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "AP", "offset": -19 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [104, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [131, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [148, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [174, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [190, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [216, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 235, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x4f9c" }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [271, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 291, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x0" }, + "rhs": { "Deref": { "register": "AP", "offset": -13 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [315, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [335, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [351, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [375, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [390, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [429, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [539, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 600, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": 0 } }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": -1 } + } + } + ] + ], + [608, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [699, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [795, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 887, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Immediate": "0x12a2" }, + "rhs": { "Deref": { "register": "FP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [970, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1021, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "FP", "offset": -3 } }, + "rhs": { "Deref": { "register": "AP", "offset": -1 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1041, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1075, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "FP", "offset": -3 } }, + "rhs": { "Immediate": "0x10000000000000000" }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1079, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -1 } }, + "scalar": { "Immediate": "0x8000000000000110000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 1123, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "FP", "offset": -6 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1164, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "AP", "offset": -2 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1204, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [1245, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1270, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [ + 1345, + [ + { + "FieldSqrt": { + "val": { "Deref": { "register": "AP", "offset": -4 } }, + "sqrt": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1355, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -3 } }, + "scalar": { "Immediate": "0x4000000000000088000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 1370, + [ + { + "FieldSqrt": { + "val": { "Deref": { "register": "AP", "offset": -4 } }, + "sqrt": { "register": "AP", "offset": 0 } + } + } + ] + ], + [ + 1380, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": -3 } }, + "scalar": { "Immediate": "0x4000000000000088000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": 0 }, + "y": { "register": "AP", "offset": 1 } + } + } + ] + ], + [ + 1514, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ], + [ + 1595, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "FP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [1673, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 1713, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": 0 } }, + "rhs": { "Immediate": "0x100000000" }, + "dst": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 1777, + [ + { + "RandomEcPoint": { + "x": { "register": "AP", "offset": 4 }, + "y": { "register": "AP", "offset": 5 } + } + }, + { + "AllocConstantSize": { + "size": { "Immediate": "0x2" }, + "dst": { "register": "AP", "offset": 6 } + } + } + ] + ], + [ + 1839, + [ + { + "RandomEcPoint": { + "x": { "register": "AP", "offset": 4 }, + "y": { "register": "AP", "offset": 5 } + } + }, + { + "AllocConstantSize": { + "size": { "Immediate": "0x2" }, + "dst": { "register": "AP", "offset": 6 } + } + } + ] + ], + [ + 1943, + [ + { + "TestLessThanOrEqual": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { "Deref": { "register": "FP", "offset": -8 } }, + "dst": { "register": "AP", "offset": 0 } + } + } + ] + ], + [2042, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2073, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -4 } } + } + } + ] + ], + [ + 2120, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -3 } } + } + } + ] + ], + [2169, [{ "AllocSegment": { "dst": { "register": "AP", "offset": 0 } } }]], + [ + 2192, + [ + { + "SystemCall": { + "system": { "Deref": { "register": "FP", "offset": -5 } } + } + } + ] + ], + [ + 2242, + [ + { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", "offset": -1 } }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "dst": { "register": "AP", "offset": 5 } + } + } + ] + ], + [ + 2246, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x110000000000000000" }, + "max_x": { "Immediate": "0xffffffffffffffffffffffffffffffff" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ], + [ + 2257, + [ + { + "LinearSplit": { + "value": { "Deref": { "register": "AP", "offset": 4 } }, + "scalar": { "Immediate": "0x8000000000000000000000000000000" }, + "max_x": { "Immediate": "0xfffffffffffffffffffffffffffffffe" }, + "x": { "register": "AP", "offset": -2 }, + "y": { "register": "AP", "offset": -1 } + } + } + ] + ] + ], + "pythonic_hints": [ + [2, ["memory[ap + 0] = 87430 <= memory[fp + -6]"]], + [49, ["memory[ap + 0] = segments.add()"]], + [79, ["memory[ap + 0] = memory[ap + -1] <= memory[ap + -19]"]], + [104, ["memory[ap + 0] = segments.add()"]], + [131, ["memory[ap + 0] = segments.add()"]], + [148, ["memory[ap + 0] = segments.add()"]], + [174, ["memory[ap + 0] = segments.add()"]], + [190, ["memory[ap + 0] = segments.add()"]], + [216, ["memory[ap + 0] = segments.add()"]], + [235, ["memory[ap + 0] = 20380 <= memory[fp + -6]"]], + [271, ["memory[ap + 0] = segments.add()"]], + [291, ["memory[ap + 0] = 0 <= memory[ap + -13]"]], + [315, ["memory[ap + 0] = segments.add()"]], + [335, ["memory[ap + 0] = segments.add()"]], + [351, ["memory[ap + 0] = segments.add()"]], + [375, ["memory[ap + 0] = segments.add()"]], + [390, ["memory[ap + 0] = segments.add()"]], + [429, ["memory[ap + 0] = segments.add()"]], + [539, ["memory[ap + 0] = segments.add()"]], + [600, ["memory[ap + -1] = memory[ap + 0] < 18446744073709551616"]], + [608, ["memory[ap + 0] = segments.add()"]], + [699, ["memory[ap + 0] = segments.add()"]], + [795, ["memory[ap + 0] = segments.add()"]], + [887, ["memory[ap + 0] = 4770 <= memory[fp + -8]"]], + [970, ["memory[ap + 0] = segments.add()"]], + [1021, ["memory[ap + 0] = memory[fp + -3] < memory[ap + -1]"]], + [1041, ["memory[ap + 0] = segments.add()"]], + [1075, ["memory[ap + 0] = memory[fp + -3] < 18446744073709551616"]], + [ + 1079, + [ + "\n(value, scalar) = (memory[ap + -1], 10633823966279327296825105735305134080)\nx = min(value // scalar, 340282366920938463463374607431768211454)\ny = value - x * scalar\nmemory[ap + 0] = x\nmemory[ap + 1] = y\n" + ] + ], + [1123, ["memory[ap + 0] = memory[ap + -1] <= memory[fp + -6]"]], + [1164, ["memory[ap + 0] = memory[ap + -1] <= memory[ap + -2]"]], + [1204, ["memory[ap + 0] = segments.add()"]], + [1245, ["memory[ap + 0] = segments.add()"]], + [1270, ["syscall_handler.syscall(syscall_ptr=memory[fp + -3])"]], + [ + 1345, + [ + "\nfrom starkware.crypto.signature.signature import FIELD_PRIME\nfrom starkware.python.math_utils import is_quad_residue, sqrt\n\nval = memory[ap + -4]\nif is_quad_residue(val, FIELD_PRIME):\n memory[ap + 0] = sqrt(val, FIELD_PRIME)\nelse:\n memory[ap + 0] = sqrt(val * 3, FIELD_PRIME)\n" + ] + ], + [ + 1355, + [ + "\n(value, scalar) = (memory[ap + -3], 5316911983139663648412552867652567040)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + 0] = x\nmemory[ap + 1] = y\n" + ] + ], + [ + 1370, + [ + "\nfrom starkware.crypto.signature.signature import FIELD_PRIME\nfrom starkware.python.math_utils import is_quad_residue, sqrt\n\nval = memory[ap + -4]\nif is_quad_residue(val, FIELD_PRIME):\n memory[ap + 0] = sqrt(val, FIELD_PRIME)\nelse:\n memory[ap + 0] = sqrt(val * 3, FIELD_PRIME)\n" + ] + ], + [ + 1380, + [ + "\n(value, scalar) = (memory[ap + -3], 5316911983139663648412552867652567040)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + 0] = x\nmemory[ap + 1] = y\n" + ] + ], + [1514, ["syscall_handler.syscall(syscall_ptr=memory[fp + -4])"]], + [1595, ["memory[ap + 0] = memory[ap + -1] <= memory[fp + -8]"]], + [1673, ["memory[ap + 0] = segments.add()"]], + [1713, ["memory[ap + -1] = memory[ap + 0] < 4294967296"]], + [ + 1777, + [ + "\nfrom starkware.crypto.signature.signature import ALPHA, BETA, FIELD_PRIME\nfrom starkware.python.math_utils import random_ec_point\n(memory[ap + 4], memory[ap + 5]) = random_ec_point(FIELD_PRIME, ALPHA, BETA)\n", + "\nif '__boxed_segment' not in globals():\n __boxed_segment = segments.add()\nmemory[ap + 6] = __boxed_segment\n__boxed_segment += 2\n" + ] + ], + [ + 1839, + [ + "\nfrom starkware.crypto.signature.signature import ALPHA, BETA, FIELD_PRIME\nfrom starkware.python.math_utils import random_ec_point\n(memory[ap + 4], memory[ap + 5]) = random_ec_point(FIELD_PRIME, ALPHA, BETA)\n", + "\nif '__boxed_segment' not in globals():\n __boxed_segment = segments.add()\nmemory[ap + 6] = __boxed_segment\n__boxed_segment += 2\n" + ] + ], + [1943, ["memory[ap + 0] = memory[ap + -1] <= memory[fp + -8]"]], + [2042, ["memory[ap + 0] = segments.add()"]], + [2073, ["syscall_handler.syscall(syscall_ptr=memory[fp + -4])"]], + [2120, ["syscall_handler.syscall(syscall_ptr=memory[fp + -3])"]], + [2169, ["memory[ap + 0] = segments.add()"]], + [2192, ["syscall_handler.syscall(syscall_ptr=memory[fp + -5])"]], + [ + 2242, + [ + "memory[ap + 5] = memory[ap + -1] < 3618502788666131106986593281521497120414687020801267626233049500247285300992" + ] + ], + [ + 2246, + [ + "\n(value, scalar) = (memory[ap + 4], 313594649253062377472)\nx = min(value // scalar, 340282366920938463463374607431768211455)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" + ] + ], + [ + 2257, + [ + "\n(value, scalar) = (memory[ap + 4], 10633823966279326983230456482242756608)\nx = min(value // scalar, 340282366920938463463374607431768211454)\ny = value - x * scalar\nmemory[ap + -2] = x\nmemory[ap + -1] = y\n" + ] + ] + ], + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x2412dc2a4a0554946f855b8a477bb5d50aeb5d097ddd55c2f7b4dda077bf63a", + "offset": 0, + "builtins": ["pedersen", "range_check", "ec_op"] + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [ + { + "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", + "offset": 233, + "builtins": ["pedersen", "range_check"] + } + ] + } +} diff --git a/packages/core/__mocks__/resolver/resolver.contract_class.json b/packages/core/__mocks__/resolver/resolver.contract_class.json new file mode 100644 index 0000000..128839f --- /dev/null +++ b/packages/core/__mocks__/resolver/resolver.contract_class.json @@ -0,0 +1,1384 @@ +{ + "sierra_program": [ + "0x1", + "0x3", + "0x0", + "0x2", + "0x3", + "0x1", + "0x24d", + "0x1b3", + "0x4f", + "0x66656c74323532", + "0x800000000000000700000000000000000000000000000000", + "0x556e696e697469616c697a6564", + "0x800000000000000200000000000000000000000000000001", + "0x1", + "0x0", + "0x426f78", + "0x800000000000000700000000000000000000000000000001", + "0x11", + "0x4172726179", + "0x800000000000000300000000000000000000000000000001", + "0x456e756d", + "0x800000000000000300000000000000000000000000000003", + "0x2c7badf5cd070e89531ef781330a9554b04ce4ea21304b67a30ac3d43df84a2", + "0x2", + "0x3", + "0x537472756374", + "0x800000000000000f00000000000000000000000000000001", + "0x19d32424e84f5069e406586e21944121b39c87bc8887aef908422491fb41b8f", + "0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3", + "0x800000000000000f00000000000000000000000000000003", + "0x5", + "0x6", + "0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672", + "0x8", + "0xa2d31116c0a1bc699e756fce5a269ef0f9ff91fe735705fe69547e7fd041a8", + "0x7", + "0x9", + "0x45635374617465", + "0x753332", + "0x800000000000000700000000000000000000000000000003", + "0x39a088813bcc109470bd475058810a7465bd632650a449e0ab3aee56f2e4e69", + "0xc", + "0x15", + "0x25", + "0x436f6e747261637441646472657373", + "0x800000000000000700000000000000000000000000000006", + "0x19367431bdedfe09ea99eed9ade3de00f195dd97087ed511b8942ebb45dbc5a", + "0xf", + "0xe", + "0x10", + "0x75313238", + "0x536e617073686f74", + "0x800000000000000700000000000000000000000000000002", + "0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62", + "0x13", + "0x800000000000000700000000000000000000000000000008", + "0x2e655a7513158873ca2e5e659a9e175d23bf69a2325cdd0397ca3b8d864b967", + "0x12", + "0x14", + "0x38f4af6e44b2e0a6ad228a4874672855e693db590abc7105a5a9819dbbf5ba6", + "0x16", + "0x800000000000000700000000000000000000000000000005", + "0x3a3a2d73131e0284646c90a573bf94a2a8d2aac1c046937e3a51ebbc2eaf28b", + "0x18", + "0x800000000000000f00000000000000000000000000000002", + "0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5", + "0x1a", + "0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99", + "0x4563506f696e74", + "0x4e6f6e5a65726f", + "0x1d", + "0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc", + "0x53746f7261676541646472657373", + "0x53746f726167654261736541646472657373", + "0x3ab802bcce3a9ca953b0e1f31a5b29eb27a9b727c891e24300e1b5cc57387ba", + "0x22", + "0x753634", + "0x800000000000000700000000000000000000000000000004", + "0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5", + "0x24", + "0xe688ac0888a7171e23d265a0ea68699a0ab1f7192e9651213e940c13b80319", + "0x26", + "0x800000000000000300000000000000000000000000000004", + "0x27d6228f579b54e8a8059dc6c6a78c72c7e94e752c12c80bcba98e53610bcd2", + "0x28", + "0x3e3e38a175e5d418933e6d6bf29c141cd6558c49e96009b5aea35de10a147bc", + "0x2b", + "0x5b350865390619416695335f15e61f846707d070b9b3b6b22578b556ad9019", + "0x2c", + "0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972", + "0x1166fe35572d4e7764dac0caf1fd7fc591901fd01156db2561a07b68ab8dca2", + "0x156b6b29ca961a0da2cfe5b86b7d70df78ddc905131c6ded2cd9024ceb26b4e", + "0x1ee471fea880cdb75aff7b143b1653e4803b9dca47f4fcdd349d11fec9d7a16", + "0x31", + "0x33", + "0x3ae40d407f8074730e48241717c3dd78b7128d346cf81094e31806a3a5bdf", + "0x34", + "0x800000000000000300000000000000000000000000000002", + "0x2bcddf47e99bd2b365b672ce4ab3c5daf69bca568e14d0c1ccc9cee29ffaf43", + "0x36", + "0x53797374656d", + "0x800000000000000100000000000000000000000000000000", + "0x38", + "0x17b6ecc31946835b0d9d92c2dd7a9c14f29af0371571ae74a1b228828b2242", + "0x3a", + "0x34f9bd7c6cb2dd4263175964ad75f1ff1461ddc332fbfb274e0fb2a5d7ab968", + "0x3b", + "0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7", + "0x2677779dd181908c0b177bd30a4f501984314155c759dcf84ff2a13cb1c8d3b", + "0x3e", + "0x31866f0c504cdd102a7d49f07d4cdbb62444e9639aeb072ed29d93f8f042ed1", + "0x3f", + "0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259", + "0x42", + "0x4275696c74696e436f737473", + "0x45634f70", + "0x506564657273656e", + "0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6", + "0x41", + "0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511", + "0x1d49f7a4b277bf7b55a2664ce8cef5d6922b5ffb806b89644b9e0cdbbcac378", + "0x49", + "0x13fdd7105045794a99550ae1c4ac13faa62610dfab62c16422bfcf5803baa6e", + "0x4a", + "0x4761734275696c74696e", + "0x52616e6765436865636b", + "0x136", + "0x616c6c6f635f6c6f63616c", + "0x66696e616c697a655f6c6f63616c73", + "0x7265766f6b655f61705f747261636b696e67", + "0x77697468647261775f676173", + "0x6272616e63685f616c69676e", + "0x73746f72655f74656d70", + "0x4d", + "0x4c", + "0x66756e6374696f6e5f63616c6c", + "0x656e756d5f6d61746368", + "0x4b", + "0x7374727563745f6465636f6e737472756374", + "0x73746f72655f6c6f63616c", + "0x48", + "0x61727261795f6c656e", + "0x736e617073686f745f74616b65", + "0x64726f70", + "0x7533325f636f6e7374", + "0x72656e616d65", + "0x7533325f6571", + "0x61727261795f6e6577", + "0x66656c743235325f636f6e7374", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x61727261795f617070656e64", + "0x7374727563745f636f6e737472756374", + "0x656e756d5f696e6974", + "0x47", + "0x46", + "0x45", + "0x6765745f6275696c74696e5f636f737473", + "0x44", + "0x77697468647261775f6761735f616c6c", + "0x4", + "0x43", + "0x4f7574206f6620676173", + "0x4661696c656420746f20646573657269616c697a6520706172616d202333", + "0x4661696c656420746f20646573657269616c697a6520706172616d202332", + "0x4e", + "0x4661696c656420746f20646573657269616c697a6520706172616d202331", + "0x40", + "0x64697361626c655f61705f747261636b696e67", + "0x61727261795f736e617073686f745f706f705f66726f6e74", + "0x3d", + "0x6a756d70", + "0x756e626f78", + "0x3c", + "0x647570", + "0x39", + "0x6f6666636861696e5f7265736f6c76696e67", + "0x37", + "0x35", + "0xa", + "0x32", + "0xb", + "0x30", + "0x7536345f6f766572666c6f77696e675f737562", + "0x5369676e61747572652065787069726564", + "0x636369705f64656d6f207265736f6c76696e67", + "0x2f", + "0x706564657273656e", + "0xd", + "0x2e", + "0x496e76616c6964207369676e6174757265", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x2d", + "0x66656c743235325f69735f7a65726f", + "0x2a", + "0x66656c743235325f737562", + "0x29", + "0x61727261795f676574", + "0x496e646578206f7574206f6620626f756e6473", + "0x27", + "0x7536345f7472795f66726f6d5f66656c74323532", + "0x23", + "0x61727261795f736c696365", + "0x73746f726167655f626173655f616464726573735f636f6e7374", + "0x3b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a4", + "0x73746f726167655f616464726573735f66726f6d5f62617365", + "0x20", + "0x73746f726167655f726561645f73797363616c6c", + "0x1f", + "0x800000000000010ffffffffffffffffb781126dcae7b2321e66a241adc64d2f", + "0x65635f706f696e745f66726f6d5f785f6e7a", + "0x1e", + "0x756e777261705f6e6f6e5f7a65726f", + "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "0x65635f706f696e745f7472795f6e65775f6e7a", + "0x65635f706f696e745f69735f7a65726f", + "0x65635f706f696e745f756e77726170", + "0x17", + "0x73746f726167655f77726974655f73797363616c6c", + "0x1c", + "0x1b", + "0x19", + "0x66656c743235325f616464", + "0x7533325f6f766572666c6f77696e675f737562", + "0x7533325f737562204f766572666c6f77", + "0x65635f73746174655f696e6974", + "0x65635f73746174655f6164645f6d756c", + "0x65635f73746174655f7472795f66696e616c697a655f6e7a", + "0x65635f706f696e745f7a65726f", + "0x65635f73746174655f616464", + "0x65635f6e6567", + "0x656e61626c655f61705f747261636b696e67", + "0x6765745f657865637574696f6e5f696e666f5f73797363616c6c", + "0x2ee3279dd30231650e0b4a1a3516ab3dc26b6d3dfcb6ef20fb4329cfc1213e1", + "0xad292db4ff05a993c318438c1b6c8a8303266af2da151aa28ccece6726f1f1", + "0x21", + "0x7cb", + "0xffffffffffffffff", + "0xcf", + "0xc4", + "0xb1", + "0x9e", + "0x93", + "0x80", + "0x6e", + "0x50", + "0x51", + "0x52", + "0x53", + "0x54", + "0x55", + "0x56", + "0x57", + "0x65", + "0x58", + "0x59", + "0x5a", + "0x5b", + "0x5c", + "0x5f", + "0x60", + "0x5d", + "0x5e", + "0x61", + "0x62", + "0x63", + "0x64", + "0x66", + "0x67", + "0x68", + "0x69", + "0x6a", + "0x6b", + "0x6c", + "0x6d", + "0x6f", + "0x70", + "0x71", + "0x72", + "0x73", + "0x74", + "0x75", + "0x76", + "0x77", + "0x78", + "0x79", + "0x7a", + "0x7b", + "0x7c", + "0x7d", + "0x7e", + "0x7f", + "0x81", + "0x82", + "0x83", + "0x84", + "0x85", + "0x86", + "0x87", + "0x88", + "0x89", + "0x8a", + "0x8b", + "0x8c", + "0x8d", + "0x8e", + "0x8f", + "0x90", + "0x91", + "0x92", + "0x94", + "0x95", + "0x96", + "0x97", + "0x98", + "0x99", + "0x9a", + "0x9b", + "0x9c", + "0x9d", + "0x9f", + "0xa0", + "0xa1", + "0xa2", + "0xa3", + "0xa4", + "0xa5", + "0xa6", + "0xa7", + "0xa8", + "0xa9", + "0xaa", + "0xab", + "0xac", + "0xad", + "0xae", + "0xaf", + "0xb0", + "0xb2", + "0xb3", + "0xb4", + "0xb5", + "0xb6", + "0xb7", + "0xb8", + "0xb9", + "0xba", + "0xbb", + "0xbc", + "0x172", + "0x161", + "0x158", + "0x147", + "0x110", + "0x137", + "0x12f", + "0x18a", + "0x18f", + "0x1b9", + "0x1b3", + "0x1ab", + "0x1ca", + "0x1cf", + "0x1d9", + "0x21d", + "0x214", + "0x340", + "0x332", + "0x31c", + "0x24f", + "0x30f", + "0x303", + "0x2f8", + "0x2ec", + "0x2df", + "0xbd", + "0xc1", + "0xc2", + "0xc3", + "0xc5", + "0xc6", + "0xbe", + "0xbf", + "0xc0", + "0xc7", + "0x2c0", + "0xc8", + "0xc9", + "0xca", + "0xcb", + "0xcc", + "0xcd", + "0xce", + "0xd0", + "0xd1", + "0xd2", + "0xd3", + "0xd4", + "0xd5", + "0xd6", + "0xd9", + "0xda", + "0xdb", + "0xd7", + "0xd8", + "0xdc", + "0x2d6", + "0xdd", + "0xde", + "0xdf", + "0xe0", + "0xe1", + "0xe2", + "0xe3", + "0xe4", + "0xe5", + "0xe6", + "0xe7", + "0xe8", + "0xe9", + "0xea", + "0xeb", + "0xec", + "0xed", + "0xee", + "0xef", + "0xf0", + "0xf1", + "0xf2", + "0xf3", + "0xf4", + "0xf5", + "0xf6", + "0xf7", + "0xf8", + "0xf9", + "0xfa", + "0xfb", + "0xfc", + "0xfd", + "0xfe", + "0xff", + "0x100", + "0x101", + "0x102", + "0x103", + "0x104", + "0x105", + "0x106", + "0x107", + "0x108", + "0x109", + "0x10a", + "0x10b", + "0x10c", + "0x10d", + "0x10e", + "0x10f", + "0x111", + "0x112", + "0x113", + "0x114", + "0x115", + "0x116", + "0x117", + "0x118", + "0x119", + "0x11a", + "0x11b", + "0x11c", + "0x11d", + "0x11e", + "0x11f", + "0x120", + "0x121", + "0x122", + "0x123", + "0x124", + "0x125", + "0x126", + "0x127", + "0x128", + "0x129", + "0x12a", + "0x12b", + "0x12c", + "0x37d", + "0x375", + "0x3c0", + "0x398", + "0x3b6", + "0x3b0", + "0x3e6", + "0x3f5", + "0x410", + "0x41c", + "0x421", + "0x4a2", + "0x496", + "0x48c", + "0x481", + "0x472", + "0x46a", + "0x4bf", + "0x4c4", + "0x4cf", + "0x4e2", + "0x4f4", + "0x506", + "0x583", + "0x578", + "0x56c", + "0x52a", + "0x53d", + "0x550", + "0x54e", + "0x557", + "0x566", + "0x564", + "0x59c", + "0x5a1", + "0x5ac", + "0x5ce", + "0x623", + "0x618", + "0x5f8", + "0x610", + "0x646", + "0x652", + "0x656", + "0x662", + "0x66d", + "0x67a", + "0x68a", + "0x685", + "0x688", + "0x693", + "0x699", + "0x6a5", + "0x6a8", + "0x6b0", + "0x6be", + "0x71e", + "0x6d2", + "0x6d7", + "0x712", + "0x708", + "0x700", + "0x73e", + "0x743", + "0x750", + "0x75f", + "0x764", + "0x76f", + "0x77c", + "0x12d", + "0x796", + "0x79b", + "0x7a8", + "0x12e", + "0x130", + "0x131", + "0x132", + "0x133", + "0x134", + "0x135", + "0x7c5", + "0x182", + "0x1c3", + "0x1e0", + "0x34f", + "0x355", + "0x387", + "0x3cf", + "0x3ee", + "0x400", + "0x416", + "0x424", + "0x4b2", + "0x4d5", + "0x58d", + "0x5b3", + "0x5d7", + "0x634", + "0x64c", + "0x667", + "0x673", + "0x68d", + "0x6aa", + "0x6b8", + "0x6c4", + "0x72f", + "0x758", + "0x775", + "0x785", + "0x7b1", + "0x7bf", + "0x45df", + "0x12044100140f0140e0180d030060140b028090140801c060140400c0200400", + "0x5064050500603411060060481105c05058050500605411050060481104c06", + "0x220140801c2101421014200181f03002078020741c0141b0141a0180d03010", + "0x50202b0082a018050a4050a4050a00509c0509806094110082408c0502007", + "0x6014060140601432014310142901406014300182f0442e0142d0182c04410", + "0x501805058050c805050060d411070050d0050cc060340c03c05050060b011", + "0xd0301c0143a014390180d0301701414018380441c01437014360180d03017", + "0x11008410084004005018050fc060340c0f8050203d0083c0400505c050ec06", + "0x2901447014470144601845044021101c01443014420180d03021014140182c", + "0xc05c05018050400505006128110700512405120060340c09c05050060b011", + "0xd030170144e01414018150444d0181204406014080f41c0144c0144b0180d", + "0x514c0607c0c01805148060b01105c0505c051440607c0c070051400513c06", + "0x140182c044060140801c1c01455014540180d03047014140182c0441701447", + "0x5c0700516c05168060340c040050500616411070051600515c060340c15805", + "0x610180d0306001432014140180d04417014100145f0180d0305e0140400c5d", + "0x505006054110580513805190060541105c051580518c0607c0c0700518805", + "0xd03006014140182c04432014140182c0441c01467014660180d0301701465", + "0x51bc0607c0c070051b8051b4060340c1746c1746b0086a070051a4051a006", + "0x73014720180d0307101432014140181f0441701432014700181f0301701406", + "0x61e8061e4061e032014051dc06014051dc760c80501003174751747407005", + "0x501482204050148003c100147f0c8050147c1f8050147c1f4050147c0187b", + "0x3201405208060140520c8401405200320140520c10040051fc710140520073", + "0x8a084050147c08405014890180f01488084050148708405014860180501485", + "0x60140523806014051f08d03c05230060140522c060140521c320140521c06", + "0x50147c24c050147c248050147c0140f2440503c90070050148f064050148f", + "0x650140523c160140523c4e0140523c0625895014051f00625091014051f05e", + "0x861a40501482260050148025c100147f194050147c19405014871940501486", + "0x523c100140521c1001405218170140521c16040051fc10014051f00601405", + "0x8c01405014872680f0148c2640f0148c0180f2440503c901b8050148f0c805", + "0x627c670140521c9e0140520017040051fc9d03c052309c0140521c9b03c05", + "0x9005c050148f018a2284050147c0b8050147c0180f2840503c9001805014a0", + "0xa4014052001b040051fc0601405224060140528ca1014052000503ca10140f", + "0x7c0180f2040503c901cc050148f0180f1c40503c9018005014801880501482", + "0x84014051f00603c840140f2400503c810140f2400503c710140f2408101405", + "0xf0148c298050148725c0f014880c805014a517805014770140f2100503c90", + "0x522098014051f00503c980140f2405b01405208a80140520019040051fca7", + "0x50148017805014832a8100147f16005014822a40501480070100147f0400f", + "0x5230470140521c062b85501405208ad01405200ac040051fc0601405294ab", + "0x82018b22c405014822c4050148f2c00f0148c084100147f19405014a52bc0f", + "0x51fc0f03c052200503c05220b3040051fc4e014051f0160140521c6501405", + "0x871a405014870180f2600503c901a4050148f2d40f0148c2d005014800a010", + "0x51fc5001405208b70140520027040051fc17014051f0b603c052305501405", + "0xf2780503c90278050147c0180f2780503c9019c050148f19c05014820a410", + "0x521ca4014051f00603ca40140f240620140523c0603c600140f240062e005", + "0x7f0180f0148c0140f1800503c900140f2900503c90018ba0140f0148c2e405", + "0xa8014051f00603ca80140f2405b0140523c4c01405208bb014052000904005", + "0x8c2a4050147c0180f2a40503c90160050148f01805014bc0140f2a00503c90", + "0x230140528c4901405208be0140520031040051fc0503ca90140f240bd03c05", + "0x503c902ac050147c0180f2ac0503c90154050148f0a4050148708c0501482", + "0x7d014052240503cad0140f240ad014051f00603cad0140f240062fc0503cab", + "0xa50b8050148910c05014820c8050148630005014800b8100147f2b40501489", + "0xf24006318c5014051f006310c303c053084e0140521c06014053042101405", + "0x503c900c8100147f31c05014890140f31c0503c9031c050147c0180f31c05", + "0xcc03c052303e0140532cca014051f006324c803c05230b4014051f00603cb4", + "0x5014a5018d00f80501487018cf088100147f0f8050147c018ce3340f0148c", + "0xd30140f240063484e01405218d1040051fc0503cb40140f24034040051fc3e", + "0x8235005014800dc100147f34c05014890140f34c0503c9034c050147c0180f", + "0x51f00503cb70140f240b7014051f00603cb70140f240500140523c3a01405", + "0x503c90130050148f0e8100147f0dc05014823540501480354100147f05805", + "0x5208d101405200d4040051fc0503cbb0140f24006358bb014051f00603cbb", + "0x7c0180f2f80503c90124050148f0a00501487024050148202405014a30d005", + "0xb30140f240b3014051f00603cb30140f2400635c0503cbe0140f240be01405", + "0x7c0180f3000503c9010c050148f34c100147f2cc05014893600f0148c0140f", + "0x63700636cac014051f00636806364c7014052000503cc00140f240c001405", + "0x900e8050148f34c0501480018de018dd32805014870f8050148924c0501489", + "0xaa014052003e040051fc0637c0503cd40140f240d4014051f00603cd40140f", + "0x7f0140f3540503c90354050147c0180f3540503c900dc050148f06c0501482", + "0x97014052240503c970140f24097014051f00603c970140f24006380ca04005", + "0x800140f3440503c90344050147c0180f3440503c900d0050148f31c100147f", + "0xaa0140f240aa014051f00603caa0140f2401b0140523c1601405218b301405", + "0x606c053940501806018e425c050148038c050147c018e23840f0148c0140f", + "0xe503c100140f25c06018e50140604006018e50140603c06070053940501805", + "0xac0141b01809014e5014aa01417018063940501816018b30840f398ac2a80f", + "0x60a4270a010394050b83102410070060b8053940505805064060c40539405", + "0xd10d00f394050c8052b006018e501406058060880539c32014e503c29014aa", + "0xd4014e5014340141901806394050181601837014e8064053940f3440508406", + "0x53940f0e80509c0606405394050641c03c280183a3540f39405350052cc06", + "0x53940509c0506c0631405394050a00505c06018e5014060580634c053a417", + "0x510ce3314100700605c053940505c1b03c2901843014e5014d501419018e3", + "0x52b006018e5014060580611c053a8c0014e503cc7014aa018c73283e040e5", + "0x90180639405018160184c014eb2f8053940f12405084061242303ce5014c0", + "0x32018501380f394052e4050b8062e405394052ec050c4062ec053940508c05", + "0xb401432018b12d00f394052dc050b8062dc053940501822018063940513805", + "0xe5014ad014d101855014e5014b101434018ad014e501450014340180639405", + "0x6394052f80535406018e5014060580601862018e503c552b40f0dc062b405", + "0x5018d3018ab014e50140635006018e501419014d5018063940505c050e806", + "0xe50140631c061600539405158ab03cca01856014e5014560143e01856014e5", + "0xe50140601443018a8014e50145b014e30185b014e5014582a40f314062a405", + "0x5394053280506c06180053940503c053000629805394050f80505c0617805", + "0xa129062180a617817014a1014e5014a801423018a4014e5014970144701862", + "0x3e0404c01865014e501465014be01865014e50140612406018e50140605806", + "0x62600539405018bb018063940501816018691b80f3b09e19c0f3940f194ca", + "0x62449203ce5014930145001893014e5014952600f138062540539405018b9", + "0x506c06000053940503c0530006270053940519c0505c06018e501492014b7", + "0x91014b4018ef014e50149701447018ee014e50140601443018ed014e50149e", + "0x52f805064063c8053940505c050f8063c4053940506405064063c00539405", + "0x61f47e204731c48405ce5014f33c8f13c0ef3b8ed0009c070b1018f3014e5", + "0x55018f7014e50140635006018e501406058063d8053d4f4014e503c7d014ad", + "0x50f806018e5014f90143a018fa3e40f394053e0052ac063e005394053d005", + "0xa9018fe3f40f394053f0fb03c58018fc014e5014f701456018fb014e5014fa", + "0x1000145e01806394053fc052a006400ff03ce5014fd0145b01806394053f805", + "0x52040510c063d405394054080518006408053940540405298064040539405", + "0xe5014730141b01905014e501471014c001904014e5014840141701903014e5", + "0x107419054110305c0542005394053d40508c0641c05394051f80511c0641805", + "0x170190a014e5014810144301909014e5014f6014e301806394050181601908", + "0x511c0643005394051cc0506c0642c05394051c405300063b0053940521005", + "0x5018160190e4350c42cec428170150e014e501509014230190d014e50147e", + "0xd401806394050640535406018e5014170143a01806394052f80535406018e5", + "0x11043c0f328064400539405440050f8064400539405018620190f014e501406", + "0x544c0538c0644c05394054451203cc501912014e50140631c064440539405", + "0xe50140f014c001916014e50146e0141701915014e5014060144301914014e5", + "0x5394054500508c06464053940525c0511c0646005394051a40506c0645c05", + "0x535406018e50144c014a90180639405018160191a4651845d16454170151a", + "0x11b014e50140635006018e501419014d5018063940505c050e806018e501423", + "0x647005394053ad1b03cca018eb014e5014eb0143e018eb014e50140629006", + "0x430191f014e50151e014e30191e014e50151c4740f314064740539405018c7", + "0x506c06488053940503c053000648405394050f80505c06480053940501805", + "0x1214801701525014e50151f0142301924014e5014970144701923014e5014ca", + "0x6018e5014170143a01806394050640535406018e501406058064952448d22", + "0xc001928014e50143e0141701927014e5014060144301926014e501447014e3", + "0x508c064ac053940525c0511c064a805394053280506c064a4053940503c05", + "0xe5014d3014a90180639405018160192c4ad2a4a52849c170152c014e501526", + "0x635006018e50141b014a101806394053540535406018e501419014d501806", + "0x53a92d03cca018ea014e5014ea0143e018ea014e501406194064b40539405", + "0xe501530014e301930014e50152e4bc0f314064bc0539405018c70192e014e5", + "0x53940503c05300064cc05394050a00505c064c805394050180510c064c405", + "0x137014e5015310142301936014e5014970144701935014e5014270141b01934", + "0x34014d501806394050dc052a406018e501406058064dd364d5344cd3205c05", + "0x63a40539405018d401806394050700519c06018e50141b014a10180639405", + "0xc701939014e5015383a40f328064e005394054e0050f8064e005394050189e", + "0x510c064f005394054ec0538c064ec05394054e53a03cc50193a014e501406", + "0x270141b0193f014e50140f014c00193e014e501428014170193d014e501406", + "0x13f4f93d05c0550805394054f00508c06504053940525c0511c065000539405", + "0xe3018063940506c0528406018e50141c014670180639405018160194250540", + "0x53000651405394050a00505c0651005394050180510c0650c053940508805", + "0x1430142301948014e5014970144701947014e5014270141b01946014e50140f", + "0x63940506c0528406018e501406058065254851d465154405c055240539405", + "0x501862018e8014e50140635006018e501416014d501806394050700519c06", + "0xe50140631c0652c0539405528e803cca0194a014e50154a0143e0194a014e5", + "0xe501406014430194e014e50154d014e30194d014e50154b5300f3140653005", + "0x5394052cc0506c06544053940503c053000654005394050840505c0653c05", + "0x15454d525455053c1701554014e50154e0142301953014e5014970144701952", + "0xf03c0503c9701806394050181001806394050180f01817014e50140601806", + "0x52cc062cc053940525c0506406018e501406058062a81c03d550641b03ce5", + "0x2801556058053940f0840509c0606c053940506c0505c06084ac03ce5014b3", + "0x5064060b805394050640506c060c4053940506c0505c06018e50140605806", + "0x2909c10394050c82e0c4100700605805394050581703c2901832014e5014ac", + "0xf39405088052b006018e501406058060d00555c22014e503c09014aa01809", + "0xe5014d1014090180639405018160183a01558354053940f0dc05084060dcd1", + "0xe50143e01432018ca0f80f3940534c050b80634c0539405350050c40635005", + "0x6018e5014c501432018e33140f3940531c050b80631c05394050182201806", + "0x3701843014e501443014d1018c0014e5014e30143401843014e5014ca01434", + "0x160143a01806394053540535406018e5014060580601959018e503cc010c0f", + "0x23014e5014230143e01823014e50140634c0611c0539405018d40180639405", + "0x4c014e5014492f80f314062f80539405018c701849014e50142311c0f32806", + "0x6138053940509c0505c062e405394050180510c062ec05394051300538c06", + "0x16014b4014e5014bb01423018b7014e5014100144701850014e5014290141b", + "0x5394052c4052f8062c4053940501849018063940501816018b42dc50138b9", + "0x62ec06018e50140605806158ab03d5a154ad03ce503cb10a4270404c018b1", + "0x52b40505c0616c05394052a45803c4e018a9014e5014062e4061600539405", + "0xe5014100144701865014e50140601443018a1014e5014550141b018a4014e5", + "0x53940535405064061b80539405058050f806278053940516c052d00619c05", + "0xe503c620146901862180a6178a8058e5014691b89e19c65284a406c6e01869", + "0x93014e50140635006018e50149801498018063940501816018950155b26005", + "0x621005394052440517806018e501492014a8018912480f3940524c0516c06", + "0x1701881014e5014a60144301873014e5014710146001871014e501484014a6", + "0x508c0627005394051800511c061f405394051780506c061f805394052a005", + "0x5394052540538c06018e501406058060009c1f47e2041601400014e501473", + "0xf0014e50145e0141b018ef014e5014a801417018ee014e5014a601443018ed", + "0x16018f23c4f03bcee058053c805394053b40508c063c405394051800511c06", + "0xf3014e50140635006018e5014160143a01806394053540535406018e501406", + "0x63d805394053d0f303cca018f4014e5014f40143e018f4014e50140618806", + "0x43018f9014e5014f8014e3018f8014e5014f63dc0f314063dc0539405018c7", + "0x511c063f805394051580506c063f405394052ac0505c063e8053940501805", + "0xe501406058063f0fb3f8fd3e816014fc014e5014f901423018fb014e501410", + "0x635006018e5014160143a01806394053440535406018e50143a014a901806", + "0x5400ff03cca01900014e5015000143e01900014e501406194063fc0539405", + "0xe5014f5014e3018f5014e5015014080f314064080539405018c701901014e5", + "0x5394050a40506c06414053940509c0505c0641005394050180510c0640c05", + "0x642107419054101601508014e5015030142301907014e5014100144701906", + "0x50180510c0642405394050d00538c06018e5014160143a018063940501816", + "0xe501410014470190b014e5014290141b018ec014e501427014170190a014e5", + "0xa90180639405018160190d4310b3b10a0580543405394054240508c0643005", + "0x539405018d4018063940505c0528406018e5014ac014d501806394050a005", + "0x110014e50150f4380f3280643c053940543c050f80643c05394050189e0190e", + "0x644c05394054480538c0644805394054411103cc501911014e50140631c06", + "0x4701916014e5014190141b01915014e50141b0141701914014e50140601443", + "0x5018160191845d164551405805460053940544c0508c0645c053940504005", + "0x6201919014e50140635006018e501417014a1018063940525c0535406018e5", + "0x631c0646c05394054691903cca0191a014e50151a0143e0191a014e501406", + "0x6014430191d014e50151c014e30191c014e50151b3ac0f314063ac0539405", + "0x50400511c0648005394052a80506c0647c05394050700505c064780539405", + "0x6018e50140625406489214811f4781601522014e50151d0142301921014e5", + "0x63940501816018170155c0589703ce503c100149301810014e50140f01409", + "0x6070053940506c0521006064053940525c052440606c05394050580524806", + "0x5394052a805204062a8053940501873018063940501816018065740501871", + "0x21014e5014190145e0181c014e5014ac0148401819014e50141701491018ac", + "0x63940501816018280155e2cc053940f070051f80608405394050840506406", + "0x1701809014e5014270149c01829014e5014063500609c05394052cc051f406", + "0x515806344053940508405064060d005394050140506c06088053940501805", + "0x31040e5014d50dcd10d02205800018d5014e5014090143e01837014e501429", + "0xe50143a014ee018063940501816018d40155f0e8053940f0c8053b4060c82e", + "0x53280516c06018e5014060580631c05580ca014e503c3e014ef0183e34c0f", + "0xe501443014f001843014e5014e30145e0180639405314052a00638cc503ce5", + "0xe5014310141701823014e501447014f201847014e5014c034c0f3c40630005", + "0x160184c2f84904005130053940508c053cc062f805394050b80506c0612405", + "0xb9014f2018b9014e5014bb34c0f3c4062ec053940531c053d006018e501406", + "0x5138053cc062dc05394050b80506c0614005394050c40505c061380539405", + "0x505c062c40539405350053d806018e501406058062d0b714010014b4014e5", + "0x552b410014ab014e5014b1014f301855014e50142e0141b018ad014e501431", + "0x56014f401856014e5014061cc06018e501428014a9018063940501816018ab", + "0x6014170185b014e5014a9014f2018a9014e5014580840f3c4061600539405", + "0xa6178a804005298053940516c053cc0617805394050140506c062a00539405", + "0xe5014060580625c055841003c0f3940f0140524c0601405394050180502406", + "0x1b014e5014160148401817014e50140f0149101816014e5014100149201806", + "0xe5014190148101819014e5014061cc06018e5014060580601962014061c406", + "0x53940505c051780606c0539405070052100605c053940525c052440607005", + "0xe501406058060840558cac014e503c1b0147e018aa014e5014aa01419018aa", + "0x27014e501428014f701828014e5014b30149c018b3014e5014ac0147d01806", + "0xe501406058060242903c05024053940509c053e0060a405394052a80506406", + "0x190182e014e501431014f901831014e5014061cc06018e501421014a901806", + "0xaa014e5014063e8060883203c0508805394050b8053e0060c805394052a805", + "0xe501419014fd01806394050189501806394050180f01821014e50140601806", + "0xe5014270142e01827014e5014280143101828014e5014b301409018b30640f", + "0x2e03ce5014310142e01831014e5014063f806018e50142901432018090a40f", + "0xd10d00f39405088050b8060880539405024050d006018e50142e0143201832", + "0x60e8d503ce5014370142e01837014e5014320143401806394050d0050c806", + "0x53440634c05394050e8050d0063500539405344050d006018e5014d501432", + "0x17014d501806394050181601806590063940f34cd403c37018d4014e5014d4", + "0x6018e501421014a1018063940506c050e806018e501419014d50180639405", + "0x5328050f8063280539405018fc0183e014e50140635006018e5014aa014fb", + "0x503c0506c0608c05394050180505c0631c05394053283e03cca018ca014e5", + "0xe501416014b40184c014e50149701447018be014e5014100144301849014e5", + "0x4338cc5058e5014b92ec4c2f84908c173fc062e4053940531c05158062ec05", + "0xe50144e015010180639405018160185001565138053940f11c054000611cc0", + "0x5394052c405408062c405394052dcb403cc5018b4014e50140631c062dc05", + "0x56014e5014e30141b018ab014e501405014c001855014e5014c501417018ad", + "0x516c05394052b4053d4062a405394053000511c06160053940510c0510c06", + "0xc501417018a8014e501450015020180639405018160185b2a458158ab15417", + "0x510c0510c06180053940538c0506c06298053940501405300061780539405", + "0x62180a617817014a1014e5014a8014f5018a4014e5014c00144701862014e5", + "0x619c1903ce501419014fd01865014e50140640c06018e50140605806284a4", + "0xd101895014e50149e0149101898014e501406014170189e014e50146701409", + "0x92014e503c6901505018691b80f3940524c95260104100624c053940519405", + "0xac014e5014840147d01884014e501492015060180639405018160189101566", + "0x71040e50147e2040f41c061f8053940525c0511c06204053940503c0506c06", + "0x52b02103c290181c014e50141c2a80f420062b005394052b0050f8061cc1c", + "0x52b00527006018e501406058062700559c7d014e503c7301509018ac014e5", + "0x53c0050f8063c00003ce5014000150a018ef014e50146e0141701800014e5", + "0x63c8055a0f1014e503cee0150b018ee3b40f394053c0ef03cec018f0014e5", + "0x1693d8f403ce503cf13cced0410d018f3014e50147d0150c018063940501816", + "0x3a01806394050640535406018e5014f60150e018063940501816018f83dc0f", + "0xe501417014d50180639405000050e806018e501416014b7018063940506c05", + "0xca018fa014e5014fa0143e018fa014e50140643c063e40539405018d401806", + "0x102018fb014e5014fd3f80f314063f80539405018c7018fd014e5014fa3e40f", + "0x506c06400053940501405300063fc05394053d00505c063f005394053ec05", + "0xfc014f5018f5014e50141c0144701902014e5014100144301901014e501471", + "0x6394053e00543806018e5014060580640cf540901400ff05c0540c0539405", + "0x642805394050400510c0642405394051c40506c0642005394053dc0505c06", + "0x642c053940505c05064063b005394053b0052d0063b01603ce50141601510", + "0x10d0156a430053940f41c052b40641d064150425ce50150b3b10a4250805911", + "0x10f015140190f014e50150e015130190e014e50140644806018e50140605806", + "0x55019124440f394050011041810454064400539405440050f8064400539405", + "0x544c064540539405450054500645005394054480544c0644c053940543005", + "0x1110411501917014e5015170143e01917014e5015160151401916014e501515", + "0x1130191b014e50151a015140191a014e50151901513019194600f3940544d17", + "0x10454064700539405470050f80647005394053ac05450063ac053940546c05", + "0x64801903ce501419014fd0191f014e501406088064791d03ce50141b47118", + "0xd101925014e5015210149101924014e5015040141701921014e50152001409", + "0x11d014e50151d01443019234880f39405499254901041006498053940547c05", + "0x63940501816019280156b49c053940f48c05414064780539405478050f806", + "0x64ac05394054780544c064a805394054a4051f4064a4053940549c0541806", + "0x114018ea014e50152c015130192d014e50152a0149c0192c014e50152b01514", + "0x10454064b405394054b4050f8064b805394054b8050f8064b805394053a805", + "0x6018e50153201517019324c40f3940505805458064c12f03ce50152d4b91d", + "0x119018e9014e5015310151801937014e50141c0144701936014e5015050141b", + "0x5394054c0050f8064bc05394054bc0510c064d5344cc10394053a5374d810", + "0x13a014e50140646806018e501406058064e4055b138014e503d35014ad01930", + "0x13f014e501522014170193c014e50153b014090193b0640f39405064053f406", + "0xf39405505404fc104100650405394054e8053440650005394054f00524406", + "0xe50154201506018063940501816019430156d508053940f4f805414064f93d", + "0x1903ce501419014fd01946014e50140646c065140539405510051f40651005", + "0x14b014e501548014910194a014e50153d0141701948014e5015470140901947", + "0xe5015450143e018e85240f394055314b528104100653005394055180534406", + "0xe50154d015060180639405018160194e0156e534053940f3a0054140651405", + "0x539405544054500654405394054c00544c06540053940553c051f40653c05", + "0x16f014e5015500149c01954014e5015450149c01953014e5015380145501952", + "0x65c80539405548050f8065c4053940501405300065c005394055240505c06", + "0xeb01974014e50156f0143e01973014e5015540143e018e7014e5015530143e", + "0x65e8055e578014e503d770151c019775d975040e5015745cce75c9715c017", + "0x539405018d401806394050640535406018e501578014a9018063940501816", + "0x17d014e50157c5ec0f328065f005394055f0050f8065f005394050191d0197b", + "0x660005394055fc05408065fc05394055f57e03cc50197e014e50140631c06", + "0x4301982014e5015330141b01981014e501576014c0018e6014e50157501417", + "0xe605c056140539405600053d40661005394054d00511c0660c05394054bc05", + "0x186014e50140608806018e50157a014a9018063940501816019856118360981", + "0x6624053940561c052440662005394055d40505c0661c05394050640502406", + "0x53940f63005414066318b03ce50158a62588041040198a014e501586014d1", + "0x539405640051f40664005394056340541806018e5014060580663c056398d", + "0x194014e5015930151f01993014e5015920151e01992014e5015910149c01991", + "0x665c05394054cc0506c0665805394055d80530006654053940562c0505c06", + "0x170159a014e501594014f501999014e5015340144701998014e50152f01443", + "0x562c0505c0666c053940563c0540806018e50140605806669996619765995", + "0xe50152f014430199e014e5015330141b0199d014e501576014c00199c014e5", + "0x1a067d9e6759c05c05684053940566c053d40668005394054d00511c0667c05", + "0x1450143a01806394054c0050e806018e501419014d5018063940501816019a1", + "0x5394055240505c0668805394055380540806018e501538015200180639405", + "0x1a6014e50152f01443019a5014e5015330141b019a4014e501405014c0019a3", + "0x66a1a7699a5691a305c056a00539405688053d40669c05394054d00511c06", + "0xe5015380152001806394054c0050e806018e501419014d5018063940501816", + "0x1ab014e501405014c0019aa014e50153d01417019a9014e5015430150201806", + "0x66b805394054d00511c066b405394054bc0510c066b005394054cc0506c06", + "0x19014d5018063940501816019af6b9ad6b1ab6a817015af014e5015a9014f5", + "0x5394054880505c066c005394054e40540806018e5015300143a0180639405", + "0x1b4014e50152f01443019b3014e5015330141b019b2014e501405014c0019b1", + "0x66d9b56d1b36c9b105c056d805394056c0053d4066d405394054d00511c06", + "0xe50151e0143a0180639405058052dc06018e501419014d5018063940501816", + "0x1b9014e501405014c0019b8014e50152201417019b7014e5015280150201806", + "0x66f005394050700511c066ec05394054740510c066e805394054140506c06", + "0x19014d5018063940501816019bd6f1bb6e9b96e017015bd014e5015b7014f5", + "0x6018e5014000143a018063940506c050e806018e501416014b70180639405", + "0x1b019c0014e501405014c0019bf014e50150401417019be014e50150d01502", + "0x53d40670805394050700511c0656405394054180510c06704053940541405", + "0xe5014f2014a9018063940501816019c370959705c06fc17015c3014e5015be", + "0x50e806018e501416014b7018063940506c050e806018e501419014d501806", + "0x1c4014e50140635006018e50147d01521018063940505c0535406018e501400", + "0x67180539405715c403cca019c5014e5015c50143e019c5014e50140648806", + "0x17019c9014e5015c801502019c8014e5015c671c0f3140671c0539405018c7", + "0x510c0673005394051c40506c0672c0539405014053000672805394053b405", + "0x1cb72817015cf014e5015c9014f5019ce014e50141c01447019cd014e501410", + "0x6018e50141b0143a01806394050640535406018e5014060580673dce735cc", + "0x52700540806018e5014ac0143a018063940505c0535406018e501416014b7", + "0xe5014710141b019d2014e501405014c0019d1014e50146e01417019d0014e5", + "0x539405740053d40675405394050700511c0675005394050400510c0674c05", + "0x535406018e501417014d5018063940501816019d6755d474dd274417015d6", + "0x6394052a8053ec06018e501416014b7018063940506c050e806018e501419", + "0xc0019d8014e50146e01417019d7014e5014910150201806394050840528406", + "0x511c0676c05394050400510c06768053940503c0506c06764053940501405", + "0x60149c019dd771db769d976017015dd014e5015d7014f5019dc014e501497", + "0x5040051580625c05394050187301810014e50140f0140f3280603c0539405", + "0x9701516018063940501895018170580f01417014e5014970152301816014e5", + "0x1b01518018b3014e5014100144701821014e5014050141b0181906c0f39405", + "0xac2a81c040e5014270a0b3084974900609c0539405058050f8060a00539405", + "0x3103ce5014290152601806394050181601809015de0a4053940f2b00549406", + "0x3a014e5014060141701832014e5014190c40f13806018e50142e014a90182e", + "0x60f805394052a80511c0634c053940503c0510c0635005394050700506c06", + "0x531cca0f8d33503a05d27018c7014e50141701419018ca014e501432014b4", + "0x6018e5014060580638c0577cc5014e503cd501469018d50dcd10d022058e5", + "0xf4a40611c0539405018730180639405300052a4063004303ce5014c501528", + "0x506c062f805394050880505c06124053940508c054a80608c053940511c43", + "0x490152b018b9014e50143701447018bb014e5014d1014430184c014e501434", + "0x50014e5014e30152c0180639405018160184e2e4bb130be058051380539405", + "0x62c405394053440510c062d005394050d00506c062dc05394050880505c06", + "0x605806154ad2c4b42dc1601455014e5014500152b018ad014e50143701447", + "0xab014e5014090152c01806394050640545c06018e501417014d50180639405", + "0x62a4053940503c0510c0616005394050700506c0615805394050180505c06", + "0x6254062a05b2a45815816014a8014e5014ab0152b0185b014e5014aa01447", + "0xf0580501810130060580539405058052f8060580539405018490180639405", + "0x17018aa25c0f3940525c0542806018e501406058060701903de006c1703ce5", + "0x50e806018e501406058062b005784063940f2a8054b40605c053940505c05", + "0xb30152f018b3014e50142103c0f4b8060840539405040053a806018e501497", + "0x50a0054c0060a4053940506c0506c0609c053940505c0505c060a00539405", + "0xf0141901806394052b0054c406018e501406058060242909c1001409014e5", + "0x60d00578822014e503c2e014270182e0c40f394050c8052cc060c80539405", + "0x9703d3301837014e5014064c80634405394050881003cca018063940501816", + "0x3101419018ca014e50141b0141b0183e014e50141701417018d5014e501437", + "0xca0f8160000638c0539405354050f8063140539405344051580631c0539405", + "0xe501406058063000578c43014e503cd3014ed018d33503a040e5014e3314c7", + "0xe5014490152f01849014e50142311c0f4b80608c4703ce501443014ee01806", + "0x5394052f8054c0062ec05394053500506c0613005394050e80505c062f805", + "0x50e80505c061380539405300054d006018e501406058062e4bb13010014b9", + "0x62d0b714010014b4014e50144e01530018b7014e5014d40141b01850014e5", + "0xe501434015350180639405040052a006018e5014970143a018063940501816", + "0xe5014170141701855014e5014ad0152f018ad014e5014b10c40f4b8062c405", + "0x1601858158ab040051600539405154054c006158053940506c0506c062ac05", + "0x63940503c0535406018e501410014a8018063940525c050e806018e501406", + "0xf3280616c053940516c050f80616c053940501862018a9014e50140635006", + "0x54d00629805394052a05e03cc50185e014e50140631c062a0053940516ca9", + "0x6001530018a4014e50141c0141b01862014e5014190141701860014e5014a6", + "0x505c0605c053940501936018063940501895018a129062040052840539405", + "0x100144701828014e50140f01443018b3014e5014050141b01821014e501406", + "0x50580515806024053940505c050f8060a4053940525c052d00609c0539405", + "0xac014e9018ac2a81c0641b058e5014310242909c282cc2106d3701831014e5", + "0x3a018d10d022040e50142e0153801806394050181601832015e40b8053940f", + "0x50dc054e8060dc0539405088054e406018e5014d1014a901806394050d005", + "0xe50141c01443018d4014e5014190141b0183a014e50141b01417018d5014e5", + "0xca0f8d33503a058053280539405354054ec060f805394052a80511c0634c05", + "0x506c06314053940506c0505c0631c05394050c8054f006018e50140605806", + "0xc70153b018c0014e5014aa0144701843014e50141c01443018e3014e501419", + "0x16015e525c1003ce503c0f014060413d018473004338cc50580511c0539405", + "0x505c0606c053940505c054fc0605c053940525c054f806018e50140605806", + "0xd40180639405018160181c0640f0141c014e50141b0154001819014e501410", + "0xac2a80f328062b005394052b0050f8062b0053940501941018aa014e501406", + "0x50a005508060a00539405084b303cc5018b3014e50140631c060840539405", + "0x1b018090a40f01409014e5014270154001829014e5014160141701827014e5", + "0x970400f040e5014170580f50c0605c05394050140511c06058053940501805", + "0x1c014e50141b0154501806394050181601819015e606c053940f25c0551006", + "0x6394052b005438062cc212b010394052a80551c062a805394050700551806", + "0x1b01827014e501428014e801828014e5014210154901806394052cc0552006", + "0x29040050c4053940509c055280602405394050400511c060a4053940503c05", + "0x60c8053940503c0506c060b805394050640552c06018e501406058060c409", + "0x50180f530060d0220c81001434014e50142e0154a01822014e50141001447", + "0x505c0605805394050400553406018e5014060580625c0579c1003c0f3940f", + "0x63940501816018067a005018710181b014e5014160154e01817014e50140f", + "0x14e01817014e501497014170181c014e5014190154f01819014e5014061cc06", + "0xaa03c052b0053940506c05544062a8053940505c055400606c053940507005", + "0xe50140612406018e50140625406018e50140603c0605c053940501806018ac", + "0xac2a80f7a41c0640f3940f06c05018101300606c053940506c052f80606c05", + "0x31018b3014e501421014090182125c0f3940525c053f406018e50140605806", + "0x608806018e501427014320182909c0f394050a0050b8060a005394052cc05", + "0x50a4050d006018e501431014320182e0c40f39405024050b8060240539405", + "0xe5014190141701832014e501432014d101822014e50142e0143401832014e5", + "0xf3940525c053f406018e50140605806019ea018e503c220c80f0dc0606405", + "0xd5014e501406468060dc0539405344050c40634405394050d005024060d097", + "0x6328053940535405344060f805394050dc053440634c05394050640505c06", + "0x501816018c5015eb31c053940f3500554c063503a03ce5014ca0f8d304152", + "0xe50144301409018c0014e5014c70156f0184338c0f3940525c0555006018e5", + "0x53940508c052440613005394050e80505c0608c053940511c055d40611c05", + "0x52e4bb13010410062e405394052e405344062e4c003ce5014c001576018bb", + "0x4e0150601806394050181601850015ec138053940f2f805414062f84903ce5", + "0xe5014e301409018b4014e5014060880605805394052dc051f4062dc0539405", + "0xe50141605c0f0a4060580539405058050f8062d005394052d005344062c405", + "0x5e018063940501816018ab015ed154ad03ce503cc02d0b1124975dc0605805", + "0x510c0629805394050700506c0617805394052b40505c06158053940515405", + "0x5e05911018a4014e5014560141901862014e501410014b401860014e50140f", + "0x605806194057b8a1014e503ca8014ad018a816ca9160973940529062180a6", + "0x9e19c5b041150189e014e5014a10145501867014e5014160149c0180639405", + "0x580141701895014e5014980151f01898014e5014690151e018691b80f39405", + "0x5254053d40624405394051b80510c0624805394052a40506c0624c0539405", + "0x540806018e5014160143a018063940501816018842449224c9701484014e5", + "0x5b0144301881014e5014a90141b01873014e5014580141701871014e501465", + "0x6018e501406058061f47e2047325c051f405394051c4053d4061f80539405", + "0xe501406504062700539405018d40180639405040052dc06018e5014160143a", + "0x539405018c7018ed014e5014002700f328060000539405000050f80600005", + "0x5394052ac0505c063c005394053bc05408063bc05394053b4ee03cc5018ee", + "0xf4014e5014f0014f5018f3014e50140f01443018f2014e50141c0141b018f1", + "0xe5014c0014320180639405040052dc06018e501406058063d0f33c8f125c05", + "0x17018f6014e50145001502018063940505c0528406018e5014e3014d501806", + "0x53d4063e4053940503c0510c063e005394050700506c063dc053940512405", + "0x6018e501417014a1018063940501816018fa3e4f83dc97014fa014e5014f6", + "0x3a01417018fd014e5014c501502018063940525c0535406018e501410014b7", + "0x53f4053d4063f0053940503c0510c063ec05394050700506c063f80539405", + "0x52dc06018e501417014a1018063940501816018ff3f0fb3f897014ff014e5", + "0x5394054000547806400053940501936018063940525c0535406018e501410", + "0x103014e50141c0141b018f5014e5014190141701902014e5015010151f01901", + "0x6058064150440cf525c054140539405408053d406410053940503c0510c06", + "0x6018e501410014b7018063940525c0535406018e501417014a10180639405", + "0x10603cca01907014e5015070143e01907014e501406188064180539405018d4", + "0x10a015020190a014e5015084240f314064240539405018c701908014e501507", + "0x503c0510c0643005394052b00506c0642c05394052a80505c063b00539405", + "0x6018e50140f015700190e4350c42c970150e014e5014ec014f50190d014e5", + "0x16014d101816014e5014060880625c0539405040055c806040053940501971", + "0x1906c17040e503c9705805018975cc0625c053940525c0539c060580539405", + "0xe5014170141b01821014e50141901574018063940501816018ac2a81c041ef", + "0x6019f0014061c40609c0539405084055e0060a0053940506c0511c062cc05", + "0xaa01447018b3014e50141c0141b01829014e5014ac0157a018063940501816", + "0x50c4055f0060c4053940509c055ec0609c05394050a4055e0060a00539405", + "0x50b80515406018e501406058060c8057c42e014e503c09014ad01809014e5", + "0xe5014b30141b018d1014e5014340151f01834014e5014220151e01822014e5", + "0x160183a35437040050e80539405344053d40635405394050a00511c060dc05", + "0x50a00511c0634c05394052cc0506c0635005394050c80540806018e501406", + "0x170580f3940505805428063283e34c10014ca014e5014d4014f50183e014e5", + "0x3a0180639405058050e806018e5014060580606c057c8063940f05c054b406", + "0x539405018730180639405040050e806018e5014970143a018063940503c05", + "0xac014e501405014c0018aa014e501406014170181c014e5014190157d01819", + "0xe50141b01531018063940501816018212b0aa040050840539405070055f806", + "0x5394052cc2703d33018270580f3940505805428062cc05394050197f01806", + "0x6394050181601829015f3018e503c280152d01828014e5014280143e01828", + "0x100143a018063940525c050e806018e50140f0143a0180639405058050e806", + "0x5394050180505c060c40539405024055f4060240539405018730180639405", + "0x605806088320b81001422014e5014310157e01832014e501405014c00182e", + "0x9703ce5014970150a01834014e5014065fc06018e501429015310180639405", + "0x63940f344054b4063440539405344050f80634405394050d03703d3301837", + "0x3a018063940503c050e806018e5014160143a018063940501816018d5015f4", + "0xe50143a0157d0183a014e5014061cc06018e5014100143a018063940525c05", + "0x539405350055f8060f80539405014053000634c05394050180505c0635005", + "0xf0400603d800180639405354054c406018e501406058063283e34c10014ca", + "0xc501581018c5014e5014c5014e6018063940501816018e3015f5314c703ce5", + "0x57d82311c0f3940f300c703d80018c025c0f3940525c054280610c0539405", + "0x182018be014e5014230158101823014e501423014e601806394050181601849", + "0x52ec050f8061300539405130050f8062ec0539405019830184c014e501406", + "0x605806019f72e4053940f2ec4c03d8401847014e50144701417018bb014e5", + "0xe501405014c00184e014e5014b901581018b9014e5014b9014e60180639405", + "0x52b4b12d010618062b40539405058050f8062c405394052f805614062d005", + "0x510c0562c06018e50140605806154057e0063940f2dc0561c062dc5003ce5", + "0x7301806394051380562c06018e50140f0143a018063940525c050e806018e5", + "0x50014c001858014e5014470141701856014e5014ab0157d018ab014e501406", + "0x18c0180639405018160185b2a4580400516c0539405158055f8062a40539405", + "0x56140618805394051400530006018e50145e0143a0185e2a00f3940515405", + "0x6180a603ce5014a12906204186018a1014e50140f0143e018a4014e50144e", + "0x18601869014e5014970143e0186e014e501443015850189e014e5014a6014c0", + "0x53940525405614062546003ce50146001588018671940f394051a46e27810", + "0xe5014932540f6240624c053940524c056140624c6703ce5014670158801895", + "0x6019fa014061c406018e50140605806248057e4063940f2600561c0626005", + "0xa80150a0180639405210050e8062109103ce5014920158c018063940501816", + "0x54b4061c405394051c4050f8061c405394051cc9103d33018732a00f39405", + "0x519c0562c06018e5014a80143a01806394050181601881015fb018e503c71", + "0x61f405394051f805628061f805394050187301806394051800562c06018e5", + "0x10014ed014e50147d0157e01800014e501465014c00189c014e50144701417", + "0x63bc05394051800561406018e50148101531018063940501816018ed0009c", + "0x57f0063940f3b80561c063b805394053c0ef03d8d018f0014e50146701585", + "0xe50140605806019fd014061c406018e5014a80143a018063940501816018f1", + "0x5394052a0f203d3301806394053cc050e8063ccf203ce5014f10158c01806", + "0x63940501816018f6015fe018e503cf40152d018f4014e5014f40143e018f4", + "0xc0018f9014e50144701417018f8014e5014f70158a018f7014e5014061cc06", + "0x63940501816018fd3e8f9040053f405394053e0055f8063e8053940519405", + "0x505c063ec05394053f8055f4063f805394050187301806394053d8054c406", + "0xff3f01001500014e5014fb0157e018ff014e501465014c0018fc014e501447", + "0xf0143a018063940525c050e806018e5014430158b01806394050181601900", + "0x640405394050187301806394052f80562c06018e5014160143a0180639405", + "0x17e01903014e501405014c0018f5014e5014470141701902014e5015010157d", + "0x6018e5014160143a0180639405018160190440cf504005410053940540805", + "0xe5014061cc06018e50140f0143a018063940525c050e806018e5014430158b", + "0x539405014053000641c05394051240505c064180539405414055f40641405", + "0x5058050e806018e501406058064250841c1001509014e5015060157e01908", + "0x17d0190a014e5014061cc06018e5014970143a018063940503c050e806018e5", + "0x55f8064300539405014053000642c053940538c0505c063b0053940542805", + "0x16014e5014970157201897014e5014065c4064350c42c100150d014e5014ec", + "0xd10180639405064055c0060641b03ce50140f0158f01817014e50140608806", + "0xf3940f0401605c05018166400605805394050580539c0605c053940505c05", + "0x50a005644060a0053940501873018063940501816018b3084ac041ff2a81c", + "0xe5014270159201809014e5014aa0144701829014e50141c0141b01827014e5", + "0x506c060b805394052cc0564c06018e5014060580601a00014061c4060c405", + "0x310159401831014e50142e0159201809014e5014210144701829014e5014ac", + "0x16018d1016010d0053940f0c805658060c8053940508805654060880539405", + "0xd501599018d5014e50143706c0f660060dc05394050d00565c06018e501406", + "0x50e8056680634c05394050240511c0635005394050a40506c060e80539405", + "0xd10159b018063940506c055c006018e501406058060f8d3350100143e014e5", + "0x5328056680631405394050240511c0631c05394050a40506c063280539405", + "0x1360181b05c0f3940525c0545806018e5014062540638cc531c10014e3014e5", + "0xf0144301827014e5014050141b01828014e5014060141701819014e501406", + "0x506c05670060c40539405058050640602405394050400511c060a40539405", + "0x1c058e5014320b8310242909c2806d9d01832014e5014190143e0182e014e5", + "0x220159f0180639405018160183401602088053940f2cc05678062cc212b0aa", + "0x3a014a90180639405354050e806018e5014d1014d50183a354373449739405", + "0x5350d303d29018d3014e50143705c0f138063500539405018730180639405", + "0xe5014aa0141b018c7014e50141c01417018ca014e50143e0152a0183e014e5", + "0x539405328054ac0610c05394050840511c0638c05394052b00510c0631405", + "0x340152c018063940505c055c006018e501406058063004338cc531c16014c0", + "0x52b00510c0612405394052a80506c0608c05394050700505c0611c0539405", + "0x4c2f84908c16014bb014e5014470152b0184c014e50142101447018be014e5", + "0x101300606c053940506c052f80606c053940501849018063940501895018bb", + "0xf3940525c0544006018e501406058062b0aa03e030701903ce503c1b01406", + "0x5394050640505c06018e5014b301570018282cc0f39405084054580608497", + "0xd1014e5014100144701834014e50140f0144301822014e50141c0141b01832", + "0xd5014e5014d50143e018d50580f3940505805428060dc05394050a00567006", + "0x3a014e503c2e014ad0182e0c4090a427058e5014d50dcd10d0220c81768006", + "0xd303ce5014d30150a018d3014e50143a01455018063940501816018d401604", + "0x6018e501497014b7018063940501816018ca01605018e503c3e0152d0183e", + "0x1a2018c5014e5014c705817041a1018c7014e5014061cc06018e5014d30143a", + "0x510c0630005394050a40506c0610c053940509c0505c0638c053940531405", + "0xc010c1601449014e5014e3015a301823014e5014310144701847014e501409", + "0xbe014e5014d305c0f32806018e5014ca015310180639405018160184908c47", + "0x62c4053940509c0505c062ec05394051301603da40184c014e5014064c806", + "0xb4018ab014e5014310144701855014e50140901443018ad014e5014290141b", + "0x1b4dc062a405394052f8051580616005394052ec050f806158053940525c05", + "0x58185b014e503cb4014e9018b42dc50138b9058e5014a9160562ac552b4b1", + "0xe5014602985e041a1018602985e040e50145b01538018063940501816018a8", + "0x5394051380506c0628405394052e40505c062900539405188056880618805", + "0x6e014e5014a4015a30189e014e5014b70144701867014e5014500144301865", + "0xb90141701869014e5014a8015a50180639405018160186e27867194a105805", + "0x52dc0511c0624c05394051400510c0625405394051380506c062600539405", + "0x6018e501406058062449224c952601601491014e501469015a301892014e5", + "0x53500569406018e501497014b70180639405058050e806018e501417014a8", + "0xe5014090144301873014e5014290141b01871014e5014270141701884014e5", + "0x7d1f8811cc71058051f405394052100568c061f805394050c40511c0620405", + "0x5058050e806018e501417014a8018063940525c052dc06018e50140605806", + "0x60000539405000050f8060000539405018620189c014e50140635006018e5", + "0x63bc05394053b4ee03cc5018ee014e50140631c063b405394050009c03cca", + "0x43018f2014e5014ac0141b018f1014e5014aa01417018f0014e5014ef015a5", + "0xf1058053d805394053c00568c063d005394050400511c063cc053940503c05", + "0x170580f6980605c05394050140511c0605805394050180506c063d8f43ccf2", + "0x1a8018063940501816018190160706c053940f25c0569c0625c1003c1039405", + "0x282cc212b016394052a8056a8062a80539405070056a406070053940506c05", + "0x50e806018e5014280154801806394052cc0552006018e501421015ab01827", + "0x503c0506c0602405394050a4056b4060a405394052b0056b006018e501427", + "0x60c82e0c41001432014e501409015ae0182e014e5014100144701831014e5", + "0x100144701834014e50140f0141b01822014e501419015af018063940501816", + "0xe503c0f01406041b00183734434040050dc0539405088056b8063440539405", + "0x10014170181b014e501497015b1018063940501816018170580f820970400f", + "0x6018e5014060580601a09014061c406070053940506c056c8060640539405", + "0x1b40181c014e5014aa015b201819014e50141601417018aa014e501417015b3", + "0xb303db601828014e5014ac0143e018b3014e50141c015b5018ac014e501406", + "0x55bc06018e501406058060a40582827014e503c210155301821014e501428", + "0x19014170182e014e501431015b801831014e501409015b701809014e501427", + "0x56e806018e501406058060883203c0508805394050b8056e4060c80539405", + "0x373440f01437014e501434015b9018d1014e5014190141701834014e501429", + "0x10014e5014050151e0180639405018160180f0160b014053940f018056ec06", + "0x639405018160181601405058053940525c053d40625c05394050400547c06", + "0x6064053940506c054080606c053940503c1703cc501817014e50140631c06", + "0xe503c1001587018100140f394050140562006070050141c014e501419014f5", + "0x16014e501406014c0018063940503c050e806018e5014060580625c0583006", + "0x50140562c06018e5014060580601a0d014061c40605c05394050140561406", + "0x1c015be0181c0640f3940525c0f06c0625dbd0181b014e5014066f006018e5", + "0x60580601a0e2a8053940f070056fc06064053940506405300060700539405", + "0x683c050187101821014e5014ac01585018ac014e5014aa015810180639405", + "0x19014c001821014e5014b301585018b3014e50140670006018e50140605806", + "0x505c05564060a00539405058057040605c053940508405614060580539405", + "0x5840063940f03c0561c0603c0603ce50140601588018270a00f01427014e5", + "0x970140525c05394050140561406018e5014060158b01806394050181601810", + "0x570806018e5014060580605805844063940f0140561c06018e50140605806", + "0x60158b018063940501816018170140505c05394050180561406018e501410", + "0xe501419015be01819014e50141006c0f70c0606c0539405019bc0180639405", + "0xe503c1c015bf0181c014e50141c015be0181c014e5014160640f70c0606405", + "0x5394052b005614062b005394052a80560406018e5014060580601a122a805", + "0x52cc05614062cc0539405019c00180639405018160180684c050187101821", + "0x1870180f0140f3940501405620060a00501428014e5014210155901821014e5", + "0x60158501806394050140562c06018e5014060580604005850063940f03c05", + "0x50140571006018e501410015c2018063940501816018970140525c0539405", + "0x50641b03d8901819014e501416015850181b014e5014060158501816014e5", + "0xf01615014053940f0180571406070050141c014e5014170155901817014e5", + "0x57200625c05394050400571c0604005394050140571806018e50140605806", + "0x1703cc501817014e50140631c06018e501406058060580501416014e501497", + "0x6070050141c014e501419015c801819014e50141b015c90181b014e50140f", + "0x5018101300606c053940506c052f80606c053940501849018063940501895", + "0x6084053940525c0502406018e501406058062b0aa03e160701903ce503c1b", + "0x27016170a0b303ce503c210149301819014e501419014170180639405019ca", + "0x52100602405394052cc05244060a405394050a00524806018e50140605806", + "0x60b805394050187301806394050181601806860050187101831014e501429", + "0x5e01831014e5014320148401809014e5014270149101832014e50142e01481", + "0xd1016190d0053940f0c4051f80608805394050880506406088053940502405", + "0x50dc05270060dc05394050d0051f406018e50140625406018e50140605806", + "0xe50140f01443018c5014e50141c0141b018c7014e50141901417018d5014e5", + "0xf3940505c05428063000539405058056700610c05394050400511c0638c05", + "0x4338cc531c1b72c0608c0539405354050f80611c053940511c050f80611c17", + "0x6058062f80586849014e503cca015cc018ca0f8d33503a058e50142311cc0", + "0xe501449015cd018bb014e50144c05c0f690061300539405019320180639405", + "0x5394053500506c0615405394050e80505c06018e50144e014a90184e2e40f", + "0xa9014e5014220141901858014e50143e0144701856014e5014d301443018ab", + "0x5b2a458158ab1541b674062a005394052ec050f80616c05394052e40567006", + "0xe501406058062980586c5e014e503cad0159e018ad2c4b42dc50058e5014a8", + "0x1cf01865014e5014a1290621809773806284a41886025ce50145e0159f01806", + "0x510c061b805394052dc0506c0627805394051400505c0619c053940519405", + "0x6e2781601495014e501467015d001898014e5014b10144701869014e5014b4", + "0x92014e5014500141701893014e5014a6015d10180639405018160189526069", + "0x61c405394052c40511c0621005394052d00510c0624405394052dc0506c06", + "0x505c050e806018e501406058061cc71210912481601473014e501493015d0", + "0x7e014e50143a0141701881014e5014be015d101806394050880535406018e5", + "0x600005394050f80511c06270053940534c0510c061f405394053500506c06", + "0xe50140625406018e501406058063b4002707d1f816014ed014e501481015d0", + "0x5394053b8170582225dce018ee014e5014061cc06018e5014d1014a901806", + "0xf2014e50141c0141b018f1014e50141901417018f0014e5014ef015cf018ef", + "0x53d805394053c005740063d005394050400511c063cc053940503c0510c06", + "0xe501497014d5018063940505c050e806018e501406058063d8f43ccf23c416", + "0x50f8063e0053940501862018f7014e50140635006018e5014160151701806", + "0xfa03cc5018fa014e50140631c063e405394053e0f703cca018f8014e5014f8", + "0xac0141b018fb014e5014aa01417018fe014e5014fd015d1018fd014e5014f9", + "0x53f8057400640005394050400511c063fc053940503c0510c063f00539405", + "0x53940503c0510c0607005394050180505c06405003fcfc3ec1601501014e5", + "0x5084ac2a81c25dd201821014e5014160143e018ac014e5014970159c018aa", + "0x50a005344060a0053940501822018b3014e501419015720181906c17040e5", + "0x501816018320b8310421c0242909c103940f2cc280400525d7301828014e5", + "0x5394050a40511c060d0053940509c0506c060880539405024055d006018e5", + "0x320157a01806394050181601806874050187101837014e50142201578018d1", + "0x5354055e00634405394050b80511c060d005394050c40506c063540539405", + "0xe503c3a014ad0183a014e5014d40157c018d4014e5014370157b01837014e5", + "0xe5014ca0151e018ca014e5014d3014550180639405018160183e0161e34c05", + "0x5394050d00506c0638c053940505c0505c06314053940531c0547c0631c05", + "0x23014e5014c5014f501847014e5014d101447018c0014e50141b0144301843", + "0x170141701849014e50143e015020180639405018160182311cc010ce305805", + "0x53440511c062ec053940506c0510c0613005394050d00506c062f80539405", + "0xe503c050180f74c06138b92ec4c2f8160144e014e501449014f5018b9014e5", + "0x1b01819014e501497015d40180639405018160181b05c160421f25c1003c10", + "0x61c4062b0053940506405754062a805394050400511c06070053940503c05", + "0x1c014e5014160141b01821014e50141b015d60180639405018160180688005", + "0x60a005394052b00575c062b0053940508405754062a8053940505c0511c06", + "0x6018e501406058060a40588427014e503cb3015a7018b3014e501428015d8", + "0x1b0182e014e501431015da01831014e501409015d901809014e501427015a8", + "0x32040050d005394050b80576c0608805394052a80511c060c8053940507005", + "0x60dc05394050700506c0634405394050a40577006018e501406058060d022", + "0xf01805774060e8d50dc100143a014e5014d1015db018d5014e5014aa01447", + "0xe50140f015b70180639405014050e806018e50140605806040058880f014e5", + "0x501816018170140505c0539405058056e406058053940525c056e00625c05", + "0x19014e50140506c0f3280606c0539405018d40180639405040050c806018e5", + "0x62b005394052a8056e8062a805394050641c03cc50181c014e50140631c06", + "0xe501406014170181906c0f3940525c0588c060840501421014e5014ac015b9", + "0x539405058050f8060a0053940506405670062cc053940503c0510c0608405", + "0x6088060a405394052b0055c8062b0aa070103940509c282cc2125dd201827", + "0x2e0c40f3940f05c29024100141664006024053940502405344060240539405", + "0x5394053440564406344053940501873018063940501816018340883204224", + "0xd4014e501437015920183a014e50142e01447018d5014e5014310141b01837", + "0x50c80506c0634c05394050d00564c06018e5014060580601a25014061c406", + "0xe5014d401594018d4014e5014d3015920183a014e50142201447018d5014e5", + "0x501816018c50162631c053940f0f805658060f80539405328056540632805", + "0xe5014430155b01843014e5014e306c0f89c0638c053940531c0565c06018e5", + "0x5394052a80510c0608c05394053540506c0611c05394050700505c0630005", + "0x6130be1242311c160144c014e5014c001628018be014e50143a0144701849", + "0x50700505c062ec0539405314058a406018e50141b01517018063940501816", + "0xe50143a0144701850014e5014aa014430184e014e5014d50141b018b9014e5", + "0x6018e50140f01517018b42dc50138b9058052d005394052ec058a0062dc05", + "0x50f80605c05394050580545006058053940525c0544c0625c053940501a2a", + "0x607005394050640544c060641b03ce50141005c050411501817014e501417", + "0x212b00f394052a80603e2b018aa014e5014aa0143e018aa014e50141c01514", + "0x509c0539405084058b0060a0053940506c0510c062cc05394052b00505c06", + "0x5015d90180639405018160180f0162e014053940f018058b40609c282cc10", + "0x160181601405058053940525c0576c0625c053940504005768060400539405", + "0x506c057700606c053940503c1703cc501817014e50140631c06018e501406", + "0x7d248170c85e1f8931f49205cc5070050141c014e501419015db01819014e5", + "0x5018911787e1f492058321787e1f49205806058970400f014062445e1f893", + "0x7d07230018840c80f0c8058bc0f014062047e1f4100c87e1f41064c970400f", + "0x2310641b05c1625c1003c0501898178921f8931f4170c8060c865178921f893", + "0x50189e178921f87d0583201865178921f87d06e320140605c1003c100180f", + "0x7e1f4178d0970400f014062907e1f410018100c87e1f4168cc17058970400f", + "0x62a47d03c210b87d04235058970400f014062a05e2487e1f4160406517892", + "0x7e1f4168e005018ad1f40f0187d03e37014062ac5e1f8101787e03e3603c05", + "0xf014062605e1f8101385e1f8108e4970400f01406260921f87d25c3219492", + "0x100184e1787e25e3b058970400f014062d0931f410018060180624c7d05e3a", + "0x1003c050189e178921f87d058321945e2487e1f4178f01003c05018b71787e", + "0x23e05c1625c1003c05018bb178921f87d0581001865178921f87d06e3d05897", + "0x98014c70164003c05018c01f40f084211f4108fc05018be1787e0405e1f80f", + "0x50f83e03e43014060f8050f83e03e4203c050183e24c0f0183e24c1090406", + "0x63545e2487e1f416018160c85e2487e1f41b914063500534c05910050183e", + "0x970400f014062605e2487e1f41601816178921f87d05e4605c1625c1003c05", + "0x5e2487e1f41b92405018c0014062cc0f92005018d11787e0405e1f80f91c16", + "0x921f410018162487d25e4a05c1625c1003c05018aa178921f87d0580601816", + "0x930063440525c0592c1003c05018e3" + ], + "sierra_program_debug_info": { + "type_names": [], + "libfunc_names": [], + "user_func_names": [] + }, + "contract_class_version": "0.1.0", + "entry_points_by_type": { + "EXTERNAL": [ + { + "selector": "0x2412dc2a4a0554946f855b8a477bb5d50aeb5d097ddd55c2f7b4dda077bf63a", + "function_idx": 0 + } + ], + "L1_HANDLER": [], + "CONSTRUCTOR": [ + { + "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", + "function_idx": 1 + } + ] + }, + "abi": [ + { + "type": "impl", + "name": "ResolverImpl", + "interface_name": "resolver::interface::resolver::IResolver" + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { "name": "snapshot", "type": "@core::array::Array::" } + ] + }, + { + "type": "interface", + "name": "resolver::interface::resolver::IResolver", + "items": [ + { + "type": "function", + "name": "resolve", + "inputs": [ + { "name": "domain", "type": "core::array::Span::" }, + { "name": "field", "type": "core::felt252" }, + { "name": "hint", "type": "core::array::Span::" } + ], + "outputs": [{ "type": "core::felt252" }], + "state_mutability": "view" + } + ] + }, + { + "type": "constructor", + "name": "constructor", + "inputs": [ + { "name": "_public_key", "type": "core::felt252" }, + { "name": "uri", "type": "core::array::Span::" } + ] + }, + { + "type": "event", + "name": "resolver::resolver::Resolver::Event", + "kind": "enum", + "variants": [] + } + ] +} diff --git a/packages/core/__test__/fixtures.ts b/packages/core/__test__/fixtures.ts index db0d4ea..c7f890c 100644 --- a/packages/core/__test__/fixtures.ts +++ b/packages/core/__test__/fixtures.ts @@ -67,6 +67,9 @@ export const compiledMulticallSierraCasm = readContractSierraCasm( ); export const compiledErc721Sierra = readContractSierra("erc721/erc721"); export const compiledErc721SierraCasm = readContractSierraCasm("erc721/erc721"); +export const compiledResolverSierra = readContractSierra("resolver/resolver"); +export const compiledResolverSierraCasm = + readContractSierraCasm("resolver/resolver"); /* Default test config based on run `starknet-devnet --seed 0` */ const DEFAULT_TEST_RPC_URL = "http://127.0.0.1:5050/"; diff --git a/packages/core/__test__/profile.test.ts b/packages/core/__test__/profile.test.ts index 72c9f22..47d6b27 100644 --- a/packages/core/__test__/profile.test.ts +++ b/packages/core/__test__/profile.test.ts @@ -17,6 +17,7 @@ import { import { getMulticallContract, decodeDomain } from "../src/utils"; jest.mock("../src/utils"); +global.fetch = jest.fn(); describe("test starknetid.js sdk", () => { jest.setTimeout(90000000); @@ -228,6 +229,10 @@ describe("test starknetid.js sdk", () => { }); describe("getProfileData with nft profile picture", () => { + beforeEach(() => { + fetch.mockClear(); + }); + beforeAll(async () => { // Add nft pp verifier data const { transaction_hash } = await otherAccount.execute( @@ -262,6 +267,12 @@ describe("test starknetid.js sdk", () => { }); test("getProfileData should return the right values", async () => { + fetch.mockResolvedValue({ + ok: true, + json: async () => ({ + image: "https://goerli.starknet.quest/starkfighter/level1.webp", + }), + }); const starknetIdNavigator = new StarknetIdNavigator( provider, constants.StarknetChainId.SN_GOERLI, diff --git a/packages/core/__test__/resolve.test.ts b/packages/core/__test__/resolve.test.ts new file mode 100644 index 0000000..c81e755 --- /dev/null +++ b/packages/core/__test__/resolve.test.ts @@ -0,0 +1,152 @@ +import { Account, constants } from "starknet"; +import { StarknetIdNavigator } from "../src"; +import { + compiledIdentitySierra, + compiledIdentitySierraCasm, + compiledNamingSierra, + compiledNamingSierraCasm, + compiledPricingSierra, + compiledPricingSierraCasm, + compiledResolverSierra, + compiledResolverSierraCasm, + getTestAccount, + getTestProvider, +} from "./fixtures"; + +global.fetch = jest.fn(); + +describe("test starknetid.js sdk", () => { + jest.setTimeout(90000000); + const provider = getTestProvider(); + const account = getTestAccount(provider)[0]; + + let erc20Address: string = + "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"; + let NamingContract: string; + let IdentityContract: string; + let ResolverContract: string; + + beforeAll(async () => { + expect(account).toBeInstanceOf(Account); + + // Deploy Identity contract + const idResponse = await account.declareAndDeploy( + { + contract: compiledIdentitySierra, + casm: compiledIdentitySierraCasm, + constructorCalldata: [account.address, 0], + }, + { maxFee: 1e18 }, + ); + IdentityContract = idResponse.deploy.contract_address; + + // Deploy pricing contract + const pricingResponse = await account.declareAndDeploy( + { + contract: compiledPricingSierra, + casm: compiledPricingSierraCasm, + constructorCalldata: [erc20Address], + }, + { maxFee: 1e18 }, + ); + const pricingContractAddress = pricingResponse.deploy.contract_address; + + // Deploy naming contract + const namingResponse = await account.declareAndDeploy( + { + contract: compiledNamingSierra, + casm: compiledNamingSierraCasm, + constructorCalldata: [ + IdentityContract, + pricingContractAddress, + 0, + account.address, + ], + }, + { maxFee: 1e18 }, + ); + NamingContract = namingResponse.deploy.contract_address; + + // Deploy resolver contract + const publicKey = + "0x1ef1ffcd39066b79fd741ed17c8bed5fab0160591d8b7177211f5e7f5517a04"; + const serverUri = ["http://0.0.0.0:8090/resolve?do", "main="]; + const resolverResponse = await account.declareAndDeploy( + { + contract: compiledResolverSierra, + casm: compiledResolverSierraCasm, + constructorCalldata: [publicKey, 2, ...serverUri], + }, + { maxFee: 1e18 }, + ); + ResolverContract = resolverResponse.deploy.contract_address; + + const { transaction_hash } = await account.execute( + [ + { + contractAddress: erc20Address, + entrypoint: "approve", + calldata: [NamingContract, 0, 1], // Price of domain + }, + { + contractAddress: IdentityContract, + entrypoint: "mint", + calldata: ["1"], // TokenId + }, + { + contractAddress: NamingContract, + entrypoint: "buy", + calldata: [ + "1", // Starknet id linked + "1068731", // Domain encoded "test" + "365", // days + ResolverContract, // resolver + 0, // sponsor + 0, + 0, + ], + }, + { + contractAddress: IdentityContract, + entrypoint: "set_main_id", + calldata: ["1"], + }, + ], + undefined, + { maxFee: 1e18 }, + ); + await provider.waitForTransaction(transaction_hash); + }); + + describe("resolve domain", () => { + beforeEach(() => { + fetch.mockClear(); + }); + + test("resolve subdomain returns the right address", async () => { + fetch.mockResolvedValue({ + ok: true, + json: async () => ({ + address: + "0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691", + r: "0x7bdc9f102e7085464431ae1a89f1d1cc51abf0a1dfa3fba8016b05cb4365219", + s: "0x6d557890203c75df13d880691ac8af5323d0cb7c944d34fc271425f442eae9f", + max_validity: 1716966719, + }), + }); + const starknetIdNavigator = new StarknetIdNavigator( + provider, + constants.StarknetChainId.SN_GOERLI, + { + naming: NamingContract, + identity: IdentityContract, + }, + ); + expect(starknetIdNavigator).toBeInstanceOf(StarknetIdNavigator); + const address = await starknetIdNavigator.getAddressFromStarkName( + "iris.test.stark", + ); + expect(address).toBe(account.address); + }); + }); +}); diff --git a/packages/core/package.json b/packages/core/package.json index fded078..adb169b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "starknetid.js", - "version": "3.0.4", + "version": "3.0.5", "keywords": [ "starknet", "starknetid", diff --git a/packages/core/src/starknetIdNavigator/default.ts b/packages/core/src/starknetIdNavigator/default.ts index 626391e..82e31c1 100644 --- a/packages/core/src/starknetIdNavigator/default.ts +++ b/packages/core/src/starknetIdNavigator/default.ts @@ -47,19 +47,40 @@ export class StarknetIdNavigator implements StarknetIdNavigatorInterface { public async getAddressFromStarkName(domain: string): Promise { const contract = this.StarknetIdContract.naming ?? getNamingContract(this.chainId); + const encodedDomain = encodeDomain(domain).map((elem) => elem.toString(10)); try { - const encodedDomain = encodeDomain(domain).map((elem) => - elem.toString(10), - ); - const addressData = await this.provider.callContract({ - contractAddress: contract, - entrypoint: "domain_to_address", - calldata: CallData.compile({ domain: encodedDomain, hint: [] }), - }); - return addressData.result[0]; - } catch { - throw new Error("Could not get address from stark name"); + return await this.tryResolveDomain(contract, encodedDomain, []); + } catch (error) { + if (error instanceof Error) { + // extract server uri from error message + const data = this.extractArrayFromErrorMessage(String(error)); + if (!data?.includes("offchain_resolving")) { + // if the error is not related to offchain resolving + throw new Error("Could not get address from stark name"); + } + const uri = data.slice(1).join(""); + + // Query server + try { + const serverRes = await this.queryServer(uri, domain); + if (serverRes.error) { + throw new Error("Could not resolve domain"); + } + // try resolving with hint + const hint: any[] = [ + serverRes.data.address, + serverRes.data.r, + serverRes.data.s, + serverRes.data.max_validity, + ]; + return await this.tryResolveDomain(contract, encodedDomain, hint); + } catch (error: any) { + throw new Error(`Could not resolve domain : ${error.message}`); + } + } else { + throw new Error("Could not get address from stark name"); + } } } @@ -600,6 +621,37 @@ export class StarknetIdNavigator implements StarknetIdNavigatorInterface { } } + private async tryResolveDomain( + contract: string, + encodedDomain: string[], + hint: any = [], + ): Promise { + const addressData = await this.provider.callContract({ + contractAddress: contract, + entrypoint: "domain_to_address", + calldata: CallData.compile({ domain: encodedDomain, hint }), + }); + return addressData.result[0]; + } + + private extractArrayFromErrorMessage(errorMsg: string) { + const pattern = /Execution failed\. Failure reason: \((.*?)\)\./; + const match = errorMsg.match(pattern); + + if (match && match[1]) { + const values = match[1].split(",").map((value) => value.trim()); + const res = values.map((entry) => { + const hexMatch = entry.match(/(0x[0-9a-f]+)/i); + if (hexMatch && hexMatch[1]) { + return shortString.decodeShortString(hexMatch[1]); + } + }); + return res; + } + + return null; + } + private async checkArguments(idDomainOrAddr: string): Promise { if (typeof idDomainOrAddr === "string") { if (/^\d+$/.test(idDomainOrAddr)) { @@ -681,4 +733,19 @@ export class StarknetIdNavigator implements StarknetIdNavigatorInterface { return "Error fetching data"; } } + + private async queryServer(serverUri: string, domain: string) { + try { + const response = await fetch(`${serverUri}${domain}`); + + if (!response.ok) { + const errorResponse = await response.text(); + throw new Error(errorResponse || "Error while querying server"); + } + const data = await response.json(); + return { data }; + } catch (error) { + return { error }; + } + } } diff --git a/packages/core/src/types/lib.ts b/packages/core/src/types/lib.ts index 8f11e13..fd612cc 100644 --- a/packages/core/src/types/lib.ts +++ b/packages/core/src/types/lib.ts @@ -13,3 +13,10 @@ export type StarkProfile = { github?: string; proofOfPersonhood?: boolean; }; + +export type CcipResponse = { + address: string; + r: string; + s: string; + max_validity: number; +};