@blindmarket/sdk 0.1.7 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chain/BlindEscrowClient.d.ts +2 -0
- package/dist/chain/BlindEscrowClient.js +14 -6
- package/dist/chain/BlindReputationClient.d.ts +3 -0
- package/dist/chain/BlindReputationClient.js +3 -1
- package/dist/chain/ChainClient.d.ts +5 -2
- package/dist/chain/ChainClient.js +5 -0
- package/dist/chain/IBlindMarketChain.d.ts +74 -0
- package/dist/chain/TaskRegistryClient.d.ts +2 -1
- package/dist/chain/TaskRegistryClient.js +15 -7
- package/dist/chain/createChainAdapter.d.ts +25 -0
- package/dist/chain/createChainAdapter.js +24 -0
- package/dist/chain/domain-types.d.ts +77 -0
- package/dist/chain/evm/EVMChainAdapter.d.ts +56 -0
- package/dist/chain/evm/EVMChainAdapter.js +161 -0
- package/dist/chain/evm/index.d.ts +1 -0
- package/dist/chain/evm/index.js +1 -0
- package/dist/chain/index.d.ts +4 -0
- package/dist/chain/index.js +5 -0
- package/dist/executor/WorkerRuntime.d.ts +134 -0
- package/dist/executor/WorkerRuntime.js +277 -0
- package/dist/executor/index.d.ts +1 -0
- package/dist/executor/index.js +1 -0
- package/dist/index.d.ts +82 -9
- package/dist/index.js +60 -6
- package/dist/network/presets.d.ts +33 -5
- package/dist/network/presets.js +35 -8
- package/dist/network/resolve.d.ts +12 -3
- package/dist/network/resolve.js +15 -7
- package/dist/network/types.d.ts +3 -16
- package/dist/types.d.ts +1 -1
- package/package.json +8 -1
- package/biome.json +0 -19
- package/dist/BlindEscrowClient-CyPuKMge.d.cts +0 -54
- package/dist/BlindEscrowClient-R7iGpE-n.d.ts +0 -54
- package/dist/KeyStore-Be_SSpCt.d.cts +0 -21
- package/dist/KeyStore-k1JgYPJY.d.ts +0 -21
- package/dist/Signer-BnqH_qew.d.cts +0 -38
- package/dist/Signer-LColE0Uo.d.ts +0 -38
- package/dist/Storage-4QOrh7rm.d.ts +0 -17
- package/dist/Storage-Cf4IJRMk.d.cts +0 -17
- package/dist/TaskRegistryClient-Ch6lYqM_.d.ts +0 -24
- package/dist/TaskRegistryClient-CrQjddDc.d.cts +0 -24
- package/dist/aes-J-7HrHze.d.cts +0 -17
- package/dist/aes-J-7HrHze.d.ts +0 -17
- package/dist/agent/index.cjs +0 -425
- package/dist/agent/index.cjs.map +0 -1
- package/dist/agent/index.d.cts +0 -63
- package/dist/agent/index.js.map +0 -1
- package/dist/api/index.cjs +0 -4
- package/dist/api/index.cjs.map +0 -1
- package/dist/api/index.d.cts +0 -2
- package/dist/api/index.js.map +0 -1
- package/dist/chain/index.cjs +0 -2484
- package/dist/chain/index.cjs.map +0 -1
- package/dist/chain/index.d.cts +0 -2305
- package/dist/chain/index.js.map +0 -1
- package/dist/compute/index.cjs +0 -4
- package/dist/compute/index.cjs.map +0 -1
- package/dist/compute/index.d.cts +0 -2
- package/dist/compute/index.js.map +0 -1
- package/dist/crypto/index.cjs +0 -424
- package/dist/crypto/index.cjs.map +0 -1
- package/dist/crypto/index.d.cts +0 -74
- package/dist/crypto/index.js.map +0 -1
- package/dist/errors/BlindBountyError.d.ts +0 -14
- package/dist/errors/BlindBountyError.js +0 -30
- package/dist/errors/index.cjs +0 -136
- package/dist/errors/index.cjs.map +0 -1
- package/dist/errors/index.d.cts +0 -60
- package/dist/errors/index.js.map +0 -1
- package/dist/events/index.cjs +0 -41
- package/dist/events/index.cjs.map +0 -1
- package/dist/events/index.d.cts +0 -61
- package/dist/events/index.js.map +0 -1
- package/dist/index.cjs +0 -4
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/keystore/index.cjs +0 -335
- package/dist/keystore/index.cjs.map +0 -1
- package/dist/keystore/index.d.cts +0 -23
- package/dist/keystore/index.js.map +0 -1
- package/dist/mcp.d.ts +0 -23
- package/dist/mcp.js +0 -101
- package/dist/network/index.cjs +0 -74
- package/dist/network/index.cjs.map +0 -1
- package/dist/network/index.d.cts +0 -36
- package/dist/network/index.js.map +0 -1
- package/dist/signer/index.cjs +0 -121
- package/dist/signer/index.cjs.map +0 -1
- package/dist/signer/index.d.cts +0 -40
- package/dist/signer/index.js.map +0 -1
- package/dist/storage/ZgStorage.d.ts +0 -24
- package/dist/storage/ZgStorage.js +0 -102
- package/dist/storage/index.cjs +0 -221
- package/dist/storage/index.cjs.map +0 -1
- package/dist/storage/index.d.cts +0 -44
- package/dist/storage/index.js.map +0 -1
- package/dist/testing/index.cjs +0 -4
- package/dist/testing/index.cjs.map +0 -1
- package/dist/testing/index.d.cts +0 -2
- package/dist/testing/index.js.map +0 -1
- package/dist/types-BOG5Ub1z.d.cts +0 -31
- package/dist/types-BOG5Ub1z.d.ts +0 -31
- package/dist/types-V7_ZmUb-.d.cts +0 -19
- package/dist/types-hAsITUQ7.d.ts +0 -19
- package/dist/verifier/index.cjs +0 -4
- package/dist/verifier/index.cjs.map +0 -1
- package/dist/verifier/index.d.cts +0 -2
- package/dist/verifier/index.js.map +0 -1
- package/dist/worker/index.cjs +0 -382
- package/dist/worker/index.cjs.map +0 -1
- package/dist/worker/index.d.cts +0 -58
- package/dist/worker/index.js.map +0 -1
- package/examples/agent-demo.ts +0 -121
- package/scripts/gen-crypto-fixtures.mjs +0 -72
- package/src/agent/Agent.ts +0 -122
- package/src/agent/index.ts +0 -1
- package/src/chain/BlindEscrowClient.ts +0 -187
- package/src/chain/BlindReputationClient.ts +0 -55
- package/src/chain/ChainClient.ts +0 -59
- package/src/chain/TaskRegistryClient.ts +0 -82
- package/src/chain/abi/BlindEscrow.json +0 -1113
- package/src/chain/abi/BlindReputation.json +0 -447
- package/src/chain/abi/TaskRegistry.json +0 -586
- package/src/chain/abi/index.ts +0 -5
- package/src/chain/errors.ts +0 -43
- package/src/chain/index.ts +0 -6
- package/src/crypto/aes.ts +0 -104
- package/src/crypto/constants.ts +0 -7
- package/src/crypto/ecies.ts +0 -60
- package/src/crypto/envelope.ts +0 -131
- package/src/crypto/hkdf.ts +0 -45
- package/src/crypto/index.ts +0 -6
- package/src/crypto/keys.ts +0 -56
- package/src/errors/BlindMarketError.ts +0 -38
- package/src/errors/codes.ts +0 -67
- package/src/errors/index.ts +0 -3
- package/src/errors/subclasses.ts +0 -59
- package/src/events/EventBus.ts +0 -45
- package/src/events/index.ts +0 -2
- package/src/events/types.ts +0 -13
- package/src/index.ts +0 -617
- package/src/keystore/InMemoryKeyStore.ts +0 -146
- package/src/keystore/KeyStore.ts +0 -19
- package/src/keystore/index.ts +0 -2
- package/src/network/index.ts +0 -3
- package/src/network/presets.ts +0 -27
- package/src/network/resolve.ts +0 -19
- package/src/network/types.ts +0 -18
- package/src/signer/EthersSigner.ts +0 -82
- package/src/signer/PrivateKeySigner.ts +0 -19
- package/src/signer/Signer.ts +0 -40
- package/src/signer/index.ts +0 -3
- package/src/storage/MemoryStorage.ts +0 -49
- package/src/storage/Storage.ts +0 -15
- package/src/storage/ZgStorage.ts +0 -124
- package/src/storage/index.ts +0 -3
- package/src/testing/index.ts +0 -1
- package/src/tools/adapters.ts +0 -177
- package/src/tools/helpers.ts +0 -199
- package/src/tools/index.ts +0 -59
- package/src/tools/types.ts +0 -47
- package/src/types.ts +0 -296
- package/src/verifier/index.ts +0 -1
- package/src/worker/Worker.ts +0 -98
- package/src/worker/index.ts +0 -1
- package/test/agent.test.ts +0 -193
- package/test/chain.test.ts +0 -145
- package/test/crypto.aes.test.ts +0 -81
- package/test/crypto.compat.test.ts +0 -33
- package/test/crypto.ecies.test.ts +0 -64
- package/test/envelope.test.ts +0 -82
- package/test/errors.test.ts +0 -64
- package/test/events.test.ts +0 -59
- package/test/fixtures/crypto.json +0 -16
- package/test/keystore.test.ts +0 -103
- package/test/network.test.ts +0 -53
- package/test/signer.test.ts +0 -66
- package/test/smoke.test.ts +0 -7
- package/test/storage.test.ts +0 -55
- package/test/worker.test.ts +0 -181
- package/tsconfig.build.json +0 -1
- package/tsconfig.json +0 -14
- package/tsup.config.ts +0 -32
- package/vitest.config.ts +0 -17
- /package/{src/api/index.ts → dist/chain/IBlindMarketChain.js} +0 -0
- /package/{src/compute/index.ts → dist/chain/domain-types.js} +0 -0
package/dist/chain/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/chain/abi/BlindEscrow.json","../../src/chain/abi/BlindReputation.json","../../src/chain/abi/TaskRegistry.json","../../src/errors/BlindBountyError.ts","../../src/errors/subclasses.ts","../../src/chain/errors.ts","../../src/chain/BlindEscrowClient.ts","../../src/chain/TaskRegistryClient.ts","../../src/chain/BlindReputationClient.ts","../../src/chain/ChainClient.ts"],"names":["ethers"],"mappings":";;;;;AAAA,IAAA,mBAAA,GAAA;AAAA,EACE;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,oBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,6BAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,6BAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,8BAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,8BAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,0BAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,gBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,YAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,wBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,uBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,eAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,mBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,2BAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,aAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,qBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,uBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,gBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,yBAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,OAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,YAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,YAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,sBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,YAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,SAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,UAAA,EAAc;AAAA,UACZ;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,OAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,OAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,UAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,cAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,6BAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,QAAA;AAAA,YAChB,IAAA,EAAQ,UAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,QAAA;AAAA,YAChB,IAAA,EAAQ,cAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,UAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,OAAA;AAAA,YAChB,IAAA,EAAQ,oBAAA;AAAA,YACR,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA,YAAA,EAAgB,yBAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,YAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,OAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,oBAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,2BAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,eAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,gBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,WAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,aAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,uBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,aAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,aAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,gBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,wBAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,UAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,SAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,UAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA;AAEZ;;;ACxlCA,IAAA,uBAAA,GAAA;AAAA,EACE;AAAA,IACE,QAAU,EAAC;AAAA,IACX,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,oBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,wBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,uBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,OAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,OAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,gBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,kBAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,gBAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,OAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,MAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,YAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,aAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,gBAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,YAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,aAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,SAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA;AAEZ;;;AC9bA,IAAA,oBAAA,GAAA;AAAA,EACE;AAAA,IACE,QAAU,EAAC;AAAA,IACX,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,mBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,mBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,wBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,uBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,qBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,kBAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,YAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,SAAA,EAAa,KAAA;AAAA,IACb,MAAA,EAAU;AAAA,MACR;AAAA,QACE,OAAA,EAAW,KAAA;AAAA,QACX,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,SAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,aAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,OAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,oBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,sBAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,WAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,UAAA,EAAc;AAAA,UACZ;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,OAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,QAAA;AAAA,YAChB,IAAA,EAAQ,UAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,QAAA;AAAA,YAChB,IAAA,EAAQ,cAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,MAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA,YAAA,EAAgB,gCAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,aAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,UAAA,EAAc;AAAA,UACZ;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,OAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,QAAA;AAAA,YAChB,IAAA,EAAQ,UAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,QAAA;AAAA,YAChB,IAAA,EAAQ,cAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,SAAA;AAAA,YAChB,IAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,YAAA,EAAgB,MAAA;AAAA,YAChB,IAAA,EAAQ,QAAA;AAAA,YACR,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA,YAAA,EAAgB,8BAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,eAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,OAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,cAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,aAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,iBAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,YAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,eAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,MAAA,EAAU;AAAA,MACR;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAQ,UAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,UAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,QAAA;AAAA,QAChB,IAAA,EAAQ,cAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAQ;AAAA,OACV;AAAA,MACA;AAAA,QACE,YAAA,EAAgB,MAAA;AAAA,QAChB,IAAA,EAAQ,QAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,YAAA;AAAA,IACR,OAAA,EAAW;AAAA,MACT;AAAA,QACE,YAAA,EAAgB,SAAA;AAAA,QAChB,IAAA,EAAQ,EAAA;AAAA,QACR,IAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAmB,MAAA;AAAA,IACnB,IAAA,EAAQ;AAAA,GACV;AAAA,EACA;AAAA,IACE,QAAU,EAAC;AAAA,IACX,IAAA,EAAQ,SAAA;AAAA,IACR,SAAW,EAAC;AAAA,IACZ,eAAA,EAAmB,YAAA;AAAA,IACnB,IAAA,EAAQ;AAAA;AAEZ;;;ACjkBO,IAAe,gBAAA,GAAf,cAAwC,KAAA,CAAM;AAAA,EAC1C,IAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACS,KAAA;AAAA,EAElB,WAAA,CAAY,IAAA,EAAiB,OAAA,EAAiB,IAAA,GAAqB,EAAC,EAAG;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AACZ,IAAA,IAAA,CAAK,SAAA,GAAY,KAAK,SAAA,IAAa,KAAA;AACnC,IAAA,IAAI,IAAA,CAAK,OAAA,KAAY,MAAA,EAAW,IAAA,CAAK,UAAU,IAAA,CAAK,OAAA;AACpD,IAAA,IAAI,IAAA,CAAK,KAAA,KAAU,MAAA,EAAW,IAAA,CAAK,QAAQ,IAAA,CAAK,KAAA;AAChD,IAAA,MAAA,CAAO,cAAA,CAAe,MAAM,MAAA,EAAQ;AAAA,MAClC,KAAA,EAAO,KAAK,WAAA,CAAY,IAAA;AAAA,MACxB,UAAA,EAAY,KAAA;AAAA,MACZ,YAAA,EAAc,IAAA;AAAA,MACd,QAAA,EAAU;AAAA,KACX,CAAA;AAAA,EACH;AAAA,EAEA,MAAA,GAAkC;AAChC,IAAA,OAAO;AAAA,MACL,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,SAAS,IAAA,CAAK,OAAA;AAAA,MACd,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,GAAI,KAAK,OAAA,GAAU,EAAE,SAAS,IAAA,CAAK,OAAA,KAAY;AAAC,KAClD;AAAA,EACF;AACF,CAAA;;;ACPO,IAAM,UAAA,GAAN,cAAyB,gBAAA,CAAiB;AAAA,EAC/C,WAAA,CAAY,IAAA,EAAiB,GAAA,EAAa,IAAA,EAAqB;AAC7D,IAAA,KAAA,CAAM,IAAA,EAAM,KAAK,IAAI,CAAA;AAAA,EACvB;AACF,CAAA;;;ACjBO,SAAS,cAAA,CAAe,KAAc,IAAA,EAA2B;AACtE,EAAA,MAAM,CAAA,GAAK,OAAO,EAAC;AACnB,EAAA,MAAM,MAAM,CAAA,CAAE,YAAA,IAAgB,CAAA,CAAE,MAAA,IAAU,EAAE,OAAA,IAAW,qBAAA;AACvD,EAAA,MAAM,WAAW,IAAA,GAAO,CAAA,EAAG,IAAI,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA,GAAK,GAAA;AAE5C,EAAA,QAAQ,EAAE,IAAA;AAAM,IACd,KAAK,oBAAA;AACH,MAAA,OAAO,IAAI,WAAW,4BAAA,EAA8B,QAAA,EAAU,EAAE,KAAA,EAAO,GAAA,EAAK,SAAA,EAAW,KAAA,EAAO,CAAA;AAAA,IAChG,KAAK,eAAA;AAAA,IACL,KAAK,yBAAA;AACH,MAAA,OAAO,IAAI,WAAW,sBAAA,EAAwB,QAAA,EAAU,EAAE,KAAA,EAAO,GAAA,EAAK,SAAA,EAAW,IAAA,EAAM,CAAA;AAAA,IACzF,KAAK,eAAA;AAAA,IACL,KAAK,cAAA;AAAA,IACL,KAAK,SAAA;AACH,MAAA,OAAO,IAAI,WAAW,oBAAA,EAAsB,QAAA,EAAU,EAAE,KAAA,EAAO,GAAA,EAAK,SAAA,EAAW,IAAA,EAAM,CAAA;AAAA,IACvF,KAAK,uBAAA;AAAA,IACL,KAAK,eAAA;AAAA,IACL,KAAK,gBAAA;AACH,MAAA,OAAO,IAAI,UAAA,CAAW,mBAAA,EAAqB,QAAA,EAAU;AAAA,QACnD,KAAA,EAAO,GAAA;AAAA,QACP,GAAI,CAAA,CAAE,IAAA,KAAS,MAAA,GAAY,EAAE,OAAA,EAAS,EAAE,IAAA,EAAM,CAAA,CAAE,IAAA,EAAK,EAAE,GAAI;AAAC,OAC7D,CAAA;AAAA,IACH;AACE,MAAA,OAAO,IAAI,UAAA,CAAW,mBAAA,EAAqB,UAAU,EAAE,KAAA,EAAO,KAAK,CAAA;AAAA;AAEzE;ACrCA,IAAM,kBAAgC,CAAC,QAAA,EAAU,YAAY,WAAA,EAAa,UAAA,EAAY,aAAa,WAAW,CAAA;AA8BvG,IAAM,oBAAN,MAAwB;AAAA,EACpB,QAAA;AAAA,EACA,OAAA;AAAA,EAET,WAAA,CAAY,SAAkB,MAAA,EAA+B;AAC3D,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,IAAA,IAAA,CAAK,WAAW,IAAIA,aAAA,CAAO,QAAA,CAAS,OAAA,EAAS,qBAAgB,MAAM,CAAA;AAAA,EACrE;AAAA;AAAA,EAGA,MAAM,WAAW,IAAA,EAA2E;AAC1F,IAAA,IAAI;AACF,MAAA,MAAM,EAAA,GAAK,MAAM,IAAA,CAAK,QAAA,CAAS,UAAA;AAAA,QAC7B,IAAA,CAAK,QAAA;AAAA,QACL,IAAA,CAAK,KAAA;AAAA,QACL,IAAA,CAAK,MAAA;AAAA,QACL,IAAA,CAAK,QAAA;AAAA,QACL,IAAA,CAAK,YAAA;AAAA,QACL,IAAA,CAAK;AAAA,OACP;AACA,MAAA,MAAM,GAAA,GAAM,MAAM,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA;AAC3B,MAAA,MAAM,MAAA,GAAS,IAAA,CAAK,wBAAA,CAAyB,GAAG,CAAA;AAChD,MAAA,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,SAAA,CAAU,GAAG,CAAA,EAAE;AAAA,IAC3C,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,YAAY,CAAA;AAAA,IACxC;AAAA,EACF;AAAA,EAEA,MAAM,YAAA,CAAa,MAAA,EAAgB,MAAA,EAAyC;AAC1E,IAAA,OAAO,KAAK,MAAA,CAAO,cAAA,EAAgB,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EACrD;AAAA,EAEA,MAAM,cAAA,CAAe,MAAA,EAAgB,YAAA,EAA2C;AAC9E,IAAA,OAAO,KAAK,MAAA,CAAO,gBAAA,EAAkB,CAAC,MAAA,EAAQ,YAAY,CAAC,CAAA;AAAA,EAC7D;AAAA,EAEA,MAAM,oBAAA,CAAqB,MAAA,EAAgB,MAAA,EAAyC;AAClF,IAAA,OAAO,KAAK,MAAA,CAAO,sBAAA,EAAwB,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EAC7D;AAAA,EAEA,MAAM,WAAW,MAAA,EAAwC;AACvD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,YAAA,EAAc,CAAC,MAAM,CAAC,CAAA;AAAA,EAC3C;AAAA,EAEA,MAAM,aAAa,MAAA,EAAwC;AACzD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,cAAA,EAAgB,CAAC,MAAM,CAAC,CAAA;AAAA,EAC7C;AAAA,EAEA,MAAM,cAAA,CAAe,MAAA,EAAgB,aAAA,EAAgD;AACnF,IAAA,OAAO,KAAK,MAAA,CAAO,gBAAA,EAAkB,CAAC,MAAA,EAAQ,aAAa,CAAC,CAAA;AAAA,EAC9D;AAAA,EAEA,MAAM,aAAa,MAAA,EAAwC;AACzD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,cAAA,EAAgB,CAAC,MAAM,CAAC,CAAA;AAAA,EAC7C;AAAA,EAEA,MAAM,QAAQ,MAAA,EAAsC;AAClD,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,QAAA,CAAS,QAAS,MAAM,CAAA;AAC/C,MAAA,OAAO,UAAA,CAAW,QAAQ,GAAG,CAAA;AAAA,IAC/B,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,SAAS,CAAA;AAAA,IACrC;AAAA,EACF;AAAA,EAEA,MAAM,cAAc,MAAA,EAAkC;AACpD,IAAA,IAAI;AACF,MAAA,OAAO,QAAQ,MAAM,IAAA,CAAK,QAAA,CAAS,aAAA,CAAe,MAAM,CAAC,CAAA;AAAA,IAC3D,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,eAAe,CAAA;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,MAAM,UAAA,GAA8B;AAClC,IAAA,IAAI;AACF,MAAA,OAAO,MAAA,CAAO,MAAM,IAAA,CAAK,QAAA,CAAS,YAAa,CAAA;AAAA,IACjD,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,YAAY,CAAA;AAAA,IACxC;AAAA,EACF;AAAA,EAEA,MAAM,MAAA,GAA0B;AAC9B,IAAA,IAAI;AACF,MAAA,OAAO,MAAA,CAAO,MAAM,IAAA,CAAK,QAAA,CAAS,QAAS,CAAA;AAAA,IAC7C,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,QAAQ,CAAA;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,MAAc,MAAA,CAAO,MAAA,EAAgB,IAAA,EAAyC;AAC5E,IAAA,IAAI;AACF,MAAA,MAAM,EAAA,GAAK,IAAA,CAAK,QAAA,CAAS,MAAM,CAAA;AAC/B,MAAA,IAAI,OAAO,OAAO,UAAA,EAAY;AAC5B,QAAA,MAAM,IAAI,KAAA,CAAM,CAAA,yBAAA,EAA4B,MAAM,CAAA,CAAE,CAAA;AAAA,MACtD;AACA,MAAA,MAAM,EAAA,GAAK,MAAM,EAAA,CAAG,GAAG,IAAI,CAAA;AAC3B,MAAA,MAAM,GAAA,GAAM,MAAM,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA;AAC3B,MAAA,OAAO,UAAU,GAAG,CAAA;AAAA,IACtB,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,MAAM,CAAA;AAAA,IAClC;AAAA,EACF;AAAA,EAEQ,yBAAyB,OAAA,EAA2D;AAC1F,IAAA,IAAI,CAAC,OAAA,EAAS,MAAM,IAAI,MAAM,YAAY,CAAA;AAC1C,IAAA,MAAM,KAAA,GAAQ,KAAK,QAAA,CAAS,SAAA;AAC5B,IAAA,KAAA,MAAW,GAAA,IAAO,QAAQ,IAAA,EAAM;AAC9B,MAAA,IAAI;AACF,QAAA,MAAM,MAAA,GAAS,KAAA,CAAM,QAAA,CAAS,EAAE,MAAA,EAAQ,IAAI,MAAA,EAAoB,IAAA,EAAM,GAAA,CAAI,IAAA,EAAM,CAAA;AAChF,QAAA,IAAI,MAAA,EAAQ,SAAS,aAAA,EAAe;AAClC,UAAA,OAAO,MAAA,CAAO,MAAA,CAAO,IAAA,CAAK,QAAA,CAAS,QAAQ,CAAC,CAAA;AAAA,QAC9C;AAAA,MACF,CAAA,CAAA,MAAQ;AAAA,MAER;AAAA,IACF;AACA,IAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,EAC/D;AACF;AAEA,SAAS,UAAU,GAAA,EAA8D;AAC/E,EAAA,IAAI,CAAC,GAAA,EAAK,MAAM,IAAI,MAAM,YAAY,CAAA;AACtC,EAAA,OAAO;AAAA,IACL,MAAM,GAAA,CAAI,IAAA;AAAA,IACV,aAAa,GAAA,CAAI,WAAA;AAAA,IACjB,SAAS,GAAA,CAAI;AAAA,GACf;AACF;AAEA,SAAS,UAAA,CAAW,QAAgB,GAAA,EAAiC;AAGnE,EAAA,MAAM,GAAA,GAAM,GAAA;AACZ,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,GAAA,CAAI,CAAC,CAAC,CAAA;AACjC,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA,KAAA,EAAO,IAAI,CAAC,CAAA;AAAA,IACZ,MAAA,EAAQ,IAAI,CAAC,CAAA;AAAA,IACb,KAAA,EAAO,IAAI,CAAC,CAAA;AAAA,IACZ,MAAA,EAAQ,MAAA,CAAO,GAAA,CAAI,CAAC,CAAoB,CAAA;AAAA,IACxC,QAAA,EAAU,IAAI,CAAC,CAAA;AAAA,IACf,YAAA,EAAc,IAAI,CAAC,CAAA;AAAA,IACnB,MAAA,EAAQ,eAAA,CAAgB,WAAW,CAAA,IAAK,QAAA;AAAA,IACxC,SAAA,EAAW,IAAI,IAAA,CAAK,MAAA,CAAO,IAAI,CAAC,CAAoB,IAAI,GAAI,CAAA;AAAA,IAC5D,QAAA,EAAU,IAAI,IAAA,CAAK,MAAA,CAAO,IAAI,CAAC,CAAoB,IAAI,GAAI;AAAA,GAC7D;AACF;ACvKO,IAAM,qBAAN,MAAyB;AAAA,EACrB,QAAA;AAAA,EACA,OAAA;AAAA,EAET,WAAA,CAAY,SAAkB,MAAA,EAA+B;AAC3D,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,IAAA,IAAA,CAAK,WAAW,IAAIA,aAAAA,CAAO,QAAA,CAAS,OAAA,EAAS,sBAAiB,MAAM,CAAA;AAAA,EACtE;AAAA,EAEA,MAAM,YAAY,MAAA,EAAuC;AACvD,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAO,MAAM,IAAA,CAAK,QAAA,CAAS,YAAa,MAAM,CAAA;AACpD,MAAA,OAAO;AAAA,QACL,MAAA;AAAA,QACA,KAAA,EAAO,IAAI,CAAC,CAAA;AAAA,QACZ,QAAA,EAAU,IAAI,CAAC,CAAA;AAAA,QACf,YAAA,EAAc,IAAI,CAAC,CAAA;AAAA,QACnB,MAAA,EAAQ,MAAA,CAAO,GAAA,CAAI,CAAC,CAAoB,CAAA;AAAA,QACxC,SAAA,EAAW,IAAI,IAAA,CAAK,MAAA,CAAO,IAAI,CAAC,CAAoB,IAAI,GAAI;AAAA,OAC9D;AAAA,IACF,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,aAAa,CAAA;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,MAAM,YAAA,CAAa,MAAA,EAAgB,KAAA,EAAkC;AACnE,IAAA,IAAI;AACF,MAAA,MAAM,MAAO,MAAM,IAAA,CAAK,QAAA,CAAS,YAAA,CAAc,QAAQ,KAAK,CAAA;AAC5D,MAAA,OAAO,IAAI,GAAA,CAAI,CAAC,CAAA,KAAM,MAAA,CAAO,CAAoB,CAAC,CAAA;AAAA,IACpD,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,cAAc,CAAA;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,MAAM,UAAA,GAA8B;AAClC,IAAA,IAAI;AACF,MAAA,OAAO,MAAA,CAAO,MAAM,IAAA,CAAK,QAAA,CAAS,YAAa,CAAA;AAAA,IACjD,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,YAAY,CAAA;AAAA,IACxC;AAAA,EACF;AAAA,EAEA,MAAM,aAAA,GAAiC;AACrC,IAAA,IAAI;AACF,MAAA,OAAO,MAAA,CAAO,MAAM,IAAA,CAAK,QAAA,CAAS,eAAgB,CAAA;AAAA,IACpD,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,eAAe,CAAA;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,MAAA,EAAkC;AACjD,IAAA,IAAI;AACF,MAAA,OAAO,QAAQ,MAAM,IAAA,CAAK,QAAA,CAAS,UAAA,CAAY,MAAM,CAAC,CAAA;AAAA,IACxD,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,YAAY,CAAA;AAAA,IACxC;AAAA,EACF;AAAA,EAEA,MAAM,UAAU,MAAA,EAAwC;AACtD,IAAA,IAAI;AACF,MAAA,MAAM,EAAA,GAAK,MAAM,IAAA,CAAK,QAAA,CAAS,UAAW,MAAM,CAAA;AAChD,MAAA,MAAM,GAAA,GAAM,MAAM,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA;AAC3B,MAAA,OAAO,EAAE,MAAM,GAAA,CAAI,IAAA,EAAa,aAAa,GAAA,CAAI,WAAA,EAAa,OAAA,EAAS,GAAA,CAAI,OAAA,EAAQ;AAAA,IACrF,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,WAAW,CAAA;AAAA,IACvC;AAAA,EACF;AACF;ACrEO,IAAM,wBAAN,MAA4B;AAAA,EACxB,QAAA;AAAA,EACA,OAAA;AAAA,EAET,WAAA,CAAY,SAAkB,MAAA,EAA+B;AAC3D,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,IAAA,IAAA,CAAK,WAAW,IAAIA,aAAAA,CAAO,QAAA,CAAS,OAAA,EAAS,yBAAoB,MAAM,CAAA;AAAA,EACzE;AAAA,EAEA,MAAM,cAAc,MAAA,EAA8C;AAChE,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAO,MAAM,IAAA,CAAK,QAAA,CAAS,cAAe,MAAM,CAAA;AACtD,MAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,GAAA,CAAI,CAAC,CAAoB,CAAA;AACvD,MAAA,MAAM,UAAA,GAAa,MAAA,CAAO,GAAA,CAAI,CAAC,CAAoB,CAAA;AACnD,MAAA,MAAM,QAAA,GAAW,MAAA,CAAO,GAAA,CAAI,CAAC,CAAoB,CAAA;AACjD,MAAA,MAAM,QAAA,GAAW,mBAAmB,EAAA,GAAK,CAAA,GAAI,OAAO,UAAU,CAAA,GAAI,OAAO,cAAc,CAAA;AACvF,MAAA,OAAO,EAAE,cAAA,EAAgB,UAAA,EAAY,QAAA,EAAU,QAAA,EAAS;AAAA,IAC1D,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,eAAe,CAAA;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,MAAM,IAAA,CAAK,MAAA,EAAiB,KAAA,EAAe,MAAA,EAAwC;AACjF,IAAA,IAAI,CAAC,OAAO,SAAA,CAAU,KAAK,KAAK,KAAA,GAAQ,CAAA,IAAK,QAAQ,CAAA,EAAG;AACtD,MAAA,MAAM,eAAe,IAAI,KAAA,CAAM,mCAAmC,KAAK,CAAA,CAAE,GAAG,MAAM,CAAA;AAAA,IACpF;AACA,IAAA,IAAI;AACF,MAAA,MAAM,KAAK,MAAM,IAAA,CAAK,SAAS,IAAA,CAAM,MAAA,EAAQ,OAAO,MAAM,CAAA;AAC1D,MAAA,MAAM,GAAA,GAAM,MAAM,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA;AAC3B,MAAA,OAAO,EAAE,MAAM,GAAA,CAAI,IAAA,EAAa,aAAa,GAAA,CAAI,WAAA,EAAa,OAAA,EAAS,GAAA,CAAI,OAAA,EAAQ;AAAA,IACrF,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,MAAM,CAAA;AAAA,IAClC;AAAA,EACF;AAAA,EAEA,MAAM,YAAA,CAAa,MAAA,EAAiB,MAAA,EAAkC;AACpE,IAAA,IAAI;AACF,MAAA,OAAO,QAAQ,MAAM,IAAA,CAAK,SAAS,YAAA,CAAc,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IAClE,SAAS,GAAA,EAAK;AACZ,MAAA,MAAM,cAAA,CAAe,KAAK,cAAc,CAAA;AAAA,IAC1C;AAAA,EACF;AACF;AClCO,IAAM,cAAN,MAAkB;AAAA,EACd,MAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EAET,YAAY,IAAA,EAA0B;AACpC,IAAA,IAAA,CAAK,UAAU,IAAA,CAAK,OAAA;AACpB,IAAA,MAAM,QAAA,GACJ,IAAA,CAAK,QAAA,KACJ,IAAA,CAAK,MAAA,IAAU,kBAAA,CAAmB,IAAA,CAAK,MAAM,CAAA,EAAG,QAAA,CAAA,IACjD,eAAA,CAAgB,IAAA,CAAK,OAAO,CAAA;AAC9B,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAEhB,IAAA,MAAM,MAAA,GAAgC,kBAAA,CAAmB,IAAA,CAAK,MAAM,CAAA,IAAK,QAAA;AACzE,IAAA,IAAA,CAAK,SAAS,IAAI,iBAAA,CAAkB,KAAK,OAAA,CAAQ,SAAA,CAAU,QAAQ,MAAM,CAAA;AACzE,IAAA,IAAA,CAAK,WAAW,IAAI,kBAAA,CAAmB,KAAK,OAAA,CAAQ,SAAA,CAAU,UAAU,MAAM,CAAA;AAC9E,IAAA,IAAA,CAAK,aAAa,IAAI,qBAAA,CAAsB,KAAK,OAAA,CAAQ,SAAA,CAAU,YAAY,MAAM,CAAA;AAAA,EACvF;AACF;AAQA,SAAS,mBAAmB,MAAA,EAA0D;AACpF,EAAA,IAAI,CAAC,QAAQ,OAAO,MAAA;AACpB,EAAA,MAAM,KAAA,GAAQ,MAAA;AACd,EAAA,OAAO,KAAA,CAAM,KAAA;AACf;AAEA,SAAS,gBAAgB,OAAA,EAAmC;AAC1D,EAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA;AACzB,EAAA,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,CAAA,QAAA,EAAW,OAAA,CAAQ,IAAI,CAAA,+BAAA,CAAiC,CAAA;AAClF,EAAA,OAAO,IAAIA,aAAAA,CAAO,eAAA,CAAgB,GAAA,EAAK,EAAE,OAAA,EAAS,MAAA,CAAO,OAAA,CAAQ,OAAO,CAAA,EAAG,IAAA,EAAM,OAAA,CAAQ,MAAM,CAAA;AACjG","file":"index.cjs","sourcesContent":["[\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_treasury\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"_verifier\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [],\n \"name\": \"DeadlineNotReached\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"DeadlineReached\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"EmptyHash\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"EnforcedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ExpectedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"FeeExceedsMax\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"InvalidDeadline\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"enum BlindEscrow.TaskStatus\",\n \"name\": \"current\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"enum BlindEscrow.TaskStatus\",\n \"name\": \"required\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"InvalidStatus\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"MaxSubmissionAttemptsReached\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotAdmin\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotAgent\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotPendingAdmin\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotVerifier\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotWorker\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"SafeERC20FailedOperation\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"SelfAssignment\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"TokenNotAllowed\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ZeroAddress\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ZeroAmount\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"oldAdmin\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AdminTransferCompleted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"currentAdmin\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"pendingAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AdminTransferProposed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"refundAmount\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"DeadlineExpired\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"workerFavored\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"DisputeResolved\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"evidenceHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint8\",\n \"name\": \"attempt\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"EvidenceSubmitted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"oldFeeBps\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"newFeeBps\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"FeeBpsUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Paused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"oldContract\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ReputationContractUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"refundAmount\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"TaskCancelled\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"workerPayout\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"platformFee\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"TaskCompleted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"agent\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"taskHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"deadline\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"TaskCreated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"initiator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"TaskDisputed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"oldRegistry\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newRegistry\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"TaskRegistryUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"TokenAllowed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"TokenDisallowed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"oldTreasury\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newTreasury\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"TreasuryUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Unpaused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"passed\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"VerificationCompleted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"oldVerifier\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newVerifier\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"VerifierUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"WorkerAssigned\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [],\n \"name\": \"MAX_DEADLINE\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"MAX_FEE_BPS\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"MAX_SUBMISSION_ATTEMPTS\",\n \"outputs\": [\n {\n \"internalType\": \"uint8\",\n \"name\": \"\",\n \"type\": \"uint8\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"MIN_DEADLINE\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"acceptAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"admin\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"allowToken\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"allowedTokens\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"assignWorker\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"cancelTask\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"claimTimeout\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"passed\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"completeVerification\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"taskHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"duration\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"createTask\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disallowToken\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"feeBps\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTask\",\n \"outputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"address\",\n \"name\": \"agent\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"taskHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"evidenceHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"enum BlindEscrow.TaskStatus\",\n \"name\": \"status\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"createdAt\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"deadline\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint8\",\n \"name\": \"submissionAttempts\",\n \"type\": \"uint8\"\n }\n ],\n \"internalType\": \"struct BlindEscrow.Task\",\n \"name\": \"\",\n \"type\": \"tuple\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"isTaskExpired\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"nextTaskId\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"paused\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pendingAdmin\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_newAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"proposeAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"raiseDispute\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"reputationContract\",\n \"outputs\": [\n {\n \"internalType\": \"contract IBlindReputation\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"workerFavored\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"resolveDispute\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"_feeBps\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"setFeeBps\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_reputation\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setReputationContract\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_registry\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setTaskRegistry\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_treasury\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setTreasury\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_verifier\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setVerifier\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"evidenceHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"submitEvidence\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"taskRegistry\",\n \"outputs\": [\n {\n \"internalType\": \"contract ITaskRegistry\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"treasury\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"unpause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"verifier\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n }\n]","[\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [],\n \"name\": \"AlreadyRated\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"EnforcedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ExpectedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"InvalidScore\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotAdmin\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotAuthorizedRater\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotPendingAdmin\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ZeroAddress\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"oldAdmin\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AdminTransferCompleted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"currentAdmin\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"pendingAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AdminTransferProposed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"DisputeRecorded\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Paused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"rater\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint8\",\n \"name\": \"score\",\n \"type\": \"uint8\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Rated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"rater\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RaterAuthorized\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"rater\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RaterRevoked\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Unpaused\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [],\n \"name\": \"acceptAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"admin\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"rater\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"authorizeRater\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"authorizedRaters\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getReputation\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tasksCompleted\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"avgScore\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"disputes\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"hasBeenRated\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"paused\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pendingAdmin\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_newAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"proposeAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint8\",\n \"name\": \"score\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"rate\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"ratedTasks\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"worker\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"recordDispute\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"reputations\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tasksCompleted\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"totalScore\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"disputes\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"rater\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"revokeRater\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"unpause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n]","[\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [],\n \"name\": \"EnforcedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ExpectedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotAdmin\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotAuthorized\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NotPendingAdmin\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"TaskAlreadyClosed\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"TaskAlreadyExists\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"TaskNotFound\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ZeroAddress\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"oldAdmin\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AdminTransferCompleted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"currentAdmin\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"pendingAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AdminTransferProposed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Paused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"publisher\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"PublisherAuthorized\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"publisher\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"PublisherRevoked\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"TaskClosed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"agent\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"reward\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"TaskPublished\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Unpaused\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [],\n \"name\": \"acceptAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"admin\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"publisher\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"authorizePublisher\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"authorizedPublishers\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"closeTask\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"offset\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"limit\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getOpenTasks\",\n \"outputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"agent\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"reward\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"createdAt\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"isOpen\",\n \"type\": \"bool\"\n }\n ],\n \"internalType\": \"struct TaskRegistry.TaskMeta[]\",\n \"name\": \"\",\n \"type\": \"tuple[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTaskMeta\",\n \"outputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"agent\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"reward\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"createdAt\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"isOpen\",\n \"type\": \"bool\"\n }\n ],\n \"internalType\": \"struct TaskRegistry.TaskMeta\",\n \"name\": \"\",\n \"type\": \"tuple\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"openTaskCount\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"paused\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pendingAdmin\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_newAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"proposeAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"agent\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"reward\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"publishTask\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"publisher\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"revokePublisher\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"taskExists\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"taskIdToIndex\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"taskList\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"taskId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"agent\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"category\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"locationZone\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"reward\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"createdAt\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"isOpen\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"totalTasks\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"unpause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n]","import type { ErrorCode } from './codes.js';\n\nexport interface ErrorOptions {\n retriable?: boolean;\n context?: Record<string, unknown>;\n cause?: unknown;\n}\n\nexport abstract class BlindBountyError extends Error {\n readonly code: ErrorCode;\n readonly retriable: boolean;\n readonly context?: Record<string, unknown>;\n override readonly cause?: unknown;\n\n constructor(code: ErrorCode, message: string, opts: ErrorOptions = {}) {\n super(message);\n this.code = code;\n this.retriable = opts.retriable ?? false;\n if (opts.context !== undefined) this.context = opts.context;\n if (opts.cause !== undefined) this.cause = opts.cause;\n Object.defineProperty(this, 'name', {\n value: this.constructor.name,\n enumerable: false,\n configurable: true,\n writable: true,\n });\n }\n\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n retriable: this.retriable,\n ...(this.context ? { context: this.context } : {}),\n };\n }\n}\n","import { BlindBountyError, type ErrorOptions } from './BlindBountyError.js';\nimport type {\n ApiCode,\n ChainCode,\n ComputeCode,\n ConfigCode,\n CryptoCode,\n LifecycleCode,\n StorageCode,\n TimeoutCode,\n} from './codes.js';\n\nexport class ConfigError extends BlindBountyError {\n constructor(code: ConfigCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n\nexport class CryptoError extends BlindBountyError {\n constructor(code: CryptoCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n\nexport class StorageError extends BlindBountyError {\n constructor(code: StorageCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n\nexport class ChainError extends BlindBountyError {\n constructor(code: ChainCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n\nexport class ComputeError extends BlindBountyError {\n constructor(code: ComputeCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n\nexport class ApiError extends BlindBountyError {\n constructor(code: ApiCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n\nexport class LifecycleError extends BlindBountyError {\n constructor(code: LifecycleCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n\nexport class TimeoutError extends BlindBountyError {\n constructor(code: TimeoutCode, msg: string, opts?: ErrorOptions) {\n super(code, msg, opts);\n }\n}\n","import { ChainError } from '../errors/index.js';\n\ninterface EthersLikeError {\n code?: string;\n shortMessage?: string;\n message?: string;\n reason?: string;\n data?: unknown;\n info?: unknown;\n}\n\n/**\n * Map an ethers-thrown error to a typed ChainError. Best-effort: walks the\n * ethers error shape for a revert reason, maps common codes (INSUFFICIENT_FUNDS,\n * NETWORK_ERROR, TIMEOUT), and falls back to TX_REVERTED with the original\n * message in context.\n */\nexport function wrapChainError(err: unknown, hint?: string): ChainError {\n const e = (err ?? {}) as EthersLikeError;\n const msg = e.shortMessage ?? e.reason ?? e.message ?? 'unknown chain error';\n const withHint = hint ? `${hint}: ${msg}` : msg;\n\n switch (e.code) {\n case 'INSUFFICIENT_FUNDS':\n return new ChainError('CHAIN/INSUFFICIENT_BALANCE', withHint, { cause: err, retriable: false });\n case 'NONCE_EXPIRED':\n case 'REPLACEMENT_UNDERPRICED':\n return new ChainError('CHAIN/NONCE_CONFLICT', withHint, { cause: err, retriable: true });\n case 'NETWORK_ERROR':\n case 'SERVER_ERROR':\n case 'TIMEOUT':\n return new ChainError('CHAIN/TX_TIMED_OUT', withHint, { cause: err, retriable: true });\n case 'UNSUPPORTED_OPERATION':\n case 'UNKNOWN_ERROR':\n case 'CALL_EXCEPTION':\n return new ChainError('CHAIN/TX_REVERTED', withHint, {\n cause: err,\n ...(e.data !== undefined ? { context: { data: e.data } } : {}),\n });\n default:\n return new ChainError('CHAIN/TX_REVERTED', withHint, { cause: err });\n }\n}\n","import { ethers } from 'ethers';\nimport type { Address, Hex, TaskId, TaskStatus, TxReceiptLike } from '../types.js';\nimport { BlindEscrowAbi } from './abi/index.js';\nimport { wrapChainError } from './errors.js';\n\nconst STATUS_BY_INDEX: TaskStatus[] = ['funded', 'assigned', 'submitted', 'verified', 'completed', 'cancelled'];\n\nexport interface CreateTaskArgs {\n taskHash: Hex;\n token: Address;\n amount: bigint;\n category: string;\n locationZone: string;\n deadline: bigint;\n}\n\nexport interface OnChainTask {\n taskId: TaskId;\n agent: Address;\n worker: Address;\n token: Address;\n amount: bigint;\n taskHash: Hex;\n evidenceHash: Hex;\n status: TaskStatus;\n createdAt: Date;\n deadline: Date;\n}\n\n/**\n * Typed ethers v6 wrapper for the BlindEscrow contract. Every state-changing\n * method awaits one confirmation and returns a TxReceiptLike; every read\n * returns decoded values. Ethers errors are mapped to ChainError via\n * wrapChainError().\n */\nexport class BlindEscrowClient {\n readonly contract: ethers.Contract;\n readonly address: Address;\n\n constructor(address: Address, runner: ethers.ContractRunner) {\n this.address = address;\n this.contract = new ethers.Contract(address, BlindEscrowAbi, runner);\n }\n\n /** Create a task and return its id + receipt. Reads the TaskCreated event for the id. */\n async createTask(args: CreateTaskArgs): Promise<{ taskId: TaskId; receipt: TxReceiptLike }> {\n try {\n const tx = await this.contract.createTask!(\n args.taskHash,\n args.token,\n args.amount,\n args.category,\n args.locationZone,\n args.deadline,\n );\n const rec = await tx.wait(1);\n const taskId = this.extractTaskIdFromReceipt(rec);\n return { taskId, receipt: toReceipt(rec) };\n } catch (err) {\n throw wrapChainError(err, 'createTask');\n }\n }\n\n async assignWorker(taskId: TaskId, worker: Address): Promise<TxReceiptLike> {\n return this.sendTx('assignWorker', [taskId, worker]);\n }\n\n async submitEvidence(taskId: TaskId, evidenceHash: Hex): Promise<TxReceiptLike> {\n return this.sendTx('submitEvidence', [taskId, evidenceHash]);\n }\n\n async completeVerification(taskId: TaskId, passed: boolean): Promise<TxReceiptLike> {\n return this.sendTx('completeVerification', [taskId, passed]);\n }\n\n async cancelTask(taskId: TaskId): Promise<TxReceiptLike> {\n return this.sendTx('cancelTask', [taskId]);\n }\n\n async raiseDispute(taskId: TaskId): Promise<TxReceiptLike> {\n return this.sendTx('raiseDispute', [taskId]);\n }\n\n async resolveDispute(taskId: TaskId, workerFavored: boolean): Promise<TxReceiptLike> {\n return this.sendTx('resolveDispute', [taskId, workerFavored]);\n }\n\n async claimTimeout(taskId: TaskId): Promise<TxReceiptLike> {\n return this.sendTx('claimTimeout', [taskId]);\n }\n\n async getTask(taskId: TaskId): Promise<OnChainTask> {\n try {\n const raw = await this.contract.getTask!(taskId);\n return decodeTask(taskId, raw);\n } catch (err) {\n throw wrapChainError(err, 'getTask');\n }\n }\n\n async isTaskExpired(taskId: TaskId): Promise<boolean> {\n try {\n return Boolean(await this.contract.isTaskExpired!(taskId));\n } catch (err) {\n throw wrapChainError(err, 'isTaskExpired');\n }\n }\n\n async nextTaskId(): Promise<TaskId> {\n try {\n return BigInt(await this.contract.nextTaskId!());\n } catch (err) {\n throw wrapChainError(err, 'nextTaskId');\n }\n }\n\n async feeBps(): Promise<bigint> {\n try {\n return BigInt(await this.contract.feeBps!());\n } catch (err) {\n throw wrapChainError(err, 'feeBps');\n }\n }\n\n private async sendTx(method: string, args: unknown[]): Promise<TxReceiptLike> {\n try {\n const fn = this.contract[method];\n if (typeof fn !== 'function') {\n throw new Error(`unknown contract method: ${method}`);\n }\n const tx = await fn(...args);\n const rec = await tx.wait(1);\n return toReceipt(rec);\n } catch (err) {\n throw wrapChainError(err, method);\n }\n }\n\n private extractTaskIdFromReceipt(receipt: ethers.ContractTransactionReceipt | null): TaskId {\n if (!receipt) throw new Error('no receipt');\n const iface = this.contract.interface;\n for (const log of receipt.logs) {\n try {\n const parsed = iface.parseLog({ topics: log.topics as string[], data: log.data });\n if (parsed?.name === 'TaskCreated') {\n return BigInt(parsed.args.getValue('taskId'));\n }\n } catch {\n // not our event, skip\n }\n }\n throw new Error('TaskCreated event not found in receipt logs');\n }\n}\n\nfunction toReceipt(rec: ethers.ContractTransactionReceipt | null): TxReceiptLike {\n if (!rec) throw new Error('no receipt');\n return {\n hash: rec.hash as Hex,\n blockNumber: rec.blockNumber,\n gasUsed: rec.gasUsed,\n };\n}\n\nfunction decodeTask(taskId: TaskId, raw: ethers.Result): OnChainTask {\n // Tuple order from BlindEscrow.getTask(): (agent, worker, token, amount, taskHash,\n // evidenceHash, status, createdAt, deadline) — verify against contracts/BlindEscrow.sol.\n const arr = raw as unknown as unknown[];\n const statusIndex = Number(arr[6]);\n return {\n taskId,\n agent: arr[0] as Address,\n worker: arr[1] as Address,\n token: arr[2] as Address,\n amount: BigInt(arr[3] as bigint | number),\n taskHash: arr[4] as Hex,\n evidenceHash: arr[5] as Hex,\n status: STATUS_BY_INDEX[statusIndex] ?? 'funded',\n createdAt: new Date(Number(arr[7] as bigint | number) * 1000),\n deadline: new Date(Number(arr[8] as bigint | number) * 1000),\n };\n}\n","import { ethers } from 'ethers';\nimport type { Address, Hex, TaskId, TxReceiptLike } from '../types.js';\nimport { TaskRegistryAbi } from './abi/index.js';\nimport { wrapChainError } from './errors.js';\n\nexport interface OpenTaskMeta {\n taskId: TaskId;\n token: Address;\n category: string;\n locationZone: string;\n reward: bigint;\n createdAt: Date;\n}\n\nexport class TaskRegistryClient {\n readonly contract: ethers.Contract;\n readonly address: Address;\n\n constructor(address: Address, runner: ethers.ContractRunner) {\n this.address = address;\n this.contract = new ethers.Contract(address, TaskRegistryAbi, runner);\n }\n\n async getTaskMeta(taskId: TaskId): Promise<OpenTaskMeta> {\n try {\n const raw = (await this.contract.getTaskMeta!(taskId)) as unknown as unknown[];\n return {\n taskId,\n token: raw[0] as Address,\n category: raw[1] as string,\n locationZone: raw[2] as string,\n reward: BigInt(raw[3] as bigint | number),\n createdAt: new Date(Number(raw[4] as bigint | number) * 1000),\n };\n } catch (err) {\n throw wrapChainError(err, 'getTaskMeta');\n }\n }\n\n async getOpenTasks(offset: bigint, limit: bigint): Promise<TaskId[]> {\n try {\n const ids = (await this.contract.getOpenTasks!(offset, limit)) as unknown as unknown[];\n return ids.map((x) => BigInt(x as bigint | number));\n } catch (err) {\n throw wrapChainError(err, 'getOpenTasks');\n }\n }\n\n async totalTasks(): Promise<bigint> {\n try {\n return BigInt(await this.contract.totalTasks!());\n } catch (err) {\n throw wrapChainError(err, 'totalTasks');\n }\n }\n\n async openTaskCount(): Promise<bigint> {\n try {\n return BigInt(await this.contract.openTaskCount!());\n } catch (err) {\n throw wrapChainError(err, 'openTaskCount');\n }\n }\n\n async taskExists(taskId: TaskId): Promise<boolean> {\n try {\n return Boolean(await this.contract.taskExists!(taskId));\n } catch (err) {\n throw wrapChainError(err, 'taskExists');\n }\n }\n\n async closeTask(taskId: TaskId): Promise<TxReceiptLike> {\n try {\n const tx = await this.contract.closeTask!(taskId);\n const rec = await tx.wait(1);\n return { hash: rec.hash as Hex, blockNumber: rec.blockNumber, gasUsed: rec.gasUsed };\n } catch (err) {\n throw wrapChainError(err, 'closeTask');\n }\n }\n}\n","import { ethers } from 'ethers';\nimport type { Address, Hex, TaskId, TxReceiptLike } from '../types.js';\nimport { BlindReputationAbi } from './abi/index.js';\nimport { wrapChainError } from './errors.js';\n\nexport interface ReputationSnapshot {\n tasksCompleted: bigint;\n totalScore: bigint;\n disputes: bigint;\n avgScore: number;\n}\n\nexport class BlindReputationClient {\n readonly contract: ethers.Contract;\n readonly address: Address;\n\n constructor(address: Address, runner: ethers.ContractRunner) {\n this.address = address;\n this.contract = new ethers.Contract(address, BlindReputationAbi, runner);\n }\n\n async getReputation(worker: Address): Promise<ReputationSnapshot> {\n try {\n const raw = (await this.contract.getReputation!(worker)) as unknown as unknown[];\n const tasksCompleted = BigInt(raw[0] as bigint | number);\n const totalScore = BigInt(raw[1] as bigint | number);\n const disputes = BigInt(raw[2] as bigint | number);\n const avgScore = tasksCompleted === 0n ? 0 : Number(totalScore) / Number(tasksCompleted);\n return { tasksCompleted, totalScore, disputes, avgScore };\n } catch (err) {\n throw wrapChainError(err, 'getReputation');\n }\n }\n\n async rate(worker: Address, score: number, taskId: TaskId): Promise<TxReceiptLike> {\n if (!Number.isInteger(score) || score < 1 || score > 5) {\n throw wrapChainError(new Error(`score must be integer 1..5, got ${score}`), 'rate');\n }\n try {\n const tx = await this.contract.rate!(worker, score, taskId);\n const rec = await tx.wait(1);\n return { hash: rec.hash as Hex, blockNumber: rec.blockNumber, gasUsed: rec.gasUsed };\n } catch (err) {\n throw wrapChainError(err, 'rate');\n }\n }\n\n async hasBeenRated(worker: Address, taskId: TaskId): Promise<boolean> {\n try {\n return Boolean(await this.contract.hasBeenRated!(worker, taskId));\n } catch (err) {\n throw wrapChainError(err, 'hasBeenRated');\n }\n }\n}\n","import { ethers } from 'ethers';\nimport type { Signer as SdkSigner } from '../signer/index.js';\nimport type { Network } from '../network/index.js';\nimport { BlindEscrowClient } from './BlindEscrowClient.js';\nimport { BlindReputationClient } from './BlindReputationClient.js';\nimport { TaskRegistryClient } from './TaskRegistryClient.js';\n\nexport interface ChainClientOptions {\n network: Network;\n signer?: SdkSigner;\n /** If provided, used for reads even when signer is absent. Useful for public queries. */\n provider?: ethers.Provider;\n}\n\n/**\n * Bundles typed clients for all three BlindBounty contracts plus the underlying\n * ethers runner. Reads use provider (or signer's provider); writes require a\n * signer. To keep the SDK's Signer abstraction decoupled from ethers at the\n * call sites, we unwrap an EthersSigner's inner ethers.Signer lazily here.\n */\nexport class ChainClient {\n readonly escrow: BlindEscrowClient;\n readonly registry: TaskRegistryClient;\n readonly reputation: BlindReputationClient;\n readonly provider: ethers.Provider;\n readonly network: Network;\n\n constructor(opts: ChainClientOptions) {\n this.network = opts.network;\n const provider =\n opts.provider ??\n (opts.signer && unwrapEthersSigner(opts.signer)?.provider) ??\n defaultProvider(opts.network);\n this.provider = provider;\n\n const runner: ethers.ContractRunner = unwrapEthersSigner(opts.signer) ?? provider;\n this.escrow = new BlindEscrowClient(opts.network.contracts.escrow, runner);\n this.registry = new TaskRegistryClient(opts.network.contracts.registry, runner);\n this.reputation = new BlindReputationClient(opts.network.contracts.reputation, runner);\n }\n}\n\n/**\n * If the SDK Signer is an EthersSigner, pull out the inner ethers.Signer\n * (so ethers.Contract treats it as the transaction runner). Otherwise\n * returns undefined — writes will fail at the contract layer with a clear\n * signer-required error, as intended.\n */\nfunction unwrapEthersSigner(signer: SdkSigner | undefined): ethers.Signer | undefined {\n if (!signer) return undefined;\n const maybe = signer as unknown as { inner?: ethers.Signer };\n return maybe.inner;\n}\n\nfunction defaultProvider(network: Network): ethers.Provider {\n const url = network.rpc[0];\n if (!url) throw new Error(`network ${network.name} has no RPC endpoint configured`);\n return new ethers.JsonRpcProvider(url, { chainId: Number(network.chainId), name: network.name });\n}\n"]}
|