diff --git a/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinBroadcastTx.java b/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinBroadcastTx.java index 0a775a22e..efb3675af 100644 --- a/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinBroadcastTx.java +++ b/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinBroadcastTx.java @@ -16,7 +16,6 @@ package org.bitcoinj.coinjoin; import com.google.common.annotations.VisibleForTesting; -import org.bitcoinj.coinjoin.utils.ProTxToOutpoint; import org.bitcoinj.core.Context; import org.bitcoinj.core.MasternodeSignature; import org.bitcoinj.core.Message; @@ -47,8 +46,6 @@ public class CoinJoinBroadcastTx extends Message { private static final Logger log = LoggerFactory.getLogger(CoinJoinQueue.class); private Transaction tx; - @Deprecated - private TransactionOutPoint masternodeOutpoint; private Sha256Hash proTxHash; private MasternodeSignature signature; private long signatureTime; @@ -61,34 +58,6 @@ public CoinJoinBroadcastTx(NetworkParameters params, byte[] payload, int protoco super(params, payload, 0, protocolVersion); } - @Deprecated - public CoinJoinBroadcastTx( - NetworkParameters params, - Transaction tx, - TransactionOutPoint masternodeOutpoint, - MasternodeSignature signature, - long signatureTime - ) { - super(params); - this.tx = tx; - this.masternodeOutpoint = masternodeOutpoint; - this.signature = signature; - this.signatureTime = signatureTime; - } - - @Deprecated - public CoinJoinBroadcastTx( - NetworkParameters params, - Transaction tx, - TransactionOutPoint masternodeOutpoint, - long signatureTime - ) { - super(params); - this.tx = tx; - this.masternodeOutpoint = masternodeOutpoint; - this.signatureTime = signatureTime; - } - public CoinJoinBroadcastTx( NetworkParameters params, Transaction tx, @@ -105,12 +74,7 @@ public CoinJoinBroadcastTx( protected void parse() throws ProtocolException { tx = new Transaction(params, payload, cursor); cursor += tx.getMessageSize(); - if (protocolVersion >= params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.COINJOIN_PROTX_HASH)) { - proTxHash = readHash(); - } else { - masternodeOutpoint = new TransactionOutPoint(params, payload, cursor); - cursor += masternodeOutpoint.getMessageSize(); - } + proTxHash = readHash(); signature = new MasternodeSignature(params, payload, cursor); cursor += signature.getMessageSize(); signatureTime = readInt64(); @@ -121,11 +85,7 @@ protected void parse() throws ProtocolException { @Override protected void bitcoinSerializeToStream(OutputStream stream) throws IOException { tx.bitcoinSerialize(stream); - if (protocolVersion >= params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.COINJOIN_PROTX_HASH)) { - stream.write(proTxHash.getReversedBytes()); - } else { - masternodeOutpoint.bitcoinSerialize(stream); - } + stream.write(proTxHash.getReversedBytes()); signature.bitcoinSerialize(stream); Utils.int64ToByteStreamLE(signatureTime, stream); } @@ -134,9 +94,7 @@ public Sha256Hash getSignatureHash() { try { ByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(); tx.bitcoinSerialize(bos); - // this still requires the masternode output - if (masternodeOutpoint == null) - masternodeOutpoint = ProTxToOutpoint.getMasternodeOutpoint(proTxHash); + bos.write(proTxHash.getReversedBytes()); Utils.int64ToByteStreamLE(signatureTime, bos); return Sha256Hash.twiceOf(bos.toByteArray()); @@ -175,14 +133,6 @@ public Transaction getTx() { return tx; } - @Deprecated - public TransactionOutPoint getMasternodeOutpoint() { - if (masternodeOutpoint == null) { - masternodeOutpoint = ProTxToOutpoint.getMasternodeOutpoint(proTxHash); - } - return masternodeOutpoint; - } - public Sha256Hash getProTxHash() { return proTxHash; } diff --git a/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinQueue.java b/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinQueue.java index 5c0760f1d..3a7110991 100644 --- a/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinQueue.java +++ b/core/src/main/java/org/bitcoinj/coinjoin/CoinJoinQueue.java @@ -16,13 +16,11 @@ package org.bitcoinj.coinjoin; import com.google.common.annotations.VisibleForTesting; -import org.bitcoinj.coinjoin.utils.ProTxToOutpoint; import org.bitcoinj.core.MasternodeSignature; import org.bitcoinj.core.Message; import org.bitcoinj.core.NetworkParameters; import org.bitcoinj.core.ProtocolException; import org.bitcoinj.core.Sha256Hash; -import org.bitcoinj.core.TransactionOutPoint; import org.bitcoinj.core.UnsafeByteArrayOutputStream; import org.bitcoinj.core.Utils; import org.bitcoinj.crypto.BLSPublicKey; @@ -45,7 +43,6 @@ public class CoinJoinQueue extends Message { private static final Logger log = LoggerFactory.getLogger(CoinJoinQueue.class); private int denomination; - private TransactionOutPoint masternodeOutpoint; private Sha256Hash proTxHash; private long time; private boolean ready; // Ready to submit @@ -57,38 +54,20 @@ public CoinJoinQueue(NetworkParameters params, byte[] payload, int protocolVersi super(params, payload, 0, protocolVersion); } - public CoinJoinQueue( - NetworkParameters params, - int denomination, - TransactionOutPoint masternodeOutpoint, - long time, - boolean ready, - MasternodeSignature signature - ) { - super(params); - this.denomination = denomination; - this.masternodeOutpoint = masternodeOutpoint; - this.time = time; - this.ready = ready; - this.signature = signature; - this.protocolVersion = params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.BLS_LEGACY); - } - - @Deprecated public CoinJoinQueue( NetworkParameters params, int denomination, - TransactionOutPoint masternodeOutpoint, + Sha256Hash proTxHash, long time, boolean ready) { super(params); this.denomination = denomination; - this.masternodeOutpoint = masternodeOutpoint; + this.proTxHash = proTxHash; this.time = time; this.ready = ready; this.signature = null; - this.protocolVersion = params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.BLS_LEGACY); + this.protocolVersion = params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.CURRENT); } public CoinJoinQueue( @@ -96,26 +75,17 @@ public CoinJoinQueue( int denomination, Sha256Hash proTxHash, long time, - boolean ready) { + boolean ready, + MasternodeSignature signature) { - super(params); - this.denomination = denomination; - this.proTxHash = proTxHash; - this.time = time; - this.ready = ready; - this.signature = null; - this.protocolVersion = params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.CURRENT); + this(params, denomination, proTxHash, time, ready); + this.signature = signature; } @Override protected void parse() throws ProtocolException { denomination = (int)readUint32(); - if (protocolVersion >= params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.COINJOIN_PROTX_HASH)) { - proTxHash = readHash(); - } else { - masternodeOutpoint = new TransactionOutPoint(params, payload, cursor); - cursor += masternodeOutpoint.getMessageSize(); - } + proTxHash = readHash(); time = readInt64(); ready = readBytes(1)[0] == 1; signature = new MasternodeSignature(params, payload, cursor); @@ -127,11 +97,7 @@ protected void parse() throws ProtocolException { @Override protected void bitcoinSerializeToStream(OutputStream stream) throws IOException { Utils.uint32ToByteStreamLE(denomination, stream); - if (protocolVersion >= params.getProtocolVersionNum(NetworkParameters.ProtocolVersion.COINJOIN_PROTX_HASH)) { - stream.write(proTxHash.getReversedBytes()); - } else { - masternodeOutpoint.bitcoinSerialize(stream); - } + stream.write(proTxHash.getReversedBytes()); Utils.int64ToByteStreamLE(time, stream); stream.write(ready ? 1 : 0); signature.bitcoinSerialize(stream); @@ -141,14 +107,9 @@ public Sha256Hash getSignatureHash() { try { ByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(); Utils.uint32ToByteStreamLE(denomination, bos); - - // this still requires the masternode output - if (masternodeOutpoint == null) - masternodeOutpoint = ProTxToOutpoint.getMasternodeOutpoint(proTxHash); - masternodeOutpoint.bitcoinSerialize(bos); + bos.write(proTxHash.getReversedBytes()); Utils.int64ToByteStreamLE(time, bos); bos.write(ready ? 1 : 0); - return Sha256Hash.twiceOf(bos.toByteArray()); } catch (IOException e) { throw new RuntimeException(e); @@ -156,10 +117,6 @@ public Sha256Hash getSignatureHash() { } public boolean checkSignature(BLSPublicKey pubKey) { - // return true until signature hash uses the proTxHash - if (masternodeOutpoint == null) - return true; - Sha256Hash hash = getSignatureHash(); // use the currently active scheme @@ -176,7 +133,7 @@ public boolean checkSignature(BLSPublicKey pubKey) { @VisibleForTesting public boolean sign(BLSSecretKey blsKeyOperator) { Sha256Hash hash = getSignatureHash(); - BLSSignature sig = blsKeyOperator.Sign(hash); + BLSSignature sig = blsKeyOperator.sign(hash); if (!sig.isValid()) { return false; } @@ -202,14 +159,6 @@ public int getDenomination() { return denomination; } - @Deprecated - public TransactionOutPoint getMasternodeOutpoint() { - if (masternodeOutpoint == null) { - masternodeOutpoint = ProTxToOutpoint.getMasternodeOutpoint(proTxHash); - } - return masternodeOutpoint; - } - public long getTime() { return time; } diff --git a/core/src/main/java/org/bitcoinj/coinjoin/utils/ProTxToOutpoint.java b/core/src/main/java/org/bitcoinj/coinjoin/utils/ProTxToOutpoint.java deleted file mode 100644 index 2c1ca51c4..000000000 --- a/core/src/main/java/org/bitcoinj/coinjoin/utils/ProTxToOutpoint.java +++ /dev/null @@ -1,612 +0,0 @@ -/* - * Copyright (c) 2022 Dash Core Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.bitcoinj.coinjoin.utils; - -import org.bitcoinj.core.Context; -import org.bitcoinj.core.NetworkParameters; -import org.bitcoinj.core.Sha256Hash; -import org.bitcoinj.core.TransactionOutPoint; - -import java.util.HashMap; - -public class ProTxToOutpoint { - - static String [][] proTxHashOutpointsUnitTest = new String[][] { - { Sha256Hash.ZERO_HASH.toString(), Sha256Hash.ZERO_HASH + "-0"}, - }; - //ouzo - static String [][] proTxHashOutpointsOuzo = new String[][] { - {"3c1c65a4e6e6740f81dfc82dfc8ab40d9cbc39dc450db02b2653f0b5527c3fd4", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-12"}, - {"cefeef2974fe30182f71a3788c31dd28d3a657a27605dadcf96b938b7d417301", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-13"}, - {"a059e44800c5095285ce140c3adc6b33c8c16b95d411d30d2df85f109371aea1", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-10"}, - {"31a504a96c73c2f9357458b58e20dbd61cda5172eda93063d5640dbc4ae568da", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-11"}, - {"6cccee96fa6f730ae3f5d52186680aedeed986a231dc5d69e3f073cb2278c8f7", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-9"}, - {"38a8ab118b2200ae39210c808ba3aacf5d26e390271ff98317d369fc78227de8", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-18"}, - {"2101589feb675ad1b0f212605af511b46bd51d1181f0d1afe919d605f0ac82cf", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-6"}, - {"eb18b9b074bdfec1d81e770a659eaa89ff3490bc8c2b4f65a7efee235dd4a5b1", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-16"}, - {"2ccdfb7c82a54fa264a8650aa04756786ee019b79385d442b9a49922613b4df0", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-17"}, - {"7197ebbf3ceb7a75589b4eaad91e2e7861282d017bd247ee5f3bd6cb0315a1c8", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-5"}, - {"c7bbbf0bd6e034f828304f15952d9ab6b0a655e49865a13bd450382ba00b5862", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-8"}, - {"0d8ed5e0c3c6a87e91c358562624d92ac6ebd9f097133f52f8ae06f29dca1e58", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-14"}, - {"6159873e3b2d3f3d0c692258854daa23ea3b251a088da61b8fded9eb7f848add", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-15"}, - {"254f664da92828a182be26aa870cf169a49c8b522cf5c19caf071f148536916c", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-7"}, - {"3e22759b3eab07385f832cb076af0a9731e7d38017e892a499bd4397015ff591", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-2"}, - {"58edf8ebf96594a7d0949ed6ab1de152388b187595e243d340accfff371a4e2d", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-1"}, - {"b45547dacc3380d3f2b528beaaa32b955d4f2b285bfdd792d9edd2c9bfa27d6f", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-4"}, - {"74eef1dae658d645435ac9dee6d66146b8608f0ab1630114290cc1e42a0ffd4c", "609ff5c27ecd65cfc2446dda48154f83c673e7a73b489684893a8d86e71de3c7-3"}, - }; - - static String [][] proTxHashOutpointsTestNet = new String[][] { - {"520c7377bf695cde36a0dc0ddd9aea060ce4a4cdce59022e7d74f501e5fa71c0", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-98"}, - {"3a541549d161a0e134f54db0afaee615530bb6d84e353b82afc9af76a9a39329", "5bcb880b2c6159460c35749014add2d0be999e3b306758b7bfba007adc129ffd-0"}, - {"880ddeceb54dfaa8c4750e03f69d38c06dcb2f8ffa9dafe9b3f7a08d28d45e99", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-99"}, - {"6ced683bb70cfb82159b08d68a9b6bf2069b328e3bd028a441574fdbb0f9d9a7", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-93"}, - {"34f19e4ac7e1b2abbded7fe0d19991cde34eb7797d8e81fe01d6e73db2097180", "6f506a5dbb0e88fe83242d4f9641b6f4a2616d22c889b74f29b5bfa6291dfdca-1"}, - {"72ee70fa75262781a17d1eb69a6c3e97328208be98b59d5530164f31e481d3aa", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-96"}, - {"bc77a5a2cec455c79fb92fb683dbd87a2a92b663c9a46d0c50d11889b4aeb121", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-95"}, - {"a3c1bd9b636f0ddfd72bf99f48c516050085973cd2d30dd637a55bf7178af9f5", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-90"}, - {"d23e1b9f3cb6ed89beb1f11ac96f61c0011655c6cd02c600c6a671cf92c9f070", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-91"}, - {"1d808b8e69cf109e2b25bb87e40e76593d385bec2ef26e9b0672a3c69418c0f7", "d3f7d3a61c9c50c41df8036cde67b2d2343ce7dcb0ae615d0b9e569ac4b3a32f-0"}, - {"574a8a1c55a14ef27fbc1cbc52545d9e94944984c1201fba3aeacc309a63660b", "aff0c3b1708964973c39f8281731956399f831be1f729ec688943831a793d45f-0"}, - {"6c397ecdbcf1a9b5901d871dd908ecac4a132391989bbfe0f75251eddd6fa21a", "6711e3276165da69c33b40feff0fb525c28546715a39c1c49bcb1df2b4451e74-0"}, - {"5a5b3a5da96d5ee8ec30e9cfe76cf0c407ef040836d2dcedd94c4315c9f07b59", "5a5b3a5da96d5ee8ec30e9cfe76cf0c407ef040836d2dcedd94c4315c9f07b59-1"}, - {"1f3ead0b52a6e6e289794c0e84dfe988bd88605fb987a919ea4e3956dc479124", "f63728659a45fa248385c1b494f3622a9009e679508aade783ac932d5c7d8646-1"}, - {"dcbcf8311e414aaafac3650f3f61326dce386eee3d1a53da86e4c9925af48d9d", "dcbcf8311e414aaafac3650f3f61326dce386eee3d1a53da86e4c9925af48d9d-1"}, - {"4289460073f565eebd310b303cbc14fcee17c4df56a3b09e42888ded56559964", "1ea6aa9bacad14d31d571b4bdad73edc29aa8307e389d61d7c087f9a4f7f40d0-0"}, - {"41fb85bb67981f4e1fe41e0f7d520bf6df2167c9ced5e51fae33343f98d9cc99", "213f18771aa0c0cc043cfd727ec7c5cbc5ea97b9b861dbac565150d790f086cc-1"}, - {"efb3f539ad844bf34f9529602480e504885915b42b10102b9be38c4db31eb1b1", "e09874e162c47ac0146ae0be0016f866f32f25febed3a1437c3322b3c26be00c-0"}, - {"b9e4c7189d01f8da6eb8bb5f4b8f8c2a0a24293d0f6e900aa0371bc32ec6021d", "854864eaa659216dfa0ae4fb94306d5924bd6404a5762628b84036857aebb25a-0"}, - {"da0a60d91a09d34a39ba34e4175d2efca738ebb409e3fbb0546d41a24e83a722", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-87"}, - {"da21ca075f0b1b6c29df0391165030d85a8d5e7474c6358d9edbd3dd270de78e", "fbdde5043e8a11cd2ec083d563a4cc0baabe09721143fecfa096cda4a22b7ed7-0"}, - {"8bcd5c2b4956f890f454d07300fbc2bd5ec291f9f68c5ab4f44af8073a5fbd8b", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-89"}, - {"37b2e7948b19a0b400bad4c79a450ba602446386b0f59d1219739ffd4f3ffe5d", "4ee99299aaaf6b77104fbeab439bc0541e257f2434d47896b6f6f9ebf3982e2f-3"}, - {"c45ee10982fe670d7d9f8ea36d884f69f01cd8d3068a3a1dcdf2c14685a533ab", "4ee99299aaaf6b77104fbeab439bc0541e257f2434d47896b6f6f9ebf3982e2f-4"}, - {"aab7b2ed5bc2fa962dca591440e22b47ce41bcd2b79394d53dfac5173a3f97bc", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-83"}, - {"3c910f24980d83dbbcf9954838a6c28796c35a3ec69407bd3cded7c5e658761e", "4ee99299aaaf6b77104fbeab439bc0541e257f2434d47896b6f6f9ebf3982e2f-1"}, - {"5cca9d4ca77907b52f58c1be80f6a16616ab2501dac28644d5aa5be46baab3c9", "4ee99299aaaf6b77104fbeab439bc0541e257f2434d47896b6f6f9ebf3982e2f-2"}, - {"f9b4e4b1c35b8890d0ef29ee2c8ba7e600ba9acee68b100d24f4c30f190f07b6", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-82"}, - {"0fda0a67fac67087448b3e2f047c757968147a99df34da45c342f4c5c635b23d", "dd74c995433a62c71196d8ed66e7b6d0614160b082d4ba6fffe1539c93dda0f5-1"}, - {"69fea9883dea2a9a962965e56322afc4f22484c3289726708fc760110804abc9", "f46afbbaf64f3f9578a4d5ff4532048989cd5b5967c2f8fe9d692f7712c865ae-1"}, - {"79d1d6276e486ab033dd0984a1da33470b6ef293e19492f459cfba43e703f5f3", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-85"}, - {"efd6717fe659d2b949955f2c01985d4ff36848c96e425c6bea4780e2ab0ff2d9", "71d864f73e6a84f24ae338f9a82700ec5b25d99e6165a41314193a43214cc6c8-1"}, - {"f718902044925ab8ba5089667a4c2a1e45b855eb4388d21c1b14e1d05bc1991f", "200e431fd8af3fa1a34a5b07fb8361aae6db4b55cf970adad62b90e072dbaec3-1"}, - {"8c754a2bdd2ace903ed98aae9f52f481e7a6949ccf422f4297e0ba9a500ca274", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-81"}, - {"4d5fe9da329316db465fb3f4925cd5604dd61335c32f0b7d79bdcc98e71880d2", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-80"}, - {"436f16038374090405c95464197b0a756aa8ec72137ddbd21161fcc6fc3c61f5", "24b5f3f1e74d7f181c51716365c049aec78840aef34aac4affb2a08d2a85ca25-1"}, - {"ed8575335b7e0b420b09b4b8c530711b98aa472504d91bbca9745873a106cb0c", "698784640d585d978c9f28e51babbab1c24be015e1a72c01f4406b07cad7eb92-1"}, - {"e58b99ba67999559acc105b139ad7c0f75e4b88b64ec8e9e3f91d19b18a02fa5", "8d980d582c8f62c53b9c76a2d35930c649cafcdc1b3a0f023aaf97e5513386b4-0"}, - {"c7290309328d48982f4a265566615083ad72ae2e7cca5fdde599371762cd105a", "0990e3413dc22bfc9f31bb49c1f0464e18d39050a836212cd5599ac6c87786c4-1"}, - {"f5e25c2dc6aedeff586b26a5fef15bfeb332963bd32fa02d1e8e1b0b74784c7e", "0b46756c0bbf00f9a38f7f2cceb3b2733dcd2bd562a78dcb25a2fcdcae5c6e7d-1"}, - {"302ba9134d9d734e0a76599c9cddfdd1ea2231ff6c152fd5a95c9ec38aa66d02", "0950cce784fadcc2df4febb19d3a21eab4836ba22ea996ce7e2dde32b6c31431-0"}, - {"d2467a06e67cfe57ce8723f565c296f97abb663380ce87bb8d5e72989e3301d1", "91093b3e6dcc6b2d52497566160d5356ce9e12f11ce9ef480e58eced862282da-0"}, - {"753f4ae544d5a43787502bda92bf3f635143a0953b31a62c2f61cf8c7df4345c", "ac655389f9d822f8b9c299375fe4614111054fb47a36b88a3a74286ed4041a14-0"}, - {"f8293d83dfb38fa7a6c34928e9171fe6a112d5a5b1d07592d59f37a23ed0a00c", "a04ac5c90e285b8ba431e441870e66e92b17e6651f6f61cf905d9efd979669e0-1"}, - {"7c124a4c83e1947d0474b005dd388928970147153d2d6ac4a5d3ac7a56a88dd9", "da504d0c5ec66f81e9aa1c2712d520ddfa1b34cb7565e37067d90925b333d98e-0"}, - {"46ce2b4b45b41f52b9e634ebc3e8b37c3e1685dcf53092521050884a2dff406d", "21cdf0988f48801a75e77b56fcbfa998c691b85a98794294946366637768f413-1"}, - {"9767a4cafa9d1057b48de795ea834a15664b58a79d75a4f826299ce1ba11842c", "1c3c6f227d45eb1def2bbbff1e281713abd7c642cffde0bc9099c6ec7bcac9cf-1"}, - {"b00179bd307619645399361abddcb07287ecd406301fdf405d9a82c8e333aa03", "d96a72b99d75f6cd0376faa6e682519aeca1220816e65f717f4d17f35f08c660-1"}, - {"876e41a6aa13bab2a155bb90eb515b578329d2681f04cd327c971b8fb394be5f", "875baddd2eb97a47dca55511813d74331e4e4bb5f4fe5e5ee84d6bad60408e2e-0"}, - {"3fe25a5d51edc1942b3e68170fd693bf8068968ca6e1be3a1721bfe5ac841642", "cff861c91618047ff1f19b54b18d82f60388a69ac37b8eff2ea4e15aac19dbce-1"}, - {"5a6d674367f4fad9883595d74d6eb628c59495a3af0732d24db983359cb7127f", "7afc5fc01e3fc3c888c112a650e522e37f7d336e32759435a7ea5b4080b214de-1"}, - {"274ae6ab38ea0f3b8fe726b3e52d998443ba0d77e85d88c20d179d4fecd0b96e", "133040b2cf662613124a80b60689ab81cbc128703a6f56b6ca36aaff1d9096a0-1"}, - {"4106bef7acd1243652495260325ec3baf5bba47bb6e5d934c67b96bb24e3af1c", "f31fcaa551f75b851391981bad2135990660c6d0fad9f6bb4943bacd9b705866-1"}, - {"9f1e242390cde84d67d9e2caeb1fc042a6bf0c85c8393026733ef5543fb0bd2e", "3569b79b197ecb4da4cd6044519c8eb0353d86a56ea8a5b6d5e35dd8872f8e42-0"}, - {"400c7f8990e6f8a3993b7d5900ea0b58e18bf86ba9b147bdefcd0df4cda1887b", "8492070ed837c41d76dd37c95d39f1d2d904341c1a814c4c144002e783898017-1"}, - {"b7f0ada8d395f428a1a72db04b76caa042f7020b2f90641fcd1499be6c37fc9e", "df04aac69ea47e5a490b1f75b56ebbee2b201568e928f5ea7424b6f19812b4a3-0"}, - {"0867e1018f1de184690af3586fc3b4e17cf61614cd926532cc13f9ecf1244523", "bbf3a0aff17b17f629ad037ea070709c2134c042d86ea24bf4c215cce3812aba-1"}, - {"422456a81d1601f5aab4494d935919058905ffe2dff342e8be1345f5e5b46c51", "57f1c0c154aecab1fb04b86541aab710508aad3ff0c482570713923815c5cdf9-1"}, - {"3ecdbedf3d9a13822f437a1f0c5ea44f290ab90f7c3bb42c1b5fd785b5f9596a", "86bab6c0b150ba9ea4dc05faab3197ec7956bd8a00dfeeacc6cf1e4aae57f172-0"}, - {"ccc3668156451b3e10ac5c97d60e2c20fadf88c6266e3b2a9afb0e33e658734e", "57f1c0c154aecab1fb04b86541aab710508aad3ff0c482570713923815c5cdf9-0"}, - {"76476a2678d5c1e9ea4951cdd00babd50f6c53f91427ba8dc8fe49f5dc1f5c97", "1ce8842a18468df74e80b03f1cb3e327000ae6e3c0e3de966b7538472e73d8eb-1"}, - {"3aa33cbad1659ba0bdf6530b5ba543592e2f30c5a35cd89fac77604317cff0f1", "6d917841e9ee982c5ccd3fdecbc7051abaccf478e43615b16d39e7c8d5df2719-1"}, - {"1910a0aa60c10475397dfc5507a1d765070f96efa15e7a4c6ee559461b23ec8d", "9ca55d0ac649f7d0841da8cc193055da7bd503115679406bd9fe07f94f1eee1c-1"}, - {"b5c0d248eac5f19d665159412f357073359d0d643930adee1d071f02e9ad0a1f", "b5c0d248eac5f19d665159412f357073359d0d643930adee1d071f02e9ad0a1f-1"}, - {"d73cc0f5964b94a5c72bf9457ea1681a4dc61940f75e991492b669697a392ffe", "84b32ff394aaa533c52a34bce188d9f58b9f58a19957b72ca8e0f95e3d7b4f02-1"}, - {"3bed128ba5c04b627627cf5d9f1dec0622caef4725d8d9d4c37c65642dce92ff", "3bed128ba5c04b627627cf5d9f1dec0622caef4725d8d9d4c37c65642dce92ff-1"}, - {"42a6958a544309799f965d193372baad8f38120a117e3700ad2d62ded1ed4408", "3e1f2e2164db2ea6dc1ca146fc0da4edc020b3ed2b976a3f273aa025228a44c3-0"}, - {"eaaf0220c44e4e049b5899f162e7adf2da1e7946a2272489f304fe3df5247349", "4bddefc3c8a95954ac592d38ab84d44298e61a092c13ace5c2eaace7347df550-1"}, - {"0c90176ebed8489ad010c0429751dd46ec7463589ae9023795cc49f98274f852", "3cd155dd8f365b5f962567cd6a7d3dd1094eb69264f33664475273409ecc3702-1"}, - {"71d1eee72379edada11d464bcee475b37371e4d907db5848c3f50e0bed00a456", "7b7366d74bb9c9806e6dd71d4eac99cfdf6e32b7642076f32c6a10a9d37860e8-1"}, - {"0d862fc048631f81cabda9446c5f94c8c9a559d2107db383379697381816d66a", "5e7a5aa01be47c4daae371f009c67c1e6e0a4874f7075fb0787d0e0efe158181-1"}, - {"1be5730f3876206a58161fa0db37e54389324519b2ffbe53a18910d63e5f74db", "e01d66d64c0e6aa413bdccd761c2b1e470d51292f6a7f8421a024775873cfc75-0"}, - {"6e84dcf6f2ddcf4444bec6dc070d9cbc52c3ef6681a14238b2e1390a77a6435e", "8d2e3ad47ed0c3ad26f112aad5447755d65652f4c9883f62cc0f5f63b3e90822-1"}, - {"14bd7ee89d452d76d524dbfc31b6f2526d7c904a8d7bc1cc70d9e3e0b3d47cce", "0a61123b182d72373590abdc2d5c762237d2fbe4efb617b2641163eb8780e7a1-0"}, - {"9a7f3e66905a2588695023cb6638bac294aa7ba4fc332737062398a173447f4e", "d45bf10c0343f1ebca7441c9672ee47b02cf2429715d8d899b49c58e13dd4a6c-1"}, - {"72b5a9e1fd88c9ad9d350be5b3f6fc0190cb2f0177aa809958a0404cb81f7651", "72b5a9e1fd88c9ad9d350be5b3f6fc0190cb2f0177aa809958a0404cb81f7651-1"}, - {"7cc4df7db9cf413c897452820cd2625afffc89711f0a26eefa7cb08f8806a172", "49f2eefbda1ce82cb653ba42125eec465649507004593d4ea1905a0d053bb6f6-0"}, - {"3903d849f17be5e4c398d4c8f344bc4abf9ecca6cfc86a2c0eac1b0fd62457f9", "afdf3d5ce039d5f26f59fee75b905fd15a975b3b93f4b24abf36380cebd50dd4-1"}, - {"e780a06795b6c316aa84451acf07e0f11f9565e256a59057717fbcf0008ac254", "c97930a0a5e6a43a94c0637cda2704f3d9826ea2eda7efefb55936daf43166e0-0"}, - {"b7c7c32bc7f34cb18da6b4b3fa53d8a6125d6f6dec3f7849e728bc8f89eae495", "00a76bb6c25263b18467dbdcb50be27d50164ef1cd910012b9602882185936e7-0"}, - {"1123e20847f3690fdd917393ce5fe60a64e3f5900cb167ca31a605683d06e70d", "6c813523d7b560e517c7c9f0046dce5c7bd6926389ba6082ed7d02dacea8d12b-0"}, - {"2bcdbb54e0eba24d0a83a339436d84c916947205535f755f21cc4843ea3d2cf1", "86f4304a6076812106a3d9f225718bdbe0335349387122c4ec3fa884f8b2c8d7-0"}, - {"436ff6cdeffa4e4d2d2cb3bc74138faea43384f960fb657d8c90c8d60c1fe2c6", "436ff6cdeffa4e4d2d2cb3bc74138faea43384f960fb657d8c90c8d60c1fe2c6-0"}, - {"06ae5ed69b8a8eee0cd37f7b642989834cd1e139d1aa9de23db9a627c2fb95ad", "b1f81c20365198e924cc6ec81201fcf2d76aa343aff2ace77715f2a4fc9131ef-0"}, - {"9212f5312730c7881b882b9fb7864dc686fa5a585b7a93253ccf1ce87ee59331", "9212f5312730c7881b882b9fb7864dc686fa5a585b7a93253ccf1ce87ee59331-1"}, - {"802811a147502b6982e3b863c43b6cbe305cec9929ef3bef5674122ce17cf1dc", "6e89c5e636fea62ebae6bb2b1dea9f17047b8093c1b50728b7a9d902a6b1478c-0"}, - {"ab51b2ba4dca27658e13fea81c0764167c1466aa2d92050c67e4490ce7623da0", "64fbf05880cdbd35a0278ba01a5edf0c20a9c756d15f883d496f5df35b31b542-1"}, - {"c9b9db18549528f2407806b687a3f58d0823c7aaa93724bdb54734bacc10bb65", "abdbac92652c0966ccafdc10eb73723c8a3fac94c0026e590503dc456e532978-1"}, - {"f39722e1e9d02ddb49512b16674868a865bae2a912401bb6b006b09a74186beb", "680fbd3ff461284443541f884593d5577b2e4920977e836372a78beef3aad647-1"}, - {"8b971ef085c168cae87c3ef20dcdebb23a9a26eb7d47a4f793aa2353bed4018e", "3b9056c904a1069c647ddf6fcae77ea7865da626122a383146da9c8b53c86c50-0"}, - {"4ee1227ac0f4be1fe27ec0d00601287cbcd3182d3b10db952fec225d68f717b9", "48bf2c1fce3dbcd2eb589437b9baefc985a4703c0361568598f7a962c2327c03-1"}, - {"edfb29497dd86e1bcbe72cce1cca1adbc1d9a991d3384c0a1a83d35808cbf5a4", "1ccdf711d622127ee4d9d8fa26bf2ef3438b3b0517e4f563410495ee2865eb6d-0"}, - {"a38b6d55026acea00f5387c4fba83895f57e2db6a2ae80aaa468d5348946f7cb", "a98a5c7bc14a0e11744b9cac3a58d4f720978a3a82ae8e3d9cf6318a16c6035a-0"}, - {"4636ed7acbacbc76aba60aa7a1011688fe9ad5fd701d0bf8fc42a502ea3e6543", "c03a78e760aef58847ec50bfc83a74fa1261faaabc6883b09555cf94d8bebdce-0"}, - {"262f95031d76363e3fad8c110694a8894077ca0ae98acffc94200b16cba997b4", "a2ff1f7f998cf0b6745973d4c450a083cd3b17b78814bea849761d109546f8ab-1"}, - {"5725d47a054dc1b4d34f719c4f9a5a75b52f08b59b0ba5ad788c1e29bbca0ca5", "d93fb5c9de6b34a5b3897bf1b18f8dc2e5e7b04c8d48abcf54fad2a711ea2b0e-0"}, - {"500bde7398a2ef46b93994f34d3607875321076ee3ef975d5477c3d06b0c1659", "a2ccb3ccddce783c8402a47d607323196bbe0a4465d050246192735335fb730a-1"}, - {"2ab90c655fce7462791fd57049fd3477460cf45aec3483dd8f92ac76cbb5b65f", "4321536c93c8e7d2f541c869871731322c0e053021080f1460ff066cf95b00ff-1"}, - {"68fa216e06d6eded3afecfe2c4b1320a20652972a006f85bc024d8f46dbe8d88", "d653b666eb33dbe8029ad64e14dffde1b49a8f06764b3d61e2b3dd2084a026f5-1"}, - {"48eb1b545d87e712edb1382d8bee300aa0bae80bfd0c347920f4afcd0ea34b0b", "ff953d52f8984c610794ab471d4c1fdeada16bd6656099ff58ad5f2dd60ae493-0"}, - {"7abe11022a30fb9e614725880e035fb48a8438d3885a3762cc53b2c3cffa3824", "c1ade1a065fef6447b5473b66f87c67aa019bfaa648e6bbfcb57b37e57ca660c-1"}, - {"2cc0a073e9fadb5cea5cc3303b8f85ed603dc6de043f0ec06edab72d886c57cd", "ccf378caebd7d542aedffc82776431563617d534b27dda2f53914328845664f2-1"}, - {"59d45830e45260a043fdd196f966679f1a63f1b6c28f04563738226bd6548658", "c6648c483698d27abdcdc68b16f90f7a003ec388d5fd5a8af34ae27e8e3042a0-0"}, - {"927311657eaded039f2d7aa33a789407e5031ac77e78de1c415090b58c74349b", "927311657eaded039f2d7aa33a789407e5031ac77e78de1c415090b58c74349b-0"}, - {"84bb939170f4714be54d6217cffa5a3818a1c521115d45141b4df642b1dbc5ac", "282d201811104ac297678c1cda297c6830c6eb6665a60bc5020c94cc1d412bfc-1"}, - {"712c0edad9b39de087a2422aae59cbee77b63aef06de6db44b2b8287303620ef", "fea305f558824c85e11518c778178a4f0669b86c2592e91bded491851f88d478-1"}, - {"0fbea7792604319890cf39e6afed9e0866f33c38bb56424cba1cc27ff462f947", "0fbea7792604319890cf39e6afed9e0866f33c38bb56424cba1cc27ff462f947-1"}, - {"94044c070f9ce6bdd05c2b655ad2383c8402a74c10e0a9a3099d759b33cb7630", "a46b20f7709df6ecd0bf5a70ceff986d6e4368a02c0d1d31db6690d8c2ccdb81-1"}, - {"d2148afa283037e255d65a3acc82428d6a712215003963a60c6e015aaaa4bff0", "535277f400c22164f4f62ea57cc22de44bd7ef1c84258f98fe980d682965297a-1"}, - {"30eded4041e2c494c3e5ae391331b4ea1dc464d50a34d76178d20fe9904d041d", "c652ceb737e5dc21c76521829fc71896fbed35e4401ca7e740e8b26b7fea0948-1"}, - {"75adf981e3a77630507882a9a41d551ee1e5b8ed570e61a855008ca293e615ad", "71fa05269adf3efc9ffa9a9ce33d27320de61c230cdf4a3835ba7f707bd7807a-1"}, - {"7f771a55bf8d18d1ec8c60e61494546e5b9ea1d0639369aa5d09cb3ec7d53144", "5ce7e22d323dd03855a53e412bda67c03bc4584ac21c407bf243facc68a76ba5-1"}, - {"03290318186f82b5bc0e44890faa2d6da119f9af087ace26567b6143fff3c220", "0ec2f24e346a870f80b9f693c21e6a376169ab8fd5ec0b30cedfee175671ef98-0"}, - {"39ec834a6c7ac5ebf5fd885a271e2149099e87e89a9ea30f573b4b699b9399c6", "03aeafd6b5716828aa16cfef8db318d509595029e2ece919475639729d0bee3e-0"}, - {"0ae71d42a6b2956f22a11d20e12dbe309a20fec575aa6023b983fe1b8976ac53", "98ffa98f6be2981373e6f65f7c0de705b3c0cf108077de29460e4749005a47eb-1"}, - {"0613e58ec2da2ce87a730a35bc19d745acf733a4a41365bdbe699abea4ac2e68", "cd14b853031d7e1b19597eb4c2ed3e3ba69f755ac3032bff2fb01e6d0fc411b7-0"}, - {"6ebfbf45a7e6f5e4d25ba315f1e1a44178f6961271b23925a2871d0c5b9e132e", "905edf5f064a2da42d1126b6fe196781b156d0a4f55b188a774e37c9e31865a0-0"}, - {"995d7facdd36d2db5a0e3621ea50678ce494149b4d2dece73d4a7fa2e095ac1c", "7071e24a4f120cc6a293407c6e4f2c488feed5a729844a745a0af1051d3e966a-1"}, - {"9f4f9f83ecbcd5739d7f1479ee14b508f2414d044a717acba0960566c4e6091d", "2a77cfcca59dd7cffdbb07d175537f9665886883c516ca5485c62c519b9121ae-1"}, - {"7ace7f64afc3f78ba5dcabc7f384a1a01ebd4d147f8ef629a968df09885db277", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-10"}, - {"aedce7a4ed26b9f1975d071c46d6b8792c96e618215b1e3086da5d94543f2ad6", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-12"}, - {"01f023a48ba1d046f980800d8c39b239e21d04855876700421f36e716a91f9fa", "7b27c5a7a6a225daa2979dcea0791cb3ee0b0f7b8eeb7cce5e8712d0a71eda26-0"}, - {"1bf9d1c02dd94bf4784aa6c1b959942ef6acf0ab1a8579be428b01b5fb87bc8a", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-11"}, - {"4d159f983d445130fff5ade93b05e01172ee4c56ee3c5b252277615ac10c4c8f", "7b0014881c9f25cdca708655e606baaa9c8c0c49893da9bccde1200eee023e31-1"}, - {"d0c37ae5ff62e92d9f065b453c79bdd8b967a7e7e5e3753e94e0f2929065579a", "fa4cc257f63bd1a4e86493f833e8f16574a539ab4ae98a88ceef768b7ca93234-1"}, - {"be8d0533c692cf23e3d3eeb3957422b5a98acd82aadbf7baef255edb2f491b82", "be8d0533c692cf23e3d3eeb3957422b5a98acd82aadbf7baef255edb2f491b82-1"}, - {"c560a9be2be9db79e1aaa16e4dd3cd22bddcb0155f88aba68aa4797d375ef370", "ff6226e6c97bfcf40b6d04e12e3f75678024988823bfba28cde2a9ac11b1a765-1"}, - {"d625ce5bfbadaeae3ea778ba16d871e6b61ec07faea80403dd51a9d28df8deea", "b4c55586dbb1e8546552e6727b52e81a0efc6e645b2b8eb047579c7154ff2b86-0"}, - {"b4f9de65ae676b63f84f2865317b8b512a12516c4459f2f59ca2626c71f7dda3", "b4f9de65ae676b63f84f2865317b8b512a12516c4459f2f59ca2626c71f7dda3-1"}, - {"a238ffb55f4c7879b94158050720a8dc231f4062040ed9e8902245e6b9b2737e", "a238ffb55f4c7879b94158050720a8dc231f4062040ed9e8902245e6b9b2737e-0"}, - {"b149c50e97a1411b76b2e26ca20b9a6a317d0afe19df2b78b967f0b94aef1f38", "13854c84383c1e6734f7dbd03453c84d9be168cdc3c932b830ecd3f5b11f5c59-1"}, - {"92b5bbdfcd2d46938c23f5d48ac6dbc2fb041172766455fbd8863cf81e8bc9df", "4849e85bca2bace78053813710520a8735c341b29d21a5e2a7bd9717526abdbf-1"}, - {"b4ba4ab73c3757ba9cc6b6fb98020b854228be7de4704ceb7da02e7c6a2ad741", "cac9bca68524ed1c2d275fcf889d71cd0665eb62b7a032aad7fdcfbbf0a6fdbd-1"}, - {"bac184b9f1e4eb098d1f8df0b07af6af8919c60c1f60e31ba29c2f39f395ff22", "1afe0236275aaf08a9eab221bdcee2540039382505c66b041c3169665d878671-0"}, - {"585674740dac63692bbb0ea4ee899c575f9883e91fb5ba5ebf26b5b2fb66f21b", "3856b3dc5935d6082cfd74f971b305b32d6a659e4cf1aa3b3f2023a39535ba2b-1"}, - {"230e70810cdbf0dc3a5852a9959f9c6eede75515317a63e89dcaa34e832d1a86", "230e70810cdbf0dc3a5852a9959f9c6eede75515317a63e89dcaa34e832d1a86-1"}, - {"92e1ab09f73e703c196eea46780a14e8eefa5b5e1c0ee31be05718056e020af2", "1169e2ea9bdb9a88e54d59e468f3a791187a3f2fd20b385ff30a773c314a9020-0"}, - {"ab39b872a79697ab3c452c24b2c42202ed668bad42b2b0079defd4fc448dfba2", "33bb998f335e60c2ecce3c46b4bc19f4fb895af4d07317aae63915b2b351132b-1"}, - {"8d4d1bfc7e6667a370e072079dc70b3e3268f71a32a54371487339429aa47536", "b6a23be035f6471e2b1b15935b5e3dcfd1f26189a6419cbe92338aa4bc3d1d43-0"}, - {"ad9ae35caf7548cf3df6343dede0e585702eb5cf80306e76b65db2c603baa0ac", "18218f7d81d3c3af9c088177f22f6f2a8e31819a6d2738517d6f191302af3dde-0"}, - {"1ce233bc4e4b8104def542c9ca2929cc95b42a3bff03ce5c3035dc04cc71bbcb", "f0824e148d0c97dbd07c73b107e99f590a7c87b61585790da1af4be0307060f8-0"}, - {"188b4f3700c029d93de43a0e865b3e2e800c3bc67718f8d213dd111a9e401cc2", "49d330a6a362df31e17bd2cd1be6ea89e1ae3b17ffa49c85c770205811e6ca68-1"}, - {"5557273f5922d9925e2327908ddb128bcf8e055a04d86e23431809bedd077060", "99024d874341e5f219b7866d0c3c0ec4af6e737b4c77754826e90308810a9811-1"}, - {"1645a3ebdeff58bb478421fe8e33119d10f22f238c9270a1e80ad46fcaa188a4", "3efd4cf14ecfe820a7fc3efd3d7eed5a692f37b4eb8dc8d3f287f0773715b37b-0"}, - {"f2b2cda32fe9ab9a29ad463e878bc4061e3fd74bd30508c53a214333f8b58839", "f2b2cda32fe9ab9a29ad463e878bc4061e3fd74bd30508c53a214333f8b58839-1"}, - {"731ddb4dace693a27ac91c696685bf3e01440e2f5d57b53e2ed57059f6a33e0d", "2a9ad8e312b8a241cedea736511b2d54ee05e342e469e4e6099a4e1034d16400-0"}, - {"1628e387a7badd30fd4ee391ae0cab7e3bc84e792126c6b7cccd99257dad741d", "4fde102b0c14c50d58d01cc7a53f9a73ae8283dcfe3f13685682ac6dd93f6210-1"}, - {"521e7d6a4b937cb19dc62371436f1805c2337a772a5e3884097088b23cb39c9a", "40bece2a1f48f60fc46fe4e1353f6a263106622b057a3d25270fd97989b5bf16-0"}, - {"254739a1dfbf7795267e64686dd07cd61c6f87e665efd52e15910fa29b3da3bd", "67fad38d642f188564206354b9b4b5a3882c8320d9e1fbf8963727211264d968-0"}, - {"00850daffb0c2c6d85e766cd1540ab6384ef345187201df1fce9f6392abb152f", "91a0217238e73e8e1d1d0667b2c0c638e7c7605528d67212f433e8ce15d3fc30-1"}, - {"ec6e4e052c3b28d77c13ccc5072b5f5c185e1a53a6ffaedbb1de9739c0d31489", "767cac6258be817991b644ed20b505a36bd570acadb36e301a24e0c54b86e76f-1"}, - {"0ecf23a896fc8062fc373acbe0dc218c508e3e6fb0bf6d3ac8cbb3f09edd3e4f", "1125aed090cc27dbd82f4535c44b48ae3afbe91f3c838a4fb0dda6e0c47ba1dd-1"}, - {"aee65248d2955c6954334ada761dd15cb67a58f919e13a41f45d2cb19a35ad26", "0a405001cfb20f301025d14533c88bef92f17be36875fd7fdf3d2aca6008ac08-1"}, - {"431514b6af73d8a20f06ce90b838acc055d749d77762adfb29a918dbe7611352", "2d736dd28f246daa0e8cdd2a1cbd16d5e5c0bd2d1a3d339072a933f52b989b31-0"}, - {"85412e8586e7e2015db1d2e9b4dd380e89251ed812e40bf8d5e220ee40bc18a0", "66d5c3815b350f097266fda67a1f5e2f6a06707335339dd613a8f85a3d7a0cda-1"}, - {"aa73038f9d96f9854091a5fabc9a550fd7c0f9b47b1c9a09f547b72d5840aac6", "aa73038f9d96f9854091a5fabc9a550fd7c0f9b47b1c9a09f547b72d5840aac6-1"}, - {"dc2e02ac95ce4ccc9843c38de7bdaf32f2a1d5966c054127a3f4ca4f4bbd5991", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-34"}, - {"f0e0387783674bd818ebae2fb6b5c20659cfcd5c68a2f8a1f03b03ae3004724c", "ee870538e2c265e7c53af7f94934fdef16cc8016c2f36a1f266541cba96a1049-1"}, - {"9fe2f8d43c11c61b5a545f451d5f9ffb89bed5bd91f43988eb97ce9a33692281", "9fbb378e040e94a96b7710b93bdf13a28a989f36f49745f456bc540dc3787a0e-0"}, - {"bde6e98207dcaf2b2f15dccd3c63361e917da754ce396b935d9357214368c944", "60c98e8e387181306e852901daebb80656831955f9dcac4e56023c6997e94b8c-1"}, - {"c940d40d2849fe70baeffa8e343024d01dc80380f38b2a015798f503cba26d3f", "625f146cbabe485de38933719db0586da3b1416f50b234187ad693523f2c74ab-1"}, - {"0742f64ec887a0ca73a4bfbce78eb34845cee638ab574921ca260f8e218f34d1", "6f3db2d62cd43f962bccb2f1b4e6a539bbf7e33748449c25908d7e8c8dae0296-1"}, - {"b0447996025ff084c1fa1e0fc755b32d540143fed28b89791789fde2464f9f2e", "efc64e3a062e0cf8330ee54e8153337430bb14bdfc4b9bbac6a8e15d2edd2f50-0"}, - {"fb1f0a8cd13a1ed6e11d83d906cf3cd42114e36a762e214e04f6f0bfa698dbc2", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-29"}, - {"c08b723b79a7139fa7097bb85b4d0dc387097cf2ea66ad34992b60e1fdb5df1e", "826b7f56768a3be0d2ee2fd41b3a114f486685938c0b468581c3109ea65d78c0-0"}, - {"df770657631b27b71aa97f295c8c345df6f73617f2cc48f5d414955094a4d2ab", "6f87732c1b7370a1acb168063b883a9e7f1ef543fa1ebb50abd9ce314c9225eb-1"}, - {"4a25963b4b39159ec966ac3e68b42648e1bf82351e50b4f14b9655d5338313bd", "4a25963b4b39159ec966ac3e68b42648e1bf82351e50b4f14b9655d5338313bd-0"}, - {"160120d0aa01ae90e2abb2791a313af326274536f930c95e393959598f29c636", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-25"}, - {"044b879c7014a715eb1bd98c79e6137f45011a0cfe3d21b24edee3c1650eabd9", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-24"}, - {"289b8c9733345bd0c9855f933d947192f566a6d6bd5ca694d3ae0b5e9d3882f6", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-27"}, - {"0569ce8b1a5fddf85850b5415b0435c46e198a8f146b1344bd618c8fc6e9e541", "213a1c4beb216e8697d8d15701c248bcf91a889f4989fbb4275293b3aa697802-1"}, - {"0cee39f44c73a6e829fe53ee34a37ee4358ae31c2bbbae2877949ae872927602", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-26"}, - {"3c7e5634f8fd8af476905ba2e94db5d6b46c41b22445382bf949a71cd16fc18f", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-21"}, - {"cc02c1be8ef00540856c769f77bca1afc593d3c40cdaf5ca033e462f1c43fc52", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-20"}, - {"41c4a6b724a0d25cb089ef946b7c1985a2815bc6a4e45f15bbcbd445b6d10b79", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-23"}, - {"518ebe3158701e981095522cab5941883e56240c8ce9ddd79247fc5efa00af3d", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-22"}, - {"e9126eafb8f62f5a4e8b4d4f2419f4377a8dd14635fc749f9ca2636ffa93815e", "cdc302b79f75e0148861b035bf6684fb049c0496a1b7420c78afcd63a479a9ce-1"}, - {"e220b3b30879a4e489a99f265f00aeafaab0fbedd0ec3fa194befc03fe93ac30", "e7574822b76474d0573a091151b34a69a879f4738fb32b64f0a01562bd4f1049-0"}, - {"39a1339d9bf26de701345beecc5de75a690bc9533741a3dbe90f2fd88b8ed461", "23464abc2f724de235e69e72ef5068f1b2701521b88e7b2740b93978ff54909b-1"}, - {"e341b4207f799d7b216593303c5705c97825331805f32cf54188dd05a7e9940a", "f423a9b7cc06ac082b7d8b4b5fd1ab534bbaf682c289c3113b014df441370aed-1"}, - {"0139ef5468acdc98c786a23397a0abc167110f46bf7a33cba29de48f7597cded", "0139ef5468acdc98c786a23397a0abc167110f46bf7a33cba29de48f7597cded-0"}, - {"fcc330b0afdf27d07997b93277a3942e28f7cf4fd043b7ee64b6b5c16173c936", "fcc330b0afdf27d07997b93277a3942e28f7cf4fd043b7ee64b6b5c16173c936-0"}, - {"2f4bf68bcd9f4fe5171f8111a7f007f76d1298c1124b8a85174e64e057a2522d", "e908259b1d6faff724bcdf8e4d26e692c1bf960b900937fa045161e635524f2c-0"}, - {"f8ef5516cb8f36418e42dc9e078b26b0c4b1b9ad810019974686fb9a6dc88206", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-18"}, - {"0218cfd57318e9ea9a687a92c994e00085c1c142c0d88e54710df7045e8a9db0", "f7592e0affab6d58abc3d1543b7d4079a4e29901419444e8cf98fe319e2af577-4"}, - {"5d49c93481f99c7e1d85cde715697762973d9c49d6facf50131e11b2c14c7813", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-17"}, - {"5be5a28138a658a802a1e871d7bb4a5e8a167effe9e665b4a2ecaa559d01734e", "9b185c03a9780b9ece0e4a0b23c85002573d8b1994cfbe214ab6d20a74739843-0"}, - {"9b06989569f64d5f3ef594dbf4437b835d56ac21405107cc818c8bbf0fafa4d1", "f7592e0affab6d58abc3d1543b7d4079a4e29901419444e8cf98fe319e2af577-2"}, - {"3a375ccf86834eacd79099a7a2fb1afde6a116ddd696b241e6c8915b83273454", "f7592e0affab6d58abc3d1543b7d4079a4e29901419444e8cf98fe319e2af577-3"}, - {"6691b5981eb27314fdd2c2eedf58a0571da48ee074600449eb825c485a17ea7c", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-19"}, - {"0d20e20e6a7ed1999b25f2dee0a53893a462e92170bc13a8b321f25c87d99728", "0d20e20e6a7ed1999b25f2dee0a53893a462e92170bc13a8b321f25c87d99728-1"}, - {"3d95cfe7d2ce66446cab98d336d8f1c44b30fdecdff11002025e2844d090b134", "f7592e0affab6d58abc3d1543b7d4079a4e29901419444e8cf98fe319e2af577-1"}, - {"d1ce9c61c04501fdade45632d83ba14b76b8cd89de369e7ba9594731e21a8c97", "522f75e8189ebdab6f7d5c7d7515ef15360cd91e27a1dcfe4c8c5cdb349617df-1"}, - {"d0b3fda32eacb51f9bf25e533344e144245d629cb1decc05eef2781a658f4ede", "3e31ccaba15084ff69f1a097c543ad8c877774e8445c62fbae783f580945055d-0"}, - {"6cca50b04c9816b07a8a831ebec34866f1f0fe836047890dce4f1c46f9e8a3c0", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-16"}, - {"c0aae8ab24aab988cc84385d16af7ffcfd365d0e016f5799759e0525a435a617", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-53"}, - {"1b8466759e68ad97c55c8c96a24a060a839baf8a014a7ec897ab6fee410e66e6", "1b8466759e68ad97c55c8c96a24a060a839baf8a014a7ec897ab6fee410e66e6-1"}, - {"8e0c95f8f71cd450abe7495077ecb431068da7821ca4e38af735565ec630deeb", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-55"}, - {"8e7a3cbb99a9ce89685175ce3b3b5efe33498f22ddb539a2c66190390ff9e37e", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-50"}, - {"edc1fe5456b869747a4f41f92ab8bb8b10c1f43bbbd97957a16698783baa0d2a", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-51"}, - {"138195ab6034f5bb94cb48fd7d46406025e17e49f41df40efa13aa0c40cc945a", "138195ab6034f5bb94cb48fd7d46406025e17e49f41df40efa13aa0c40cc945a-1"}, - {"568a820b27ca755a2dbd072d68d0a8bb19ff486b472aca350290ca30ac7a934d", "568a820b27ca755a2dbd072d68d0a8bb19ff486b472aca350290ca30ac7a934d-1"}, - {"17454490f2e0d86c39e8d0981b1d1b67354a96915a5866c527ba06fa08b43dcd", "742bcc81752fb45545e7ff19bb630540587bfbd9a16d63e8507f09b2ffa4e459-0"}, - {"77fcca4a0e43f6e0b96687a87b4272eb8523315c8f2a176d0a2df549a869f3af", "cd47f18e5128b3f5f824858fa284da6747e7f0fb2ba7be05a09d739c307a0c46-1"}, - {"6d6eb7a108fef471947d245e9189e47284d9a720f95aab0127adb9bc6459557a", "0565c41d3af1e4ea7c8ccff1e5364e38173fdb8555a991d1b4604974ebf459a1-1"}, - {"bba99873df74a78b6fd5150907b216eafe16816006225a4912affea3ffb41e00", "f5a27369eb4ccf53eeed8895c87baec6562ee713efca6939016cd4915c4d747b-1"}, - {"9fcf7b15b9c7ce71c11b7577e05edd1ea922125b9ee8fed7d0d8ff21d530a33b", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-47"}, - {"d00a073a9de7c2efe78c712aaea77fa1a6c0ed00b55ed2289cf763763eb32a43", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-46"}, - {"3ada735b7fb780232ed20e0a96d293385a0793ab7c5c360dd356c98192cc290a", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-49"}, - {"42f67134f85223da03fd3a670e68802d959ec1236fc6317b855d7133df4ee594", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-48"}, - {"9a37c6dc3e32f3c52d3f3af8b4d46b773e01d3bf27817bf609b60631c620b590", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-43"}, - {"fc07e381f05476042949b584f41fabd582e6a54d70657b8ff39fce58af62eb53", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-42"}, - {"c4b4329ea9e95851296c2c59d395399e36e2f0a6436d3a03cec8de73f35dd121", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-45"}, - {"11de79269062f95fcf9f5185e33736819af5d1f83ff06589016e7992f9a76e04", "b1c3bb3009356ee3ff918c1aad96f30f7421e14feaa8931f21417a4ba8ee6333-0"}, - {"3b056202a743c16d86aff2f8ef6cf5d402e312f70740b9ae20ae92e47f1de174", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-41"}, - {"8c15296dda100476466c2af9f2d212097c0dad634c47894e34e89b0772a7ef6a", "5c9d34b80e527c47e91791dea892a4579509255393e0cef05b8377808518d42d-1"}, - {"83977cb9a12a31f510641cf6bf09190ebe245b167d9b455cd0437a197933dfcf", "25afd5681d0be118c305d49b909210f0d6f1f839249f125f28bc85e239948373-1"}, - {"5cd86ed16f87819dca7b6e4e3d24947b1a6328ed8cc4c9aec7af35fa2b162220", "4758b97bbd20024e171767b8baf4290bec1475b254180869cdfe0db75d7faefb-0"}, - {"c6eee81fd38e6db24cb5e847794cefca7f3f8f95a066028bb8dfd6f36fb92921", "ddafc875b1aacbde5517e7dac570d683b56702e6ae190dac93b776b499121026-0"}, - {"869b6700423da629920dc2101ec88e894f450f66aa751879dce0468945e04179", "555936c5c8ee1a6913ad00d96ff30e1de0f80571049ddea22803001cf897030c-1"}, - {"c95f78ad5dab4ceaa98ff2d9d60d6d69e741f554b3ff876998dd832b2255a5c1", "15954782b75b66e8f86048af74a143e93f0e84f3102c9fb3f7561ae51d3513c0-1"}, - {"7bf37a9b228fa18b95fe74186ebfd2f16a15b970fb0ce68c43fe7dd3ca192447", "7bf37a9b228fa18b95fe74186ebfd2f16a15b970fb0ce68c43fe7dd3ca192447-1"}, - {"113f86cd2940e9638cf59e9e06e9a73aa132b73c78b8b39c28ae2544ab765979", "34a4f52066cea018c23a161be5c010540f42cf215f731bb28917e1052ee6d22a-0"}, - {"49f9818da1c1948ffbd964d593b7ef590031b794617e62587d984f61f2fbe20e", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-35"}, - {"610f8f8dd4cae7aec25116ce7104742254ec559baa67b27ab471ece2a2aa7803", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-38"}, - {"6fbe7935a362d6c08e5d10af09398ac4ebd2edcd1f5d657816c4f0982da6999b", "3a0bdad2af078d3b4eaca04a3e7768c8c2a9575f43983c96ed3b2bdd9c2f3551-0"}, - {"b9fab136129b05d86ccfeee5298f207ab2d76131af41987baccf55fea5efb4c1", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-37"}, - {"485d33cc5a823b6ed0ac345b93438ecbfc44aea7964ca95cfd998dbfaa16ec76", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-76"}, - {"c367704082306916bf8d0dd2dfabf778c701ca6006a55b56de4e55a0ed9e2f02", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-75"}, - {"874c44b97f12d2ab126377cacdeab45e3fff8c78267c71b1ad051a714d58e6d5", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-77"}, - {"ca0d0910002aedb97fb303e97b1db11583be62b3db8b6147ffa84b98309fce71", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-72"}, - {"ac5b22cc7947409cd806908ac78a0a600fc6cac2a9a2eeb4a77d8915933696f1", "eb6ef14d6a3aa4f3f905121303d331968c85e4e62b8e578cd1e418783d26eec7-0"}, - {"aea2c0ad3c65b374731f81c1c3b9d08ada064798f788cd8346315eab076f6057", "ea7b8662de1cdfd8de2a2f35b5fb0131635b4dffb23c9cbfbcf1b9040c47f69b-1"}, - {"38f8cc9f9bbfc0ea0b35880a727940037849db6f717f146392a2bc3e971a6f61", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-71"}, - {"fbdcb8ebb8b7b0536b8af0bd89b5f973fedb880b51d03434767eaf9ea7443bb6", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-74"}, - {"e11bc5514ce9e362112fe4bc2356d68a63dd62b3834e320726709bb707564510", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-73"}, - {"c43b8e35d23d9cb0a088b5153414a204f436683298ad311c9cf2643cb9e482db", "386877646e130b682f064c6783e28045b595b44d62120b1527c0ebc2f8d09597-1"}, - {"0e5ed7d2e33f2e0b221648c3f99735afd6762270ff6a35978df389a7f82976d9", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-111"}, - {"4292028ae9eb69f51d35a8a0f1cdd625f6dfee2a9ebc7bd4d9b7cb99ecc43f9b", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-110"}, - {"b42fd6e07095c8b1c88ac52a22cd97d8ebb051ba7adf401896d8aebf04db1080", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-113"}, - {"1a5889046c1a29a03a8a40bbe26da1539d1abf53f9b846857c7fede4d5e3926b", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-112"}, - {"8ad0ad3c5d5e607a7978ba3f026240beb079a186a784e2034b41fffe917c46fd", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-69"}, - {"bc9479593e38ab280b75dc76bb4d10483b1b341c2e792d7dd278c21d202d2b93", "63ff244a5e25ef8b4eb01ada65d8dcf1adb3e0d49044370fba0cbd00f5abd3e9-0"}, - {"3c99840d0c2ebb37b76a6a9dce2b876822ef969f7c2dabe67f0e7f071f2b0318", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-68"}, - {"807b6948d2bf213b63f7fb1af6175692b6df4629a6c83d59d933ca0c744a0007", "807b6948d2bf213b63f7fb1af6175692b6df4629a6c83d59d933ca0c744a0007-0"}, - {"445e313b262961a5244f30e02946445dfcb52420767688db8aaa6cb5f382052c", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-65"}, - {"06a45723cb72c6dac0d839223ffb9a9ebba95d257a92537dcb7baada7fa744b3", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-64"}, - {"9427f6cbb0807d4783d74927eaf1a70e9c19339ac47ac7be1dd80b0ca4ec2835", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-67"}, - {"2cb309db9b7c22b337a7c24aca6a2d730030bef2f3a7c5f104d6c9ffd9ee64d0", "61bd45f629a5d2e9a41b2c1b82a6823ac6051b71821a52a91d0ce8ea3ccacdd0-0"}, - {"271b3eaea9e4fa8717b42dc04a257bf689d56e400683d608ff7cec3a34ad7115", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-66"}, - {"5d906997d8b370d37f813ed55c664457fc98acabfbf5e5602952f710b54bd4e5", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-61"}, - {"9693e443a6820038ad1160ae01311a85b4573965ca4480317611d5b6e048aa2d", "009ad1539e701d58e844f5fe8793ac54abdc8218436b55e8ad650f9843b1b7b7-0"}, - {"1d0adeaf787ed8f6f73fa936c6313ddfa2dd33ea693a2de22bc346c1b73a4a02", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-60"}, - {"75aec7fff319c066890515c7d626166cdd3a28c9bbcd5d949027e5aec46dcbad", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-63"}, - {"3979cfb79c4562e819aca69ffae2ea84b9b8f29bd89bdc68be67b88c6f31bf99", "01bb7dc587bb7306444eb5c8106b15a033b9c34c782d2fb46c4910552b59a067-1"}, - {"c87218fb9d031f4926c22430c69b4edf1f0fb80c331c1a79e3b1b3873407c0ac", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-62"}, - {"697c2c82e72c2adb8909de0659da51fd64cca28f8e3bda7edd8db0d0653d4e2f", "078429b2ed2e31c73f186bf87412b4baf624e8dee222e9936ee5963965d294dd-0"}, - {"b9eeb35f00d10ebde45a23db94875bed007b94eb03cd0317ff721e24dd5363c8", "0f338a7387bbaca284b291c45c7881ebe6feb9001016f68fa09e167232a3adf9-1"}, - {"370dff5a36b6ff4d39302c6c75ccec173943c1384e536da748c8195b3c8bf92a", "b3b22007f6117b2547c39aa735233ef3b8668fc2b1d5de7cce289f2f58add896-1"}, - {"b1b3f7b8e4ae179563fc3cf3bf51148644cf9e38256a06d73d31050ebaf486e4", "7460a4428dd96b95701cc80bc024d7356e10d0228c34c6e31ae12343f90e5e94-0"}, - {"ce09b01abb1fdadc8c04db6f8e9141187b034ae536776134e01156196fd595ed", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-100"}, - {"280b45ec34a182260c541ea065db84d34aeeb06cbb110fde8c143c6e504175ab", "b79db0d327d9aae1faaf98410628a7ccbda35f3022159a020eb3f2f88b977cd1-5"}, - {"a025bb759fb2a448a49f53596295dccb1d63e11880468e2f3144ff3646b4dc15", "b79db0d327d9aae1faaf98410628a7ccbda35f3022159a020eb3f2f88b977cd1-4"}, - {"7eaa4303e127d1b4f40f864ef9a844203043cbfb405698455a4b49996d8c5824", "b79db0d327d9aae1faaf98410628a7ccbda35f3022159a020eb3f2f88b977cd1-3"}, - {"528b059c0430be26babd893fce8850ef5f10ba1b166331aa66de0f58f1bd5cb9", "07dbab7378b362cab8bb6c1497ef7e4985aede4eb13952edb1338f700ae48c77-0"}, - {"a2313686a6daf92c85bf10c45876b257aaa710b6767d60850c78e33905be433b", "a2313686a6daf92c85bf10c45876b257aaa710b6767d60850c78e33905be433b-1"}, - {"5afa08e6bc6e06ff630f92eaa4cd22f80f27457cb42426e88d7f756d90f4c621", "b79db0d327d9aae1faaf98410628a7ccbda35f3022159a020eb3f2f88b977cd1-2"}, - {"8c85a58f740da682fcdae1c740ca0b16d0760b213634e8eddf6d0d00eb90f20c", "d33b8f4fca9dd16ade841dbbc4073f0de381010c8b53dcd0bd9b61289c36ab31-1"}, - {"354bbef33f841e8ecab2cd858babdd97ea1e8ee0e28cefa3398c71d17d8a9b6f", "b79db0d327d9aae1faaf98410628a7ccbda35f3022159a020eb3f2f88b977cd1-1"}, - {"8458fbd557903692f8e27b4639421db21b0f90469d310bc9221ef592519cb325", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-102"}, - {"cf774e2a4bcab3c7e7d2d934cd2977b090fc1e414d26dce53e16cf2cc5971ccd", "c08c7b12d85ebaebabb3bef94a4becd292aba800048fa626832d4f2ea23a1be9-0"}, - {"31a74f4cfe217fd8504e6b210fcdf12243828a67191448b649b648f7397da08d", "54c70b4902b8efe8a8761e524fbe9501958c87ebcd7de05a8e673d63c4510e52-1"}, - {"0b53cea62f79dbd8b43ef803b9eb1d47a1dec3611f460dba83ba9dc32483f9c6", "7032dfb5f6e35c12843dbf32fd65c569f1513d694462f0e172fc6eb8de7222eb-0"}, - {"63dc5ee3b0ae326b1d590c1253aceb6b50982721e6d8b20e862433a2a6438c60", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-107"}, - {"f3eeb1461780dc6c62c5793df607e23f55153945b17ee029b3404dce7450ca84", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-106"}, - {"6fc2e949a1bb5bff22ac494c3434d2db20a61bc91c9f8a3e57048292abd33f78", "d868da949814c26bc4f818b7dd1503c3cd401131c20a37b5c5a67cce3c0b3ac7-1"}, - {"617d72f6941af02ef5f2ceaa2ac0315ed5db0979c45391398f74b0fadc100ca6", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-105"}, - {"e995e4b4ba9fb3fc8cbc7c779b8b933367c54166175c3cf507aa92d0667ba7b3", "b3ad9eecb8a5a41ad04b1e9b71a27e8f70a4278be3231490a395bb809a76faa5-0"}, - {"900618389dd73377e2b33b021d2e8b0e7c51f8f5c1d871af15886e3cd6e6d6ae", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-58"}, - {"a776b3114d2137d1eedb0908aecef3c35ef001166bf3644d8c9f149b3843fde3", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-57"}, - {"5dd021fc25cffa8a8fcc138726d3771d7a11ed67826ef92f8cce1deeeb8994cd", "fb6d6ebde041e34f494d0807542161fb04ca4ec930c5f3476240e747ee613a7d-0"}, - {"0631c61e2ebf3d2f3b5022022b304492e935dfa25f9f52d13a45b448a61dea4d", "e4f7b2fc3a0a7662837155aec5b255abe753e390cb68f286b909494f148a4657-0"}, - {"b27a788d5106178e1e365336ba2a53d6f0e4a48b76eab2faf3aac12123473740", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-59"}, - {"f14c9af014af86568a4ae2582c3ffcf6602920ee4155b8a08b1054cbf31536c1", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-109"}, - {"e558c21609f13196f38a0e135c8a56ee4632ea1681a9dedd5d65ae8031b34be1", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-7"}, - {"b0f7021cd2662eb74b1802ba34fef476d176e815569aadd4931bd4288f5256a8", "67b51b96e15ef7aac3bbe1021fd7371a0e302659641e071ec83f3e523a896c1b-0"}, - {"b09c47d39537078986e4639420ce87b32039b17d80ff4eb88238c27fcfa1abd3", "049a7a29f2086db8b1b2cd3fc135ea47ba5c0c59d514ef380a6c6a3d63e1b940-0"}, - {"714874684cfabe0cca907ff0e61bde28c2fc1a8840c485fa14ba5660bfad5e2c", "5697f88b8a572457eeabbd9b6fa1d50439c58d3dab1e7ef5e6f18284c452bc1b-1"}, - {"fef106ff6420f9c6638c9676988a8fc655750caafb506c98cb5ff3d4fea99a41", "809818107c1104bbba6d386567aa231a294219387e591542df599b7ae7d23339-1"}, - {"470efbd130388351c399040efc267f1a7553eb64987cd23704e69b01f07f6fea", "470efbd130388351c399040efc267f1a7553eb64987cd23704e69b01f07f6fea-0"}, - {"8a45d21d7441e9017c3c3d722d0aea0f59cad454e63233c632e6cc9a80256943", "8a45d21d7441e9017c3c3d722d0aea0f59cad454e63233c632e6cc9a80256943-0"}, - {"b2f62d6812c31f4f46265267da924e38395274e12148d979e4b4759035b26072", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-6"}, - {"87c23375674218932c768502d4ed00794fa327b0a95f3fd07e3366021284a8ff", "cbe46d63372737113fd9fdd40fa4656aabe8099ac4de116931820d48ea5bb9e7-1"}, - {"deaaf275e9e384f3e7b190cb4e779d200a8c22dd968e6eaee0bf0a2900ac93b7", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-8"}, - {"bdd08cc998cc494d2e008405bd71d5917a64adde6216339d74be4d379c90ff19", "ec0db06a423cc8ee5e8bae104703da3a757b52ca4f2b598ccb73d5c368bfb7d5-1"}, - {"ddb33a8e1dc94f0d2c78faf99f2209c5a6304924675ee639b237e00051e5adbd", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-2"}, - {"fa6350305c1ce0de594787f20ff7ddd0c35a4cbdf10c8a9956d833ab6fdcd225", "4ee3ff5074723d995f4cb957a954587c6c637a42655ada8f4054037b28d1e7a8-3"}, - {"063b57f59d1ff9847f08a7f06d14a5dde1686cb43b6269e2500b2445f83aea7d", "d3fc7b560b159c32796006474ebc193f8102910f5cabb64f3952240bc3242c11-1"}, - {"69f156c10220991da1f4e8d692a582ea686a028d532b037f29684610fdb60d26", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-64"}, - {"6802ed5074a42b84a99b5fb6da29d04c2c80e6c9dc437203acd698ade36c6eee", "6802ed5074a42b84a99b5fb6da29d04c2c80e6c9dc437203acd698ade36c6eee-1"}, - {"a671f057d9937b97c9d256e4eca70318cf51f7259fed49b9ab441f13cc1b12d0", "35d2d18420481598d476a6f211d42d027a37167a06f4d2ba8bbb379971aebba8-0"}, - {"5346dd62f6d0d846ca8b37cad7e4438d1effa1a61a63f8d55ba93069f560949b", "002b2043a5510cb996a7d0f14f18a06ce9ca18310e42f7bc3af1fb1b8a7227ef-1"}, - {"037db07b953e2196d659075376e7ba9d85baebed5c49577a898c0ace2515c1ca", "bbe0d34db3455350a23650570422597c741030059e044d8e84758842aac51d66-0"}, - {"b1d373e438cf455c8297ff3d8fd1b27a1be7365dc55bdc963d0c02930338a519", "b8b7501378822d707c7febd4b15988423a13d3704d2f14c2657750408df9676a-1"}, - {"8bf18698fd403d18f976fc5f89d79db263fb354a63781a512e2d48faa17190f1", "2d9c8c210e1a3569a025945c4b546bb95dbea406487e7172f5dd2b6e909cd851-1"}, - {"682b3e58e283081c51f2e8e7a7de5c7312a2e8074affaf389fafcc39c4805404", "4955dcb8f9f56705b2ce480369c8a0e50b05c3dd1770160c4ddd47515a87e290-1"}, - {"2c8126dfa695f9c0da6183451834b6ada03adc05c54c72594187bbf65d8591f3", "50d014996896f913891081217610aba786c06f9f83cbf45994fd9994b0edcf95-1"}, - {"2bd7d5200b9a5e22d5c95c2c19923e9cff64ed36a1f736372b87d82b2383926c", "75134baedb4d238be91f4a732ac01f130868f26802233e338ffdc89a758c1a45-1"}, - {"c321458ad5e9517e64583facbe4ee3d0694ab856377fe216ab2f4bca85cc2f76", "c321458ad5e9517e64583facbe4ee3d0694ab856377fe216ab2f4bca85cc2f76-0"}, - {"3f669abeefbe8527a5ca342037f8f97f5e6c8a65f559936abe546601efdab603", "ca1c68b7e83db7b49c2acc75c7ae07552fb68695c53675d010740089d6a06d10-0"}, - {"118e3fcaf76098b20e0204b637381e9e3444b36d16f07be4421dc780f786ac44", "118e3fcaf76098b20e0204b637381e9e3444b36d16f07be4421dc780f786ac44-0"}, - {"6213059ec1749bcbb42e7b0ee5205b88df03ea2fb1a73d6c4ee10c9d3de9345c", "54719874e709c00c6a1fb8324f6f36251cb2ceff85dd9cddc0d0fc058bc0d83a-0"}, - {"e6595f88f935fef934a6d51dc0a1fd43e65de1adfacc2c99851a69d80cd26493", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-50"}, - {"b0aee43d5964ae06a7ce63c03332d9f1af46386b91738cbbfdf42f67db488c5f", "6ed4aa5fa90565c2331bcd22275f684ecdca5da8dd7f83ca943aadc6f44e6746-0"}, - {"f2382c75e2009f5ce32df63933aa700a05239dde4f2df94a40ba2234b8e777f2", "bc3b58904a9f09b4641ffece61af28744826fffa00aabe45ef40af959a78690c-1"}, - {"53bb55e972ab4f796aae8c7eed34d09adc55241edeead6c7171c2ada2769c68f", "8420f4c56477ca607b27fe74e6433c6fc425ab60e3ce0df758e7a00f0af93082-0"}, - {"a430cff6d81721057000ace8eec27abbb70d223a6bd565126337ed69493e56d0", "3150332f08be6861c9cfdcc89c9efae5b974136dbe07039ea07b82f3f55c4756-1"}, - {"be89ade2107051d4f50cbf1d99338d42b33fa7efb079e14d906ed9b518768d36", "c0ad05073baf194276c6dc15e634825a041c9d7abf14ca644c9992a1b8cacaf2-0"}, - {"b5706630cf1c631b5f95edf39d0fa1fcdaba9d34459b0b392e3f28eb59ae90f6", "b5706630cf1c631b5f95edf39d0fa1fcdaba9d34459b0b392e3f28eb59ae90f6-1"}, - {"f311a4630250c2c2fe0f6121d7214b1e962d2e7385e78cdc3ff694c9cfc0cbe8", "e8afa503b97a5756197aa9d4e2f7417d0a65314aebf674302b029ebc9ee5d090-1"}, - {"cd2963744e83eb775912b47e751f825f7fc8319db11f7ad4aa8e0f8831d12e09", "2f22b7b11a47cc4de5b4455bc3a2bfe35ddc235f473105219b2dafd6499165f8-1"}, - {"6e736990d9bd8b9b1c0164b8634a07c0da1a2bce1543e7620513b5c95fe28849", "47d87270e9c49f47e3af3dcb67e491a855bce37c1c30f8ebdb39e2bbff0f52db-0"}, - {"0d685a3c70d983d5668e63e80c3a756b10e19228d943fc478bcb9e2e37f97ee2", "005449789324b4c25779ed6c6d69939be1df08a4a789ce3afdd89a2b0ad4afcf-0"}, - {"812760abdf423a5d0b83f2f352846ba735eb2b7dfc559bfc4d4333a2618fc479", "812760abdf423a5d0b83f2f352846ba735eb2b7dfc559bfc4d4333a2618fc479-0"}, - {"777dffee76d4ac2b3c9222e6d3ce285527a16281b1d22d511fdfedde4e46ee70", "a662ce5ef0763ef5d25104e59d5e7c5810bf1999e8f20a7140f92691f198a679-0"}, - {"af39e406e48c5fac9cd44da1a84541e74f968766bf403718854f8ad2c4f3a1fe", "b85a23814c8c4b90064d865746143314fcc36350f24f64039b37e503375f0935-0"}, - {"55cd64d8a3d53fde1faeb46de639a7478b4559aa9040d37b2b19a28a7c029cf1", "9e91bc605704f46d004938d8cc993e3f7230fd2e72ac2f3ca82bd5b495bff271-0"}, - {"2ab9d8594ed6b96aad7e0d89e739e15f43540da076265f22f1f2be892b9af9ba", "5954073081abf7668a1823822954f0872dec39978e0a63ac3445598db260b631-1"}, - {"021d46a532f0610618aa12d1dca47921623ec9db0b6397b90abe63967551bb3e", "80c7d35cf421c68f5a188ae8306d47c33818805c4162403180ebab1a97933dd8-0"}, - {"65d8d0b30932771009cd7f022fa796da3ef4c1268728843ba71b5ca8c6c4374a", "65d8d0b30932771009cd7f022fa796da3ef4c1268728843ba71b5ca8c6c4374a-0"}, - {"ee12a4658170bf28f8ae6eacbc48fbe62d009582bafe6714f630484b14474944", "5f87210d9ac5fae656458ba2aaea516cb8f1a124cf3e28a833751976395b946d-1"}, - {"339358bbca4d00397e0b4fa1fce5b7af195a8e8e14e79e75a91dc54ca34fd2c8", "b63dd5f6447c223485b4579edfb0eebf41db009772bec8712a8ec343f33fefb8-0"}, - {"7cbb7c6b65f9360c3ef908ccf93ef438a449938acf05c743b7b92647ab3ad264", "5851273dfef0595cf655c9414427eb42daf8d172851e400bb68a6b183b654d53-1"}, - {"7228951470758be7eecda8126c7a23fe8ad019e67f3fdd5507003bf0d2d4159d", "7228951470758be7eecda8126c7a23fe8ad019e67f3fdd5507003bf0d2d4159d-1"}, - {"5dbd3e1adcef3a9e61ea1c8d0d3bed643ab3a36872ad78905b009cd6dbde6df5", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-39"}, - {"17013c34733cdafc4feb7f317587cbb891b1027ded099e2dc2e8e1da05ad0f42", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-33"}, - {"ab54e55949b2678b1d02043428b82feb0d09af24e9f52375b2bbe097b3cac3a3", "c53e657aeb29bec27c615235b4e13329a7227de727e680c9a07269f29cd3a438-1"}, - {"904132db5c8718123233252283268bd908f1585a7a8db92f997c03694914f0d7", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-32"}, - {"43e49c1f2735906dc298e133e1d22e8fe4a2a4b23e05e871deb6e99dd6a924cd", "5f16ea9f843c712766e810d3386be5bd85ffb01c40abac9394292a3c25abafe0-0"}, - {"f94177aabacd11c12c92b1d5ec28b8ee9f1c07b220ab783cbf8a1a21cf6a5f55", "94692e834fcae9cda57adfd2b6c2ea52cc532f9461233442d951f390eab74820-1"}, - {"c582fbac1ab54ae7b5c89bd0bd92fdcb5e604bde4805e8ca5a61629cba7ef8d6", "113d204db8c3132f13370d84b8e028a139798a3ce55cc0592b6ca0604c4cb56a-1"}, - {"fcdeb237fae2e669a85a86e8077e608c6939ef0f4f9e49a44e5ed6795572e6a8", "ce1735a7104ca66c06c0a59d6fecac4ab2568200263b6813bab151f14fd6a8d3-1"}, - {"ba8cd35d07e30f5ca8401e726bd73d34f86f870c824a237e8ff9f8bd717608e3", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-7"}, - {"444d4d1e9850cf19adcf3aa6e01e8a198779eecc8d55fe8bc9715726efc58987", "08683528b3b149601cf7e5d8e39c8085527408311237e53cee82f9c45de2bf3c-1"}, - {"3b27b5ea146ad9d1ff6bc7147ef25ef73301df98cc2c7723673c3a0f39fdb07a", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-6"}, - {"bdc01affd19e1e8c9ac206ad9af5426dabd1180dee52d9c38a0c29ec4a91ca7d", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-9"}, - {"5792eff7aad985cf59db2a9f55436df327e8f675bc2020688b98876a6bf5512f", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-8"}, - {"6b6e0b9b3b0b68287dba5421da357a5a1675d648d5ac5eabfb5729a9244ef066", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-3"}, - {"1c692349b501682aa983907516959bd6a0148c23ff9b8cbd178e1e07fd927566", "7db1fea7c8190890a02c834e04c55ac6c9fbab2a46de9b44313a1328544cffa3-1"}, - {"f773def21e01af33f508b4e978631b99405fd1ad3947984d3bbca5b41b221175", "c5c271224a3145657e2ad4bf86fc578752a9ea962558d471460c22c62861e071-1"}, - {"0c807e5e4c96d56008c2e3de266027c7232d070710868e6751c2ff907a4dba97", "b9bea1586f9badcdd34b7df37519e2a754b6b9464b50e75473b18a4af1b1b987-1"}, - {"fa02157ca757b3fd9cde179981837b2b2569fd642b1e9942a14275691e309018", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-2"}, - {"83495c78b182df032c77ceb6b3a5f6a0fc6f5d449953c9d8eb637a4740fc0d68", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-5"}, - {"3a57fbf141bb6fc4e9277a09d31df566596aa243abc129c5d9d1b5c1a12c7e07", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-4"}, - {"ee6f3aa5978e968d8180d9adfad0a856f7bd87d5d75d1d541368817cafdc3215", "46e5c2fee7d17d9ed1f04f59daf6e36583b1467df2492d9e298150c3372556c8-1"}, - {"f129a2035414a54881224bb0926390bef90b8bfcc63fd2757ae95f07fc9cb381", "913354b11533c42273e2aa3b40d203bccc4f062fccdb973cd6660cb27889612d-1"}, - {"41e41c6b6e1b1c43e73c7644ea36eb622bee149ab05693ea487e784614e524fc", "be4c3cdc1e658a56a17b0c330dde92f9c47778e0f770510e034068e1334e647a-1"}, - {"0e72e0c50a6516ce833427d6100a83eb6f3e0e80234e126fdacf96aa669e206c", "eb215f0d9484287fdce294f20dbee74d4b44b51b55ad9218ca55a7f272259059-0"}, - {"67491f0cb0874d179d8ece6f3ff25f721b2eb016ab5768bfabdc5e6ca614aaf9", "a0d534982440a79245bff398bf9cfaa7e839c1abe977e269187f05c95b9b460b-1"}, - {"7893b72d36e71a7b83a1fff61e4fbbe1400b11f12bfb349923397a2df3a9ff4f", "448cc4045a0e77ae3ed22f662fb103e1d2ba6345ee8dc789f2f5b7aa5c18ea08-1"}, - {"db3158d303d9634fc0a4772452707e4f6154aabedcce40d60e7932137ca52efa", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-25"}, - {"7ad29bc543761bfa9ee6a8be1f32bf5bbbc4f979d036676835b4717f8abb9211", "96f6e6e640048b6f0d7c1d2be4b116322e51ec6de001524784d1b5edef06a539-1"}, - {"a690051e69de6e36eeba664bff34e017f973d27ce91c1f2247120e8ce586b1f1", "a690051e69de6e36eeba664bff34e017f973d27ce91c1f2247120e8ce586b1f1-1"}, - {"ae6f0501ba42aa004525f41ffb59ca39f85170e69a241b69cc493118ab745b31", "4e743e0b0d5823acfa9aacaa3a63aee0e8249a00ae0875f42ac405db016b0e79-0"}, - {"22328f975ac653151ada03f285881f65bbef87778f3eed60aeb240e0d78ebd33", "ccbb16ce9153a3934135e830aadcd7a4bb7b51a5edc861ff3a73bae8e067e35c-1"}, - {"f735ca801b3ed2a87a0fe2838a38a56d72239fd0c4e3877e80cc280090c6f8e2", "6d85e2ebc2bbfa646e42e15d18c553731d8e6f2066e32f6f103fb267d69c2c36-0"}, - {"3a80d01eee0c4b79f9de8393f0260fe859677b6bda207a21fc3217a9ae4b5a03", "3a80d01eee0c4b79f9de8393f0260fe859677b6bda207a21fc3217a9ae4b5a03-0"}, - {"717891f61d5b2dbf82d851c366011cddc4f552a0677c0915489ee7c74de84a4e", "452583a53620f5dac63a3d5fd0027b6e1caad32f6ebd703c7c451cade446ad35-3"}, - {"87d21608895b8148fdb2c846d5401158720c3721dc07c4fa0981f2bb25ae52d6", "fca4e86c31aa53b3f19f0b0a7ecc3709512bc49f6d94518e8f8dca21415c4a1e-1"}, - {"dbe6cc582f7b5c0eeeab18c03d651274a36a26e5222e9e6ab5dbeef9590c3d40", "a777a6e91dd012c1efeda3ff8d774947bca8fa618b2ebe1341cff254c8294ea9-1"}, - {"48c29275ad2ba66954b3ed4d58a29c799da0abcfbbd38da9646079e94610c8cc", "c115c5a6aa6dd5b1505e902532bd17909cd24674f2933aa4e9d770ebe956cad3-0"}, - {"2b93e680e89ab79050c282da2b3750399ecec01fef9830706d5980f6e4cfcbf5", "452583a53620f5dac63a3d5fd0027b6e1caad32f6ebd703c7c451cade446ad35-1"}, - {"33c82292c562fca8cd876144b725bfab4be9975cd54a5f7903663c2ee60d49fe", "a0ee95a14f2742cd793f312cefad6de3ed770ed5b64844355569fb7be6f897e5-1"}, - {"3aa628dfe6bc93d8ae99a6a1c4317fc71b99a9feabfd4a028619aab603230360", "452583a53620f5dac63a3d5fd0027b6e1caad32f6ebd703c7c451cade446ad35-2"}, - {"a565c913052a586db0d5a000007ff981ff3b59982e662e02ac6d45e37bf8f0e6", "56e1c22507b6010f9f8c6135c0c35c41fe98ad5016ca9a7c1337a7d3b1999758-1"}, - {"1ef8d0b6dfe39a7a2fd509170effbafe5540d2210fed05776282573e87218f36", "d7cade0786de54b5273b40eef3c79b6294920b188652abcbbb002a0ad6a0776e-1"}, - {"30bd48a0fe09f6d72a94df8ca9d58e1c9015dc218685f17e2f711a1c8fd3c3fa", "05515ef91ae0b6d837c898415f5dd5acef52853483cb501e4fe11500a5aae9ad-1"}, - {"0bb4178501da3646c2ac908c25dc6d890bcee788bde6b8391ccde7c648607590", "5c4c5490defd76deee05977baa86df32a677857b3d5b3ff4ef281e59d8d6984e-1"}, - {"298bb1ffac5832d9bad4339c93948f449a2aaeb2d66f685836b6bdf4275b6d6d", "298bb1ffac5832d9bad4339c93948f449a2aaeb2d66f685836b6bdf4275b6d6d-1"}, - {"45a9800145a0abd2b8f4fe1fed333f712091bc46b4c1a4ed4c21390ec2ddeab6", "6eaf2b96a9ea14e9e9d89a3f87a2bc82055a426a11444a35840408c2133c0c41-0"}, - {"3a3e75555ef79cb77c55684587b65a9ef728efcbb443b46fe2e7ed3e660c4a66", "61d305b6bd9e631cac732268a69317ecb9af7ae33fc5193ec1d51ff11ac6bb2c-1"}, - {"306c038de5c583febcb09b55f527eaffe177acd9d118e8076f61349a305e902c", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-14"}, - {"447962fd8a1e759aea5e00d0272df10c38deab7fd410c916a2b77eee7276b047", "fe417feab71500b63a074b60c3c5c16360cd9cf818e8657e83e6a9c5e4b8bc7e-0"}, - {"324443f3ffc7b3cc689194e0a0acbbcb943482010e6ebe895e3ccaec58525922", "6269e4e55ceac7b6944adfa1a94288da415ab46f69d7753cf7c5a319939b9218-0"}, - {"2d3394ece5ebfb9e2f369fae0c663b01b978f946dfa06fe938f2c292661c9499", "0e28063e967a767bde03a1a6d47ba74d27481fe5fa24d6cc412416f111759805-0"}, - {"902c18f9e7451f382b6a41e96b766ac3754e792a31e75c8ca0f2da5bda93c708", "be8d0b0731b8a6494303820bc3ca4a72c428b3e5b1f8d3464afbfd8bbb9dd33a-0"}, - {"c79661f681e8bb869f5ba730cc0a2041b3d760450cb9ec6d486238a9ee0a754d", "c79661f681e8bb869f5ba730cc0a2041b3d760450cb9ec6d486238a9ee0a754d-0"}, - {"cfa6f7b58c78f827c15e8f1b6a5a2a3a92140101719006d8226a363e2c0c8e5c", "ec8a8e4796cb6cf07eecb0873c73b61bf5ab28913c137d7c511767877bf1441f-1"}, - {"c2a54c1ad133acbf3366aba2534ed6c1f01728553a7e877ac2a22c98be085c68", "d3b682b14283269b0cc5f2eefa50f98438092bc881e1609ecf9d0b78103c62bf-1"}, - {"32f66942ac8ad4e5d6552e1c22d990c8663deedee1b0f79783ab4ab395f5652c", "b6f10a5c1181808f8d17eaf2a7f058d900dc12e9365c69eb295aa942b466ba34-0"}, - {"393936246926976b4135b6dca4295f45dcf95c875422b70be451f2d51293c7d4", "eab82ed7c0ed025635ec95b325df8fad162166fe8d2a4e08a4df6c90efd1e496-0"}, - {"4d13a8912d3119f1a9eea95d70a546bc449307af3521dd532c0ecb1ee5a494d7", "5a322c5335321a1883a4c3804fb8af46cf3949592c697b5d87b60cf5677ef23d-1"}, - {"e52d2f726c9d7fe66a042564fcde9d4189180b7f9debb60ae3241872338b8e9f", "0273834786104b98e7d02ea304c9784baf35793b119e0628f2fe50aaff1bcd91-1"}, - {"b4ef45b7d0b716ffa761809326697a6420365e1d137b52d7d275e7f326280ac1", "41edae608d28abb3029fbfe59ed9fb17ab972c9e4c3c393163ac39882f6dda1e-1"}, - {"69d69bae567a8184b2b254ca9a5c4b8732daef78788a3b722f931f74df08f9e4", "b08fc99b9ff20c3ca985d5717479990fc09edb7d3d28e0b4c6c4c43e82f30bb9-0"}, - {"a4d877cee62f82868034fb678436d87afbb13330d2b66a24ae1d357f0de55c68", "083fa29c3ba905a238c296fd3ce71f3a49b4da0b99558b7a3a585bb1901221fc-1"}, - {"c6b291a26712b3f789a6f9379d55029d78f895fe3372c701dd5ef0a597be3b69", "bb342cbb8179fda669f0b9e5d5303884ba3d06f9c45f90864c8f62a7af46f261-1"}, - {"58eac04dafeed9c30b3397c527714c273323fa036a0ccfe5aa71d5c4fdcc2708", "2900508bbc2a6a9bf95a8e110d35b4cdea536f9b0b0715a9a287757a29d42955-0"}, - {"c3f559e803f09bb261a5f94a5c020816a4ca04627d1969819c32026d46004816", "298d439716e64d6e7e2791dba13f498eddec19a44b3c85983824efda19bd2505-0"}, - {"46dbd118b9d9b138a5be20446ae3448e8c41acc8c28411848fc85f563090b196", "42002af1e878f83d783cdd20fe5540b24ccbbcb78dd0da1e58f1a7eaaa08aa94-0"}, - {"eeb8cb773673c77f664501bc68b813206e9cd0920a11cb74cc918897804bee24", "2fb6f513f6891cb5957213d89e32f2462d140da0613b4bf304bf51753c30d1de-1"}, - {"ab60639a6f7bb2c6c67fa5a65060fa94d3edc1868e8dd16457945f35caee57a9", "8a4d0d1b251e45071d8fccf67c6c5effa0e0fadcf6defd1a7d3cb833fa5d136a-0"}, - {"181f70fb922661998d1236545053200db1d80d111099e1ae9d27ab8dc9b4bd8d", "490e9886af438ef770da2e4a138f375b167594c12e66d92764063f0fcc025907-1"}, - {"961e7fe42fe63f21e6e21556d2b4cc8c0423c1e176873efed3a14136dcbcf887", "533e00243b493590014457942632f8cf7b721ae77883d7bc295b38b6a632e96f-1"}, - {"4a7d3e011dcbe58192a8bee91d366c6f3720d8247a7dd586b8a50a0159eec937", "e46a0933296de9b285a4cc6ff8e7b18fe5191c75e0e713c017a9db743107dc26-0"}, - {"0264e34848ae0fffb92a5f0fb446468fcd4c18014f66212529f2a3c585709b1a", "45f7e46ec6597481b006c1dbb9bb9c0785ab0a03305cb904558a2877478dac6c-1"}, - {"9bd4945c016d11b08f5c137900df9fd5472726e002fd7531ffdb4b25bb3c9d33", "ad81229afa7ca3f38baf52331df6a70e36a3c1def61b0d3f2fb4e4ee7fba2b8a-0"}, - {"cd3fbcf015bb8071f253c07a4c5511e4759db5f655e2d198e4e2042e3986e828", "e707760892599a8d7b98381ea833c478a9169a390fcff12523aecdc4a465addb-1"}, - {"c0dc1876eca746f08e401c7873260e277baf0096a0b19e519e6298b649dd23bb", "121dc93b16fc47dc930ae1a8537e23ae18fff2c9dd755db902907e75af3aab25-1"}, - {"b00c8c773b22a9aa8364340a901a7538459ee38c7a68926e3996be85f6cc0d25", "b0d0e29ee2bff0eadedb02c39974f8952cf494f243eefa7e3292a46c5661c522-1"}, - {"9b135e3d6365e6acc8c0eeb513a3c8cfb68525e6d4719645fdb3fb3340caadc9", "7815c2146acab8c3f193b6f98d653c5caea45cc6ec5de0d197a93b895e12cfc9-0"}, - {"8ab9b419adde6c292a0376f1b010293252bbb70b7d1ac3e08a843cf7c1d1ec39", "665a619f2a858eb3d695411689f1a01fa280aa2592c8037cbed42bbbbdd6ceb7-0"}, - {"f5ff9fbf1daf5db3539c7e307d9d50b12bb58a491b2f684c123256fd8193aa22", "6e6645d9dc7089cee83cad22d2a0cf8824b0b73d6c0c99cc125fb67fde223069-1"}, - {"53572db6934dd429546362bd33dd18aed1a49b96dd9a8bf0ce1936975991b6b2", "53572db6934dd429546362bd33dd18aed1a49b96dd9a8bf0ce1936975991b6b2-1"}, - {"accd3915d6756cd44d0334a6f753082cd62e723408f02c52ecd7b74280cd3fbd", "b46ac8eb50a55885087974cb66a196a8262fccbd568e31d1260ebe8ea7fb9c2b-0"}, - {"75e5c254c195ef04d5bd91294b78211263726c3bc0bf5d4f92690144f65660b6", "532b0c3b2e838b05b66721e45e80492a5324bd81597cabe450b1754fa0c22f05-0"}, - {"25b1e2cc3dec589720bafa5769d16437e2e5073d63df9659d05199fe22366b09", "c45645625c8089c519f0d46f4ca1fa3085e727bf394e11194f1b6c5f8e543dd7-1"}, - {"3f960fd8d414906a260cd07db16f743f65306823355b61b5d3ad4bdcf9184549", "339de48d6d4d3f4bdf6e6b317ae5618889cec2bc088cc7134933fa69bb46899c-1"}, - {"c1df04cbbc1c77ae3157c4d6b50eac093068c1acccccd1f6206fc6bb892e8bc8", "0f63929cb316146726ae4f639ab15baaaac0d0825b355aff7cc21baff1e1bb15-0"}, - {"86b8061fb7fe866b492b84e85aa0548f68ff376c4cbc5893e46ae361a5e57241", "d9fd715b7d896f5426e90bd3383a67fd3e311e00c021750560c6e5c5f9cdac85-1"}, - {"b5d5c145d244a98b81cc9b5fa2f841cb6689e7cab76566fdc66ba16a82db95a5", "026fb4571b09e33c3eaa759bc7417d601507bd476f48a51ab29821edceab55dd-1"}, - {"737cba5a656579e1d2becfee2d92f6c7ae3b84a8ecef02c6f53764a6499a8c79", "916647e4971f874e73fec60a605fa6ee8b61dda7a6a0eede45cbacad80a11f93-0"}, - {"51172935cfc699e312ec12338e14d12fd54a5fb4065922055980d8206ded70ec", "5c0dbe22fc78bb92d751e9f7942d5d99923a84a72644107da7e2aaa2614756ca-0"}, - {"4ac3d41c3b2fb88c4e4c33b465ec1150b43522985fe221f18c4b91b5f7b43cdf", "2b191f8fad85d4e79df91061fdb9f3571eb409cc66009e870590ecd3aaa02375-1"}, - {"ec500e3bdb68f17b2ae0afb5244a56a986d0352862a9a3b311cc12cbbf6dd65b", "ec500e3bdb68f17b2ae0afb5244a56a986d0352862a9a3b311cc12cbbf6dd65b-1"}, - {"d2a4f46d9d19626c3bf25ee2454d8d96660f67d967dfd1909e95188266fac605", "f186dde2918a261ef5804d1e20ee0c14d5e1127bc773b21ab181a08432770ad7-0"}, - {"9adf02049b965817cf6fb5b675c17dbc00df7e2fbf68cf3377adfe30e3ed0bca", "3612ea248e050d11c71316ff69723b57e665d3e3022181813c1181f867a9095e-1"}, - {"870c6a346d863f0963e4a5f251dcd712b0a8bd8ef6aa8f63c7ccfdf981810705", "c96122778b6dd1744518470e11ac34a3174aa832ce7ed76b81323539f1824463-0"}, - {"134dbe22f2a62c351010febc36b0a1257da5303df93cd25fb1b2571eceb0f97f", "134dbe22f2a62c351010febc36b0a1257da5303df93cd25fb1b2571eceb0f97f-1"}, - {"33ef407d7aa49e2e929285bdbd1dc6e4b8e2e423e0e0f2b28328ae8a8ffbeaea", "e3728c2f260ba03205d2689ee15f8c5419067e9f1a38fe3e5b068647e1ceb584-1"}, - {"5a608427d3cb472597fe47ed7f9c4b430961bff0e7fd3bbe3a4553375cf2e4ab", "5a608427d3cb472597fe47ed7f9c4b430961bff0e7fd3bbe3a4553375cf2e4ab-1"}, - {"e0e5e51a1d6c471289fa4dde52bf5de747e1238a478a7fad107427a485921dea", "e9fb4b4cc1106a2836d5c8cb1c2dbc491eadbd3acaedcd73855b7f1128e176c4-1"}, - {"8627ed5599adf01d97427316b0589c2e97ba6418916a9bde5b2585e1c9c4f625", "0dbd71882345c7ec3a26d388f9d419a6d01cf754dc02d38787363bf3be6afeaa-1"}, - {"207d97711f4c60a23f5ba1a79bf4b86adceb51bdfc25ce25172c8a311147bce8", "7440d8ffe83ee7f68591207e6e6ec908fecaec5032d7c5bc8e53bb92a3c12fcb-0"}, - {"06ffade9712fcddab3ad702ba387d1a6dd14f0f6d204060756e27119707d3fbe", "06ffade9712fcddab3ad702ba387d1a6dd14f0f6d204060756e27119707d3fbe-1"}, - {"7551fe264f2ccc4e714195d2ffb79eea7ebd47517a7164c69653569b10f51fc3", "9bbdd406357eb80bae2e18aabb4f3a81e215ab657ae361f52d0b6c2ec6734bc1-1"}, - {"7838259f0ed6819c5325b663499299319c7e882353c922a11c8ad517a0df99a7", "633d95c9e6ed42c8b035aa4fe2582b98afaf960d1532106b17abfca2aa96f6f3-0"}, - {"e44e528f46f8338398e514570b715cb77f2e001bed967bf0012f99a81be34d9b", "f9331bbd87add3419a4be70ff7e929ab711b9ad7b2e2bd9980b915bec547fdcb-0"}, - {"67636d7c7516e0eba85e2950cfa2c4d14e89b0aeb6d1700cb1c9f1bfdb4bb8ec", "213ff6138f1a6cc7d7b95aaf18ab730b463ffbd4ff465a849e5c08f77add0cbf-0"}, - {"36c99a74a4cfec77b2a7438558a8ec53ee09c11833597c1b601c5b00c93e37d6", "69fea515fdafb86ae4ee2686eaf1f6bc42134a00a57e78716d7c81550714b002-1"}, - {"f7f3a36e13bd406d5b9c9a19b6c67c5051f7a29e6596c1413326b98c00cad909", "f7f3a36e13bd406d5b9c9a19b6c67c5051f7a29e6596c1413326b98c00cad909-0"}, - {"13b50c43c05e0841efa73ed52a2e5e7fc4790bffed05733243927bca596dd7d7", "8e67b653c28e40b1e3c8319c656908acc20b6d2ce150b36898ceb0a74824a3b2-0"}, - {"ea1b9e9ae8f947b29d6074a663d35cf5d049a7e598d5e825dfb2a067b43f9854", "ea1b9e9ae8f947b29d6074a663d35cf5d049a7e598d5e825dfb2a067b43f9854-0"}, - {"aef7300506c3dc654a998833fdaf95ba85aca920a5fa4329a68f3b50677f56da", "6dd608fe87b0c43e2e6386c42a0de75080bb147bf7b1ddffcf3bfd4f7cc0463b-0"}, - {"44746383d694e7941380a8b273978f6e76dcb601e54ffee0685a68ef2f4ef5e0", "e06a503dfceca11f8f750014fdfbf4ed5162a26f476f360e9ba26f85dfdbe5d2-1"}, - {"7161d8618826c76aad36d8b59bc4c1fabb1d8299115f8314e74d7854fc3ef666", "4b2347c445f6a7ee2e2744da22f3cab83979c0c56fad3d7ee316ba61fa63e82a-0"}, - {"fd21cf50c8f2f7e475b7092a5f136129b12d30e9ec98b03614ea0788fae2f888", "5c50a203e15f8a81c0790c81be2f8e769d3d233c96379a1d4f8139b0ad27e0a8-0"}, - {"b037d52073d1e445bc2fd41e35be1c52426e00152e49ffa55b6fc20f33b28483", "b037d52073d1e445bc2fd41e35be1c52426e00152e49ffa55b6fc20f33b28483-1"}, - {"01bbb58bd974fb622e39f7cf717d8942e210a84534ef9561087339e791812992", "a38b7c8beb31166db953c1bf835ed45621e14fc36a2a80da8f331cc2492f26a3-0"}, - {"164730f2cb1a5e6660e77d03c2a4fbf4e9dd23a0798fa7697bcd0aae145ec3b0", "b0518baadf37257097babb6259e1452d18153dbb52f51a5ca06d8576e1201d0e-1"}, - {"e461d74c2d6f83e032068bf1f8bc5e019f220187c74ce90625ffff2fb0622a48", "edbd05be3db81d4cb3ed58f20de99f4d5596e5d6366e08ad0769aab25d955e4d-0"}, - {"be563f5793f34f16e6653efd9060c4042b492cbf676cdc66f9d68836f078b71f", "4100017111aad08a2a3cdff0b19f1f06711a86090c1bf35d7b6682bdd171086a-1"}, - {"30db7910ec759ca0b32c3ab934092fe50b1fe9af6fbb76fd5efd7a47eab53b76", "3b7e8d7dd685669e656f1c2a2dc0f703d661f6a0d73988965fe4adf0d41cbda4-0"}, - {"93c08c8456549da6cea1805637009da3c75f872763ecf146b1b5685c9cc848e1", "0ec24ed85cca975899be9abd4aec9f7a71c6a0eb75ffb90d5063669adb14e9b1-0"}, - {"5855f045dc4db4213f0bd153adf6ce3a02e59a06a3887cf01ff552f81e580cc1", "d96692db9c061cf719291e7dffb555a7ab2c64034ff5e545fdd1bbdfa46955e7-0"}, - {"5f8457a7640a8e99840193865a971146d9e25a97d8dfd6f0f1f73b18fd962c44", "96e36edeaa5d87d6affede27e91a59b9917a51905209ef30615f56d3185d7fe7-1"}, - {"aace03a9c75c17bfb8ed760974e5dd8c94f13234cf03a76123b667caf2b71bbb", "ccdc96a99f12407866af8319803b49bcd18cdee1945cb206cf04f1d6bd0483b7-0"}, - {"1b34fcc8306280449bae2eda2361fd372380b9b630b272fc44f55105c58f1611", "46902f2bc4ec1792971c4e24ac51344c4bc04b927588e3ef16ad5168cc8a74eb-0"}, - {"1f1443d9f38273f6437fe37eb34c30033fcd51c7e7f563504c8809906e711de3", "39aa5976d501ee95efa1c6708dfbee96248816625aec23c3aa6b621ab7d93b9e-1"}, - {"84d181ca2e1afd3fb416c71f62c2f5370a1e7f54c3400faadde30563e62f7318", "43cb453db0c4704f22114f61e9db8299b86951dfda28a5f6d892a7057620004d-1"}, - {"246b31866af114ef8f6d7146a68bf15004c1dbcc7229accd1ad81078547b4d96", "2f842315aa4cb36c95cdae9b6785f83737de9c88436b0620011caacc9aca4b90-1"}, - {"af33ec874b37177f0ff404564837ad74930b21eca87727b27c2494cf76f580bb", "d80fa4c6028f08ccd6b5aeea95a184f2e96a66d14074e967be13c9f4cbc28a56-1"}, - {"493422474d55896888a6eb24804cf3af1d7479956d6706a44ed80aa5cde12af7", "1a26c7669b5916b7d0f9c5c76f806f2e35deb13f3c210effade7a1fbb145d654-1"}, - {"7e065c97170d9ca4aff3f9815a989c45a81bd7cb2d691fb32b3282ef6e9ccf8a", "9e1b7fedda2dbe56e3ca656e038faf22154e8c5a063ff3f6b1cd2a6b9dc17b0c-0"}, - {"0cb486a3f478e2baccb3bc755f87b241e9ffe05dd693ba92e4777dd2175b5a16", "0cb486a3f478e2baccb3bc755f87b241e9ffe05dd693ba92e4777dd2175b5a16-0"}, - {"6da069138e905fcf845d2e92979086e2bf89ba25d50e1c59799cbf4d2f2a9d01", "acf1b3dd4b4fdedfe8eae8a741d485dbaa53d0b69ebd9e135cc58100fe20f855-0"}, - {"09214af325b2129b52873d9e42fc94ac127aa14da17b1e579d0bee746739136c", "9fa64e30b5b44fa8b60806185a4f8b3888cd8d3c7e4b87563275c9cd010cb9ae-0"}, - {"87c5a82f46522a809f60943985bdbbe6ab131f49bc4b35602c0b2ed34dab354d", "9daf973b914bcf73289f177a9590c9b8ac5e4c8325caee9795e9d52fe4040eae-1"}, - {"f6f8f1b3377129a483e7c027f8ea7df7d2378de902f0788b132ba87c19c29f2f", "11967944c03d5439f9f7812a948c032a2b0b786490c464e1d4bc8796add50a97-0"}, - {"7d8911995418a8fe9408e77191bfad5bbdd137be7e4da46094c56c413bde5254", "916a4e744d0d8ededf2c797857b56c36f36675c29cfd2dd9a455f9ec37590602-3"}, - {"c89df81dc86d54f5372df1e730209ff1ba8b112f97713b403ba8472bdefe5e8b", "916a4e744d0d8ededf2c797857b56c36f36675c29cfd2dd9a455f9ec37590602-2"}, - {"0f5bfe56fe1c41d51962311de80d9ac1a4ca12b285effa791e47f077ead25bd4", "916a4e744d0d8ededf2c797857b56c36f36675c29cfd2dd9a455f9ec37590602-4"}, - {"73091b5bc227073da93ca7c25ffee4f9c9e8b3f77b935c99e30e71268704f5ff", "56ea2f079fe055065c06252407836eb34d9e92ffc884a15a33a563dc57e3f14c-0"}, - {"a3b3e4b3d98c934f056a2e76ec8ff07ef8473b87f559295ece2254b3820e54f0", "1869e5268ac06b67bb9900e2487e9fa4cfc64d2126db83fec9686afff28aec71-1"}, - {"ed1caa0e3a8c97dffb71fd26d6aa03a4d52347d8da71709220b0b4357e2a7236", "7976159d2488201806eaa3760c217d78f20059b817bd0fdc7efa27b827e32770-0"}, - {"6bb76b085315ed584034979fc0df5d8c09abf056299dfbab264a82f57b7245ae", "6ba74b9a26fc1f19416287cecf3cd1086db3d36215ce8973bcf57dd4abf7fca0-0"}, - {"f60f6c91316fb671bc4887c714f9ff99a836645e69d0a411fd85468602489133", "c7030d07f8a42df31db2cb4a836730be3059b4d961738a2f57cd0f2221ec900f-1"}, - {"d3a0e645c1830de00ca370761d0db7a75a408b9322ca571fe26b7f8cc5a0ecc4", "d3a0e645c1830de00ca370761d0db7a75a408b9322ca571fe26b7f8cc5a0ecc4-0"}, - {"15d1b166ff3603d1a583f028e9a0b5334a48db7f3272ea2e4d101306e353f748", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-91"}, - {"2356f75f3f35322a81e5b8a37bf6ec59388408f8faa6468075ee5f4026ee0f93", "2f98bb33167a7231010fea2197113a9c2a92ce6db6c768fc2ba99351092c8415-1"}, - {"b55a74503e30b3f3066ef0d94ddce16cc7f87831a4b782764b588e5575382a88", "4fda969d3d8427ca8cc5d390faef27ece5870ffae372d8d46b5a491bb2ba180b-1"}, - {"4ba9ca59a188bca15df2ede79db16e72f427d2f8b6f6786d82d4c64319411e23", "c5684c7e977b8270f951b0392fc40195164877467ea05f8dec0af83387e4fea9-1"}, - {"4393fb7ebb6fa9df7073cfa5bdd241f420520e1a50e6f3b6f9c436d578bb26e2", "2c713a8de0a796fb006142e488960fcb12c97fa1d9112d58a81ab224ecf70c91-0"}, - {"23dfd9ad3215287b8e08973b049a55a3024058390e1e9c338c98c967e6de38f9", "68c9d8ade6214bddc53c55b69a6cd64241c8110b4057bdcb9313ed0c62b4f6b6-1"}, - {"6cfc1613f908f30af4a2a2de9d66dd177e2153f7196c53a464c1303127371079", "6cfc1613f908f30af4a2a2de9d66dd177e2153f7196c53a464c1303127371079-1"}, - {"766c3edf3c134fc0b5ede4fb57b15564819caad310b1929cb5b57251114d64e5", "657324a0208358d165729a6cfbc6eddd5db5552dd9c7a199566405a210c27db0-1"}, - {"30fb0b68444a03b7a3a7f079f1445cab153962fdebaf77d9752cd1c08c816c48", "f1ed9019df2b74fe886adc11856471aed32d00058f2f452b71aa85f0065980a2-0"}, - {"1659e06c825212c9b11325760a18f6ea06194ec4efd603f03d8704f23d818a6f", "1659e06c825212c9b11325760a18f6ea06194ec4efd603f03d8704f23d818a6f-1"}, - {"b43dadbd485e4d1e1d202ea5180f0ad4e8e7f05e97a7e566a764ed714356bd1f", "acc1127471fb4417e2ca6420948143c82dfdd3595d5cb4336e19356df4e5715c-1"}, - {"507e64b697d351d57308e00312cb269564502e07fb3a05c501952de3972f059a", "1bec62dcfcecbb082cd6084fc2039ec06121d8cd88009704de8ed381a60efe34-0"}, - {"7e1d6bdfbe135910f32160c96a38469c52e0c8c3af6c489dfbbca6b187e97849", "62f2968ef078fe63af4778cc908bc42d8b75a9b9058435b110cabca1aa83427c-1"}, - {"d23a37ad5fc04ff18955da1ea1cec8975fa03c525104f9553b3cacd36045b6ea", "87b93728c1adcb7069e78db1ebb2ceb684745eaad3b89c81a7a83875a2397d34-0"}, - {"4008a18371798ba28da7c9a581daf0aa92c4ac0b980c3438936823274f64dfef", "4008a18371798ba28da7c9a581daf0aa92c4ac0b980c3438936823274f64dfef-1"}, - {"dfab7fd7e6f141d1ad7ff9fcaf8dafaf85b05dafc9058b376a33c6f4ee1da607", "f90cd19f49ccc13ab7672a2dfbff072ca76ed077ddfd9b02d451277e6d8e0432-2"}, - {"63115def57591ee9abad23b796cff8cf63b7c1e9878ab77ce8e354c388035016", "9f04efcaa1f8e499805b67aeb4c4867e6f615a2e3de54259bec0acd7fd502ec7-0"}, - {"71e6b3fc43cbb7a04eac2799d8f98f76f3b0ac867a8b8c82caf876cd0737ac98", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-81"}, - {"84cb17f8193558315fbb5acb6b285f80c3727489f3f167380189c73751ee99ec", "b3a0ad7b1266de6de5df3860ba73759ff447580ce10bc9e8a0c0b3b1c251c549-0"}, - {"c36584a1242574644c1a1620703c55200cc0158de276dc388ffa9815ec328c31", "09857c11ca3a91eb92a34bff08a53a3905604f95688abc4a79dffb4e116adbc6-1"}, - {"aceff858918e60e1afb3f7418dfac7b05ebe4f5402687a7b31ad0c1f70c615e1", "2da9c1c9a3c8037b1323ddea887a2dbab8a20b225a388588f52ee6fea08dfa42-0"}, - {"4d5087a16a45ee3434db18ba9be18b627794ea9fcc2ade4411ab0745c587c16a", "b9017ccce9df46065b7c5d78b70ed02168dda181a4ae805ddda3777c87946448-1"}, - {"886622da5d1f1b025f69e4cd924fc1928ea35d8312b807d8b50d63107fbd9a16", "ac54a7c0e6cf88dc4615dbaaf0abd33ad4cd8291a4cc84bdff9c4d214a27dcaf-0"}, - {"af879b5cbf2bfc94e1a2af602159930146caf7a91e7d9bb08272b82be03137ac", "af879b5cbf2bfc94e1a2af602159930146caf7a91e7d9bb08272b82be03137ac-1"}, - {"0b4b33aadb8095af383a8c9c5e63750b8ef4abb5d9c091360d788cf18267fe9e", "f90cd19f49ccc13ab7672a2dfbff072ca76ed077ddfd9b02d451277e6d8e0432-1"}, - {"8ba8c6867b46bb40408022696bab30719990806d6e5eeebebe8e5377228b3ac7", "78abfc0292d788f9d8e06815047a39e64270d548480a9602311a07ba0d4f96dc-1"}, - {"d304e1e869e1a9aee1952f06bfd8dd43f8a4d12231c5d43641a31f89a53eca2c", "acc8494cfcfdae892e5f4f2d28792d2a000cdc4576633ea1368970a5b051be54-1"}, - {"bad4dcdc0ec1f274f70f87a3f4509096e7ba517adef56a4121a20f665d5e8e7c", "c4e0c39c68f54951eb56907dece8b62de2b8fe6936224526b742097a4591a376-0"}, - {"23f239d376d072dfcc083c6e012b1aa149a3ab66cb8bd524c2a00fd534a5d261", "565680216f6f6f08b3daa69cb5fbf6437ac991c37ee2139c3cee422ea03d3ca8-1"}, - {"2344c8196ab9a4becdfb3a287a511278581d784b9afda234be289c85463219ad", "ed3087747bb92426b6e6457aff0cf421495c9c5901ed6ee77fc28370384499e7-0"}, - {"14f2f481ca295a5bdb3e3d7f50ff87f205230609c53989da809420b874a17f34", "45d5aa3ca121f24cd9316848db0c8c3fcc8aea5566890f5f8b73e0ee2d2ec6d8-1"}, - {"c81c26dda720ccca323cca9a675257c9ea50c4aaf40cb1a4c2e931435f160fb8", "631738bb87a2ec68045665c3df4f846b604d79670b07be7a9b511b614e46f666-1"}, - {"c187b78870c05b63a33c16a4e0d8750993d49e9caa1aca36f6e67f886a70442e", "99a18cc8ff3ad9d93087946e9e50866a91f3049cf5fb0942c4b32c5f3181407b-1"}, - {"c226d6e2c423eee0bf233ec020c8012b6ccfc1bd5430a02c55613eede35e9107", "82a0893dad6ec065299eaca06c8e9f3c22b5a9ac7dd875693ca4ab2b888ecbbf-0"}, - {"5c71cee28a4cee31ddf40833fa941e626ffa7ff48761215f93629b1368e0bd2d", "99a18cc8ff3ad9d93087946e9e50866a91f3049cf5fb0942c4b32c5f3181407b-0"}, - {"06c442723c8844356a1ebb0d7830aa4bf72e18427d97006c2b221d1e6e3717c5", "99a18cc8ff3ad9d93087946e9e50866a91f3049cf5fb0942c4b32c5f3181407b-3"}, - {"a0e6de179bd1d0e5c0e6ee20ed770815162778e54f6665f8d83ec6d14dd56cfc", "99a18cc8ff3ad9d93087946e9e50866a91f3049cf5fb0942c4b32c5f3181407b-2"}, - {"14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c", "45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5-1"}, - {"2695fed97527f712995a207d278a1cb7fea614effd3f6d3cacf58052af020b8c", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-70"}, - {"ead18f6dabac93c3fa0df238e992fabbecfd75b28dfbbcbcd0ac4bd4dc89a255", "87a2f3689f11ac476459ee7b9bacd653b95874e817d4096273fb6580483b5cae-0"}, - {"c7f8e291c951d793b0270b6465967158a69fb1381ed65aa2471c2c3b0b22dbff", "c7f8e291c951d793b0270b6465967158a69fb1381ed65aa2471c2c3b0b22dbff-0"}, - {"446395517d8dc7a2fe06ffc2dcb5300c248a324b9bd5bd91532acd77eabb5d69", "3943de40c93ff344aff5705b0ceb1ec103cd44050877bcb4b9d238189b131be5-1"}, - {"3dbb7de94e219e8f7eaea4f3c01cf97d77372e10152734c1959f17302369aa49", "8a3bd73f0526e141a9cbf349827cc8bfe331c8c218c28c06d0558242fe383eb2-1"}, - {"3e4a0f6702e1f2465f1f9c5afd79a49563916a9ae1a6d513cce7635bf6ba7a75", "916a4e744d0d8ededf2c797857b56c36f36675c29cfd2dd9a455f9ec37590602-1"}, - {"e0ef260e49c9f2139825cc98504c536397595e05813cc1de5dff2eb793aeb5ef", "54d3903a5e89e1a737e5609a84ac90dfe10bba5bd9585d1f3060467059c5a6aa-1"}, - {"036b61533cac76a8a612dd6f731414838dbf7d65982ca9de1128cc1ccdad1f25", "036b61533cac76a8a612dd6f731414838dbf7d65982ca9de1128cc1ccdad1f25-0"}, - {"429e8599b012fb642220d2308c8747d148f14fd3d92e169e5a5bce329853ef40", "6ae89e110ce6c255e8e06ff53c80aabda071f4ede0ab7a802f0f0ceb9dcbbd03-1"}, - {"cfcddb737317b86698faef84734e9e655fcc2899ee449d13ff70b014419b6c4d", "96fe4aa89f3394fc2ea6e17d0a5a3aad0531f018809913e8c5b9d49131b01667-1"}, - {"672830015f3330a96d5aa74d43b6dd2f6896821d8caed7fdad6427c74b7a7e2c", "8a626b6b7bd28fa9e4474b96bb5cd9f0acbe13e47984607c2e3525705f518e8e-74"}, - }; - - - private static final HashMap mapProTxOutpoint = new HashMap<>(); - private static final HashMap mapOutpointProTxHash = new HashMap<>(); - - public static void initialize(NetworkParameters params) { - String [][] proTxHashOutpoints; - if (params.getId().equals(NetworkParameters.ID_TESTNET)) { - proTxHashOutpoints = proTxHashOutpointsTestNet; - } else if (params.getId().equals(NetworkParameters.ID_UNITTESTNET)) { - proTxHashOutpoints = proTxHashOutpointsUnitTest; - } else { - proTxHashOutpoints = proTxHashOutpointsOuzo; - } - for (String [] entry : proTxHashOutpoints) { - Sha256Hash proTxHash = Sha256Hash.wrap(entry[0]); - Sha256Hash txHash = Sha256Hash.wrap(entry[1].substring(0, 64)); - int index = Integer.parseInt(entry[1].substring(65)); - TransactionOutPoint outPoint = new TransactionOutPoint(Context.get().getParams(), index, txHash); - mapProTxOutpoint.put(proTxHash, outPoint); - mapOutpointProTxHash.put(outPoint, proTxHash); - } - } - - public static Sha256Hash getProTxHash(TransactionOutPoint outPoint) { - return mapOutpointProTxHash.get(outPoint); - } - - public static TransactionOutPoint getMasternodeOutpoint(Sha256Hash proTxHash) { - return mapProTxOutpoint.get(proTxHash); - } -} diff --git a/core/src/main/java/org/bitcoinj/evolution/Masternode.java b/core/src/main/java/org/bitcoinj/evolution/Masternode.java index ce6c14f2f..ee1f14f90 100644 --- a/core/src/main/java/org/bitcoinj/evolution/Masternode.java +++ b/core/src/main/java/org/bitcoinj/evolution/Masternode.java @@ -1,6 +1,5 @@ package org.bitcoinj.evolution; -import org.bitcoinj.coinjoin.utils.ProTxToOutpoint; import org.bitcoinj.core.*; import org.bitcoinj.crypto.BLSPublicKey; import org.slf4j.Logger; @@ -58,12 +57,6 @@ public int hashCode() { } public TransactionOutPoint getCollateralOutpoint() { - if (masternodeOutpoint == null) { - masternodeOutpoint = ProTxToOutpoint.getMasternodeOutpoint(proRegTxHash); - } - if (masternodeOutpoint == null) { - log.info("masternodeOutpoint = null for {}; {}", getService(), getProTxHash()); - } return masternodeOutpoint; } } diff --git a/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinQueueTest.java b/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinQueueTest.java index 23d52dacc..c4e4f62a3 100644 --- a/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinQueueTest.java +++ b/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinQueueTest.java @@ -21,32 +21,68 @@ import org.bitcoinj.core.Sha256Hash; import org.bitcoinj.core.TransactionOutPoint; import org.bitcoinj.core.Utils; +import org.bitcoinj.crypto.BLSPublicKey; +import org.bitcoinj.crypto.BLSScheme; +import org.bitcoinj.crypto.BLSSecretKey; import org.bitcoinj.params.UnitTestParams; +import org.dashj.bls.BLSJniLibrary; +import org.dashj.bls.PrivateKey; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class CoinJoinQueueTest { static NetworkParameters PARAMS = UnitTestParams.get(); // TODO: Core 19 updates will require changing this test + + @Before + public void setup() { + BLSJniLibrary.init(); + BLSScheme.setLegacyDefault(false); + } + @Test public void queueTest() { - byte[] payload = Utils.HEX.decode("10000000ba877ac598e7bf07e10a4d7ca4ccb157d476c53c815665eab47f63b02278d17e06000000f822906300000000006011a3ff601dfb9435756c531617e0ae28d0849cbfe8c9949d69d8d5240429576acba82a90e324d5ca35c9983b7e15dca40347f23022cbfb699d94c0d91582c7b7ca4ccfdf0c5b0917eb9a064b071ef438515d65834f8d7c33526c4c2a43baf686"); + byte[] payload = Utils.HEX.decode("0800000036c6298f595939395ec930f936452726f33a311a79b2abe290ae01aad020011652498465000000000060a4f1ebf98b3b2df98c6375d391c4aba667edbaccb31610a8ded1eaba92c87ce59d2dcbea67fd59d212edd87553fbbeac0041bc514782b3ae5184f6d194c3dbdd8f94b5ce5e0e358aed3557b18188d51cbbcda80fba2ff7dabb808029ba255431"); - CoinJoinQueue queueFromHex = new CoinJoinQueue(PARAMS, payload, PARAMS.getProtocolVersionNum(NetworkParameters.ProtocolVersion.BLS_LEGACY)); - assertEquals(16, queueFromHex.getDenomination()); - assertEquals(new TransactionOutPoint(PARAMS, 6, Sha256Hash.wrap("7ed17822b0637fb4ea6556813cc576d457b1cca47c4d0ae107bfe798c57a87ba")), queueFromHex.getMasternodeOutpoint()); - assertEquals(1670390520, queueFromHex.getTime()); + CoinJoinQueue queueFromHex = new CoinJoinQueue(PARAMS, payload, PARAMS.getProtocolVersionNum(NetworkParameters.ProtocolVersion.BLS_BASIC)); + assertEquals(8, queueFromHex.getDenomination()); + assertEquals(Sha256Hash.wrap("160120d0aa01ae90e2abb2791a313af326274536f930c95e393959598f29c636"), queueFromHex.getProTxHash()); + assertEquals(1703168338, queueFromHex.getTime()); assertFalse(queueFromHex.isReady()); - CoinJoinQueue queueFromCtor = new CoinJoinQueue(PARAMS, 16, - new TransactionOutPoint(PARAMS, 6, Sha256Hash.wrap("7ed17822b0637fb4ea6556813cc576d457b1cca47c4d0ae107bfe798c57a87ba")), - 1670390520, false, - new MasternodeSignature(Utils.HEX.decode("11a3ff601dfb9435756c531617e0ae28d0849cbfe8c9949d69d8d5240429576acba82a90e324d5ca35c9983b7e15dca40347f23022cbfb699d94c0d91582c7b7ca4ccfdf0c5b0917eb9a064b071ef438515d65834f8d7c33526c4c2a43baf686"))); + CoinJoinQueue queueFromCtor = new CoinJoinQueue( + PARAMS, + 8, + Sha256Hash.wrap("160120d0aa01ae90e2abb2791a313af326274536f930c95e393959598f29c636"), + 1703168338, + false, + new MasternodeSignature(Utils.HEX.decode("a4f1ebf98b3b2df98c6375d391c4aba667edbaccb31610a8ded1eaba92c87ce59d2dcbea67fd59d212edd87553fbbeac0041bc514782b3ae5184f6d194c3dbdd8f94b5ce5e0e358aed3557b18188d51cbbcda80fba2ff7dabb808029ba255431")) + ); assertEquals(queueFromHex, queueFromCtor); assertArrayEquals(payload, queueFromCtor.bitcoinSerialize()); + BLSPublicKey masternodeOperatorKey = new BLSPublicKey(Utils.HEX.decode("066d57a6451b7800c1c2a6c6e04fe73ec2e1c95e492bacae760ad2f79ca3c30727ec9bf0daea43c08ff1ad6c2cf07612"), true); + assertTrue(queueFromCtor.checkSignature(masternodeOperatorKey)); + } + + @Test + public void signTest() { + CoinJoinQueue dsq = new CoinJoinQueue( + PARAMS, + 8, + Sha256Hash.wrap("160120d0aa01ae90e2abb2791a313af326274536f930c95e393959598f29c636"), + 1703168338, + false + ); + BLSSecretKey masternodeOperatorKey = new BLSSecretKey(PrivateKey.randomPrivateKey()); + + dsq.sign(masternodeOperatorKey); + + assertTrue(dsq.checkSignature(masternodeOperatorKey.getPublicKey())); } } diff --git a/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinSessionTest.java b/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinSessionTest.java index 7b5053c71..a7605052e 100644 --- a/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinSessionTest.java +++ b/core/src/test/java/org/bitcoinj/coinjoin/CoinJoinSessionTest.java @@ -19,7 +19,6 @@ import org.bitcoinj.coinjoin.listeners.MixingStartedListener; import org.bitcoinj.coinjoin.utils.CoinJoinManager; import org.bitcoinj.coinjoin.utils.CoinJoinResult; -import org.bitcoinj.coinjoin.utils.ProTxToOutpoint; import org.bitcoinj.coinjoin.utils.RelayTransaction; import org.bitcoinj.core.Address; import org.bitcoinj.core.Block; @@ -112,7 +111,6 @@ public void setUp() throws Exception { BriefLogFormatter.initVerbose(); Utils.setMockClock(); // Use mock clock - ProTxToOutpoint.initialize(UNITTEST); wallet.freshReceiveKey(); coinbaseTo = Address.fromKey(UNITTEST, wallet.currentReceiveKey()); diff --git a/tools/src/main/java/org/bitcoinj/tools/WalletTool.java b/tools/src/main/java/org/bitcoinj/tools/WalletTool.java index cded509c3..23bc1f508 100644 --- a/tools/src/main/java/org/bitcoinj/tools/WalletTool.java +++ b/tools/src/main/java/org/bitcoinj/tools/WalletTool.java @@ -25,7 +25,6 @@ import org.bitcoinj.coinjoin.Denomination; import org.bitcoinj.coinjoin.UnmixedZeroConfCoinSelector; import org.bitcoinj.coinjoin.utils.CoinJoinReporter; -import org.bitcoinj.coinjoin.utils.ProTxToOutpoint; import org.bitcoinj.core.MasternodeSync; import org.bitcoinj.crypto.*; import org.bitcoinj.net.discovery.ThreeMethodPeerDiscovery; @@ -1676,7 +1675,6 @@ private static void mix() { System.out.println("Mixing Configuration:"); System.out.println(CoinJoinClientOptions.getString()); - ProTxToOutpoint.initialize(params); wallet.getContext().coinJoinManager.coinJoinClientManagers.put(wallet.getDescription(), new CoinJoinClientManager(wallet)); wallet.getContext().coinJoinManager.addSessionStartedListener(Threading.SAME_THREAD, reporter); wallet.getContext().coinJoinManager.addSessionCompleteListener(Threading.SAME_THREAD, reporter);