pshenmic-dpp 1.1.2-dev.8 → 2.0.0-dev.1
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/README.md +14 -99
- package/dist/binaries/bindingsTypes.d.ts +1696 -0
- package/dist/binaries/bindingsTypes.js +98 -0
- package/dist/binaries/pshenmic_dpp.android.node/react-native-node-api-module +0 -0
- package/dist/binaries/pshenmic_dpp.android.node/x86_64/libpshenmic_dpp.so +0 -0
- package/dist/binaries/pshenmic_dpp.d.ts +166 -0
- package/dist/binaries/pshenmic_dpp.js +3 -0
- package/dist/binaries/wasm/wasmBytes.d.ts +2 -0
- package/dist/binaries/wasm/wasmBytes.js +2 -0
- package/dist/binaries/wasm.d.ts +166 -0
- package/dist/binaries/wasm.js +44 -0
- package/dist/src/dpp/constants.d.ts +4 -0
- package/dist/src/dpp/constants.js +19 -0
- package/dist/src/dpp/dpp.d.ts +110 -0
- package/dist/src/dpp/dpp.js +110 -0
- package/dist/src/dpp/enums.d.ts +1 -0
- package/dist/src/dpp/enums.js +1 -0
- package/dist/src/dpp/provider.d.ts +11 -0
- package/dist/src/dpp/provider.js +21 -0
- package/dist/src/dpp/structs/Address/AddressWitness.d.ts +12 -0
- package/dist/src/dpp/structs/Address/AddressWitness.js +23 -0
- package/dist/src/dpp/structs/Address/PlatformAddress.d.ts +14 -0
- package/dist/src/dpp/structs/Address/PlatformAddress.js +32 -0
- package/dist/src/dpp/structs/AddressTransitions/AddressCreditWithdrawalTransition.d.ts +38 -0
- package/dist/src/dpp/structs/AddressTransitions/AddressCreditWithdrawalTransition.js +95 -0
- package/dist/src/dpp/structs/AddressTransitions/AddressFundingFromAssetLockTransition.d.ts +35 -0
- package/dist/src/dpp/structs/AddressTransitions/AddressFundingFromAssetLockTransition.js +85 -0
- package/dist/src/dpp/structs/AddressTransitions/AddressFundsTransferTransition.d.ts +30 -0
- package/dist/src/dpp/structs/AddressTransitions/AddressFundsTransferTransition.js +72 -0
- package/dist/src/dpp/structs/AddressTransitions/IdentityCreateFromAddressesTransition.d.ts +33 -0
- package/dist/src/dpp/structs/AddressTransitions/IdentityCreateFromAddressesTransition.js +82 -0
- package/dist/src/dpp/structs/AddressTransitions/IdentityCreditTransferToAddressesTransition.d.ts +31 -0
- package/dist/src/dpp/structs/AddressTransitions/IdentityCreditTransferToAddressesTransition.js +77 -0
- package/dist/src/dpp/structs/AddressTransitions/IdentityTopUpFromAddressesTransition.d.ts +31 -0
- package/dist/src/dpp/structs/AddressTransitions/IdentityTopUpFromAddressesTransition.js +76 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/AddressFundsFeeStrategyStep.d.ts +12 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/AddressFundsFeeStrategyStep.js +26 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/InputAddress.d.ts +14 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/InputAddress.js +32 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddress.d.ts +12 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddress.js +26 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddressNullableCredits.d.ts +12 -0
- package/dist/src/dpp/structs/AddressTransitions/entities/OutputAddressNullableCredits.js +29 -0
- package/dist/src/dpp/structs/AssetLockProof/AssetLockProof.d.ts +19 -0
- package/dist/src/dpp/structs/AssetLockProof/AssetLockProof.js +51 -0
- package/dist/src/dpp/structs/AssetLockProof/ChainAssetLockProof.d.ts +17 -0
- package/dist/src/dpp/structs/AssetLockProof/ChainAssetLockProof.js +36 -0
- package/dist/src/dpp/structs/AssetLockProof/InstantAssetLockProof.d.ts +24 -0
- package/dist/src/dpp/structs/AssetLockProof/InstantAssetLockProof.js +48 -0
- package/dist/src/dpp/structs/AssetLockProof/OutPoint.d.ts +15 -0
- package/dist/src/dpp/structs/AssetLockProof/OutPoint.js +40 -0
- package/dist/src/dpp/structs/AssetLockProof/Transaction.d.ts +20 -0
- package/dist/src/dpp/structs/AssetLockProof/Transaction.js +49 -0
- package/dist/src/dpp/structs/AssetLockProof/TxIn.d.ts +17 -0
- package/dist/src/dpp/structs/AssetLockProof/TxIn.js +39 -0
- package/dist/src/dpp/structs/AssetLockProof/TxOut.d.ts +13 -0
- package/dist/src/dpp/structs/AssetLockProof/TxOut.js +34 -0
- package/dist/src/dpp/structs/AssetLockProof/Witness.d.ts +11 -0
- package/dist/src/dpp/structs/AssetLockProof/Witness.js +25 -0
- package/dist/src/dpp/structs/Batch/BatchTransition.d.ts +34 -0
- package/dist/src/dpp/structs/Batch/BatchTransition.js +95 -0
- package/dist/src/dpp/structs/Batch/BatchedTransition.d.ts +13 -0
- package/dist/src/dpp/structs/Batch/BatchedTransition.js +39 -0
- package/dist/src/dpp/structs/Batch/DocumentBaseTransition.d.ts +20 -0
- package/dist/src/dpp/structs/Batch/DocumentBaseTransition.js +54 -0
- package/dist/src/dpp/structs/Batch/DocumentTransition.d.ts +32 -0
- package/dist/src/dpp/structs/Batch/DocumentTransition.js +74 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentCreateTransition.d.ts +23 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentCreateTransition.js +58 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentDeleteTransition.d.ts +14 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentDeleteTransition.js +26 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentPurchaseTransition.d.ts +19 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentPurchaseTransition.js +39 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentReplaceTransition.d.ts +19 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentReplaceTransition.js +40 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentTransferTransition.d.ts +19 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentTransferTransition.js +35 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentUpdatePriceTransition.d.ts +17 -0
- package/dist/src/dpp/structs/Batch/DocumentTransitions/DocumentUpdatePriceTransition.js +33 -0
- package/dist/src/dpp/structs/Batch/PrefundedVotingBalance.d.ts +9 -0
- package/dist/src/dpp/structs/Batch/PrefundedVotingBalance.js +19 -0
- package/dist/src/dpp/structs/Batch/TokenBaseTransition.d.ts +20 -0
- package/dist/src/dpp/structs/Batch/TokenBaseTransition.js +49 -0
- package/dist/src/dpp/structs/Batch/TokenPaymentInfo.d.ts +19 -0
- package/dist/src/dpp/structs/Batch/TokenPaymentInfo.js +54 -0
- package/dist/src/dpp/structs/Batch/TokenPricingSchedule.d.ts +17 -0
- package/dist/src/dpp/structs/Batch/TokenPricingSchedule.js +41 -0
- package/dist/src/dpp/structs/Batch/TokenTransition.d.ts +20 -0
- package/dist/src/dpp/structs/Batch/TokenTransition.js +92 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenBurnTransition.d.ts +14 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenBurnTransition.js +32 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenClaimTransition.d.ts +15 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenClaimTransition.js +33 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenConfigUpdateTransition.d.ts +15 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenConfigUpdateTransition.js +33 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenDestroyFrozenFundsTransition.d.ts +16 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenDestroyFrozenFundsTransition.js +34 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenDirectPurchaseTransition.d.ts +14 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenDirectPurchaseTransition.js +32 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenEmergencyActionTransition.d.ts +15 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenEmergencyActionTransition.js +33 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenFreezeTransition.d.ts +16 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenFreezeTransition.js +34 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenMintTransition.d.ts +18 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenMintTransition.js +43 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenSetPriceForDirectPurchaseTransition.d.ts +15 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenSetPriceForDirectPurchaseTransition.js +36 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenTransferTransition.d.ts +21 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenTransferTransition.js +53 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenUnFreezeTransition.d.ts +16 -0
- package/dist/src/dpp/structs/Batch/TokenTransitions/TokenUnFreezeTransition.js +34 -0
- package/dist/src/dpp/structs/ConsensusError.d.ts +8 -0
- package/dist/src/dpp/structs/ConsensusError.js +22 -0
- package/dist/src/dpp/structs/ContractBounds.d.ts +17 -0
- package/dist/src/dpp/structs/ContractBounds.js +39 -0
- package/dist/src/dpp/structs/CoreScript.d.ts +15 -0
- package/dist/src/dpp/structs/CoreScript.js +37 -0
- package/dist/src/dpp/structs/DataContract.d.ts +35 -0
- package/dist/src/dpp/structs/DataContract.js +116 -0
- package/dist/src/dpp/structs/DataContractTransitions/DataContractCreateTransition.d.ts +23 -0
- package/dist/src/dpp/structs/DataContractTransitions/DataContractCreateTransition.js +55 -0
- package/dist/src/dpp/structs/DataContractTransitions/DataContractUpdateTransition.d.ts +23 -0
- package/dist/src/dpp/structs/DataContractTransitions/DataContractUpdateTransition.js +55 -0
- package/dist/src/dpp/structs/Document.d.ts +51 -0
- package/dist/src/dpp/structs/Document.js +184 -0
- package/dist/src/dpp/structs/EncryptedNote/PrivateEncryptedNote.d.ts +13 -0
- package/dist/src/dpp/structs/EncryptedNote/PrivateEncryptedNote.js +31 -0
- package/dist/src/dpp/structs/EncryptedNote/SharedEncryptedNote.d.ts +13 -0
- package/dist/src/dpp/structs/EncryptedNote/SharedEncryptedNote.js +31 -0
- package/dist/src/dpp/structs/GroupStateTransitionInfo.d.ts +15 -0
- package/dist/src/dpp/structs/GroupStateTransitionInfo.js +33 -0
- package/dist/src/dpp/structs/Identifier.d.ts +17 -0
- package/dist/src/dpp/structs/Identifier.js +50 -0
- package/dist/src/dpp/structs/Identity.d.ts +26 -0
- package/dist/src/dpp/structs/Identity.js +73 -0
- package/dist/src/dpp/structs/IdentityPublicKey.d.ts +43 -0
- package/dist/src/dpp/structs/IdentityPublicKey.js +126 -0
- package/dist/src/dpp/structs/IdentityPublicKeyInCreation.d.ts +30 -0
- package/dist/src/dpp/structs/IdentityPublicKeyInCreation.js +77 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityCreateTransition.d.ts +29 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityCreateTransition.js +69 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditTransfer.d.ts +33 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditTransfer.js +85 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditWithdrawalTransition.d.ts +42 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityCreditWithdrawalTransition.js +114 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityTopUpTransition.d.ts +30 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityTopUpTransition.js +75 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityUpdateTransition.d.ts +40 -0
- package/dist/src/dpp/structs/IdentityTransitions/IdentityUpdateTransition.js +108 -0
- package/dist/src/dpp/structs/InstantLock.d.ts +17 -0
- package/dist/src/dpp/structs/InstantLock.js +43 -0
- package/dist/src/dpp/structs/MasternodeVote/MasternodeVoteTransition.d.ts +37 -0
- package/dist/src/dpp/structs/MasternodeVote/MasternodeVoteTransition.js +96 -0
- package/dist/src/dpp/structs/MasternodeVote/ResourceVoteChoice.d.ts +14 -0
- package/dist/src/dpp/structs/MasternodeVote/ResourceVoteChoice.js +29 -0
- package/dist/src/dpp/structs/MasternodeVote/Vote.d.ts +13 -0
- package/dist/src/dpp/structs/MasternodeVote/Vote.js +27 -0
- package/dist/src/dpp/structs/MasternodeVote/VotePoll.d.ts +18 -0
- package/dist/src/dpp/structs/MasternodeVote/VotePoll.js +42 -0
- package/dist/src/dpp/structs/PartialIdentity.d.ts +26 -0
- package/dist/src/dpp/structs/PartialIdentity.js +69 -0
- package/dist/src/dpp/structs/PrivateKey.d.ts +20 -0
- package/dist/src/dpp/structs/PrivateKey.js +48 -0
- package/dist/src/dpp/structs/PublicKey.d.ts +15 -0
- package/dist/src/dpp/structs/PublicKey.js +37 -0
- package/dist/src/dpp/structs/StateTransition.d.ts +38 -0
- package/dist/src/dpp/structs/StateTransition.js +100 -0
- package/dist/src/dpp/structs/TokenConfiguration/ActionTaker.d.ts +12 -0
- package/dist/src/dpp/structs/TokenConfiguration/ActionTaker.js +44 -0
- package/dist/src/dpp/structs/TokenConfiguration/AuthorizedActionTakers.d.ts +16 -0
- package/dist/src/dpp/structs/TokenConfiguration/AuthorizedActionTakers.js +43 -0
- package/dist/src/dpp/structs/TokenConfiguration/ChangeControlRules.d.ts +23 -0
- package/dist/src/dpp/structs/TokenConfiguration/ChangeControlRules.js +52 -0
- package/dist/src/dpp/structs/TokenConfiguration/DistributionFunction.d.ts +19 -0
- package/dist/src/dpp/structs/TokenConfiguration/DistributionFunction.js +57 -0
- package/dist/src/dpp/structs/TokenConfiguration/Group.d.ts +19 -0
- package/dist/src/dpp/structs/TokenConfiguration/Group.js +44 -0
- package/dist/src/dpp/structs/TokenConfiguration/RewardDistributionType.d.ts +13 -0
- package/dist/src/dpp/structs/TokenConfiguration/RewardDistributionType.js +40 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfiguration.d.ts +54 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfiguration.js +139 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationChangeItem.d.ts +47 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationChangeItem.js +140 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationConvention.d.ts +19 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationConvention.js +47 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationLocalization.d.ts +15 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenConfigurationLocalization.js +34 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenDistributionRecipient.d.ts +14 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenDistributionRecipient.js +31 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenDistributionRules.d.ts +28 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenDistributionRules.js +75 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenKeepsHistoryRules.d.ts +19 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenKeepsHistoryRules.js +49 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenMarketplaceRules.d.ts +13 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenMarketplaceRules.js +27 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenPerpetualDistribution.d.ts +13 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenPerpetualDistribution.js +27 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenPreProgrammedDistribution.d.ts +21 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenPreProgrammedDistribution.js +42 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenTradeMode.d.ts +9 -0
- package/dist/src/dpp/structs/TokenConfiguration/TokenTradeMode.js +17 -0
- package/dist/src/dpp/types.d.ts +274 -0
- package/dist/src/dpp/types.js +1 -0
- package/dist/src/dpp/utils.d.ts +5 -0
- package/dist/src/dpp/utils.js +64 -0
- package/dist/src/dpp/verify/Contested/verifyVotePollVoteStateProof.d.ts +3 -0
- package/dist/src/dpp/verify/Contested/verifyVotePollVoteStateProof.js +34 -0
- package/dist/src/dpp/verify/Contract/verifyContract.d.ts +2 -0
- package/dist/src/dpp/verify/Contract/verifyContract.js +14 -0
- package/dist/src/dpp/verify/Document/verifyDocumentsProof.d.ts +3 -0
- package/dist/src/dpp/verify/Document/verifyDocumentsProof.js +10 -0
- package/dist/src/dpp/verify/Identity/verifyIdentifierByNonUniquePublicKeyHashProof.d.ts +2 -0
- package/dist/src/dpp/verify/Identity/verifyIdentifierByNonUniquePublicKeyHashProof.js +10 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityBalanceProof.d.ts +2 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityBalanceProof.js +9 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityByIdentifierProof.d.ts +2 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityByIdentifierProof.js +10 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityByUniqueKeyHashProof.d.ts +2 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityByUniqueKeyHashProof.js +10 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityContractNonceProof.d.ts +2 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityContractNonceProof.js +9 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityKeysByIdentifierProof.d.ts +2 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityKeysByIdentifierProof.js +10 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityNonceProof.d.ts +2 -0
- package/dist/src/dpp/verify/Identity/verifyIdentityNonceProof.js +9 -0
- package/dist/src/dpp/verify/StateTransition/utils.d.ts +2 -0
- package/dist/src/dpp/verify/StateTransition/utils.js +115 -0
- package/dist/src/dpp/verify/StateTransition/verifyStateTransitionResult.d.ts +4 -0
- package/dist/src/dpp/verify/StateTransition/verifyStateTransitionResult.js +10 -0
- package/dist/src/dpp/verify/System/verifyEpochsInfoProof.d.ts +2 -0
- package/dist/src/dpp/verify/System/verifyEpochsInfoProof.js +16 -0
- package/dist/src/dpp/verify/System/verifyTotalCreditsProof.d.ts +2 -0
- package/dist/src/dpp/verify/System/verifyTotalCreditsProof.js +9 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenBalancesForIdentitiesProof.d.ts +2 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenBalancesForIdentitiesProof.js +13 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenContractInfoProof.d.ts +2 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenContractInfoProof.js +15 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenDirectPurchasePrices.d.ts +2 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenDirectPurchasePrices.js +14 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenTotalSupplyProof.d.ts +2 -0
- package/dist/src/dpp/verify/Tokens/verifyTokenTotalSupplyProof.js +12 -0
- package/dist/src/dpp/verify/Tokens/verifyTokensBalancesForIdentityProof.d.ts +2 -0
- package/dist/src/dpp/verify/Tokens/verifyTokensBalancesForIdentityProof.js +13 -0
- package/dist/src/dpp/verify/verifySignatureDigest.d.ts +1 -0
- package/dist/src/dpp/verify/verifySignatureDigest.js +4 -0
- package/dist/src/react-native.d.ts +3 -0
- package/dist/src/react-native.js +6 -0
- package/dist/src/wasm.d.ts +3 -0
- package/dist/src/wasm.js +6 -0
- package/dist/utils/base122.d.ts +7 -0
- package/dist/utils/base122.js +63 -0
- package/package.json +30 -27
- package/tests/unit/DynamicValue.spec.ts +86 -0
- package/tests/unit/Identifier.spec.ts +105 -0
- package/tests/unit/Identity.spec.ts +119 -0
- package/tests/unit/IdentityPublicKey.spec.ts +126 -0
- package/dist/wasm/base122.d.ts +0 -1
- package/dist/wasm/base122.js +0 -67
- package/dist/wasm/index.d.ts +0 -148
- package/dist/wasm/index.js +0 -13
- package/dist/wasm/initAsync.d.ts +0 -4
- package/dist/wasm/initAsync.js +0 -20
- package/dist/wasm/initInterface.d.ts +0 -3
- package/dist/wasm/initInterface.js +0 -46
- package/dist/wasm/initWASM.d.ts +0 -1
- package/dist/wasm/initWASM.js +0 -28
- package/dist/wasm/pshenmic_dpp.d.ts +0 -5266
- package/dist/wasm/pshenmic_dpp.js +0 -25608
- package/dist/wasm/pshenmic_dpp_bg.d.ts +0 -3
- package/dist/wasm/pshenmic_dpp_bg.js +0 -2
- package/dist/wasm/pshenmic_dpp_bg.wasm.d.ts +0 -1636
- package/dist/wasm/pshenmic_dpp_zipped.d.ts +0 -3
- package/dist/wasm/pshenmic_dpp_zipped.js +0 -2
- package/dist/wasm/snippets/pshenmic_dpp_utils-23ab7381b198778d/stringify.js +0 -7
- package/tests/AssetLockProof.spec.cjs +0 -96
- package/tests/AsyncImportTest.spec.cjs +0 -930
- package/tests/AuthorizedActionTakers.spec.cjs +0 -75
- package/tests/BatchTransition.spec.cjs +0 -141
- package/tests/ChainLockProof.spec.cjs +0 -63
- package/tests/ChangeControlRules.spec.cjs +0 -184
- package/tests/CoreScript.spec.cjs +0 -37
- package/tests/DataContract.spec.cjs +0 -170
- package/tests/DataContractCreateStateTransition.spec.cjs +0 -102
- package/tests/DataContractUpdateStateTransition.spec.cjs +0 -103
- package/tests/DistributionFunction.spec.cjs +0 -416
- package/tests/Document.spec.cjs +0 -227
- package/tests/DocumentTransition.spec.cjs +0 -94
- package/tests/DocumentsTransitions.spec.cjs +0 -699
- package/tests/Identifier.spec.cjs +0 -82
- package/tests/Identity.spec.cjs +0 -107
- package/tests/IdentityCreateTransition.spec.cjs +0 -87
- package/tests/IdentityCreditTransferTransition.spec.cjs +0 -140
- package/tests/IdentityCreditWithdrawalTransition.spec.cjs +0 -186
- package/tests/IdentityPublicKey.spec.cjs +0 -166
- package/tests/IdentityTopUpTransition.spec.cjs +0 -125
- package/tests/IdentityUpdateTransition.spec.cjs +0 -141
- package/tests/InstantLockProof.spec.cjs +0 -91
- package/tests/OutPoint.spec.cjs +0 -49
- package/tests/PrivateKey.spec.cjs +0 -67
- package/tests/PublicKeyInCreation.spec.cjs +0 -252
- package/tests/RewardDistributionType.spec.cjs +0 -90
- package/tests/TokenBaseTransition.spec.cjs +0 -96
- package/tests/TokenConfiguration.spec.cjs +0 -188
- package/tests/TokenConfigurationConvention.spec.cjs +0 -93
- package/tests/TokenConfigurationLocalization.spec.cjs +0 -59
- package/tests/TokenDistributionRecipient.spec.cjs +0 -49
- package/tests/TokenDistributionRules.spec.cjs +0 -313
- package/tests/TokenKeepsHistoryRules.spec.cjs +0 -67
- package/tests/TokenPerpetualDistribution.spec.cjs +0 -130
- package/tests/TokenPreProgrammedDistribution.spec.cjs +0 -61
- package/tests/TokensTransitions.spec.cjs +0 -509
- package/tests/TxOut.spec.cjs +0 -70
- package/tests/mocks/DataContract/DataContract.json +0 -164
- package/tests/mocks/DataContract/index.js +0 -6
- package/tests/mocks/Document/DataContract.json +0 -23
- package/tests/mocks/Document/document.json +0 -3
- package/tests/mocks/Document/document2.json +0 -3
- package/tests/mocks/Document/index.js +0 -13
- package/tests/mocks/Identity/index.js +0 -13
- package/tests/mocks/Locks/index.js +0 -2
- package/tests/mocks/PrivateKey/index.js +0 -5
- package/tests/mocks/PublicKey/index.js +0 -13
- package/tests/mocks/TokenConfiguration/index.js +0 -5
- package/tests/utils/hex.js +0 -14
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const bytes = "baÀ>ouSmMVb@1OWX.qi-s):VElW}|;Dz9EWZJ}gZ^ןBDTVTRӔLU9}ow@XRRHC6σ/0l4zcZ7^`|hm7Sg`G>/`lL_k#?Of`{ ?|k_dY{8wY@[y||X|KQy`1ixIY_pAp0/h_}qP3v~~~DOcA^Oeh|O}uxfg:]<4,SscuopfUiQjszaw ~Y7|GnkoCS|G[`p:>|F8C2}IIƳys0D`Ϝ-oO+dA=9D fmV? g9[kg-քk~;zq~y0VxI^JhGuU}?_Mf(3:wwNAZoOfsup>,kHCzew[ u11o(gcd][i{wl]0<%{o{[D;oO{{cu[/ý{v8>4-Y>}o rju7><_TXN~z#imp8:5U5fAI{wh6=.t)_qO[y˵9+7a6me`@!AV^(cO?.u#BDag)/O~~]OTZ19P:}Ek?N¯sWxCGto@,I`07O>1s%גm4#Qg.aVos O(h^ber2NFax)d% cMoY}˾ZrfxqhKx<{zr>}x#0oNkXǟBt^meBuJSp;__D 2`|ukzzCm]~blqpq1c8Dns0{f/9snZ|yC[t 0?$1_bwgØo@~q>>Nis`{2p>C16E4dM#9(֜uGv?wqҴnph1}B]@S8z'$ Eu7{vp%_WiapbmF]pgZ[H>cxAґCja Kn?6m~X/ʳx#s;Og|t9lV<zc?`(çgӆ>#z*v?~g{;_^/skskcnrj{}wuu nVr4NGQp|?'i A[}ez~`aÿ5gk> rp`5-lm5W)aky{vW~?^wE)lo5uF c R{;.Ρb6.rayƿ˞0:D'Z!3ES}<Pv?. g,a8~eb=l:25C_9}~{ox8iǁb6U(h}uvpy{:ן.o/3oST-o90E3Ih^|q$T{yM~_^D¿.^e|[xQ1fepwJ[Uץ<#sOjmn<R [>,vLtGAO1l <FYS:/Eg2>*F}F,o[j5ez_@?CtxiI__Iτ?=ZDHWGZփ^aZmM4^Z}Y@r/dpS?ƭk8pgO9!A[ @r'%$˃v@gJV!,^lf{XcX?ϲB?εh>:|DOZǃ3Q;G7^A}5d!>'LL1NH-hd~O=~BCO2{}CwkO #EFW`Bs`-8l#n@ƆM[QS|z}>XTyN_wp-Zc:q+^T[):`02#AqGxÉe?(n<, P49%P¯G7voHNL|!sVb(eI/b[{6:r4εq˰B^hǞ?dF<Q?2?N.a?j+AMqayƃzDE9;0Ksn,,Ͻ)utYl>=85 pT4q<aB(*A4](yz@tƳϮRZ9Q%d]B.=2x1)'y4J|ǡT%ML/}r fx?_)J%v~8>~<O<yta_.appR`uP/m*j_VEo'6*+%6XDSo55ei4:`}f;x 3CWm[ǬG#;sY$Pô`2^];?kGNl/0nr4j>oi}va{G<g=vk²`Eh@ZC7#Ǯ0sxH~F4ʨSº=p:A+Ô~uwn^GzAf^^E{1H]L0D>9bj a?i*IX%7dubap'p[e_|uKDs5u/}Þz* }HOL_/?m6Ʃ0ϓz]BU$EH[40c-o:MT7G+8{yz@A#ʪqK/sQ2?/q{Z[3N2V<u7epfs rt>rqWvmll3Eqr77kkÈz1hk/ <K}q+<?wGyo$ιU^/~gTʐ<Ajo~}?ol--_ʿ??m}^y{{u~!5q@`+CE,+^BWM28(=ӲJs/Bl?~U|2rʦj˜frV,>ӏTeKr>~j^]WA/@Z8XR-ük*(w<u!5O) jΎ:(%1tE/H38z@3 m%gwk/k%~,cvHBQ$^FK$#B>2{Γrw@yhm1hfփ5J~yxc[BzXZ_V|E5-wk;,wNr :S<9_-8WN_-| AC6Vx17pdj1ChE5Bh~]תkyw:i]BopMvR /l3:?L#ibAx.PHuG go`5ypavx7-.h,1 <@P#ӽ=[~r(9+X?Oc?Qva_<KcosN}ÕD-A39+'i6l@+?N^ϵPLY/^3X_0>Ϛwo2XEGJ';a|TfpfZ)%pamVW|fӃTp>$ O:s'#i׳ÎS{.4Ύ,@yy(nG^*T}g)S?-eD'+2 F@|!~Fh [AHbr,}!+*g|MLz+Lj֏RXxN=G2?ӽ5dyHP#mF`!Jv]_Av0lD(>N#6q p9srGp.S CN.G+ov)j$Z'y | mB'$`M,υfeT$]F9-sqyUL2Jc|av~@]tacYndWK rAX '+UwS^nò]|Gm Dz35^2Έ1]PfKפmGl~Ӡ?'oR#d0n#HqS?@kM+҃: Qm8~P'3WyU$R9Mhnb0Rj2iΈV.>5OӂG3@0DlL9üMN~M! 4%a'B9q$s%ʻ+aT=O{TsP/1V_ӎ4ӿ%IDӚ?|T-B<(0=p}7p}8s1 g|PeQkH4#up]4v!3-(u*d:_^}N}}?zlw!9ZY O*o(197,_v14l`?¾XwbAZix$3e]?F|E%aG[jEGr!hRW}N8hß?/G|oh{VUik`3[lG!?`Qˣ'wbB7Z 8V85]xp:ooV?wn_y[787]s%bPG]SL6DAX˙g867Hb}BҶHӁh~kG8X3E.1sdBuØ}h<V37Á$PLL,Xuz~GV1e-ӧxEP7 |s ǣ@B`obr3.ǘvҜ:FdQ9(I_EʛJFLLT2?4Tֆ!'a*v:9%OYzƣF2?K%sH`DW1g)DDΣ!_|BrCIG[ƷӍ.bP!6EL<{_^f3]<^Pf5ggVYbY]|ÌzC>p;|!I֥4Qi*p1Y^B^#Ld^GXDC)%ֆ'LahV6LJӠM,ӯa=>)I~J4tN1x?<KJ}F D8Kò(y2qxV|0ph0XΎlT G7b7ʩvûGd@v3yW~K4 G7DEpqtω{4v%86nUsBφr|1Pw8tQ< Ǽׂϳ:8.![`G?`ZyVuΧ<ABI70F2~vdo C!uB#uQ9`#w_GzNbd]MN^O:QxHä1εp># 6 ֡k{bքp˄ғc*n<%'-5TKh#$s!6B:h%X~}(#Jַ8BVւˁWu,XLA2>cPb7F)o#juvQg($S+N+a/BO.#~bFgO<Yv`S-kaΜB=lWJs=FOw-e5Fn^@VӠ8Ə#~6.5QV-#F0*{iAPWxYq s;@3)oK-Ö!1]N, fz9iKG,@xrHFpW[$@( )GKKK/^k56R6YFk.1{@27Xpz6_SdpGh8ֶbaF!7ah;My0lX6[tPfMf7?r}@X:Xϟ6!8gy^yRE*L8QXˆis~8xXvWÚ=5sq{MOW`x^2gY]AvA:]K2*C;/ewˌ{5Lu6ׇmq$6kX8m˱CpT?QVTDd*ASH12%`_DCFsNΔ$rpG p.c֝FTo2wj)GƉ8ׅ a2Y¥oJkDSf=LHT/RItzu.rw>x8zFtגN6~Uvo(c|zV],fh]-1`7x u5ӁOS0be`7: xVlt1jT`wBD)<A2Ӷya'bzd!QTy#3zƨd24Sh@T9C+Q[p^m_,ˮ-Ґiq?pE{7,˥T0d_θJ$K/CPiʲK,R:.ECa)By-@(YV|l Buqµy,BBo?_]e3O5l 6yEvw2 BNV!uro8VyKǑ4Vyǜ<lBiE:}vn=p}jEB_X rox_-[SEZj2^ҡ NUTN`]skiB1'>r``gQ-ca4!22W2j|p94%zL}7'ʘuhS։n:FO?@!mWdX?ʉ7:Z#c=?[x}ʉw-Em){eL^}ǥ`6bW 30IQRQXMʗDOT*gKsF(3mB<MN>CG{{B,i-Sr%2ǫ8~֑!;NqYhim4>K@I4alCҒdUjnMwXErisn|ǟLk1Uy}Buˍ(6ybϯִDIT)>56-!+uςF`r3c]LlqvgaDFG:fwdhv0)) Q?q/>AF@@w1lZpʫ*uV$%1=>tN7jm 2rq,FϾSEz$q>)A9d5@ZF!%}#-IH1bRfΨp%^lB:qOt9Wx'4;z< Wþ*<^/~+tJ<!|4yPWOǮF$ ,EomgWqRc,DDmt¨-eVE1_ 1oe>r÷l%MDLrm5=oQPu2Bґ8ǶgÔV11zyk7a<13^9qm|m)<G8=/Ub8i:PNa/!1qscc1#8{cvv<Mq=3 %{N/gSHnO9RMOs*+U|@+>ΐkM5'Y^Δ$kD [ixCCev'$55?_0kCT B2K%K H~,)!M~%77exʁ]u|fk>־cuSMh?V3b?a `W85O;C2B~cGwPC;.+¿pcY~|Uqif}҉1[|`w8i1VGdgIUk}N,Z N~E3inv_:A? qL¦Iqbc<)džBE8uROVOut-je~Z#US}4Ғ[9~l|W|{ay`ׂp1}¼ck}1É?7kxV½Sm^֜S|FiqƔ^A<d{c!~_i%SK. `/w8:!|J-?74EOj Ʊvo.blο+%mw]<2ngMVKwD{[UFZ'4 XoLycϫ¨I<;N?_%}Go9uwbae94_u=nװLZsitxי%DgSVO|jX|~ӦSp 6Hל?s}҇w1%(D?1sҧ b({jbra|{>^^nAtx8x7b%ü4p|KQlx<[yZp'Mysup3FκZ7{GnIf8}<<?nH}*LZ #F3iz<<eypO+=49«lbP?MJF?g]pHR%_iqJczO*/w4x?9e/wp6_`PXDzpi83?-jk~Z3UC}5ӡ4./ |<ΔX|$d_o'7Wu]}glq~$z'?)uW[?z2vC<%=:d{~%|emG2d7s5oDURw}6+-4>Nt]TtengGkҭ_kAʷX{#kiX=Y+#qvGZ{$n,I5LEbcT1mEM`Vj+b[IOQJVuRo`G8Y6FS]Yf;bVg]ss /$na|O.:iu-~`/x'(B9mlKjvzz{=]g+E]-d_}%>y=X__}w -YO!~M{U;bQ/+5mq}w{p}5??K~%l?zpzzLxSbduq~}8]^ dGqrzw7}vǂ3_rvJ>@1$o'w`+Oc93Un ts!tM?Gtǜ`'yYcr)4|<n}_Ϡ_te{y|u98Ry|'A_z[r'ϏtF+(H(5t!V?G'+=_`^flr=5d˱`Wki7y(_UBx˾qGKmaCRcyÂ_c]lϦK%T~?t']LiV1(6!#n)0AN@ǕÅӥ_iR?3gM;ξ_K'F|'$%<lWfCh3.;wIo)a{NK?eb%8#Kqnϩ(Aaƥ,+$xl:X3_vwwcM[ˇo[.Dy]xgFL@'^_yu.%WYah^U2P6]kDáxq 8Paj]a2p9y9L.D8FL,zAMG~1(iGgʋ9xAʰ=y]])cw<יhaT3@s;^dYI)zAhh,k*rxr[ʴesET?d0k1 <֚!hf|ϭyCM3#FpXbCGH'֤{D'ACrμJnc[ʲ6%!'G}mFTStU1g%$~ƈtSJmjnBXz9a28<pO2?ֵDl3S}lMz- C)34|.]QD0b7n-kUR #MHQbϡ #1dGtJ^BW]ifAKb--eǸ{u$lQU2K%6%KC0vHφcIOv0?^pֱAS#Y@K-M7U'9U%'w()dzI:SrvONt4nϷBίJMAgc8@ʎ4FaIy5[`G_oKƐ;v6%e4i|)=_ziG#:1x%] n|lfTET}0s-CLym}~'vp?Nau0=:/AWht8 gïz+nDZ#yB[2=h6֛AƘ,z[}KE[{MgE,t^vl>0pL,֙)HlW YCuǩ#1 _G#b4 i8Wh|x9v1O6sq6!~:iӇMz^A>=y%!Y!R]vi9nywmWSChO{:An5}'ӈiYSEϪjnƸQ1JӏX@P+~{ Q_L ~2.r8ː!I *yQXxJ[ #1(=tms=D=<z3KpSj%dӜ#j-Xnrj˽IwhwDH0lB@-P ;Gv`oEGVQ0V1'quc]Loƌ8:noxB5J%/n4;K65qh Pbm^ʍքC_H2EL#Jm`6ANkx2jG>?y˭2k 8'{fbDlKg$3`7l%@SJ˲|PoϤ |-![SB8p(iR^{D=PQgMq3Us#Q2Cv@zTP* W)_./Z 3/zeL{Oxj?w)EurO.C(mYa+n *,]pˢ E(XJ¾wʿұ,{%XH#'Ϗ,%*uàR[vn}+# Ó[39DvVdZ/X6
)PEjMIzh6υ%,v@y#e#j2#z5AB98{!xˠ!!uhέNahIb*XLPp$egǁPRKMB+888G|rWa2*~qCAZIeLm*-:(C,e65bZcp%6/#]76^En <zW,,3C]9jG-A^@ҕe|@uG!hP'z6WvdXx7R`W+d%tl@f+^lX|Jo}],IZ(.¨!ǦΨ4XW4Sƪ_cHº˂+6QOf[¥xmyf6h8@DcW;B4R}:T?lcSEüXxsy -d-p8=KPD7/>D#,TA^}oO1d>=$ d|F;jWʔrçm+|X3/]#5[U~lj{byQʕҥ3w.gZ5F#faNX}ӈ>-tl֝2FH3VξGX[4/(@r.JAj^CB59NNp<<,</Y@Y$^7˺e*IER[h2l_1L-TKM=y@מGQP8tWTs8^{I_a4tʫz!5hʰDDQ` 5SjxI@4!ΊҎ^p#)Ғ.Y»ibaÙ]CA6D3p@7^z|ucIIvAZ:%oDM3q+Su|W4Yc>6uTˋβhh;} #xVR4Kl։UbT:dƣ5G)}G0Uf`$ z;*>*ht@jp}:q%rE%p|w,/[0yH9[Ob61.)^?Mp)B:xb֬[<!r[2K ;H!7^,682NVPrAH7aV2FX7b.cUN!`s0NFnEM<]mK8(k[%wL-l'D-<MBsC5,IJ+<G1Zd~qDZ65 M@:Xb+c.^0q=GםoThwHOϝ1v#.aZMveCC6/s]*N^_'.[v)9G3:$h5i/ F%DqZ^3!gjh)wΒ@xsǠ. W9lt1roʛ<(HWvX!_2r6B}FACDG??'K{n{º(p%QuB)>|'YR+kֽwW7HrvKske6NXDzLϯv)6g+9?n$i>>;,@ET?1ƈLDs_(xql2d+7#ҕU[FuI~s$x/2:g9?B9Ex>*-YFO*Xt62`#yT<$IoZ<kg9tO^-}';R~ҍSbM^l/]XG!MSXAW9Ϡe?1N@4XAl7RO!!PTeQϺfÜ?=L3({ljvOux: 5>CB0 3(UDhsIX;bwV3T9$k-qr]Ϊ8`#%eJ-rE:(PӌwI>9j҅O}Ow_k3f5D0i*fAJMctYAo)!(XCSz!O^o`R/1ӣTOW:iWǹ5vIY;Xv.Z3+_r).s9*EF53w9EϾc2o~4lh@,hZ+5cL=7'$c}Q]$#1TDnA;`akRMǡx]eӶs!;az1>BvDkaZi`liE'eh8wPLT'p:Fx:,lK#HL>t]dnj4)0V3r1Ӵ
p-_%O 'tn/S(OR4l=/Z9RQe$_ӔrdxCv X5ï@,ib`p)am/O#vJ :i)YLrcxM7#q4%0mfQ1.$/5ǜisrTeìr} .mö@NBp!@!=NMμQLjLhk+j;+a/l8Xnx`PX.[>BHe[$U]U@lXve^)4)R~z*UEA#wY˂`KPBD9I =A3 13Hf2Iz7k|'υ~ce nm,KV+ha!D$bc5Z1`SW1ϐKUsebc</Hn_JPw8~-`p#PX9ucY/4NϘ21*Ɓ, .$[h@dpp!s8#_/n3Ϊ`Kb8`OjZʮBr`3== ;EL7`.wxL/XH!y>?3J_aSEb1`#B$O3wRo3Ӝ55Y##DmX)IPEnr(q:#owr*˂FgÍ,Hsn|ך}e!dFaZc+]wQxv%<RHuq,y>q)Bj7:^ /^7כeIy҈~_*-Asi1ʝ01iYgpS g3OnreUR%,gpo}hʅ9S.C8fB!gq5clRrj0H}oQmQaeLb]T'$KF_!F%-yCOʳ[xZV<dstAnLτ8qHN3(0CWXODZoA#h}'sX{*7Gp$4eQ$aׄ1h)J:/4 X|JJ-T/x;!w@N4?$nb`7?ϔ} # IpӿC8KVzF֧[9FTH=#4W1lixg8{Dpk<p `<^8%tWArk 7`ZX=aZzI/L3R$<ZZp;,17ʄYaF0+5Wo+GSbhf)4ru2B.*kX/}OGyB<jkCPhxfLvD6pP8-9h8VGPXˬ|.zK6%2nӡE.]Nj`#x::E~;Q0~wϘ2IW>~C%r2fE9-Ao¤-K`[w@ #+W#M]W җxnys y9T{ho3tV0qls.+:mʣFz;jWY iUsíC?K(4}G5:-,9k6YsJ>Byp:N2xZcdÌ3ja<{RMQFMTk_EEӳkcױ%O˼Fb)5F,zWIL2bgNMyzLBP89D1p4o D[OwT<εmH8lp6{!#ò*ΜU+1?w:)LB.{Bca{(jQC%YYhθ6^-ʀ`F<*h,I@A;1qϸ:s_*I36D+ 1ҕ*6Pr6iD~G5>7Bg<yq/zrYuPb0C`q-7d]NjH F)hoA?Nuǁuu56/CA,#?#,l9fzPN_*lCUCKx]Y%17M@.-IY Ƿ_Z`i%eZzq~ ubI1Z~O?pNDx[qg}nt9sϚdG 7op]-)TD,$gc!IK$V$Hmkb9BIBClAX1ne-_k/skz3?9+bGjIjH|?Ojf_<Bk<zOqyi_'v{z/ǜzl-.=ep=DCW#N)xOƥV'voGb,N?ZqZf;z^uDzfn3t2X+s[DzfdKMW$q.OVֺ}?Ͽk{hwH-oL3MVrkGDJXBCvk Z?ENwky#LD>{ӵ1O'50;}gckhut@A~j+q(<+;WS һז6o4*bT}fx.~;X+-q`;P8`58';Sf^S9~ӿ=8z?K5R;$s+j9eftpDg[P8n}6}86@f4s+j[PUf0*2 l2b={kEacg9,_vw9rT?ƣec.BgoG=?dD?B:yb@nWthδal.iJMW=-g@hU;V0}4):zAV=|w)#k-0rfhek:;3+?s$6'Rv^(PU#4fg*N5rA8TvYD7_h#]+]ϠZ%-*ÍbaϸRX`>LoL~`>-R5+zFaUL$T3s~ΪGazLg+PG9.<zy'PJ+vidAvq:q<~ּb{<^`Vqb|+KDǡxp#=(6aZZE:z,pZ20npFh2zC6)Z5-;>kO@'ovҙ$}eTHϓ?pU2uCMdfrlRk'j˼Z_(ӈ9kmC!ƒR2v6{N2QK]<ʋGOU+v-6P8VSxDkoQNtw4rP5XLGXaΌ0֘AʕvNǁ-Z?q1jhp(BÛ[!=ʋzZ`A[˧RL@EP}* BeZKMsM-A(r(ҩrjQUBj2TnA5%%$f0z^P(rBL֊{,?MNDŽƘF,6e1@C[WU_,KJrZR|By*r)(r20:{d7ˬ6KTp)XSFIY8 <]~E+0n.40ҚpGl)YqPPXx/5K}u.ӽSl0r3C.% {0t073rcǐ-+si@Khpt5#j_-PR$Z%92D;KM,rZAx0X$x:MP>^ƥk/*ӆAN|,g yYn<1JaDJP}waZD5pqG:b3i/P!~ );үE(a Dû)ZƓbS6QLVAx#AKm4 eeVa`EG519^(nLWDj0PLt#d5#˱eSGB/AMz~z%q%=(_l!5bovRXlliQSp׀oBׯ19K,~p[`qTWdr?2}zj3*UTBxAzmz3@sr*RXeVa8 f(+ =8$Q`t25;^vv[)y{X~FQy,3|N-LC)D9!!Q!NpfQPKGxi!WR@מQI1VzcTm#hzJZCc.7~A֓ӠD,fʱid%Xr!7<DT SpDldfʌ13LAN<00*br]5w'c5Àg_H?#Ié|]7+^E5K39('|(k/4kOt` B.|,0Pj{!!|5O/$sseY#{k5/RM4v)E0ViU )P!¥¹)4U*@spJZ1%(F*7HRD3 Hl#'vo$ӁEfxwq!0|_C6db`ø0m6(0bסN^4.Ӯ$ªL+w_:ME];2FNeΑ*XK--AֱîCv7k|$OtI{9e+R 4ϏP O1I3Ɣ[-Uc)Ʀ@-ʈgl)EXҺa4@S(#KBaPdRPRXM3E{0jtg$˨[G4-p.X#X?_*<(e|f*sbHBƱVWhǸMpA2fN_c9ǡ`KUiʈ$e#.˄2#B[Ͻa+@ǾJIWSH1!#*Lת+TyJ22k/eP:IiF;JL.΄;+Vgׄ(_<^|9#Q֝[g?KrYf0Y=1do$u 4*L6MJiXo Xn¤DoS!qQ#RF1ҝi(v0cuW©=/oƢ6k.`@p!b`tҢT`jh 9YUҢ+m'}H1(8[Y6KΟ,CoCCsfoƴ z@=cR^}r_æn%;U^<OuʑwςZk4YDƏb%I*HYZa#_DâZ`I`z[1ieZlcFl-55nǜL:_EV#6_Og9pOujr$AP8?-yF$NedD@QR(w}bFPG.mKNjl<_87=T)W T/-x[u2 PX4W0lZLn!Íp $!(0.:zD@B_pqi<6isӡ]ˎqK0;QhR7jS`]b)lH5 +vS!BejqJEaT+pon)_=4!¤Dw;øAC}jZ;7se[cӂ}?[MCtrh3gU-TlyVjg-4H|j0T4_҈j3i8~o@ýACPL2`ZaQ,qGQlot$@2jY2] k1}7ˤMӍa2w= F@!Kuh,;Ya^ƿ/6(1 Z7¸`)sR ^Dá0-/I_p3FV*v)ZTZxA-Ll#^֡hWR4B3$ӕKjgLjZCBZ ZtǯAGmDY3KN4υ'Ύ;S,ZM]9=(ƭeI]^)NfVJ|(LIU+ -WjjF T+]*^w@CaDK3Ei%_+#d}htE`*]i`#ps6FV00OkE'Ál L063צ1)AzKXxzqr|~SH-SFQH)H 3V;ANzS72BkAM!;(uEτ3w9)C_}jGlsJCO~b4Jjn E'6t-4,viJYV0!%wXI9QGÔ_x7{gcLCe<;I>Ds֖0~H-F0br}{8[:dcGΐ_UʭùӍ.R(]NO=H6 ΎRdSS1EQYnCk8S;P!JqÆS%FFʇM1ʒhw=8?nS~M{T^*<i[<>Oש%qm.3v6Ab_-ϡRA8qJ,sC{;[t4,C3OY}v+pn7~vΦ%EUd9*R|gg/p[jҙ+,!6Xfauҗ~~')syixWOAP=/)~o ~Q-0lX2BVjXzRÈ(nMFbvKǯx1ƨb OK3t6U2@A1-%BgUtWϫ.d5DӉ4jRA_?GT'/:Ϯjch+ZDPAΎS<}ƝO5Ý:Tre-QMM9<k54=+,:6jK%FʴVE%R ,q5p:T~2CXy_ykc4~>b{Rxaq8_p϶|'IB7jlT#k?ΛUƒ-GQ3[W@;?;g.xUY!1se#;8T4yWֲzU8iWy@N4||o#ob!fY%]6`ImCUWG<Ҋv#@om_n{)n0uhdžn{{Q Vz e*1{tp9*??/ 6O$>tSni(ǘDBh!2îzeevNW-/54.ZT[g-|oKmI9ӠC(`Nh 041=Na G8ǐxS<ϙ{AG~u;({@rxH5l#H^'ge+0=/^'װJJ9 vƊ!haH*>B*%%T3G]e%kr^W|/9!zE5S֦һc,ZvO,˳`{4t0Ng+S]-ro{֪ QǚmdSyױKdc:_[HZm5ːj Iz6nvmX_df60>x xmicI>dF$~P?d`<ZQZnvan`y5·~ur5δ|ˬTC;1)g3H.L8TE.sRY)[>$CcX$'<QBQt[c>=5?#!9fa]_rROnNGRAq=on%JH A /ClS,-4rGN)1)ni~>֎Û_W׳4YHks=fCc, |]KawD#$+#U~1i*|zfʢa2THHI}ӒTBEvy]dA~ 1{-;:x| O. EO~Gj;Ǘ7}u=?jϜm^$)OtUu#eC>J@qR_*DŽ)yYJό=r26LJcF'4u~6rw LkǗ`9n8g*e=.cPlg#G%m>%)!4:Xƞ([ (x%gayV8}}F$=QN1ʅ.p_=QiAb2RÖ]_QF;nFfnU+csae9>֜l =*BÈg>r:ӋËjx{)0Qq^HnwwHr5N'W'2ӂ*P^5P'bOtYn#=~3]R@rM[/҉0[]GJ]eׄp=]f83H=8^ûnML2H.tpq{q,tOpkz~-l9_Oei{I~^Uy.cjz zm^֛KV;X$`b[<iN'W07rw*תo=_-YC{_<.BS33s[jUqi:bj/2?8retW#v#Uqv_1:9@YOkFNJwQo_MƜI 3glpCϐznHC uOt''5Tdn7tözμu^#5nAƾ+ǴupBmv#PA_p{~.1%KfZF[[M-Ei$HMj 0ab`X+8Ρog0*7pCvR0ZHS`9Z2bxM i~}FV1p]/D=IZf-9'ZW4{j.>d0ZI_T~,rBƞ*2jyn]N#@/pƴ0DHbU55S5]o:$-3jASo.Obkxl6xhqugG2pO#Õ6@,}wV_]Ӏmr;QQ7'T)1cb҂fVÏ ,UV(s|7οPwQӍHH w!hAx<B'hrdJM/0SvGy8`yE^J*$]|]V2Mhz/SlK,hCh*`bƦ_@vÔʾcd [odybOXk(X >^H8>CAdi[.J%B_XMaGQq],Ø-)$NF+$S|T@8L jki8Z?GJBf!T<M1j_Ar!fƹP3$g@Q@x-(ooHxn`qkC{^@+s_'n|!l$W:S[Hyƫt .Jʹ9q:U~bVndT:'/hA{0:ςF7(ZLE}dL*TIVd8$W$/uMkyMҶ 1)I$yl;d3mo;fSwXV3Ϣ)U9I'$jov0)^]ҙY$4:1LJ9]Z*pזMsOdSs32camr@fSֹ˓LʑLPLybAm,dQjTf%fm5EwG5#Y=xL%Z0Ǥt=`]F3I(LGQϪ1@r*aR^{nsǒMdUhZCZ6֊hq~z֊{@`V'+1JW5,].% %+Q;HS5dQבz>%*0( DdUAy/%JMU(*Tr*]I|npת[GQRr*ShV%*ix`TGʊ.HdT|3dY(ei.EFVϷKe/%:n%*+IϷK6'm=?9g9R-$BcM=bdΣ=pZM3;i$!A+Ƴq1I~=5:{{M,h(oÇ3%½0q<!%Q*rx.҄:R9S3nl: GYƔp#x%{o-ӸcI0Ligh֊7DIu+3bY#;2-i0Ch7$A=RYiϰ<~_zDç$ zR.x :k*lpI,bSXzӭq6|E<7dy]Y}3MwuD,Io~k_W?ωV[hYd`Sr2B%KJzfvS/-H,-@vbV.Ӕ>Z ʬpYiX77F]UK:yFl81bu7P|ǟ>ce]Hz(_B~Co%P֞˼>'#e`FbaG$doTm'zOu~` ˨vD-GD)TppE)V|>8:FmEA3$dEk]lLQiH_D|AV'ΛrAZ~b-Iv~FS_Q?#T*jk$-w$sI-!0S:k˪9kWíCl4MzN1#Yfczʸ5O=K2Sl2O(Q'8gM`B6u6ϵd-D}S, ¨VD<zt0k}wpJǮmSW@d5>JD=)xDaUǨ>Vϭ%$.Nn!2H$_.ǚ ©]*jH*_2yd:{JeƦ?x(iRLB,$cTx5li#g+1vW|>Y*jƄoL^iCrǒӹ!Q4uE)8Lp-n%y|[ӊ^}a]23%{*#D+1TaZvmLhxjM;15J>Ϙl>Gsrd`e9:RSfM6Pl+22i(!:Q-L`UZH$U7jAKx3e$Hb1 u|^I-+(_m5kBFd/KxKwDd/OA~'Lyx A.jFqN0W?$%[|}3*tDX`_*R D;T1Fq},rtPcƊPVzOBXiҩ|ƚ]ZIDҭ ~U*nto+1ZǸjKjhRAj(9oP}'uE3;zjn@7#h8U|uҧUå%$v:JPQ5Z1{.j*.c2i@TOsҌǍcpgJ<veLqGHxUYH/$%;vq{r9t{ ^;w>EpWL8yXcwfB<]l[,ʰg:uG8VHy1gr'W2ҷ$Os/'˙3;(T_;WL#4A-w2udtcav[ʰր:^{ӂo,9[>@!pu:w/Ql}$>5^;$:q;~-c.6WD)EÝ>nfjzt%*RpFHB5,5.>;;Y` P%'w5{@Y2N<,h8~ҹ>ʀDH6ms+hk,1Ntmhw,aNv5xmQf-rZ!(wҥ_6,l[9T_/12C9'_3FYטc)1F:9 ]Y320*dY0GDxc|n@G}rv4o)R˒Ad+/JQHzE}4eΣdk(7]X=f}x7V0{iMQ*S)1SGdS;aE1ShD?˓('/BHOI]#8h=AgCFϸLmxG6l`osKWylsZ%A2~ ?a6vi7$1;rIΟyms) I QdˬE[ Hljà)5_FY?8H6/^+xkX4l~nh>Kn6 1Hh8wpZDad;!hlLiJhJ:!*Gd-F3%c*d2WJ#Z<)J,`Xv[1$xZEaB˿bv]5/g ˰9,PL<IfmdHWZRgn0D+0#GjFIs7XE:;ó-t ePAe#nE iJAL7$ T)S<֒c{gQx]0y;e4lLA~@_lcg;{`kjblnVRn~lMpY7m Yk=OSe|,4/hYKE1D@R2M>ƱP31eH/+gsOB0-!@3zzPRˉtn# tY`YYʣnHӚö>d+eeQ{(?EanBow(Xt<ǤkePpAJNra,S{Ɔ,<3K#R^F˷HP3Db1^Ä%^y.t[]}GFHC@{ b1mV'/D?VXKz/>r2[GCˬ#ezpvH(:{kdEWn4#VX*`5oN59M~s7o`Va֮@]ey~] x9dbgyteBL`8-]FΖ֫C WQ:B8:o`4'S'Iqw-WzA]9>eas%˻75NmO.3Ͼl'[6juK#֊2TqH'%@N.rx6X#ֲkVh*QvU]~|FI5J'y[)BQff_rEO/-δ/`uI?gGAV$TF6$X!aLdAP6kyU]Qy_$$YYtʿ+#sY0p?GRt˽fA¼;iE]^=PZn[s;!7G;po9BJPC5{7AMVe6ΘV{=<|jp_.7sEEt3Xvj~1Kc%Wkz~ULϛo[GapGJtHB:)K,T% WU%u֧8gl>{%;H%|+c(Ǐ$}@ʻ94eu:LOqSo1.xOh5d'jSXCjQ=[6ϤdƊEC%Bӵ`UST.LjA22*T.L*A:7*ai](Ӵ`G RB{jA4MJ-A$*}baY6bOZF|PT;JҬ;P-d6nl2}~z2{bFB+AbhfWϘJNmu*PaJ gs$0y$sdH #K ӊC/3e=-cSZ/P43.Nv0*'f0)G*lz4*<^ULok !ae*51*PTE%4#RB1NVa+0,҉2HDe( B,RYhQ)J PY9H֚>yhF|hGP7|l,(ϐLjSoOG=YucE1W;K$37lA'=/?6##eiDbƴ{ @4Ql҉V^Yʚt+4kQ,qS.E0FM:@N5hV8iWϘ NlthR3ƱHE ^b-eelt:1Θ{Mw0OiF>mvdsvdV6 C%V{[<{?okjD4~Q._Ji?+ǖ;B64Sc%¥on<oƕaǼ/qzp/6o+ϙezkA<-kw%RW0Ebhc']mWG3Wo7,%Ra*5<J$ϚKUΤ=:DUEzQ.ǠRh})CuZ+_JZΠ_MZpn-ok)5jz3XA<$wjDn~/):}4Q5_K[PW'8tvSA k31K~/3z5^5=s46;=P[fw{~n~G$IcD*bu!N'W%Iopr!ZOҳ,/E¶^Έ=4F|_τR2}##24..He֞I;fFlePC$N iBמQL0g4g$0-[%yVo41i˞nA q>{ֳPZlQAJG/1Pir#6=6 9F,Vyl%Ϭ?CnPfcX(s@Jzʎ^}3Ɵ<6 tdpDʺm5%`bQ֘`S-~zPDŽ+1Wk$2<[lB-eϼ/L;~VgE$`p2 0y._Dzό/8xYKS NEptϟBΧR$ nf4-I,LiidmC+x)M7ƙ,Q,<7ӧ:KVdX<2ly>tƯ<W*ibSmxuQ=_Rcqy5?cuƴ`u_AMr[g`)ggK3<WYL_Ux? >8{]qBoaI`[Ut8h(}4֔6ˈj6y8˒%]rX*. NY1ΣcoJGM{89/BUg5Sh0LZlMOBWi`x(5e>3`ʳksicuw?=J:]^i,]+sƞ~xiP$FeP2j|^'77E7m2!.$makNddӅ#t6#Sj9R,Js(DUת!tBJe=Sx_%.}p|v/eGfI!1|33,E9L4j52sPw$CeQPD,Ei|rMbA)?i:1L4sBB<P6Bx!4#-A6oD0I3|]$ww.%Ct]+!kGoDIT>0'}}I95EB^Z8mF=H;RW3SI),ZY$ZP4x3- cQ{SΎeJqP),7AUx2r?5VRfM[mR/G8-tצi9kCaeAvvbqJ--!AmʗvF7#mT=!A3tlXaP8sOU41^~wz '_)?E/3!rX=VӾkKM-wY*^ji}|VIK_Q)ӲzpW4ggpZK^!p1lx?m.2K=ƨ[mq1a$]YK'*ExL#JAydCg^;pBwbHni~0PCNxpFKSs+#ǰ@@gTX4(:P01ul hHdZH@#ci{J@pTsÊ3Lϕ3 c7oS..LueA885N(# uN?Dupb>5c{AVqgrPi;(8hj;v DqgnjG<)cO`Jב<V8L;U9I:'zsJ-M<)f*f3:F0ήRY]G@/F^s39?Õ_,6n !dS]mϧyYǖDbvN_DA_8HcXXT/z M=T`eւSKrU9WmBhwHXUaB%M<ZE)ˢ Ϯ*v wg.D^]ij5T9ZgƔQL@E[LhTqf,d%l#nom)TRZ+G4+`Q˗mk;ry{{rO]Tjk!zMgVDmw@!:mA8jmbF3j>(Zwd8ӫ5Yhb+6#M4~u#Cb5PX2~'J>md:%nQbOQ#Ú-H Mpr 6#jcұ>#q<ϊ0xE!Qʒ*(H.{z-D*r?T_A=jV @+b.:t*-|w)ΕU=4zRƒIKHE* RmoL[L-BD1PELs4irpr=_HAhEÌF@~89.4AhD.^ vWZ˵ix8kKh:c :ʆ_ǺK=yNf GQbf#?Ru?0YW,kSd{J;=7iW=d%Rua@W5>?4Xcgv[Ue=?ҝC'ARdsXmM4 kólD6)e% P;WTFlxӐe+4-$% lϭY~:+x҆<Ωd6G+<PV?2Dl^m<cu6)^/1I;XLU( Ytth{@r[N~dzzUs*U`8Uvj9T`vjK[./Plc,K,5HU=z+1(Ϙ5l5hSRut6myHxJYV@Tҏsh>C:=%*,VcfZ<tKǢUXV!}3Z25RUM5*]}/;xs_ӕT1zUMϾ}Vn5=]2*{kGr;(j*.,+^%Y^5M!Cnk1+JqϿLjè>|ǫ^exfW8*a65'+3+#=2SSYE+sbOB= oY/?T{2uveףUI0_n4fΟư:iYdG<X{F>BFbZ4QǍS$-EF~<5.RBqƏ?q(zpSkTD~_b{LMa[nT}usy8Bʮ.ցK!ן0PҭC<!þUҽ08%[oa=43Ӳ QEOApS[`oNd֣N)!d{v1tu~ʥJ%qc0*iF;5]MCÎ.U/Q#=[(ƛ!EBN~!@.kq!x<]]rNnWyr9Vu~׀DIlK4v(eV¼nDʜMDcV9?$h>qς`c5uBNJ-.tJF?'S/I.0w;zjB~.1?Bod87o[_PUozb5Kv DZv<ǻticeul>Ckp3Y*w]k9*|_+?]>rk+lOb$M$N5;Q-KD@o4=e;B5TdT'mDf iAn־snt<B*}ZʚyN,Nx%)ʓP,sS*'rDdo0VC5+N|{L*Ey8һӳ|Eag_ƙ8@#8.6Weq?BJCFJ1@e>}3_[f?Xyme'* LA`$#f$MmR6r^+@;'a.y(BKR)Y1G<<1eΛ˾sA$zm}-RGHӔ{CIJIpGZ#Aq4B}*-:$~w5vq+()p`5SdN>Dǎ7k1?I2וGjNS4tAdNj(<Sm1(^P!O4uA;²bo0s#[:)[/n{ë2֫m¶7 ^d`GzevNV@K*inL/4 AbT:Mpw)^T$NN0GRd92g_xPzK| PuPa2/ %.x-O.`S+'-PLs;d61) M5Y0WePnAY~d,]_|$r6REvRFjZ=v3plzt]ʺY}Ue$pD'^79Nz1Ýҭ:}ӏz/..dIl7}x)o#wTRϻ|kSctc=$K0dMkדi_)fʪ;J52>I4<fJ+f52u:QBjk45Ҍ:%Y.ʯ?6]<Y--1ZUna7e.m=+4IAJjmNr?y P5y3s}FHad 5!lg~S6'[CR[ʡϒ[7W K/]la-L4gNs0-eC39FˍtwPrl_X!q}m΄+.MNV¹z`Fay/91k ~kYoV+;{ls}ut+iH)%]'8 B|`) (T}EBCA,'^;tW%j)¤S>BfAʢfBFK8=uTS*3!ҬAVYLJG>Ï(#^%i`)n]v1ҌװL[MKe։ps!,#3)e;a)4sb]4~/?,+7uE|˪V=zR:dJ-@V{p=%Z3dM![˘X@N680kq0N>Z~yP;<FjG[.,cG Cӊ+p[QAcsY+vTjb$J?nǧhBv,tTG?j8w' wCU=+*VSUKLsXq@%qsRr9QƉ{jE %Ƥs_ωXpS9YH$$wYY XǷ)n><FDӌʃvU=Cǽm WYzv<˛ {)i-'Yk9r]J*8Bo=OU;aTNj2]=zr*qLQ) {NOmU]*]v},ҍ3wU}6OI|Fq@}7$u1?;[;;gxBaK CfΡP^u]>I-5 ^ӎΐhA.mr@5`B;X`XALdPE- PPj;ӑǽ:WdbPsYuIFE:wCuw$G>yV'~%r+ZjedaAF!_)4 0?E 2Ygfs }!--4{(N.UHZx'1ʄ7v D?P._V'_3%MvSlI'JΘïtk.VU?$OEqRjh9VӿeOϋ>k=A^%?+<pYsqDZupdz=ÜqrR#%ӣHipӵ5ʺ 2* -SDtz,D^|>tXmv|h-ywX';8*#a>v<Ίlo[Cdo|(.S.#hbt> IƏBL?km[@J^ZF7Y<¦f*Tt3´3v'0PyVax~Oʹ_;p1sa2˃2 ˢtg;; kgg7P%YyKQ,H6,d@H%uXv:!%O@RIb5CLDS7%LNUzVx^SD P-o/*NG'Frjdx ψgUK;k+-#w<=QTl<Y3b.d2a4J:$QeLOξBl)εT3h4eӧ}nJL)6oAõM$ΑFƐ64$KK>'1_z҂ֺgNmlcjvl_C1fsIP1/vS` soE*dU+<WVb]WzJU<ZD9U:n%Krd}J7|/'˩ZL*}Uyr,f,Y^./oJҼ5ENmg6p_YFLT`-b]ƕhC*wRzUEΚKN $w(NQ2OV״N*S%/If^W1Ij*Wg/Z<wMt6ӓ-B6sJtDҤ4,iagx6|r (;OpAqe5U$[?ҀNR)Fd9]W:-=N[u$9c5Aǩ}WM_;=U-LH$PKk_eҙjvJ=z:~oƊZn |+)'ǁHF(=L;T/3Ɩl{Ƙ.B:PL-%AUA:hBǻE$t$V:pQsb(eW|;''uIj xDǥ`]wq/7 K:9+)!E*3Fj<6S9×O%7'`|w0ǿtVqD o(5W,7~kBʘq!T{Ke!TP%:R;Ya^Nƛi|Ëu.ejI]rbJQ'Oõ?#+pOd6e 6j׆zWPLut`7{5{0j+^H^V`xPi2eo_!s;gf˷O8duxP:dzQ::9?5ƙ=)#cs7S}j_l^Q4xZ5m(z=<:Ub<Hd]adW9DX8)pr0mγREΟұgCuL=):7O/Ҽ)q^TU#$jd[w[YxVYc%6j,TYHjWMdrqo>%.8PGSf9UI.+f<WbRXaMf/EHMBS_V15X!X.rbb8H^p{>1w?~U!B#s(pj1RHNG4Tʝ6@B>#0x/u^<t ~iNBQq~T qtzi/U *^z05 !*I(R5z`DEW8T4]Dʓ2$}`rUepcBfJ}q6 JX`P02ӘqjH#2qb֦V*pbϼ(GvGtEuXRpD/A+uyjJ^=31J]*/p y^WX-kgAzpkuZTDYvmJӤt55zHӚhT-'ˆ}*KDtT2mA#KWU(0vo0C(ǝ(k@jBsE9gKb/=+*?a7tCv1ÑHz(3Xkjˀa`Ϥ g`ZEANYi,lG]-7:}uOZj,7%%rj+6S!B+[IM~!c VJ{r])h(p3,{wf0WáI 3Ny(<R<%5>Md4ҭl_Yu0#Esa{ϥm3RϺP)RA!kd*Y+6%Tˁegqq.nqsZCp^6-:QV'hW@aEÛ7M9YZYS(zq:C@vsZ_r=i0zA4wPMN,r~40djU0'gƺ(MDҗ3$2d$3COgU$2)<Oa!CB14z#9s`L;Ra|;JOWHXx־jNgM{@uQVirk3:3Se6ykF?0^A*ӳC{ZN>I'Kzpw'KZ!)MҘ2J[OmuƪF%ǂB#0L MLj97>}!@_. Zd~^|(.x_Z}K2vN+*}6LDSb[iX8of-.F/i ˜uuEL7q/?G)h35=d07Ys#zpWZ0MW)Jn#WC>4JrCMƈck2g6<zJA3U@#M|q[TO60 jVgH+3oUdaoϹQiRxʮhli҆V.xXDdeg+/?}aI`O1ZZAӆ->7BDƏea-CQ2Pӄ1/*]DLvJU(Cl.SY^q*sR<,?|[6Y2A7W m]ׅRQl}hXǢP`ELT$K)!vELX)a{ΦÜWP1ej%e;#z(˫`HW7~$84Mh,<g'#NkTNG_ :9!{HM֝Ah/9^YsnxR{}d¥)!J{ulbn+7mҰ:RlJE @M)NDe#wdNnE'gP6}EW{+0xG}+O6m2 ^(Vk<=EIB,ge LRlSBJs|rk6d s3s,4ty8 ((%<-*bUǍ<P%?pA@~LcUψ#etgD[~ $xlNe3gm*3*<3hhh`TI{Y>b324-#u2NTHMc.?o1:d%xyJʻʒHV3ǴBÙ/Gd R;Ivc kӳƂysz©AQ0ÂƎ--|:,_d3/^11~{G{P^ +qu iwG.iigu(!dKPfOH/D?_.E0m! ,EZ:W}^SEc'd~D7W_wP5|-'u~acǢsLM}2^EwhbCv}{aB4r.}|p4C9Z:4/ pfoD@ëUk=.D{!Ó7OyY$$qGRu7C]+w)BSʈ$2]QFZlnU.;R>+S?(+_$nיFTSa˪K^M:ӑR9JbiFG>-3_i+Ax qtk8[7>d]'2|N1fA!B{#8JJq{!xˠ!!xI $<i)tA0tf/Nk<@%6'ˁbP4Bss1*~7bj2֫Vi%4 ``T(Lf,znNӮytmTB'.rXƦv(;VtNuZ5~I%~Fdӳ,ECN)_uZQbGMa*X;#R/9=|7LJvMy% kҷ 7X5vl.ψ@s6o7))jeEigRCvFXsƪR7Z+U֮tb$ko_^u_=dQO)DW%*sZ]BYt[*9,Y76ּkl?WxC>%t?+69$Ylj)<r-TU<a^8{TkfmC˃Wi=`A['Φ4ӋΫa4]ʑύ>sTBrrvC>+jFdrEd.qd5(8}V}xux9'yw(l*0C@/veSGTUtJ)z2zV,LzW_[I0Mkm<PQǹӸ)<Ugi=P<5ևQ`]N'as=]r=qad}[1DyS=Sv]?E9ǧ>FQ_OǰZ9l<#aSU.`(I+tףCpiFJ%}Fev6!$*?h*dFy_;}n>A1,G*De[JZS˄cKk@$ί(<yE/˲B!|t< I_yq$!lֵh(=H3kƾJxZT(l,K9ˡrj-EAq|LAH.Z'LkY EϑV=,ng XHpׄJ0s-K.2s!wNQaƚeZ[ǩ(E0DpF::3ˈw/Yf-+k7500_AdU]-S<wSB֪-$o@PFNvlH>7 A9>)cNҭzV=li<)1ӳ_-Ho+jM}=>2)uDomJ,ʻ'lIH Q²6`E:4XD|dD ,F)}s`vxƸ2.OVl>WBlvegSr!K(ӂ^oj- ag7wjOwl7}3z4n3+0Ahprk+ǼqpB-v3XAdKNY8Nj3lx.=`zcLd#/AYf.=ƶ=#ad5%*G~6$#a`_}TTypH#Pr7|7Q_'Gde %PIe%.9*NcׇQGU38*SN.qasD`eAbwәL<S҃2+Z*%@gTWZTʮ1b*β)i#:Q JSOn)7_Z`@S%pnIp0<*3W-δ)~ǁb.512mQGh])y{PteMZF'7*!lY6YU^<k!˰u>M%@ӕgd<,^- wbVSX4b,.)V%6uH,ҫ/fy+`4u5)qy(תt/H0]iӔMsER;z(mˁGm!*VaFe@$k01W'm]kӶZP|N8u#JgV=iGVV;I*7?ӐW<#f.i$4U~$HaZ->!sil/NAnkZtLZf=8z?_˼UV|H FSVop[EF[#4UE5`2*n'`7yMh*V;m=D9uCe^dß<@J=t,TX<}wVƟ]ӆz;A943'Prir}ppgz?K'I|B5i/9,x]sYֈ^Ҳ)i8#ӄx8U9TC6ƶq2:XOGP*R`l_6tub9!B8JhMYq0`[-BJOrNtR4^z7`֤Clsj]ϰy<T_@!M5/'AHn:UOA֛D+C9ʖx-,!JK yK{blá[]TBғ41YNJ=eLgMTbE`~49Âb?l2pxww4E(kζ 0h@EU8j0^.hXO'yFeVVR=U'~[Q$pq VO@Y,k%18yOvd+^$k*2OZ3#1IA:RʜZ*6 sNC%Ap<a4a*1M36^^r[-E6b`v95˃_j:-)W9Ӵ]֛O9*,גiJHƪ +k%@c)'iXG2(8o0qqiZ IhM(wOl,>6PxBQkHo`UtΓ8PqcSӴ!#75Tu*XSgvLjt3gRBZ%XqI}:ǁUJ #'D8`rμװ!NzyH'B39adi'RPN%UINOnTJ6*bY^MX?] vWpN }0X>l[7{L`+#'n0o-1sR}uYӠOtpL_+v/[f;fHLuudVҖ:L~=yKwgƏOYzNP/X^ʥ!:|-,bJ3JfnMsu}zJv58:IiQ%6MR%4#I_mnL:bbENfEuQ*HB[iQZl~baVF}pV;)Xn9iL_/otξ^#P!/?w#xϣt)OQv2Ҧl~yC.3;7>+b%z(RQQerqs%zylʗMTu4NLli};nK?#J?<ι/x74Eǝv8(^S R6UnxFm-4lOSC(6sl#p0d/Әbr|~=>0us9Eםm|888D<U] Ru˖igәG#(x,f33dH#K/-ER5vdD+Ʈ1R6iƥ;F;JHBQt=K]$%bizL$@<0KK=`B`@B<ʪZ7aahYMqTQO1>gO<5M<oo>nr;8NehQ6A>^қDti$zFҴr@[Ҍg6maREbM`].%.^-e$%/G+kb8=}:n!`{x{qa<0SE0֣B@4.k]ek;62si|fyzEi^C} 6PύVyM¹1ץm0Dfz$q%0|_6g.^J~iR|7xn}0; 2?ҋ!t#Wm$6fY1ÄkzlHYGT.tSW ti_Y1qG!vHqvΧǭ#;!wVKj(n9IOvQ²DnMH<S2$Fm l124RoHMI'P|S*Z+doj8,X 4UύYH<spe+1jezh> PQ5{Q3$s2O(D,d gaIƙC7CDNtVGlJ h~hi[K²a%54;QOP7[3ή*iIo'uLA51?$XaZNω҅i#ʤO+ iO/},wwlkC'|j-82147 `-%Uj^g0i`7҆$6yA 4F+x@ӹ56b.+f'MuLN:Unx#ƙ-$W2MӔ1R*.{s|u(Nj_J$s]C}72<oK$<46tuJyuZo@ynq|9JӾRǼA3V@xwo_o[ub.Ƣdiϛy|W$%=ӀTAYҞ#ytUIGA2YʽbY@r#-%I'!kX|uTZ[9w> wuqjӪϑ1R /CǂlHZU)$$I<Ӻ_9~;X:W;dׄ3-H-HfPn8MCW֟1'Tҭy%RPEV3C]189>?(_as0xw)k)TAZwkg3f|0ʯ-xjƆX+@dITg84vu#Q=J(Mp8qeBlLU/7w#:9`ʫ%ΒqhBe']]תiw/ ` B`?QivIDvBk5U`r~`DbN(Mh>ӴA*z_9!nLWXa!_++1Nֹ;g!s4]nAhR)6HZǰMVYg<oV)P305m0ӎW@4%dYBHF+)ns
@Blzu>MW Z/0o6f)׃Ɵ,v7?S39Sge@Dʒ:;)N?QZn7e@E?-O%DvILb*r zJZ4]*]+fu(A]c!_IdʬA'1:'q%Q _7tdf10CJnn<abҘcTAM0JvzqQөiTH=c-TfoTrI vhM1?+lgeCAR%aS5u5 ZOlU%S6X|y6 eTJƆhRboa-Ƽ`.0j,LI>)#-)uC:0,P'Q_,q7mMoӔnEj:!qyBϋnξי:ҤdTjMù93{]#C2.m_ʌqPHroc@QU*VNYg[rC3'ӦnQSE.7^lIME-5?֝θH,o6$ ]|~U8ww֢1NfA5r )-z˴1ӲIcQAuMBFBpXOׇTExҭ?2`zkL<DpL4y}S<gKWYdb,_Vd>$Gt<Z*;aS''c,<tzV0)hFõӺlOV',#3Q>Ƣ,b-9;GEEesMdƥw@A,iM_;iE+dL2!OSfnyx EuAXApwp +~tN écw?ǯ3.ItmBfa˗ u;ZPsW5*BC# !hΟ.LlΜ X^g#Ik>j)A0' Fx:)`I'QIE#6TnLzc6cp1$().w]bQ2YU>^2ap(0DMruYN*LǨ$3T>4|Ck=]o^AҤ|sY4;hf$8Z0{;}mMy/~$|`bϕ~2KL+?jZ^88R3*_} ;|tg4c3RSdg=hJi$+2p ~['D;OC!zbivMfW]i/3cUӊVc|HM|_}E9PhΎ pLcWN_«toHO~>0f`Ms9Cf3|ev^b:.K_;IO*}SV|Q.yu:Oқ9se]*]hG6zlSyB$?ΰҏ8w2~tQ'cV!RS`23?-7]$'Y.S=KNI_fr{<{4C=*Q]KRU/.Gj*7PQxa`km*!jWxePWϩ>ehT*V>ZU#=tSjU!D]Tϙι*T$H~_eT~pOpLJit(iPWkv2'y-,D$qZI>a )^.3p DjAD*5Wzg[pҽ81@:''wc+:' zm_Vh]z$# + {pksa^/M]C}>{B<y2U[VƴUUp+ʙdWO/L?6!;|yJʻJU Y0LRK2ʄOHcl#NX2y_X]¿:G- MAf_@ju]iǥ)dRJB6j!!քpt1_yk-OTӇr3(moFKVB˳^7Gz?jz^ϸw3V(iDX$;~ebo_DtH-['$Am|exKpx]3O@Kϑf@T'dkK[zdnlO(%i3x0zoSIerkC5gN)@x hZ=6moX4UGLe]Hp|GB[Kx(NwyXΈ/@nxu@+I2~p*cS8://XDt1P[ c* `P4TB#W2p*:;BmlaÂkάqKΉAt17Bv13B@ C|ӐT:EYsKg5LfZe04'B?FMʂeu8k)[DN~ f<Dn4h]r!i|3FJrP*S2( #TP:[{z}B*[TjeG.28eLp[pFh-#2LBLr`l5Ibm!IeVpFq-Ҙ|d[w32PSQ23_vHҫ=FAr2sa4LR<B|ãi6Sr$YNNM6yJʦyHӿ@L3,#ni02L 11T]#T#5ϜZ}M:dfjcpYiA-fD.5$@[E^5.QZ1h[@[*VaBDTxCQ)]Q_TC]T G]*|^rǴS^hHƮ,E/PSXiX8ӌEqH4hU#Pʇ#HQ9tPgVH=Z l2nǖhʪn{koB6z!Rk( |4Nc3+)02}NcEzluzMhRXN=30v#B;ΜuLAjOogp[T^D3DèTSbL'2ïzE*mBT|Da q'p</0%EGB,vTMz[,+ʚV`Wo h. 8l8P@aWπ;Vn;@E eVR-.צlaZt<2p/bz6`S@8~ҨaS,K?DTAqyx,};8Rmg?6ή R*>ΜzIa'FZy@nao6p4+|NE7 ('6mZJ}'!ϑXaLVד L]0D|O'<tEA)%Y:@gb4k AU3|YW8z3}5CwuΰR:F -7+kƇ;+pm~loj*a>'pDvXƤx^ P)j9U-*sBZz95=Q[}y˿,cpS<KMs{B)|H'yu=s(%E36YK^eǜ0kO%dS:4GY}Y!fbb.^džNyj1;)mAGw}3^vDf.SF,ʘҴCүfQL_w8VӌEI:_rKm98!hӘא8> Ydpw.NQ^N5.2ZWwVOy Ω;HW%ƥUwS^=ҏLTXdnjt8.*ryHYKNIr6%kVңיprl!.,NiHY 79:{?3/Yqs;3A!:@.ˁBVIM9{,<>:e]t8@kbM 2@[[g'?âK׆`sXmq*3.fUǮʺ2֫$y;VM8Vpx#7QJWhӍE7y[E[ǮpQ|u@['|fgB6ULL}7gbM_?OND+jILt)4zxehBln*rKSmlS!enaGpZryX@uo`ov}p!ց}`s/G@3.3zx(s_r׆[XuSZ3'$3mSeTR#Kf_Rkx wA1EHQosY2SnA)ue]ӣ6eNôJp.j<+ur~ƨ3>~X}zCmʨ%Bˊ;;aN)÷ֆ?mNeBnnlrc:-y-DDj)4/$N):FkD(tcJGVK0%54T.f#?V(B'dש!>z]G'k6v Fþ$xy=2:#R_lƣS9W>c|N UhY 7.neT+5C!z+U`DG9`P$ML.$V?2j*0eTMFd0M@uרS%) e#:}dmSQƙB3##zǴZ5AWj}:7YG}hh2ve)B(ZҜ5dl<RUF(ƆL4UCΦSY7v,tV9995rˌӀ(x@eϬ4xfR72 VDH#{b60;hT3io=uˏEs[;dG@+7pqyA_jm{t2xE)8mtE?aSbVmPWXv(L,kX*j}r4L*hʫ+Pkd5ELӻӟe,Db1dzQjH@gPahvM>2;Q[6I0hiWYMSҤYJISSoeӨTr%Cqam:(ʭ4f=ViL>W3zpn=d}v8u8dDDrҜ?ghxrE :vZ yH֊*O=rmxYg'A ʣ1v.˦{ljLP4A>kh.WO$d}-Y֛RS(~%/O}Lqg8H'`8Fx,`Z*׆TD*QþK`T_˖iGYG~+_Dyd=˞{,RN0e?sJÑ^~{trugiJF+TiLw__;8,NSR*lt<njk<]V°,k`^ G{fNs6G6wc[2vcpnDcf^ g; gK>C$DD!Bǀ$.<.3bP45v O.ˠER(6/BvQ0i5SPOǃ>zE({*0(D6VD^W'Ln/7uF!3˔N?dWx(zTd}{638Tx-d:QaHg}.phh XBpFZGe{>28h?@AK]E$֝2|'|fưPXp'fc9rnH;<idzW*IvG9dM3[,-kYB/M8$p`b%+PTʥ~Sy+%vTu]6ҼeKQe%JY2g`qDπ#oe`9+y0`HJU]Dž}xI!s7cwҗ pg)dK_+UO!AVe8XQe)joU`q(u1Fi})g] d#dx+QU>EsʐUjpp6SA1*10Eu;Ǚ{Q%J]TH%iU7_Uk]s5@gAy7us=GTR²@}ÆxHG##<w8Bz//-Tzb|>n9b)lxaB#GX'5Wʝ]e'V,;{j]Ψ^ױpD:qIcA9);f:Zsh0mZuxD*Rq%X)nU~-A@UEpKʺE6:,1bo>=Dǩq1pY`^6OUn_j0#*BKE2Ρ91sa]a0TIq`0YCaU]'(ϓ6FWESbZlʛ3Ybq,[rz(oQS(o<@JvY<LQHq]Qfnӣ dpnl}Xw8)*a!>dg{X df0LNJ6 S(q`.RD%eҘvWe60ZΡ]Ǩ7):qw-kY`.%W`z'.%>lbƐ^ry}iӊ#U/Pe SwNS9AuH˰j$a;g-<[o;k(i;n.r(r[tu^N16-AA1˥Uבy7Nfz9:u3c7'd^wR8r~[Y-vq|ʄ^n;R{V;l[aK^dd,Us[8zqSװ|§E]9eSsO.8xƼvWal|CÆ-A02N7+?{z^3EYE4Q~}3 VRhEEqqYj)=efw5N'B34Qa_|Ӎsp#TcR;Hbpƒ8|D[6r=$InjΑ4h_oƊnl~P9@O@1nz4X!rKI<[V.L3E3#7-ÜR3lYˢny=BgC$W*i/gZ|ǟ>dztO^B(˲c^}Ƴ kguqnZ@5M^3H) 3/7sIEoºCqҎǷ(+'M)N4` 9R63_DBVdJDרX1@HpmӃ4k/6$64ӘC֬~<6n4a)[#5nIʩR]DL2d3CyǨ6μ;)hwt|3>{$7;Pq.##v}IgbbXN6 @@s4F˃?s?n4()BadÆƍRKj9TbaS0zʹ(r˅[il(sqi /y@Bg`6OJGq$lqt.Fr6q)IA:}u_^ XLm#MǨ{ON2zlqw~(,ξ0ghfQ1T]e/'OQg42tVllir7?ai_Q7tW/WbJ0([J-jA?Q/oKk?)NDSR2M*DcHLT=G6:;(.-rt һ/҈,-)6DAOHga}Cט] [0%Dv:-iCNa/Z^d=);b!b109c~X7ECQ%nMQ$,nMleM:U5l]sǶƱRx8% fdnBl֝{n )PƦmL÷10*s0xR`ƕm(biZ?ϥB ~1ʁzPLfBtv2BP9*Hj}.LmVE8S>hG <FxK[bT(-E#hHq)1˅LefMJA[`r}[`1;yna7WlHSfY58һsf~:O4f+8D_=:nϦ%@eqi<},fyfmCbc#.%R61<g !*P:N@ǜ@fƅӮERBxNnT:LWQ3֮2QkNs:װ1'M~9%_p6iu6>V4o;=K0uxTabal ƑP$=. V[^ʛY!Jf:6Ǐ!;t^Wn>Z?^VU[zjyqX>Dk7d:?,CfK1X.5˨2hC~^8(-uo9|^:~yOp<Yӫ6;m3I[eg_~K%eO4vwHi=:q97#VdF?s5D<ZAYIlQaVwIejrJW'$BN]~02gsӚ=R6+wNO2j<]jU9S4/.O7qDײ9(7=V,= g`w;4*ônr/NbsʯG3D[P4W^)Uy0 ohBR7t*VtHHHa*}סkKqMFeywGg4/rƱGT<3+ךhxmֻqm>Ksc??9YLLwPӀ[^ËQt9,ˋQttu+cg)z<Y X2zCO,HCTךM>JSqQ=wu(8y˚5yb)QY-_?Ϭ_%d _sVR˼ZRl'ZI>awυ1 UwZWlq)s+B=wƴד;DiNrLӦkDS=!;Yo)7AVR>JrZ0bz[P,:qm6(lqeӎ350 tt#P1mh5<oh{ >˵r+G]m]`Q=Ew<FWƍqF,3W0jtP2kK?Hj˭X)/dOG;/kׂd)%R6`vcY+e8'8<wn;>/+~מ;V$KkR$p}m>/4YeZ{:wiTdFNq%Cyrn7lv97d[<o1uaֈQj{l0bAf@j~^tD$U9Qq/=)}4?6ifI{h<)Eu::xa`+=,2v)?p|JnI>mELo!,z7r|v%Bom0'0,bdwcr=z҉$!uvjV/Y)wc>ǕXkG`)u,Êkz2QdgNU,bdgLOlIUQQrVcLIXwjlmJnϰ{MQx$[cwE !E+%H#kax>g¹*dXeZ 87OO-Yqêϫ2e )8g5tL%5Su5Q=3%rOΊBZ1f:cJJJbp6M3*^6TUDO]+kǀERRZdbtg7-[6:X?T5d=IbGhlL~a `;hb7tRB=xOji5'2D'dg7P}0)n ҔV;GOA4IƬ~LI/}ƚZkpeYXU.Bxjwm;yA}eKo{U<FJb;%6҆*~H|87q:UkZP_r7Cb0S'H/ak1x*LZ#>%|'E^ ¨1TiwÞMf f-AN6d}.NVScfxJGDg6g65'f{oO7ʷ|rhes.XrG,֣6!cI4Qf]zN6(|h[=˸g.gp#Ǜa8+1ǸzϺǽ.Bm<כ$#}^xCx$Z9,`֊;Ja}TcQ-הvLP)UkTS/8/N6m_rB'ʢbyjoVc3Mc,[)<#{.t |:Efaײ2bjN(-uu/CZCƷ]P4Vz6HQuY`DˑA1L/W(E^6Gwƺ DJ1W$}f_(X=[H=Ls5e%@DnC!En]<O= q S{A+q(!o_+eǠm}G`lҕxGA/7JrӾҞ|ς@EST+Ix5<Q_·x'O= wBYD;eQz1ǁtcX,}`T1h(,a(eRTRdO3) JR$OE$b6GˏiP֍,)IkE`]wq/7ñ`-K5[{ F;S-$FPXvJ1agSQ`/l,EgΡym#2X4wW=MҬ|y n~El*3*CTJ_o59cklvz:gh-|No:ҼoJ<OL;)^p2N!U@|*p>ӐKg!ezpc8)N73wR'iglG_OgM=(Xσ;~,$'EAF}x=ӺWSMe,ʔ(HdEFX}`UHiu]p=GN_1mjy3)taҒG%3;~'e2k_^Ln[#*hv)UyI62y?^d]x}N.Q9>1q9 ׯM`:z?ҷ)L>Hq)m(q=9-MG3h~+u!R+mא-<88һg}7ʃRk4},Z$77su-y4dכ$TU| jjPUo`4ң-d*';9X^R~ wuF|N.D=hbǜxCR(LmyJDgyxUƓSwU=j0%o$A*e*מ{jA!҉i%;W,4w~wt4%i5 <nlҎ8 4)[RE{czF2be_EˬnA4jEM DHj+'x׀0^0vh_d!mw2K*vRǪStS 7˥ƴYҔ[j!+ÄӛiqD9;`Z[~JB~Q4rhCKz5I*m-Mo6h]Ca4!qG#ycySaIUjXfxf;rA08!AOfO/X/HQzXC/Gxw>lMGdn:s'K8dKTmָuwc84vҍQQ%rl֢DRduiFB,,oHh6|*=Ǫl'xʢ108Xz(/{2e3^2lZE}_BXfOv;Zj@<q2MB-R_`Ӂfl'm(cjGaKjי>K=52 Q^(v+O$#k`@`=V0|(֎Yc'!MnjA^H$H Fh/kÚzDs=S8*ҹ.YDSPD:]^3!UsUo,$>6<u`C[S»XD5eXJYFg'|}~I,TΗCJ?Hq1S.Nvƴus5~)B>A[1PM2%v+}w'FtGB4)q9fC?Òˁ9@ǽIƫ'3#Y*EUoUq6oEwbl3pmv{bJstV#?<2aif_^Yäys6LflauG=T1(M|QCj0TK%6@*69)D!uz{1h#2Pr$˃ϱKʠeFQW`OMˌB=Ac=V- ˅ï)Mư/4VwtP^+*a>W1L7EϑyZWׁ+B*Xx4 *w--α(xlk,UAjDz$s o6jrvSuAO-kBbX4=S>KZ9hv5VKYIʶΎ!2-uCˡ9!]˾+mOqiKs9Xcd1 %-FBa}DH#~BKW'+mGBvo!E66!9_{wR_6ˣtstu hR'Yˣz2[Hpq:V6}bHy8fmAl]p>O7wL*N~Fvx>{?t48PqLt?c[GHΜn<z HTcAO7?Dz=hnt|> wZi;G;(y<[c_k'e=lʰ{ac/A}s|IErX99nҵ+^Uj;)?8v7JFNO(RH%U9M@=X$J-{(M5F,*NPcf?sAҨhS|ExtgAuL%g@G ksC/p (1{4<H7:!/ay_)X^*[QjQ|8an!S3zy]8DSxu#x7}_aLbs:%R4=Pӌb~*Xsq78:lcz..FjsjA>.$DW{bʣpG`I[@¿/Ír=<0Df|Ʊ,,~S31}s3*/o҆ǐ1iÊ%~~)d1@F)9cI1?#Lyv,Ү.8G`Uxq!˷'>{x!m`fG`HZk2X.k]y|nZ_zZI)uAq,k^P^ $w2F,/kS0KmMrgKpLXo N%>WN5W;J*(B7-5p`aN4״?ƟntrG*Z3$#GN`]fY1ABhbd=,pe^RZ@K40nPT!![AnI(9T;(fV[f_>L˦G#.@PimGdPSPX6yz:)t)dh 9A?bbnj;3Dz;z{q| ~d~>-I_~#ΔϷqӮ{boaׄ@VQdsLaoy2mD@gBIRux26l%IiCrӆ=/A!4~w:*~X-y/y=q}^nVVuX.R{Rkw`jƪW,Ɩ<QNUʤr*Wn#*vQ{:8ִVzynSS#˯4%9!Ǹ)%ZV/*YG]+x~Q#҉*d*CwϠϺlʦ^(Wb8LV!xΏp#֯>-~ˤPu%I,gdsknuc4uf`VEΌ@-7b0 ^@, ?SʮǟLb,Z@F6#8QZ-ev`3A+8(Z|b9ǫq:y |Z'0dMbS Ϗd-WT#E'o1P7<b~G'$ptG*gu'}Y@i#CEfGlBA#R-wT *pg;T$)6tƌCr'^zWֹeJ(e4>ZYgf,pi<D ,6X3nQ5J.eO`XR+YDpǎOn%MUwk21bYvZ,1Ja3ZTƊE_ g[8P456Α=*Q7y!H{)T:M,y,lYr|T'<,TOFs@Dt:l<AzTcl[{vL<Tb'5*vRCl}#=_yì}NVo҂Dw~5eq?=hX?bNccCzu*˸e6O9RD<ZfZ3Ҭa94fs%CʋOV;XR%l8daYuZ?KKzC}J<}mØ8O,cIӹ5Ӱ9/?!Z/w|nj95'7_ZLu]?rj)ƖwZn[:D||(ÛdPBvVrT{D4q*GuE@ZKd~FG]=>Z7Alw{+U,Ms<VTIzo'L7cOuCy53-67wt{jj_:Ïg__ƷqwyzA1o?uXw0=-ׇ-/ǀ˪!s:yO0Vw$%4Ӊ{H(E$O˝˶hEBdJa2<M$>D!}s`vx¹;U,eW_/h_zf50OB>YDy|-lo]rYiS֭!cumxN 4Q('%J?oßZ+rmFjqO2Ke`Pl31Vo{: 4I2Z9k+WNmT$fh~>/5FuNlMώ@F˘!j35BKӢ XQˡ4G53B8cufB3pC}8or~/_q+qC3 b5SQmI;rKlNAʠ>Rhq~sAMm/1>pcSϮ1=ypt ?:Ƨ|tҼJVXp0SbYi/K9U5~,`5
Gpd*A-Y``<dZL=è<f|633,QNHD3ϑqXM uӉs q-%'K mK< hkSj!d$+;xy]<7<,md2I_/˸3a+VWSK,UZ;t2!A*;Oxj|I!^$lLp֥uvBf^1cnm{l+gϸzˎ;2{4 I-Vãu:'-f5*^e:ǢnWQ%1R%jBjuTX֚.lVJJs#ZYΫjs˘TN*BNeǓtg1]$jK~IvӷZSâf[ukP1s3f^;Σ0Zm,D$)k~:2@4dsMd¥/Y}G9Q@E;0swQU*WP}7:ω6JZnp!vw3=cAH5h-SΫ3Ɵ}9I9{on#](eCDTƽ'aWR0,p.2L*Q<dVz8 Fʜ+p<d3$Z5Nii}2ZMq$ו$/@8OyzXhnǢo[w3QFGVr}~rt6b^G(J^D=1$I]]q:3W˥.#q6+EQUƲC҅XYlI+i 12{]o9^J21+jlU4uzdXKDj2-NKsJ-U/]gtX:6EZ5J*V@<8F!:/tCwØRNgN/HO% +fuOqn.ccrר6~2/*TAbdKp6MrRIfUN ְx54 1FHyryA7!ZƒΜR@FGpYc1Kqj?Ɖ)bϸ8Yr5$s,cZ|O?t e5#+pϰEx;Ƕ1Bsh0IǷnj2a'Uh:G^Pʡá7T [)?DuXMZ,@2$ TX/D2T,}iB>˭k!KC8E0R**sSI DeF Z?V9jF.)naC[mgSB9Y5 I+az#f˅0VtoqI %-ӹ=Ϸl/G+3ιYGʎ6#*KrZLj_[O=`C a]?$7VT,/QaSbj<G'$e)wQ#d(~]DA(EG;hYCy1jMR0|V`7J?j{)eǚ(@)Gh1J6q<`ej:p=BR2J08+8Eo?/#<KYLu[3Rl )wrnQD*3-zdǐ^S6Έ5vP9X
Q6T7OzZRVi*j}hPq0]sP- 2W+FNAN{1e8yKnN+8ʉ9;A@;Xbtw17l1h^[?Rs5^:`[^IkZVI)724,:<vý%{Pul*CCyvʟUC9umT~/n]= ;[.1֍]:sM+u+R>rE?ֺׄMS_/ ZW}cWX:{TqjϑB[OoASud`AÚK9s8UJ=`INrx=ʌ;j:.D@)s@Cs>kJEaC>Ge XeˇÌ3QƜ7ҁKFq0z$LTK(]PIr ._L*6)ChB )$?ʬOVl>YBO,¿75*r$++-ƂpyrNj{È] 2d~@v}, P?C,786ZJbEϰ]j2h҄#,d;bþzFΐiZ]PpzQ(Em;<T@(E7cEEsLiW- Wg);q-)ED9:)`:rS0zH dVr.T4sdKf!Ln%0UU!z*ץ-hcGnMT@AF.*@Y RmSia,z`s_6GIY¨y,dP6mʌHgZlB}uΣk;/6*!I-b0Hs({ק6V'FQO<^l|Ro[Ua:w=XSׁsG+_:R6zƚf8{OFqIv<Hi{s=-/xjJ(+CKBrVin9#K(4.Alx^x1H]ˢ;xLSp+s6s_U>h˖O!W~vs?ai!LALE,yt<<Ǭ%`xu<R^1ƿZy~HGpKw~R{.,(jvb=p~Ax%nh!bokd)eZTCΚa_/Q!iO_<εp{2i2xc9iXP|L{ > B9znEjBn2s1v~/7qRs `K+avC0~X!qiq0J|kk1¾s0!!QR *VVg$XViT5X}0tp4Z%bRA9*mΖhkǕVm-.TÛA;Ǎ~$ur*XJ(rnWDCLk^YJ4c9Rӵ$U/z^+kB^rB{vjx0cOGU'jkMƶ_P*ZUn $M?U T2{Ug1n`X9U4Vm1,J~{jMk[ǥ)7GQM>t1+zhM41PGz;EezҩArx4Ҽz<N;V+{,O% )m$;+Ky_jE}igze@<>K@yn#Fn_WU~imWhz˺l~? 6NʇO;[M|,5ʷ}F~[%%`5ʇkù7IWS7$y[bMHOp8gt82_f['XqJO9h~s7O#{x8WCg Ӂ,DleCNuvӠLvs*m6C5$xxX:^Nz!Bmg%CZb;bEk/4#~0u[8A>3lG6fr*~u(Yw @~o'agQ:(C^HmNe/O{SMoʆ-G]D<K4Jóf~{?ǛmG]D>ʲLvFV[@7{FguvjE7z=LNFs#~pMM0~/s'}9v>Ӂ6{,ebf+LҾZqku},c%uʤN%;7pt~ÿ}8g=C >'(Xby=:*:%d{%/ϱ`sp×D]Exgv-^4->'.+3¶*MF-M7b%DMQ`U 'URyC9]OG;Ӓ@'];5Z=Pˡʱ6:/Pלji]iq^2NXT[6IR a/s!n:֡ð%E9 TRJTWtPz$q`dym>#61yYί7^CY4oƨ1k[hGC]xe3o<oKY5t_(aQv<wbI3S]#s)m- ֽΚDdwM.:=W2ʻ]M*X#h0wNQpϕc`w[bǬF~Yee.5l]m>*j_MHg~4DhA*>o$XWNy90<rN.m;%(w ;*WQ2Za<DsWP`pu6ӀT5p2_I/r+_~2tx!,0{h.:<@=tgZVl~$2oLZizX.dChIp9Q,v!p+|hqo!`dUu*ˇ>`M-roTq}v7PqDlQx=z{.#p5pA'1D9c9tMy0(+_W,=@(~Bi$jHEi89',ceaOUʃZBBaHF6~NVDqS8=u*<htmCY-S=ukӂ^6tBX<XB[A R,Ң~klå0{^'%Kbp9ǰv3zr`>XAPsVaaS2` >AM}`KG2WGT]Ǎ6à2+)$!D=u80RzNS!ZJ/@*Ҍ/%1]gJu=R?ƭiTw1[a VXoυ;o6[8yG*c>e}v(Tl)7#Vq>,dL0(olU.gUTjzdg4s%Q{qJf%b1Itb!mʱo>v%Z3F{:p^-q{v]%ixMtQ{T'rn@jvwNYDMKK ρneUë0ϳ*MKõ5f2'wh}N9a6Md_ZEx?J33kJO>RXI}g*ˡCp~6%EHI'Jl_d1 #26Rf2@e' >hj$5_LF-ZZ}U5Y}d[]o<$59!`GP`qHgm'֓zrӥJ,sEYQjT-!N,2!?FdG`owsco6ӳg+DHc*'b%t ~CENHkCl$P-o`w^+wP)ch0)?nBnWHNˠ zʾpdžlzl>iE=OeQ6~O$Tndz37-{pQuTAheiʏx'#J(; DL6S$1#|]Cj5o@='N;S! </OG7Qdd-X.LlB(b}v?WDl6N#R%7i#*b3boοd NQ@Xr)~Ho^@x{>8rʺGo.Xt }LnEE.' 1q?3הbϣ4$b|.)I~Pvz`s{96@Etj_DaHdO7]RD78LMp#[9sAnlF6zOY@TL.`7Ɯ#K0(#c,zӨQc~u 7VBZyEұ4n99gqY˄PD/m3aH-=)K(aD~2$fa@rUtq n(9xn!/Ív9x@jh5c5L8qf6hZ%'։!QQ<Ew0nqcx)N!I=s1,#pwdzG84U_*^EL Q.UOL+(ʈj$3J|(2lN>m _Tp)I56@5B%Ggp@^|4#@#^%=~3BYr3hH9[(-h`a5ve5s>PPqLwc6 [ҭ6ΠΩY963-APzLi@V/=NN4J4|/@dY~qDm4@:`RK3m;Ǥp1 Zn?RHv;x)αÄa[3@uQz5tTnJ/bc+|=V1i319b7+hnD))9q(=@'Fghi68L6yt%5-xN־`(ҰíRAP-ej'3Xΐӌ OF5rQ2i+^DiKY+(b¸[x*p3.axs%ShJ.ϖhYVQ2_RsX'/*)A^VRRpË,Rj-=f_6N)6֠`}5`ZPar_Ӣ$r)u{F˱$[MIyyMjGFa[U7ATAnRH-}Hd'gVƽ#;9)O(+%V<i3g{:V0fr$o}[Y;O!3GU7fPϕ(]:i!=bXnUSGlv׃x4t(>P:;[t'2}ƔƁ,%xuej; `iYj)]R,EdQo3+vQ5#]g/kFl}>LsB#NW<F@v:v:mE='|%g'4p1.iVedloW.)ï:uK^W:(J*DxK:LJXfc2~ x7kwTpWl^)k:JZ|p~9~ƵQ:ZzCGOs:]phǍ1 ʢV:<=Mֱ$(.+2](JΗÙf}=2^/*:an[Z*N+H92)E˽Oj qJcxY{3TMj-;09yz1EPxp|ZA#J.0;qkpt*dlRaFY]QAF:0A,'vϽj{ 3PEizhk`mbyF_W`5pZϚLϒEse,)3*bVK<kjM$F(*32lN<8uB*GfECRmf4 MiZ/6KRMXW{X2vΩUDT0vlN[0:mDXDT$TKyy5:}։6DX3|^#K7 p}a֙.OS98jӰׯxBEd/TmbӇb*]f](KszIEǜ{};E<cKaM4]z F+U/JBJpqDMoJ_XG˽%ӌ? yqGdv}}:/mƦE[8SqTG GÒzRk+҆ץUtaCϦCʣ</ΐFrWy+@ӥeqdkV*W9ƳceB+u+-f+QceU^BZ2^-Co0vU2L`7bD! )= '?xeh*s 8!UO/A[Ψ<P<MkO5-=p .i'o #!>(;pdR=TXxֿFpkm~M#rxR%Go.HXp~'9:HqtI+E~f6f[RPGJiMA$dv:;_EJ!ò=541d$X%M$0qC!#o:VZBQ7*S+a n-Ymg^˚JP5'?6TOJ^jgJt(REj//KQtzYWoY_; $$(E/ ӷpҹ v_l(=l5O#vB3((7(e9˄:~nX<+|k~s3PÔp^nZE!lƴf/Ni!)fSYL @Vu^0abyu=|rHʁw}[ypdU yl# 2ZAV5HBOFDר?6D.g PPoIKP9B1f'p-wPMW(WP^I+eD*.$%.:w@YQΉSe5M=G}ӝ(E^#K1-@֡#4Y('B+ˈUfiaǘ$G6:#l8%Pʑn@,9ZpaF'COr|C!ýP~NfGZ_?Ab~A/[H$,7fl=x@|àXFO0p7u_b|fq*vWn2mEwkQ4wln~{R{j~lϣ5GzEKfB~xh{VHjj(Ikk5ax-ϵa;HHlfPhCya N~TRF`Jj:sֲY-OW`˦/!S>MD0YfGNC2F6^G8PMdvR`}]dlSOC+!ZZ*.f*bF[XIBpy6*De9àh7dz)BQ@WD5%by([W7%j jsF06tM!q@6d6έFlPvT+#S$!pE3>֍A2p -_mÏ}iDS=T|{!15Y7(}tc:4(,dz=YMe41ZcÁ7~$I`ƿ}xP=,hT, 5>J6eQk!'U~p~p }OvHc7x5Qn6xqX#o]ʋ*˄Y1(F-{gcA(džyT)ghH8Q1{g2AI~ƣ>At7U|>>hY5OcdOҤ67{Q,X5'Y(6D27d1;~;T@qfFu3,a]4/7%]+X64a41viX t=C)'ʻYu,E+9W0i|jּl[[<atZoviK0S.YI4eW7GǛIQίƙpk+CLb e7)D5?ehV*GE-.!.C yxlY.vz[j~05=}),01b,˺ω9pAZzMvn$TunQk; Gp-Ih76ge|SQKGoh(z;9Uך{T<Mt{d_U9+eˮ]J/8W`M 2'pZKmNVznh~^g7o_Gx_HCˣ6R :~`RLjϒ`dt3U|ooO~=v ã'VA:[+zךrGIjpz5GUAp)#!.%zq A:|҄]u4i-c66#R%6u+b+bpsWv g@QB'(bEB(FgVʭH*wJ[)8Q31Q 1-҈_xRump#[70e9+n%Ty1n!Ni!%Y>|=aq]Û'w+U]B)6co[QmDjf5KeϭW9;@d%{,Jtc#{MKKk|wVlF9WǖYƬ1XH?ǚQ9c.E7IsƔ%sQqTf#'Z^Wg7{m;##wa=6C.gM5llMgWҝFz!y{/9b[j`]Lu)ϡ|FOO2ZEM7SeQ]W$7lG:z~ΏPr>ׯ7VD*=k+V;lGϳJTDF˚Ӆz#3k!X6'=<ǟP9rM!tZ=K/l8(~f+-I+HƚFRLJha;+^g'hAO/ER=mpwוj(/DB7k!<4ӠljNӦb4qTB`^-7c$,¿.7;r]~(O˥I#:$y<`Nl1a-s.=Ʋ#3?0Td4iGWlv)lbJϺʧcD8ZO7V}1H :6fMflU҈WL#v9Bn{ //cq3>br^r4j>nZOKg5oқ$Y0m8PkNDK^prluDSdˀ 0+e3{C[t62_=ǫ5ZUwU HU17.lUZ=Y*ҫ; 1Rӑ2R-HgFèj5a{7m{^0P>RyI]y?VV{B5w|.)F`C*4_5q9)fwCop]d|ly;ӽZ>O#^9BwLo{CL60|Pn{AA.e.e^ng(~X#[gBD9{O%9h3? hzDIEִ73W]ǃ=<WwU 2W1T?.Lu_=Y+6;?ƱWtRrω/ʅx_B/yU!Aץ,(|he{`<pKMvJ'O֩ekv$$^VRLjX aW%t3KOm -dsx!p֍6|_y(X֒+dQ;{;jrFmyXIbXV=$b;ze`. FvQDdb Y}7ExJ5{BWy>jZ {Ӭè$@zeb<|Ͽ<G=6ʧq1mP 7Y)h!9PO_$b,~$LJc*2K|l~<B07ӭMϬÛ_iUTm)_T_mmL<:m7'.O8,pKVMo{`eֵ¾Ҫdny<HcKW@w$n'^XD(I:*(R?OUS2Xxsh:EeWd%vV<hם34yʼT;6L*Ye;SD֟N|8B^WgÞLey{!WX+f77(zff~ƕF6u+o.m-Ψn]Z)4Z0FFWP8p9x/p.yNZaӳP@<c;B-7N Tz[;;T:zwcGyb1Yzd?K)E~=XlB<Ds7RqQʟƠGqTmnPmL1CW#,2*,k.eOK*B@Pӭ.A(01e!m%uӭ%Yi6D(aTQ'f 5/-NO -.]:q{*hHu:WN.~ORMʗjG (iw#jh|]T]ˋ=|ӎF<{L>1VhKs6;AZV?tj],zJ{j{UL9 {M,sƅSifם}_IEw9-x4=k$*E@EezUq>>{kOnJ|x??g#MHZˌMP$dw}xo A}$@k.uQmNuF3GaDwzEpw^Z7QdF?ϏS}lʶ{X_ֈwD:g]x-6AV]ΐ2#</N0@-IpN/G.yY/=Mp'FQ(uECh*W @gfu9ýn/E˘h)U;x~[/iVDʞ1I<PjlNrxo^_dQrdhV~+<mv,F,qP8x))ʣiQ=k@pb<R]o`vx ӍJa{U#g 4ӣ {hhjpLJ)`P!.{Mqh={EufscZISC8s+SW^o@GKF.@??n@>og@gJ*|I#.5hW8qI_=A9 :QsHDm*n3.h(91eHGOZDW@1tu}g?smάdPEYm<;MGs>I UΔ XC9>}zoO+:n7}vS_XTTdL@8|QsaìH)K<Ä6'#~,:ǔLfv:pV6}L-ֿNNE'[rJK`[OlZ5%mpvA/cAw5$Zʍsx qʺil.r3GJHDyZ`.19|roes֭bar|gN:B'XK:?)PsrQ|0.bE>J7PҾVRLO-A.!h+(tBu4y'*J?ק09N)BπVN/AKECdCZ*tr'q45}:;A;4/L,%KD-46>lNi;Yǝip-wk)-q6hF1:`B(+Z|eQ]zk+Ǻ/961C9֦ogEUy.<m%(wV²Nf+:pK92(6C#0u[u'DhE-R./ǼL^(E; D<HOYlx/H39!X@5{[4/_PiTQ;YdywrF;[GFico(Δ||0As`~ksM*/P2{yS7u1.)|Pq'_66wwάjg/SWm/KOrjs4wǭuÂ2lƍ#CdLpr ~wtKv>tmxaweFL'8[ʋyӤqʑר4hDZˌ0PS)G_CƉ.D[*_nk F'+6EGkƈHh:m*0c(SAxXJZÙA9uT{!TDZGVhX{}JU27wLy#eNsC,.r<5K) jCN]HNMDGZA:.I5 3mriG!J7d{h7TH4#WVǍ?:ӨWiJWeU=(*˪]oeD@2kh.7P+9DCPT=0πjT{1#Ƅ5{¥SVp_#@ c@ (uz)2*!QW |r+Sn](4/v+ΝtHS?1ynVU.JvBZdžfxK2FM7'xL@ t lrM3:*1H?$;ezO_Jp$0j.C7iւI'gF7*Rcjt]yT!sBbc>9- 'QD£b(×ҍA[Xp0yE>g#ni{aC_HX:0BUic yuv-2jnʳ<x*INGn-LA9J1։VE_VYh[!ϱd~mM{ÛABTY*.!8//^[ykJpˇP(pr<sm@~gf/Xa3hs_*jb+։F6FW?LJ3m Ɵ[I$E<Ӏf'Ұb4]Kʸ9!ƩSDITX_P!>zVI<m`qaunlb):҄]h`IIKztkI*PMǃα+X{gCǝ)AV]µ2gו:$]nbZ~()S_k1ʳ!>0o@Ʋ67eMAYF7k0ʴGBVWqΡ.BE?nH zpBESҠSkӀoOoh6,%s{47_4DNC#D[f1rNkOrҺw}%<.7661qlSI.*Fl2rJGB10[=h62QHojK-]H7҂xc?{I]#v>ar4ӾCv57iYU!Op{iEk3@{suf:%Jҍf ,¸{[Ӂ-;COûzPn1kExkhaHI.L¸BU:FJ1~StƖx}þBTGc/4yQ0sBHZN-CL+X,8~7`-[r6xʨ1S'DDfU2X/o 0{sU/ESfW_? J0//GG1cI:[:|rXp҈ҋ.F=|)Ƴ`XӞeAEw'u/pmMGX!ϣ9Fn@=DL|p1y1XcVSLxl4Hcn=hge:U(#zQTu҄rHfϩ4FIY]aGmX4#1(}*2#S, oDT4NkA7iTO˿x7 G2VӂzRnn6#RpaҞC$Xd2@VYwV(P%MAteO{MD>`RefEʐMƺƚ$JW5O(ϑ|a9^=zJZJ3. W-CkKCE`_<B~ttUң[4njX<p4BO|Yqi|y,,s+^9·/;yrKoLGh-0?jet7' !s*kgmXwVdb.Yk(ϚƃfaqI=Q.DL>:8m`nRpi+K!4N|Y~+rFrj,%E}m>Q_]OrGiϊFǂPZb-k#n7w ]%%dOb R`RQlˇ>SY2_YGyF$H@IT^]I4baJwx]xXTϼ7}]+l^a$>qGtCTӯsƎqm8E_P}NQ2~+m=dno>Ok{~j<,t=lmgtCq|gʖ!#WK+#%4-bJ+25;0^khxb>/U/%PnZu-m{@0F8E.=j?{68j?Mqc5dAf:t]2|BW^T>x-1kGz`bRsOƅ1z4+D zY~SaXnYrϪWL*BMQ+PVj+pW;/kc#Ho79d'Cg7T42jlc# n(R4b0q4ҹp|jkYeϡx7,l5S(GGx4(6ipZz4X<> T[>64`'Z<Z>Dy2 1QL$y2ck975=?e9}8M`Fs<yTU}vFuncuv~e^/%~y?}k 'J FohK_kzy-m'oY(BuEuN=xAM2JtW,,G_:V!>nNz-giMZrU!s7E5myjF]n q<v1<'bMe$%CEq4nevpU|f;PD@dK:nNX.Q|*K|HcNuZH-;R}OOa-ctWQ.~;VFo/gӴ{[T_HeYמdtY)rN>IQDץ '.n_Lu %J/1VCzK5:eLEJSyǛ={Csc}u w_q_/ nV`cIl@s.0Zb~r9-.NQ*nwVO=85:H]mNc,G[VW7A6,>w2@0!m|!yWUvtWpLϖRHGTg}@M:8ע3bhZa0$0LƗ(dqIWCcIY7 u3t,UFm|ϔƕӐ n](U45r)k>B8PI+K2-bJb44~);a[Jn B]c:1%S;'.[Esf(5l'?:$¥42I ά_A0ztCgv_Ge}=ƜtePy¿$PVӶ0[t1|_f!M<8~ǝU)it_/ET/ 5ms/z^^!8eEίzӹÔzNjl{_zxz_<-)[ιkVM:Ia*d^C2je{!t2փ5NC-_0}R sP9*~B!zZFaOOQUQO%e%OϤ0:{_n?gn~sI΄,]Iϔ{^+%H@KIΦ>:`eAd[FnZӤjux-C>T(%T;5i1J9hh25ʥ$Ή#u`wT*i/Is4s]{f~Le J*tf(nvdg%a,J?t jh<}bNh-|!ewW!zu/IXEQ ,5< vb<qv1qPZ[JVHVzGcPtKSE?p-![cGwFL>OϷnWt`jί{JLXvUYE|b?>DC@?|Ad(9y´%?Dhh!>mEFpO7(q: ˆiҟLzCA>Bʘ`MBH-aclxyz }h/V 3ca53sq9Q/hMq4VJw#wIםMcҵB!gtYK%rҰ{4DgQ%˔q9Ǽi[RW}^/>w,!ּp$gUFҨ)3_Ҵ$D *'M!-a)H=<RL Yeu!NS [[r*l0.az 5˳U ur:'Y<GJ!MHWn5E=~ B,9yq8x%ib0wFY{Ntq4SU[#rm'qX%n!aLue;%c_L*!sRE6KYZh`z7-*0 #X$V]ǘw1U[Ƙg>bY#Q-=-i] [ km*'|`b[*KǩeW]db@w5lm+ƽDn)7ה: :UHKGb'rrbawp9Oq oaIz֦ !_Fh6bӳ'^7x3֧{X>^CX`m#*b,3Stl!4xYFJPJmc AZ];Ry}fƦ=%'IrW#j-k?4{1L+}~Ǔ'ZmG49±69o[sf5ׁ:+0)S˩jwJ֝Y]]SxtbNa+<˩ӹw:9uC7p85NP'Xoic+3F)FQmrI.$oHfR(:lDP*X`MH I;Jfo^d,iv%nEhgs^$#xX Hv~@+Q6ð.C:3R]gA([Y8}5GG>L.=x8[B.Î/ZǃQQpX9;>5+^fh;)?9v<JNOr Rh/_ˢ`.@3 OR~_%;42}a(]Ya~3)ˠϬ6awaYK4,A_2˃C!D7gư M0u{ï54v֯rΫ^CH'Bnj]K89 WH}hLoCoUv:u,ǧiTT{*ejq)nhFE='Q_24%*0:ƄӁH[pr??(MhҭoW98j>by0æCvgz;#C-e*Nv*mjFR;%40/}jID%8 /hpP|A'_AK+:lI;xehǴy`=?F-_tiҦb_#3+e?<?oΟap4ÜJ}Ë-(_z]<b|-C49CX`5l/1'~;A?FeQY%V@%Pt6,963r@@QB=yFdžbQ$)nPǀ->t)<z/oq_bxo/f~Ê{ʆTagόW% Rz Nw_p=}?A^y}P+^E=Q%!Q.V-y~{QaL6J$r#%2K4rtrgknw/KVFT4ʢ*!(SLzˆ;<Fc*NU$7[9yxFudby,$IrҬ%Ix</Y~z5'gToJo-<9{XG)mr[֑wWH(j!l$5Orbnr7JAfQ7s9=%mOc;{RI8'J 9VQBҥ:cǝOeRWi`{h=5avi*V(#>hd buƐDω'j O}Zc~4@{K9:^JyM; aPTH=jׅCS5+uw*El)$(z;'T E{I0֑Jda[>!7J%e$Һ=Ǟwn@{1$1h0X,i Vmt1UlN=%5 %5aW0ֳ Mh ,.TwhRe)2pX'cϘndh1ilt1hmR8S=L #{ 8!Z,tKrqN%17@gl4.IeGVP?kPN#Dmbx}wY8z:.E1Lu)ALWbΘWXQ32#uhI<cqIWj#TlƢ<XH%!)qYR,+Op/]#nQgxmQ+d[bW5ps7KjǃZk]Ϊ:RiKM>4;T1GD!eq4A=256^ױG-f;C^joC9<^IƮ1 =+ϲ RH(LX!KhӜק>wwub}^npo/ʨg+PI_nHL;S:hchoϘ3.0ri.3Mc<YN+H,<<x,.s5-|=zB8B8ALBB 6m? ?4x+sCEj% e]hPt`Z*}iCHB_(@jr>'èQ]uu4 S-`Jz~*5ңAʛ9P-p<î>CpB$u4}^<I G8gn]ʤƙA+NNt)X5.6hd+B!jF7/UwQx?Oλh;Dl|(zzʐFQ ʴPetʶkH+hM*|{:(W{w#b%Lj.5=iYjFX(z0bfNI{W)xrR J[{XÀ29/f QDau9,E #:!4NQ3?;kTzJ'Ӄ%4,Vv'4J_lw^Tg+ϩ':!wF*[IZ@RW`:S2w@q2.FW 7DY}O}uYVgֻ0KOc5;sˈa@rx>%%o<Q?ogM֮@2z(#]i(XΆ5A3. _L|O|ϭCU/=IBZESj+T v)ת|ΣHcR'`oG_w5a˻_>z1D҈Һ0O5Ϋw#)9yjA4W-y*b)k{eUz]lVMM7/*}[s|B`%f=h^a^DoJ)CMUϬMsnM$dLdE#Z/:Dl.`jdXO7@Pz=!)yBx5RGsg0uf`H:uIjZJ%˅;>D%ƮdwAeep*JJY6ajMD,%mb^Q(SfE5L?Jרy U|v{mLAH*IND0I+u,.$1dlpm im^ϸÞA5)(ӔGθ[Mtuq/TZjj@@5ra%X[+m5O[#/^zN>$-ϭhAD*-/w-B!F**BjI[.#3WK=#,7e)2ֽ(C95`Hϐ% RTYEzIÕjb%gSxb@ZMoΫc<Pǖ5RJN3td*9U2u<Tg?t#6ϊDljIhoQORUפô!E`_byBoADyKp-/-|n ^~Q)0ltRI5֓u9G)T*%C,4YDr#JV%<KOǐAd$ƴ>`MvφA5XU,Ck)z9XW_Vư+bT##F2R*/h|N;p*{<B/v|FTƚ ;wHK}1ҔDtWW,H-8%,5/2LցPnrl##5fSú_nE4n;Ӎ,UO`:`9pyϮtv!9ff1,~4tgIIr#ʐK;wZDHOD<|<ik7àMχa`|(p>6#~gWw[Ckn~{4u;8#s%1%< K46/YVp3u}qeF1%+HSwGhEϵf6qnYxB>d0h=| F9hNsҟ#,{{W;tWU3+pkcҗzSuSqHCzB'{Q4cok'8!ÄF^(X!%#*Pn11[R~^jE<967Άfa;f h42>Ak3MWax)XBtkWW?)>y44Pr<q6gCmQ+H}nJ>rTlh)afjPa1ƻ02xfVE+F-~Oh7dpDm:T4f-7i`ֺ}Hs@@V$Ӛz#ϳk%?m!8(ph{YPíϪ`I1vXPΚ0G{*8,gb n!MEB ^B -!hETPm<!g!#~c k08K;x!<|fp_;/6QN/שrS)tsQO/|yFl/d8%GtKjaf [:1-r¨ma0~p T!ǼEQӇ*)= F> 7:VUx(:0E96% 2|$X Ukcmrʶ`)ew-X]Fa9Ǩ(].n^'4D<Es({Ucin(^Ұ<Nô_MRys;09(<_{XU2pe*i֢GL,H1zf+J{o-t.lTx6Jz8c+.M%k2Ǜ[}s0(Oeӳs0'0LtXQ/*:`fnu~$ï)r<1}h<Id6T7U%t~_wuI}4~#=/*7uulî<3, xΦPf);9Pw<6gVE^3|o'~TM6aq.'83q*>JgnF]g YjWJp2J *C|e><Wҕ6%Ok ;onʯf;!ӻ:gPO;D#z$@(iV,n_D!>;5D%ʸp(eFDN$)1c9@V Allr{hj{'+t]_r7ʐ<v5_OyvqjZdmgsKBs<ǎa<ibM3;n]#i;2 /9A9}0m!1ûFk{4;Yk;ukxnirD4?q+$pF'WC`׃WX5 6sm4;>-/~r|zx]-./3{+Gem}w{p5^Wy=>}X3RWփDQWc|dw[,P<,Ap'eeAj6U~8='ιhokֶ~@5ƤjbWA8Qvx˭1@ mK(ChMl #μoPy k`#`ʲ[ұ*|-n6/aҍEΘ~.ÅG}st(FqW{C~zcg`abo?W3ƘaD'dp_JlvÁ}rG/V!68x8XqP=t wqs[K8|,dLW@ay5H[ǤnNJ3SEehx(-ˎk~<ãA8#< HpzBZCqBou`·7 |sjzrK2GY.HkCop|XOu#_J2na_Vi<*lWL`p[҆thψ@KPOJ6p(6[wcb˺vrb~YWOf)D6o.e1.q[9Y~L(K1˽4ֶo8XoV[HFEta^Nlv,`a1|6֢hǖ5@='6j'un0B!~YrB:r$cOC}_%d aDưpI[ %AA3cmtb B*Pif`sDIPkR!|.ip=}2?y M| 38-$.TakgYt]@T8>x'wUHx+z{OW6~<^_r5u|E6*Ƴitxqm;#sLGau6@-j3Wg Wqdψen.`gËʉʜ^}kS>33vzG4/gyL'eQQq:CaäSy˱ne?¨=(mMh כ'Z*FFYm$f8sO`pZ<֬ʛT%א _ʵCJn|OG#Zv=rl>G#9,#k 8T>AHEHLSiluӓ{IJb'`$b@bG )!mH1^$}cn4.HP$H2kJXl*OXÙ˦@f.=49SQf6-0/G2:cxvRMwK)o7vXSQoI!LW):Yg^6kzlNFts^PI-$#mPkq6kn->?<CJfM*?8cs@HOG9OkitrR9ly5FYRJcMw'jFowl7}CEYg[)-cf(ˀfMzc3IOny:KLp?aXnidXw4:3/sy?s0|:8~I~aA?m# !bn</we0¨rSQ?Oh|NQ?;Cq9y+B$C(BEzf5FƤCIq>OCbh~%P,(O.әbB0]ADpxZOSxCb8=c8kcG.P:MG XsONKr=]c!bC32a9jVe(<TOv˃>WBsҤ[gytr<+suh4;)`nhx9zstnvGStv'=Qtv6k!|Pe._QN,s8{Osdhҳylx:fiq6GmpK[-pWÔA4ydr:gCW#iz4NGSvh%Y>a+<N/g#=N`)38y[0bnzp|x/3#|2Ng'QP2;)tr=F]-?rQ*Ndk;N b,^!q>>M'cQxyGM^pbR#åwpDqz4D)FGutr/ˠ82C(al}MV-Qth7dž2=Cv:9 SA[8X8-cIq4?G3#cG9v1o1ZBҹ;5[bS'zsiE_u%mA}{OrVIDgNgcqht>eD<]GkRY^*Sƭí#B@LCG:δ..oΒ`b8/w(CfIb.G^ph;h=4(luAM32`ӿ)`'gYu cXyהrJNtP t!5)JE_+s%1RB_bynQ@Rp0;cxOKlq[bMHOpʸ @nr!2ǬJuV4%üu֜=DDg}sÕ4[D.hcjfMrRF<ChwBΙRî! 5.Sqht/Ii;NKbfC>mG_W}(RR!1:4t6nZK+|?aSIz4/G%yaCDOs2Q/K>h~b$=(Bt2D#84kϓpώ[K}sqf!MKOR)JҊBddps*¢3zz[@+gA|lv9id8Ãdoqr4JzmgUE8һtrRUiLQRzzl*#|RScq13lVH4H3f*iL_<WpV|ʛyQ@/`lsC#>~0CE+C[/>Y6l~Cuy8C+IyaB6X`L7 4L=5N;,ukoomKI]snHa8Pxw<4m _d3 0LTGEO_wSeƃkh2MKgpG9_jy=$ PTU+)RP 1~2McQj<4b=Ge~8Ij^}}pX[ϷAGPAt!Lb8Ns1lr>.gedwR{WHi6҈h:lˎkryBQk/J>Ҫt/v~*VIH<0[x04¹ k9OOH8Sbw]kGw:<Oa67Ch/P ˶=FXAF_EBeLKd<.3|wr|^==,SLT-%TLHCRָyKIdvv.mKV7dkvj9 z*2~,vd1NO+!p|Ez=jgӽEE<@G@x7¢u[+4c^+T,2{;@~;OCl}qQPnpW'3v}T x: S=8`A[^{éED'rnc5%;r}_f[~Nqv>eӕgµ8$!W4*x wQ6%!:ßʷè2O`+~. ^ @3#QC% PZhҡ|zIIghKAA*4z' RH=Kr;C`gIr;dsRD3*[2CRlDCrb% ]L!dRiv'X@9%JL>$YU^q.)f13t^28Gqz>-Ϥ}ZhBאQS8,^gPpW=:fBQJӑjÔ+vN`dm;FaZPyasp1ց֜duN@:sCtiGnDjBYgJ V]Dp2yGstmMGCtj>;AcxToDq7G,7X9inv7LFw=CtxunrZ(HTҎ(`k|u~g7IQ>8BNGeq;JC(1[!OH(5`,.g#Hұ}rXzO;CXvoP;w9%xgXAv4?U@8~UXӦXF9dpaOn<:D9afgG@cs]dpts1pOQk'$!fvo@ӄN'cdx^O#;8'>A;Ϗg.Uo,ӓ{T>.GBd>y~6jA`2j!CJ@l_6<>MK}~FgOS3ZIlY҃lW(7gK,Tw`Et?LN<)Pahau|T~:67Op^ƛTwai3;p|<8f9G*caPf(Pck^it;ұLlæ0/s8{)*LsFjVw8҅luNK8;l H~qB`Kʮ1ih|]IOtx<C*Aj#ң=!lS)Oo<$^f^æ5*aV|CNfj1^]^xǗ/5מP2W]ueb2De2rKRp2X`6<OG%}lG i:'qin-3+BlDq1c#UNS8IP3 Q96}JZqKXgơ,8F>ELngIYbPl|v>OVSúDr*RF+ϩGym{/iaoYY;Ix8_Ӂdz;ӳC7O 3KKT[jSBiw@WrQ=}{SG_ǠgXҽTNsdt]i[/@Ne$GUz>a`zx;FRiCx_ңcN:Sk!ֳv;{[*-2!qciy?FCrd8Tl8M.6+T(]vhEV/ßӉpx]O'Il|$/7p<W.S8)ZYZTlspfp`N0DZiWkΣS,<+M]ҤoUW'Y`2dpCxtw>69N 1^9/|}ǡ)%jCUm>9f-J_q4O(pTO)cs.IQMcm9À>mrqyNs1p~Ctb>0@r:9EtInuq,%>PjfH~~U/3Ii73dj>NSXh^GI^ǡǠ[E|0{^H_[k{wo.l?Ey:at|RL%x,/O;`EF?etr|P+]Ro=OIPu@v=VSar9r8awsҮ ,ΙYfTGZNg!X|Gep~t'fhO+#HӁc~*XPMq$/3;VÔǽq70E~·XN'd$N'YPxo$'Xҡ%oT]@t0'elxY8|5A(UYrcyU1cIsQqtp|g<MSqp{GmDnxӻ.)pm{'`ǒf˴}tHTgEx}#l!ʂqw-`O$8cH*$)WMm=<#7hTzl<΄(hZ[,EZ=zHC6YA/A*o3qw`?HHmX'q[AwIF'FeLÿA#Vz%^OhHxʃ17'95a< <oa11Q5v@/hXtOG[H@5xE~dF{dwh/i42/gˁCy2'}O[_qP3$=X-[s7 D jgWX?IPBrxq+VQ˳FIJ:)8~#8wt'OqntfBJ@bqF42J@F!Z!VeGháD/A֚y`41ӚBG/ҀϨ<8o-c$dz_Ef@Dx>- nײ|KC/z(4(@ӯ*t>v9/O.)wzhC ֏%NyYwǭ3IQz'Qa|t3,~>TV.5,(FUl z>N'dN.14?ʏpR@j`ibTTkVEI˵w,%ZbpQihyfs^ӃDTH'wk/k`}-^vJr5F,A4?ay1˘iln?<PY=;s[!4ҤQǾjbt.]iILz^#ytt:LN2Cr6LfjWwM'A!zNG4ϞVO6l/Zm53|y,lGqY>MXztS}bTl(^xFewDΟn`o λv>$w07DA?`FA'nwG+><}1vgcC@EM]l5V]hd}qtjҩ|#C#AoKd$maw) fz=cDӓqxvGgx.§h!Dh$Hn<94-0<90#qt<!5vN8(x@h:P]b`x:{[GUYi=^F g9mX!ÛfGqlv<K`t_@$bv+ K<{0zb5}dS,I|.v'ӓtl9F%}t@Qy]g ƿNFckO'9Y0O8[zRCCyXrh$Iׂ^`(cba-BzPָ64Ҫ>+?S`i~`.WWuZt{|ioyZ1{Ƴg}|%ECҊ+3ײ<h<bҍ3ί+$mRdLynJ1B.֔m2AzG-#dpDWNֻ7fZhi|ϡz*F..[y,t7bYyo>O^'mB=]I6xk4[I >-Y~B3Ң?5WY@w{-_y=4QufH<n!7Ua[AC%F{r``PQ.Bgyp!DϦv5!gsl|jEּ zV`0PHd ¸wùi֛87[w wWw~bXpAyK6qB%d(P%Q/6vΫ!0jS|,-S3hvllO]Tˑ}nӐ=7#jou(7%1[hatp`vM=9YL5Ҫ.qFpõ2.9 ltZjLt%}rQSqdEuywGlºBfSO9r9~*qe~s{FJ+VP'GDfb7%Ua^t2s`i<Gf$f7vv |ZX~p^z;S_+: DY[Ml8|?HPBp_*U;]gE,4}[JZWbL4Yfb2M4?GTZy1|}'D|W>9q|_oUӢT1 wOlg~-2Pǭ|;EvzYhϺ88Z,?_%otSjFj!<^s-h?O`n:g?hwq.-79_yOX$MObg}˳$39zKuLl.7G9n92S`;lswp5 |mXWuLQmc>'x? zhiX%(qyD{VUJxn(a[jx(g/hҟUK0-?=ph#^_>A!5e$}2r~NEkOf;|DZX:Q-iZ9{[HE0ʲKʺ+M,ö֝5fV» tR6qϜ>K_?1<)neoN]n%mF?6S(>uew^/.qg~g?yajgRzXY|,~q=yDUn?r?9^QUҽjrHd`?Dr?օovifOGY; 00B@|2|2F;KLT;hWYD֗sn>~,q΄^q7SMq`@!611TJ@[GR9|4{a^_t>}=3?Ǝd,^gag/<Vk C <u#O]/:UDP4lQo(%psuFMK)~O~,ZϝRE^dr..tV3Rpu+ByD@QS_4)r$!RO XT=33ƙgE;|'b{9>j(78__:k}1j$u2}IX0ϟui!wHFZl(j'Bwy4B>NlG//bo^dG};u]d;B4L9~g^?.B]¡֬+?27P?B(#clb7v>{k9|Cv$/RolFieƴg7~/739sM|cl8o],{p-7G`B^>Fv|W~>}Ñu0YF=~WƬnO#[]L/-NK@>fhNr>Jd`<o}go֨p'ׂ:t_lkLTN<ob#i Aib<2'/|Lz>֨.Pkl8IuO<`XB7_GxNpU%d6SAcZ΅_yVYrp?2{ ZLOBW~+q#? NjÛx_t1<TR~N+WFB'X>mgD;7gI82!NXr[ ˂)(Ui.5LbDsWD!J4`[Ez,-N7}J{T<WbrW55#Ht~`-!:iOH qp,LIҶ$ =ymD3`nUs-J)S@7boBwqw~D0/SʋqB}0=w w?69x1)A1kg>ƾF/I+Ooz/i>8zT:05bcP!eʗ;~ I;`-vsd)TIr>h6WcKZ+IA.^tmZGrs{ tc.<y!<Q].Oh?B|MgpE:LLҿT9ʤ}30_D$o|_gb8c=Y4?!? _soi7wvaƈKג{{hz2TTDjm%=2qO˿Lz2YXj=__C?E{s__ˤ[>9hCIZ}eA|'[A~$nq~p***@Pel0I7F֗G!o>?6Ǣ~=rM<#pb*F r8$]˙AF#l!j,o8`yUepK}ep>5b#yy!7rb0mv5M=-vN0Hp #;'%4pcc3A-]F+ӟlRǪvL:XohkoIN'OD*z@~MӡB/j?iJ˔KtMׯOo;0:-M3Es6דUNio|M{8A,x8V0ugN7a.iO,L;(rgSy64_.CM>rқӭfg$6YzIjs moq|@Pfqӡ1ʱ07K`HϻY1ֳ6F'BH^{xIׂxtW02A{O~-;6cO7a?fyWQISfD>x+_pn`h+>y~-Y@aYDFҎ6Cj!Bwa/bOXv3E1Ό1)?`p_tRkfT:vzSGX'Z<O_Sog| Urv1tDހ"
|
|
2
|
-
export {bytes}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
const assert = require('assert')
|
|
2
|
-
const { describe, it } = require('mocha')
|
|
3
|
-
const { instantLockBytes, transactionBytes } = require('./mocks/Locks')
|
|
4
|
-
const { default: wasm } = require('pshenmic-dpp')
|
|
5
|
-
|
|
6
|
-
describe('AssetLockProof', function () {
|
|
7
|
-
describe('serialization / deserialization', function () {
|
|
8
|
-
it('should allow to get instant lock proof via constructor', () => {
|
|
9
|
-
const outpoint = new wasm.OutPointWASM('e8b43025641eea4fd21190f01bd870ef90f1a8b199d8fc3376c5b62c0b1a179d', 1)
|
|
10
|
-
const chainlock = new wasm.ChainAssetLockProofWASM(11, outpoint)
|
|
11
|
-
const instantLockProof = new wasm.InstantAssetLockProofWASM(instantLockBytes, transactionBytes, 0)
|
|
12
|
-
|
|
13
|
-
const instantAssetLock = new wasm.AssetLockProofWASM(instantLockProof)
|
|
14
|
-
const chainAssetLock = new wasm.AssetLockProofWASM(chainlock)
|
|
15
|
-
|
|
16
|
-
assert.equal(instantAssetLock.constructor.name, 'AssetLockProofWASM')
|
|
17
|
-
assert.notEqual(instantAssetLock.__wbg_ptr, 0)
|
|
18
|
-
assert.equal(chainAssetLock.constructor.name, 'AssetLockProofWASM')
|
|
19
|
-
assert.notEqual(chainAssetLock.__wbg_ptr, 0)
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
it('shouldn\'t allow to get chain lock proof via constructor', () => {
|
|
23
|
-
try {
|
|
24
|
-
// eslint-disable-next-line
|
|
25
|
-
new wasm.AssetLockProofWASM('chain')
|
|
26
|
-
} catch (e) {
|
|
27
|
-
assert.ok(true)
|
|
28
|
-
return
|
|
29
|
-
}
|
|
30
|
-
assert.ok()
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
it('should allow to create instant lock proof from values', () => {
|
|
34
|
-
const instantLockProof = wasm.AssetLockProofWASM.createInstantAssetLockProof(instantLockBytes, transactionBytes, 0)
|
|
35
|
-
|
|
36
|
-
assert.equal(instantLockProof.constructor.name, 'AssetLockProofWASM')
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
it('should allow to create chain lock proof from values', () => {
|
|
40
|
-
const outpoint = new wasm.OutPointWASM('e8b43025641eea4fd21190f01bd870ef90f1a8b199d8fc3376c5b62c0b1a179d', 1)
|
|
41
|
-
|
|
42
|
-
const chainLockProof = wasm.AssetLockProofWASM.createChainAssetLockProof(1, outpoint)
|
|
43
|
-
|
|
44
|
-
assert.equal(chainLockProof.constructor.name, 'AssetLockProofWASM')
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
it('should allow to serialize and deserialize asset lock in hex', () => {
|
|
48
|
-
const instantLockProof = wasm.AssetLockProofWASM.createInstantAssetLockProof(instantLockBytes, transactionBytes, 0)
|
|
49
|
-
|
|
50
|
-
const newInstantLockProof = wasm.AssetLockProofWASM.fromHex(instantLockProof.hex())
|
|
51
|
-
|
|
52
|
-
assert.equal(instantLockProof.constructor.name, 'AssetLockProofWASM')
|
|
53
|
-
assert.equal(newInstantLockProof.constructor.name, 'AssetLockProofWASM')
|
|
54
|
-
|
|
55
|
-
assert.deepEqual(newInstantLockProof.toObject(), instantLockProof.toObject())
|
|
56
|
-
})
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
describe('getters', function () {
|
|
60
|
-
it('should allow to get lock type', () => {
|
|
61
|
-
const outpoint = new wasm.OutPointWASM('e8b43025641eea4fd21190f01bd870ef90f1a8b199d8fc3376c5b62c0b1a179d', 1)
|
|
62
|
-
const instantLockProof = new wasm.InstantAssetLockProofWASM(instantLockBytes, transactionBytes, 0)
|
|
63
|
-
|
|
64
|
-
const instantAssetLockProof = new wasm.AssetLockProofWASM(instantLockProof)
|
|
65
|
-
const chainLockProof = wasm.AssetLockProofWASM.createChainAssetLockProof(1, outpoint)
|
|
66
|
-
|
|
67
|
-
assert.equal(instantAssetLockProof.getLockType(), 'Instant')
|
|
68
|
-
assert.equal(chainLockProof.getLockType(), 'Chain')
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
it('should allow to get lock instances', () => {
|
|
72
|
-
const outpoint = new wasm.OutPointWASM('e8b43025641eea4fd21190f01bd870ef90f1a8b199d8fc3376c5b62c0b1a179d', 1)
|
|
73
|
-
const instantLockProof = new wasm.InstantAssetLockProofWASM(instantLockBytes, transactionBytes, 0)
|
|
74
|
-
|
|
75
|
-
const chainLockProof = wasm.AssetLockProofWASM.createChainAssetLockProof(1, outpoint)
|
|
76
|
-
const instantAssetLockProof = new wasm.AssetLockProofWASM(instantLockProof)
|
|
77
|
-
|
|
78
|
-
assert.equal(chainLockProof.getChainLockProof().constructor.name, 'ChainAssetLockProofWASM')
|
|
79
|
-
assert.equal(instantAssetLockProof.getInstantLockProof().constructor.name, 'InstantAssetLockProofWASM')
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
it('should allow to return object of lock', () => {
|
|
83
|
-
const instantLockProof = new wasm.InstantAssetLockProofWASM(instantLockBytes, transactionBytes, 0)
|
|
84
|
-
|
|
85
|
-
const instantAssetLockProof = new wasm.AssetLockProofWASM(instantLockProof)
|
|
86
|
-
|
|
87
|
-
const expected = {
|
|
88
|
-
instantLock: instantLockBytes,
|
|
89
|
-
transaction: transactionBytes,
|
|
90
|
-
outputIndex: 0
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
assert.deepEqual(instantLockProof.toObject(), expected)
|
|
94
|
-
})
|
|
95
|
-
})
|
|
96
|
-
})
|