diff --git a/flake.lock b/flake.lock index b3d9ca289..a915e2493 100644 --- a/flake.lock +++ b/flake.lock @@ -22,6 +22,57 @@ "inputs": { "systems": "systems_7" }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_11": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_12": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_13": { + "inputs": { + "systems": "systems_9" + }, "locked": { "lastModified": 1687171271, "narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=", @@ -36,9 +87,9 @@ "type": "github" } }, - "flake-utils_11": { + "flake-utils_14": { "inputs": { - "systems": "systems_8" + "systems": "systems_10" }, "locked": { "lastModified": 1681202837, @@ -54,9 +105,9 @@ "type": "github" } }, - "flake-utils_12": { + "flake-utils_15": { "inputs": { - "systems": "systems_9" + "systems": "systems_11" }, "locked": { "lastModified": 1705309234, @@ -72,9 +123,63 @@ "type": "github" } }, - "flake-utils_13": { + "flake-utils_16": { "inputs": { - "systems": "systems_10" + "systems": "systems_12" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_17": { + "inputs": { + "systems": "systems_13" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_18": { + "inputs": { + "systems": "systems_14" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_19": { + "inputs": { + "systems": "systems_15" }, "locked": { "lastModified": 1705309234, @@ -128,11 +233,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -146,11 +251,11 @@ "systems": "systems_4" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -231,11 +336,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1709457044, - "narHash": "sha256-1SktmSjTjC1rhJwQ+kvqUeExKogNzserFGuoGwOerHw=", + "lastModified": 1712135466, + "narHash": "sha256-+xFfYk17EI0zZTGmhh3MyeSpl7RVohoVp/4HaSvGj4I=", "owner": "shazow", "repo": "foundry.nix", - "rev": "592e8ca2e82a2c3a8d0d4dcc7f7c5b8c3842efcd", + "rev": "ece7c960a440c6725a7a5576d1f49a5fabde3747", "type": "github" }, "original": { @@ -250,6 +355,26 @@ "flake-utils": "flake-utils_6", "nixpkgs": "nixpkgs_3" }, + "locked": { + "lastModified": 1709457044, + "narHash": "sha256-1SktmSjTjC1rhJwQ+kvqUeExKogNzserFGuoGwOerHw=", + "owner": "shazow", + "repo": "foundry.nix", + "rev": "592e8ca2e82a2c3a8d0d4dcc7f7c5b8c3842efcd", + "type": "github" + }, + "original": { + "owner": "shazow", + "ref": "monthly", + "repo": "foundry.nix", + "type": "github" + } + }, + "foundry_3": { + "inputs": { + "flake-utils": "flake-utils_9", + "nixpkgs": "nixpkgs_5" + }, "locked": { "lastModified": 1705216422, "narHash": "sha256-kIAi+aqJoOVhpQP5DWRDdNsrfBMn+GsCwiuwJhG4w/g=", @@ -265,10 +390,10 @@ "type": "github" } }, - "foundry_3": { + "foundry_4": { "inputs": { - "flake-utils": "flake-utils_9", - "nixpkgs": "nixpkgs_5" + "flake-utils": "flake-utils_12", + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1705216422, @@ -287,7 +412,7 @@ }, "naersk": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1686572087, @@ -318,6 +443,38 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1687518131, + "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1681358109, + "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { "locked": { "lastModified": 1706487304, "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", @@ -333,7 +490,39 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_13": { + "locked": { + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_14": { + "locked": { + "lastModified": 1708564076, + "narHash": "sha256-KKkqoxlgx9n3nwST7O2kM8tliDOijiSSNaWuSkiozdQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "98b00b6947a9214381112bdb6f89c25498db4959", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_15": { "locked": { "lastModified": 1706487304, "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", @@ -349,6 +538,22 @@ "type": "github" } }, + "nixpkgs_16": { + "locked": { + "lastModified": 1708564076, + "narHash": "sha256-KKkqoxlgx9n3nwST7O2kM8tliDOijiSSNaWuSkiozdQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "98b00b6947a9214381112bdb6f89c25498db4959", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1712609864, @@ -381,17 +586,17 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1706634492, - "narHash": "sha256-9wg1OQET7oCzzMsktGufJmfr2ylecL8T8YYqQo+qNSc=", + "lastModified": 1712609864, + "narHash": "sha256-c0U5x9ucCKHZHqaJIy4eB0FTFNWbLLF9PyNsVDDj75w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dad88c029e2644adfde882f73e9338fd39058a3f", + "rev": "902522b1a069597be55bc1547fadaaeb62111019", "type": "github" }, "original": { "owner": "nixos", "repo": "nixpkgs", - "rev": "dad88c029e2644adfde882f73e9338fd39058a3f", + "rev": "902522b1a069597be55bc1547fadaaeb62111019", "type": "github" } }, @@ -427,11 +632,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1687518131, - "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", + "lastModified": 1666753130, + "narHash": "sha256-Wff1dGPFSneXJLI2c0kkdWTgxnQ416KE6X4KnFkgPYQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", + "rev": "f540aeda6f677354f1e7144ab04352f61aaa0118", "type": "github" }, "original": { @@ -441,34 +646,32 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1687518131, - "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", - "owner": "NixOS", + "lastModified": 1706634492, + "narHash": "sha256-9wg1OQET7oCzzMsktGufJmfr2ylecL8T8YYqQo+qNSc=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", + "rev": "dad88c029e2644adfde882f73e9338fd39058a3f", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", "repo": "nixpkgs", + "rev": "dad88c029e2644adfde882f73e9338fd39058a3f", "type": "github" } }, "nixpkgs_9": { "locked": { - "lastModified": 1681358109, - "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", + "lastModified": 1687518131, + "narHash": "sha256-KirltRIc4SFfk8bTNudIqgKAALH5oqpW3PefmkfWK5M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", + "rev": "3d8a93602bc54ece7a4e689d9aea1a574e2bbc24", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "rain": { @@ -477,11 +680,11 @@ "rainix": "rainix_2" }, "locked": { - "lastModified": 1709330445, - "narHash": "sha256-fNBo/pmPOkTbkKZRFnxR6QBQEk1QSL13iIdfPQN6jpg=", + "lastModified": 1713982615, + "narHash": "sha256-LEmo3vlyIOr3W7J9sl1iXpBBWcys4D+MVG3NJRfZj+c=", "owner": "rainlanguage", "repo": "rain.cli", - "rev": "0f882121f9f26208c1ae062c368ee817b2ca1363", + "rev": "63c9af98671604a54c7e319ff9b3f2978a57d5b8", "type": "github" }, "original": { @@ -495,6 +698,25 @@ "flake-utils": "flake-utils_7", "rainix": "rainix_3" }, + "locked": { + "lastModified": 1709330445, + "narHash": "sha256-fNBo/pmPOkTbkKZRFnxR6QBQEk1QSL13iIdfPQN6jpg=", + "owner": "rainlanguage", + "repo": "rain.cli", + "rev": "0f882121f9f26208c1ae062c368ee817b2ca1363", + "type": "github" + }, + "original": { + "owner": "rainlanguage", + "repo": "rain.cli", + "type": "github" + } + }, + "rain_3": { + "inputs": { + "flake-utils": "flake-utils_10", + "rainix": "rainix_4" + }, "locked": { "lastModified": 1706637129, "narHash": "sha256-dMyuaMux2bVChGb0DA1lyYw+SxyEz41CshmZsqGZwqM=", @@ -509,11 +731,11 @@ "type": "github" } }, - "rain_3": { + "rain_4": { "inputs": { - "flake-utils": "flake-utils_10", + "flake-utils": "flake-utils_13", "naersk": "naersk", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1700476138, @@ -535,14 +757,15 @@ "foundry": "foundry", "nixpkgs": "nixpkgs_2", "rain": "rain", - "rust-overlay": "rust-overlay_3" + "rust-overlay": "rust-overlay_4", + "solc": "solc_2" }, "locked": { - "lastModified": 1712833652, - "narHash": "sha256-AcjkO/AFb3VRvbK1u7qBKS0CuG+Pt++hiHADLHa0JwQ=", + "lastModified": 1714024519, + "narHash": "sha256-ojdJUym+qj/M+p2Cd25E21qiXC99qPkvT3cx8/xxLu4=", "owner": "rainprotocol", "repo": "rainix", - "rev": "36a665f27cfc37e8f477dd698eb1e01fef3dffb9", + "rev": "b7c368c900ba1db9a3907d5fe54d62d9d484fe34", "type": "github" }, "original": { @@ -557,19 +780,21 @@ "foundry": "foundry_2", "nixpkgs": "nixpkgs_4", "rain": "rain_2", - "rust-overlay": "rust-overlay_2" + "rust-overlay": "rust-overlay_3", + "solc": "solc" }, "locked": { - "lastModified": 1707160817, - "narHash": "sha256-ZLJ3/YlQqnrsFFc4BdO3d4QulAPnUjZYs9cJ+9+6FBo=", + "lastModified": 1713900533, + "narHash": "sha256-8FUM4l4Quwnl+uwGwsH68MwbPMKwVXoerEcGx7sgK5U=", "owner": "rainprotocol", "repo": "rainix", - "rev": "10cbcbe44d597b6e4618af28fb7977a79e241342", + "rev": "6097a125b4ab515e650a6f35d6018744c4ac3bc4", "type": "github" }, "original": { "owner": "rainprotocol", "repo": "rainix", + "rev": "6097a125b4ab515e650a6f35d6018744c4ac3bc4", "type": "github" } }, @@ -579,6 +804,28 @@ "foundry": "foundry_3", "nixpkgs": "nixpkgs_6", "rain": "rain_3", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1707160817, + "narHash": "sha256-ZLJ3/YlQqnrsFFc4BdO3d4QulAPnUjZYs9cJ+9+6FBo=", + "owner": "rainprotocol", + "repo": "rainix", + "rev": "10cbcbe44d597b6e4618af28fb7977a79e241342", + "type": "github" + }, + "original": { + "owner": "rainprotocol", + "repo": "rainix", + "type": "github" + } + }, + "rainix_4": { + "inputs": { + "flake-utils": "flake-utils_11", + "foundry": "foundry_4", + "nixpkgs": "nixpkgs_8", + "rain": "rain_4", "rust-overlay": "rust-overlay" }, "locked": { @@ -603,8 +850,8 @@ }, "rust-overlay": { "inputs": { - "flake-utils": "flake-utils_11", - "nixpkgs": "nixpkgs_9" + "flake-utils": "flake-utils_14", + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1706580650, @@ -622,8 +869,8 @@ }, "rust-overlay_2": { "inputs": { - "flake-utils": "flake-utils_12", - "nixpkgs": "nixpkgs_10" + "flake-utils": "flake-utils_15", + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1706634984, @@ -641,8 +888,8 @@ }, "rust-overlay_3": { "inputs": { - "flake-utils": "flake-utils_13", - "nixpkgs": "nixpkgs_11" + "flake-utils": "flake-utils_16", + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1711851236, @@ -658,6 +905,63 @@ "type": "github" } }, + "rust-overlay_4": { + "inputs": { + "flake-utils": "flake-utils_18", + "nixpkgs": "nixpkgs_15" + }, + "locked": { + "lastModified": 1713924823, + "narHash": "sha256-kOeyS3GFwgnKvzuBMmFqEAX0xwZ7Nj4/5tXuvpZ0d4U=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "8a2edac3ae926a2a6ce60f4595dcc4540fc8cad4", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "solc": { + "inputs": { + "flake-utils": "flake-utils_17", + "nixpkgs": "nixpkgs_14" + }, + "locked": { + "lastModified": 1711538161, + "narHash": "sha256-rETVdEIQ2PyEcNgzXXFSiYAYl0koCeGDIWp9XYBTxoQ=", + "owner": "hellwolf", + "repo": "solc.nix", + "rev": "a995838545a7383a0b37776e969743b1346d5479", + "type": "github" + }, + "original": { + "owner": "hellwolf", + "repo": "solc.nix", + "type": "github" + } + }, + "solc_2": { + "inputs": { + "flake-utils": "flake-utils_19", + "nixpkgs": "nixpkgs_16" + }, + "locked": { + "lastModified": 1711538161, + "narHash": "sha256-rETVdEIQ2PyEcNgzXXFSiYAYl0koCeGDIWp9XYBTxoQ=", + "owner": "hellwolf", + "repo": "solc.nix", + "rev": "a995838545a7383a0b37776e969743b1346d5479", + "type": "github" + }, + "original": { + "owner": "hellwolf", + "repo": "solc.nix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -688,6 +992,81 @@ "type": "github" } }, + "systems_11": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_12": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_13": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_14": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_15": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index 88fa06eda..34cf5fe43 100644 --- a/flake.nix +++ b/flake.nix @@ -24,7 +24,7 @@ forge script --silent ./script/BuildAuthoringMeta.sol; rain meta build \ -i <(cat ./meta/OrderBookSubParserAuthoringMeta.rain.meta) \ - -m authoring-meta-v1 \ + -m authoring-meta-v2 \ -t cbor \ -e deflate \ -l none \ diff --git a/src/concrete/parser/OrderBookSubParser.sol b/src/concrete/parser/OrderBookSubParser.sol index 0d831f8ae..2f32ed107 100644 --- a/src/concrete/parser/OrderBookSubParser.sol +++ b/src/concrete/parser/OrderBookSubParser.sol @@ -45,7 +45,7 @@ import { CONTEXT_SIGNED_CONTEXT_SIGNERS_ROWS } from "../../lib/LibOrderBook.sol"; -bytes32 constant DESCRIBED_BY_META_HASH = bytes32(0xd483cc5d3f7c85ebf5818312b3f9448ea413815ad9f4accb88694cde5be3eaac); +bytes32 constant DESCRIBED_BY_META_HASH = bytes32(0xfe7bea3190d31ff72603776aa71c86a5fee565ab974b1d291dd5a69eb38e7a80); bytes constant SUB_PARSER_PARSE_META = hex"01004800040040020200110000000000001006102008000020040000000100000090088de69a0b015d8302c9be1f116682f50584c8d406bbcde60fb5f425102ce8cf1283156f0109ac300398cd200ab1aeaf0ea9bcef075e0bc300d3b4e80de78f2e0c9fc5d509a7e6560427db4a";