tx · HZjKKdtGd5rC8NFLYDTpBmFQApbf2WVgLHBXMUGzqP3D 3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm: -0.03700000 Waves 2022.11.26 17:56 [2334236] smart account 3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm > SELF 0.00000000 Waves
{ "type": 13, "id": "HZjKKdtGd5rC8NFLYDTpBmFQApbf2WVgLHBXMUGzqP3D", "fee": 3700000, "feeAssetId": null, "timestamp": 1669474592162, "version": 2, "chainId": 84, "sender": "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm", "senderPublicKey": "EVooykMNV691Venwp1dHUTBd7KWequzUcda57Wd3LQEX", "proofs": [ "2LsJoF1Lw59FFoyJDfYbqiqt6ZVmZUNVdRUaiBA4FvvK91yCSvEENj35bdLjFUUM6zrHnb22ZsPgMit58AVSEvyB" ], "script": "base64:BgImCAISABIAEgQKAggBEgMKAQgSABIDCgEIEgMKAQESABIAEgMKAQgpAA1ERUZBVUxUUFJJQ0VTAIDlmncADURFRkFVTFRQUklDRU0AgJTr3AMADURFRkFVTFRQUklDRUwAgI3xsAgADkRFRkFVTFRQUklDRVhMAIDQrPMOAAt1c2RuQXNzZXRJZAEg93bq9/eDymXbbhPuAjvPWCmVqcHRjfJL2mzYHWKAyN4ADWluY3ViYXRvckFkZHIFBHRoaXMAC2JyZWVkZXJBZGRyBQR0aGlzAAtiYWNrRW5kQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM041U3BYMjFSM1I3NVFvNGViM013RkZ2VzdUVXp5aHZhdnYACXRlc3REdWNrcwkAzAgCAhBEVUNLLUFBQUFBQUFBLUdHCQDMCAICEERVQ0stQkJCQkFBQUEtSEcJAMwIAgIQRFVDSy1DQ0NDQkJDQy1JRwkAzAgCAhBEVUNLLUREQ0NCQkFBLUtHCQDMCAICEERVQ0stRUVFRURDQkEtTEcJAMwIAgIQRFVDSy1GRkVFRENCQS1NRwkAzAgCAhBEVUNLLUdHRkVEQ0JBLU5HCQDMCAICEERVQ0stSEdGRUhISEgtTkcJAMwIAgIQRFVDSy1JR0ZFRENCQS1PRwkAzAgCAhBEVUNLLUtJR0ZFRENCLU9HCQDMCAICEERVQ0stTEtJR0ZFREMtT0cFA25pbAAKTEFORFBSRUZJWAIETEFORAAKRFVDS1BSRUZJWAIERFVDSwAETEVOUwIEc0xlbgAETEVOTQIEbUxlbgAETEVOTAIEbExlbgAFTEVOWEwCBXhsTGVuAARNQVBTAgRzTWFwAARNQVBNAgRtTWFwAARNQVBMAgRsTWFwAAVNQVBYTAIFeGxNYXABEmtleVBheW1lbnRSZXF1aXJlZAEIbGFuZFNpemUJAKwCAgIQcGF5bWVudFJlcXVpcmVkXwUIbGFuZFNpemUBEGtleUxhbmRUb0Fzc2V0SWQBB2xhbmROdW0JAKwCAgIMbGFuZFRvQXNzZXRfBQdsYW5kTnVtARFrZXlBc3NldElkVG9Pd25lcgEHYXNzZXRJZAkArAICAgluZnRPd25lcl8FB2Fzc2V0SWQBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILc3Rha2VkVGltZV8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBImtleVN0YWtlZFRpbWVCeVR5cGVBc3NldElkQW5kT3duZXIDB25mdFR5cGUHYXNzZXRJZAlvd25lckFkZHIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiBzdGFrZWRUaW1lQnlUeXBlQXNzZXRJZEFuZE93bmVyXwUHbmZ0VHlwZQIBXwUHYXNzZXRJZAIBXwUJb3duZXJBZGRyARlrZXlGcm9tQ29udGluZW50QnlBc3NldElkAQdhc3NldElkCQCsAgICDmZyb21Db250aW5lbnRfBQdhc3NldElkARdrZXlUb0NvbnRpbmVudEJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgx0b0NvbnRpbmVudF8FB2Fzc2V0SWQBEWtleVdpbmRzQnlBc3NldElkAQdhc3NldElkCQCsAgICBndpbmRzXwUHYXNzZXRJZAEVa2V5T2JzdGFjbGVzQnlBc3NldElkAQdhc3NldElkCQCsAgICCm9ic3RhY2xlc18FB2Fzc2V0SWQBEWtleU1vdmVzQnlBc3NldElkAQdhc3NldElkCQCsAgICCnVzZXJNb3Zlc18FB2Fzc2V0SWQBDmtleUxhbmRUb093bmVyAQdsYW5kTnVtCQCsAgICCmxhbmRPd25lcl8FB2xhbmROdW0BD2tleUJhdGNoZXNDb3VudAACDGJhdGNoZXNDb3VudAERa2V5QmF0Y2hQcm9jZXNzZWQBBWJhdGNoCQCsAgICCGJhdGNoT2tfCQCkAwEFBWJhdGNoAQprZXlOZnROYW1lAgdsYW5kTnVtCGxhbmRTaXplCQCsAgIJAKwCAgUKTEFORFBSRUZJWAUHbGFuZE51bQUIbGFuZFNpemUACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMACG5mdExpc3RzCQDMCAIJAMwIAgIiMV9TX0ZFRUZEQkVGRUZFRkJCRkZCQ0VDREJCRkFfQXNpYQkAzAgCAiIyX1NfQkFCRURFQ0FFQ0VBRkRFRkJGQUJGRkVFRV9Bc2lhCQDMCAICIjNfU19CRkZFQUJCRUVGRkZCRUZERUVCRUZBQkJFX0FzaWEJAMwIAgIiNF9TX0JERERCRUVCRkVFRUFFRkZGQkREQ0ZFQkVfQXNpYQkAzAgCAiI1X1NfQkREREZFREFBRUVERUZFQUZERUVFRkJCQl9Bc2lhCQDMCAICIjZfU19CQkVGQkJGRkZGQkREQUVFREJCRUVFRkZEX0FzaWEJAMwIAgIiN19TX0ZFRkRGRkVERUVGQkZFRkZBQkZCQkZGRUVfQXNpYQkAzAgCAiI4X1NfRkRFQkJCQkJCRUJGRkNFRkRFRUFGRkVFQl9Bc2lhCQDMCAICIjlfU19FRERERUJGQkJFQkRCREZCQkVCQkFGQkRFX0FzaWEJAMwIAgIjMTBfU19GQkVGRUZGQkVBRUVCRkVCQkVGQkZGRkNFX0FzaWEJAMwIAgIjMTFfU19GRkRFQkVFREZGRkJEQkZCQkRFRUNFRUVEX0FzaWEJAMwIAgIjMTJfU19FQkJGQkZFQ0VFRkJEQkRGRkJCRUJDRkVGX0FzaWEJAMwIAgIjMTNfU19DREZBQUVCRkJFRURBRkVFRUVFQUJCRUVBX0FzaWEJAMwIAgIjMTRfU19CRkNGRURCQUZCRUJFQUVCQkVERERGRENEX0FzaWEJAMwIAgIjMTVfU19CRkJCREJFREZGQkZFQUVGREZGRUVCRUVFX0FzaWEJAMwIAgIjMTZfU19CQkVCRkJERkZCREJBRUNCRERFQUJGRURGX0FzaWEJAMwIAgIjMTdfU19GRENCRkZFRkRCRkZEREREQ0NERURCRkNDX0FzaWEJAMwIAgIjMThfU19CRENGRERGQkZERUJGRkZEQkNGQkVFQkVCX0FzaWEJAMwIAgIjMTlfU19GRUZCRkVGQUJFRUJGQkJGRkZDRkJEQkRFX0FzaWEJAMwIAgIjMjBfU19GQ0VEQURCRUJGQkZBRUVGRkZFQkZFRURGX0FzaWEJAMwIAgIjMjFfU19EREJFQkJEREJERUVBQkVFRUZGRUZCREJGX0FzaWEJAMwIAgIjMjJfU19EREJFQkJGRUZFREVFRUNCRkZCRUNFQkJGX0FzaWEJAMwIAgIjMjNfU19FRkVFRkZFQUNGQkRCREJGQkJDRkZCREVBX0FzaWEJAMwIAgIjMjRfU19ERkJEQkVCRUJCQkZGQkZERURCRUVCRUJBX0FzaWEJAMwIAgIjMjVfU19CRkJBRkZGQkZGRUZGRERFQkZFQkVDQUNFX0FzaWEFA25pbAkAzAgCCQDMCAICIzI2X1NfRURFQkZGQkNERkVBRUJFRUZCQkZFQkJCQl9Bc2lhCQDMCAICIzI3X1NfQkJCQkJDQURGREVCRUZFQkNCRUVCQ0ZFQl9Bc2lhCQDMCAICIzI4X1NfQ0RFRURFREVGRkRCREZGRUVGREJERkZBQl9Bc2lhCQDMCAICIzI5X1NfQkJFREZGRUJFQkJGQkJGQkNGRUJBRkRGRF9Bc2lhCQDMCAICIzMwX1NfRUVGQ0JGRkVGQUZGREZGRkZGRUVFRUJCRl9Bc2lhCQDMCAICIzMxX1NfRUVGQUVGRUZEQkJERkJFQUZERkZGQkJERV9Bc2lhCQDMCAICIzMyX1NfRUZFRURFQkZERURERUVFQkJCRURGRkRGQ19Bc2lhCQDMCAICIzMzX1NfRkZDREZFQkZGRkNFQ0ZCRUVEQkNCRkRFQ19Bc2lhCQDMCAICIzM0X1NfRkFGRURFRUFCQkZGRkRFRURFRkVGRUJFRl9Bc2lhCQDMCAICIzM1X1NfRkVBQkJBRUVFQUJFRkVFQkZCQkZCQkVCRl9Bc2lhCQDMCAICIzM2X1NfQkJFQUVCREVGRkVEQ0NCQkJFQkRCRkJFQl9Bc2lhCQDMCAICIzM3X1NfRUJGQ0ZCRkVCRkZCRURCRERFQkVBRUJBQl9Bc2lhCQDMCAICIzM4X1NfQUJCRkVCQ0VBREZGQkJCRkJGRUFFRkZERV9Bc2lhCQDMCAICIzM5X1NfQ0ZCQUVFRkVCRUJCQkZFRkRCRkRFQ0VCQ19Bc2lhCQDMCAICIzQwX1NfRkZDREFGRERCQkJGRkVDRkZDRUZERUVERV9Bc2lhCQDMCAICIzQxX1NfQkNFRURCREZCRkVFRUJGRUZFRUVGREVFQl9Bc2lhCQDMCAICIzQyX1NfRkZGRUJERUFCREJEREJFRkJGREFCQkZCRF9Bc2lhCQDMCAICIzQzX1NfQUVERUJBQkRBQkJFQkZGQUJFREVFRUJFRV9Bc2lhCQDMCAICIzQ0X1NfRkJERkVCRkZDRkZFRkVDREVCRUVFRENERl9Bc2lhCQDMCAICIzQ1X1NfQkJGREZEQkFCRURCRkFDRUZFRkVBRkVDRV9Bc2lhCQDMCAICIzQ2X1NfRkFGRUFFRUVFQkJCRURGRUVGRkVFRkFERV9Bc2lhCQDMCAICIzQ3X1NfQ0JDREVBQ0JCQ0ZGRkZBRUJFQkRFREZCQl9Bc2lhCQDMCAICIzQ4X1NfRkZFQkVFQkVEQkRGRkJFREZFQkZGRkZFRV9Bc2lhCQDMCAICIzQ5X1NfRkZFRURCRUJCRkRDRkZEQkRFRUVERUZFRF9Bc2lhCQDMCAICIzUwX1NfRUVGRkRFRkJFQkVCREJGRkNFRUVEQkFCRV9Bc2lhBQNuaWwJAMwIAgkAzAgCAiM1MV9TX0VGRkJFREZCQkREQ0RCREJEQkZGRkRFQUVfQXNpYQkAzAgCAiM1Ml9TX0ZDQkNCQkZDRURCRUJGQ0RERUJGRUJEQkVfQXNpYQkAzAgCAiM1M19TX0VCREJCREZCRUZERERFRURERkVGQ0VCREVfQXNpYQkAzAgCAiM1NF9TX0VGRkJCRUJGREZFRkZGQkVEQkJGQkZEQkRfQXNpYQkAzAgCAiM1NV9TX0RCRUVERkVERURGQkZCQkVEQkVGREVFRkRfQXNpYQkAzAgCAiM1Nl9TX0ZERUZFQkRFRUZEQkZFRUZFQ0ZGRkRCQkFfQXNpYQkAzAgCAiM1N19TX0JGRUNERkZCQUJGREVGRkZGQkFEQkJERkJfQXNpYQkAzAgCAiM1OF9TX0ZGRkNFQUJGQkVFQUVGRUNFRkJEQ0FFRUZfQXNpYQkAzAgCAiM1OV9TX0FFQUZCRUVGQkRFREVFREVEQkRCQUZFQURfQXNpYQkAzAgCAiM2MF9TX0JFREZCRkRFRUZERUVCRUVFRkVCQURCRkRfQXNpYQkAzAgCAiM2MV9TX0JFQkRFRkZCREZCRUJGRERCQkJFQkJCRkZfQXNpYQkAzAgCAiM2Ml9TX0RFRUJFRUJGRUVDRkRGQkVEREVGREZDREVfQXNpYQkAzAgCAiM2M19TX0FGRkVGQkREQkJGQkZFREJCQkVFREVGRENfQXNpYQkAzAgCAiM2NF9TX0VBQkFFRkJFRkVFQkVDQkVCREJFRUVEQkNfQXNpYQkAzAgCAiM2NV9TX0JEQkRDRkNGQkVFRkNGRUVGRUVERkJCREZfQXNpYQkAzAgCAiM2Nl9TX0VCQkZFQkZCRUJFRUREQkVFRkZGRUVDRUZfQXNpYQkAzAgCAiM2N19NX0ZGRkRDRUVFQkJGQkZCRUNFRUZGQ0VCRUJfQXNpYQkAzAgCAiM2OF9NX0JGRUJFQkVGRkJERkVFRkJFRkZFREFGRUJfQXNpYQkAzAgCAiM2OV9NX0ZCREJFRUNGQkJCRUJFQkVCRkZEREFCRkRfQXNpYQkAzAgCAiM3MF9NX0VFRkRCRkVGREZGRUVERURBRkJFREZFQkRfQXNpYQkAzAgCAiM3MV9NX0ZCRUVCQUVGQ0ZCRUZBQkJERkRDRUFGRURfQXNpYQkAzAgCAiM3Ml9NX0JGRUZGRkZFRENCRUJFQkZGQkVDRUNEQkVfQXNpYQkAzAgCAiM3M19NX0VDQkJEREJCQkRFREVCQUVCRUVDQkZFRkNfQXNpYQkAzAgCAiM3NF9NX0ZFQkJCQkVCQ0VGQUJERkZCQUZFREVERkVfQXNpYQkAzAgCAiM3NV9NX0RFREJEREZGREJCQkJFQ0JGRUNFRkVFRkVfQXNpYQUDbmlsCQDMCAIJAMwIAgIjNzZfTV9CRUZGRUVGQkZCRkVFRkZFRUZFQkJGRURCX0FzaWEJAMwIAgIjNzdfTV9DREZFQUVCRkJEQkJERkZERkFCREJFRkJGX0FzaWEJAMwIAgIjNzhfTV9CRUJBQkZFQkJCQ0RGRUJGQkVCQUJCQ0ZCX0FzaWEJAMwIAgIjNzlfTV9ERkJBREVFQ0ZERERCRkJCQkZCRUJFRUJDX0FzaWEJAMwIAgIjODBfTV9ERUZBRUZDQUZERkZGQkFEQkREQkJGREFCX0FzaWEJAMwIAgIjODFfTV9CQ0JGQkVGRUNERkRFQkZGRUVCRkJCRkZEX0FzaWEJAMwIAgIjODJfTV9DRURERURGRUFGRkJCRUVDREZCQkFFQkJBX0FzaWEJAMwIAgIjODNfTV9GRUJCQkJEQ0VFQkJGRkVCRUVGQURFREZEX0FzaWEJAMwIAgIjODRfTV9ERURDRUZFREJGREVGREZEQkJFRkVFQkRFX0FzaWEJAMwIAgIjODVfTV9GRkJFRkRCQkVCREVERUZGQUJFRUFCQ0ZBX0FzaWEJAMwIAgIjODZfTV9FRUVFRUZFRENEQkVCRkVCQ0FGQ0ZDREZDX0FzaWEJAMwIAgIjODdfTF9ERkJBQkRCREZGRUJDREVFQkJERkNFQkFEX0FzaWEJAMwIAgIjODhfTF9DRUNGRkVFREZGRkJEREZBRkVEREFGREVEX0FzaWEJAMwIAgIjODlfTF9EQUVCREJGQkZCRkRGRkZFQ0ZGRERFREVFX0FzaWEJAMwIAgIjOTBfTF9EQkJGREJFRERFRUZERkZGRERERkRFRUJEX0FzaWEJAMwIAgIjOTFfTF9FQkVFRUZGRUNGQkRFRUNFQkJGRUVCRUZCX0FzaWEJAMwIAgIjOTJfTF9CQkJEQ0ZGRkRFREZFQkVFQkFFQUZFQUVCX0FzaWEJAMwIAgIjOTNfTF9FREJGRkRGRUVCRUZFREZCQkJCQkZCREJCX0FzaWEJAMwIAgIjOTRfTF9GQkJFQUNGREVEQUZGRkVBREVGRUJCRUJCX0FzaWEJAMwIAgIjOTVfTF9DRkVGRkVCRUJGRUJEREVFRkVERUZFQkRCX0FzaWEJAMwIAgIjOTZfTF9CQ0ZCRENFRUZCRUJGRkNCRURDQkRCREVFX0FzaWEJAMwIAgIkOTdfWExfREFCRUZERkRCRkVERkVCRkZFREZCRkVGRF9Bc2lhCQDMCAICJDk4X1hMX0VERkRGQkRFQkVGRkRGQUJFRkJGQkVGREVfQXNpYQkAzAgCAiQ5OV9YTF9GRUJCRUJGQkZFRUZFRURCRENBRUVFQUVCX0FzaWEJAMwIAgIlMTAwX1hMX0FCREJCRUZCQkZGRURGRkJFREJGQkVGQkJfQXNpYQUDbmlsCQDMCAIJAMwIAgImMTAxX1NfQkJGQ0FGRENERkZDQ0ZBRkFCQ0FDQUFCQV9FdXJvcGUJAMwIAgImMTAyX1NfRkNCRkNCRkNCQkFBQ0RBQkJDQkJCQ0ZGRF9FdXJvcGUJAMwIAgImMTAzX1NfRkNGQUJGRERCQ0NDRkJDRkJGQUJDRkZDQV9FdXJvcGUJAMwIAgImMTA0X1NfQ0NCREFCQUFGRkFGQkZGRkNFRkNBREFCQV9FdXJvcGUJAMwIAgImMTA1X1NfRkFBRkJDQ0NDQ0JCRkZDRkZBQ0VDQ0ZBQl9FdXJvcGUJAMwIAgImMTA2X1NfQkJDRkNDRkNDQUFGRUZCQUZGQUZBQkRDQV9FdXJvcGUJAMwIAgImMTA3X1NfQUNBRkZEREZBQ0FGQUFGQ0NBRUNDQkFDQV9FdXJvcGUJAMwIAgImMTA4X1NfREJFQ0FCQkZGQ0RGQ0ZBQUZGQUZGQUNDQV9FdXJvcGUJAMwIAgImMTA5X1NfQkFGQ0NBQUZDQUNGQkFGRkJGQUJBQkVGQ19FdXJvcGUJAMwIAgImMTEwX1NfQUFGQkNDQ0NCRkJFQUNBRkRGQkZGREFGQl9FdXJvcGUJAMwIAgImMTExX1NfRkFBQ0ZBRkZDQ0NFRkNDQ0VDQUZBQ0ZEQ19FdXJvcGUJAMwIAgImMTEyX1NfQkZGRkNFQUJGRUJDQ0NCRUJCQ0NGRkFERl9FdXJvcGUJAMwIAgImMTEzX1NfRkZBQ0NDQkNDQUNCQkNGQ0FBRENBREJDQV9FdXJvcGUJAMwIAgImMTE0X1NfRUNGQ0JBQ0JEQ0ZDRkVBRkRGRUZBQUFBRl9FdXJvcGUJAMwIAgImMTE1X1NfRkNBRUNBQ0ZGQkZCQkFCRkZGREZDQUJDRl9FdXJvcGUJAMwIAgImMTE2X1NfREFDRkFFRkZCQ0ZGQ0NBQ0ZBRkZDQkFERV9FdXJvcGUJAMwIAgImMTE3X1NfRkJGRkZBQkFFRUZBQ0NFRkNBQUNERkNBQ19FdXJvcGUJAMwIAgImMTE4X1NfQkZBQ0ZCQ0NGRkNEQkFBQUJGQ0JDQkJBQV9FdXJvcGUJAMwIAgImMTE5X1NfQUZBQUJCQUZEQUFDRkNEQUZDQUJERkVCQV9FdXJvcGUJAMwIAgImMTIwX1NfRkNBQ0FFQ0FFRkJCRkRDRkZCQ0RDQkNDQ19FdXJvcGUJAMwIAgImMTIxX1NfRkFBRkFFQ0ZGQkFBQkFCQURGREFDRkFBQV9FdXJvcGUJAMwIAgImMTIyX1NfQ0RGQUFDQUVGQkFERkFBRkZCQUZFRkNGQV9FdXJvcGUJAMwIAgImMTIzX1NfQkJGQUFFQUJGRERBQUJCRERBRkVGQUJCQ19FdXJvcGUJAMwIAgImMTI0X1NfQUFFRENFQkJGRkZGRkFDQUJBQUVDRkNCQ19FdXJvcGUJAMwIAgImMTI1X1NfRkRDQUZGRkJDRkFDQkFDQ0ZBRUFBRkNDQ19FdXJvcGUFA25pbAkAzAgCCQDMCAICJjEyNl9TX0FGQ0NDQUFFQ0ZDQUFGRENCRkZBQkJDQ0FfRXVyb3BlCQDMCAICJjEyN19TX0ZCQUJDQ0ZGQUNBQUFERkFBREJGQURDRUZfRXVyb3BlCQDMCAICJjEyOF9TX0RCQ0NGQkNDRkFBREZGREVBQkNGRENGRUJfRXVyb3BlCQDMCAICJjEyOV9TX0NDQ0ZBQkVDRkFBQUNBRkVGQ0NGRkZDRkRfRXVyb3BlCQDMCAICJjEzMF9TX0FDQUNGRUJGRkNDQ0NGQUFDQUZGRENDRkZfRXVyb3BlCQDMCAICJjEzMV9TX0FDRkNDQUZCQUJBRkFDREFDRUFGRkFCREFfRXVyb3BlCQDMCAICJjEzMl9TX0JDRUNBQkZDQkNDQ0FBQUFBQUNGQkNBQkZfRXVyb3BlCQDMCAICJjEzM19TX0ZGQkNGQ0NBRkFDQUFGRkJDRkZERkNGRkVfRXVyb3BlCQDMCAICJjEzNF9TX0FDQkJBRkFGQUVBQ0NEQUZFQkJFQUFGQkNfRXVyb3BlCQDMCAICJjEzNV9TX0NGQUNGRUZBQUNDQkFGQkZDRkZGRkNBRkFfRXVyb3BlCQDMCAICJjEzNl9TX0JCQ0FBQkJBRkFFQkVBRkZDQUFEQ0FGQUZfRXVyb3BlCQDMCAICJjEzN19TX0ZCRUFBQURGQ0NGQUJGQ0FCQ0FCRkVGQ0FfRXVyb3BlCQDMCAICJjEzOF9TX0NDQUFDQ0FGQkNFQUJBQ0NCRUZCQ0ZGQUFfRXVyb3BlCQDMCAICJjEzOV9TX0VFQUZBRkJBRUFBQUZDRkJBQkVCRkNGQ0FfRXVyb3BlCQDMCAICJjE0MF9TX0ZGQUZBQUZDQUJDQUZGRUNGQkJFQ0FBQkZfRXVyb3BlCQDMCAICJjE0MV9TX0RGQ0FCQkNGQ0RDQ0FFRUJDQ0NDQ0ZEQkNfRXVyb3BlCQDMCAICJjE0Ml9TX0JBRkNGRkNBRkFGRkJGQ0NDQUJBREJGRkNfRXVyb3BlCQDMCAICJjE0M19TX0JCQkZDRkNDQ0ZBRUZDQkFBQkJBRkNBREFfRXVyb3BlCQDMCAICJjE0NF9TX0FDQUZDQ0JGQ0NGQ0ZGQ0NGRkFBRkZFQkJfRXVyb3BlCQDMCAICJjE0NV9TX0FDQUJBQ0NEQUNDQkFGRkJERUFEQUJCQ0FfRXVyb3BlCQDMCAICJjE0Nl9TX0NCQ0NGQUJDRkZBQUNFQkZCQ0FGQUNGRkNfRXVyb3BlCQDMCAICJjE0N19TX0NDQ0NBREZGQkJGQkJBQ0ZBQ0NCQ0NCQUFfRXVyb3BlCQDMCAICJjE0OF9TX0NDQUJEQUZCQUNDQ0ZCQkJGQ0NGRkZBRkZfRXVyb3BlCQDMCAICJjE0OV9TX0FGQUNGRkZCQUFCQkJCQ0NGQ0NGQ0FEQ0ZfRXVyb3BlCQDMCAICJjE1MF9TX0NEQURDQ0ZDQUFGQURDQUJCQkVCRkFBQkNfRXVyb3BlBQNuaWwJAMwIAgkAzAgCAiYxNTFfU19BQ0NBRkZFREFFRUVDQUZCQUZDQUZGQ0NBX0V1cm9wZQkAzAgCAiYxNTJfU19EQUJGQ0ZEQ0FGRUJDQkZGQUFEQ0ZGRkRFX0V1cm9wZQkAzAgCAiYxNTNfU19BQkJCRkJCRkVFQUZCQ0JBQUNDRkJBRkRBX0V1cm9wZQkAzAgCAiYxNTRfU19GRkFDQ0RCRENGQUFGQ0NDRkZCQUNGQUJBX0V1cm9wZQkAzAgCAiYxNTVfU19GQ0NBQ0ZGQUNBQ0ZGQ0FBQkNBQUFGRkFGX0V1cm9wZQkAzAgCAiYxNTZfU19BQ0VDQkFGQUJDQUFGRkJDQ0ZDQUZCRkFFX0V1cm9wZQkAzAgCAiYxNTdfU19BRkFDRkRBRkJBQ0RCRkFDQUZBRkZGQUJGX0V1cm9wZQkAzAgCAiYxNThfU19CQ0RCRUJBRkNGQ0NGRkNDREZGQ0NFQ0FCX0V1cm9wZQkAzAgCAiYxNTlfU19EQ0FDQ0NGRkZEQ0ZBQkJBQkRBQ0VGRkNFX0V1cm9wZQkAzAgCAiYxNjBfU19FQUFBQ0NCRUZCRUFCRkZGQ0ZGRkNGQ0FBX0V1cm9wZQkAzAgCAiYxNjFfU19EQ0ZGRENDRURGRkZDRkNDQ0NDRkNGQkFDX0V1cm9wZQkAzAgCAiYxNjJfU19DQUFGQ0NDQ0FCQ0ZGRkVBRUNGQ0JBRkFDX0V1cm9wZQkAzAgCAiYxNjNfU19BQ0ZBQ0JCQkZDQ0VGQkJBQ0FDQkFBQ0FGX0V1cm9wZQkAzAgCAiYxNjRfU19CRUFCQUNGQ0NDQ0FGQ0NGQ0FGQUFBRkZDX0V1cm9wZQkAzAgCAiYxNjVfU19CREFBQ0NCRUZDREZBQ0JDQUJCRURGQkZGX0V1cm9wZQkAzAgCAiYxNjZfU19FRkFGRkFGQ0FFRkRBQUFERkFCRkFDRkZDX0V1cm9wZQkAzAgCAiYxNjdfTV9GRkNBRkNBQUFDQkFDQ0JCQ0FERkFBQUFDX0V1cm9wZQkAzAgCAiYxNjhfTV9CRkZBRkFGQ0NBRkNGREZBQ0NGQUZGQkFFX0V1cm9wZQkAzAgCAiYxNjlfTV9GRkNDRkNCRUNDQUZGRkZGRkJGRkFBQ0ZGX0V1cm9wZQkAzAgCAiYxNzBfTV9GRUZDQkNDQUFFQUZGQUZCQ0RGREFEQkFCX0V1cm9wZQkAzAgCAiYxNzFfTV9GRkVFQUFGQkFBQUZEQ0NBQ0JGQkJBQ0NGX0V1cm9wZQkAzAgCAiYxNzJfTV9DQ0RDQ0RDQUZERUVGRkFDQ0ZCQ0FGRUNDX0V1cm9wZQkAzAgCAiYxNzNfTV9BRkNDQkNGQ0NFQ0ZEQ0NBRENGQUFGQ0JGX0V1cm9wZQkAzAgCAiYxNzRfTV9BQUFGRkFCQ0JDRkNBREJDQUFBQUNCRkNCX0V1cm9wZQkAzAgCAiYxNzVfTV9DRkJCQkFCQ0FEQUNBRERGRkJBQ0ZGQkFDX0V1cm9wZQUDbmlsCQDMCAIJAMwIAgImMTc2X01fQUJCQkZCQkFBRkZDRkNGQkNDQkFCQ0ZBRl9FdXJvcGUJAMwIAgImMTc3X01fQ0VGQUNDRkZDRUJDQkNGQUJFQUNDRkNCQl9FdXJvcGUJAMwIAgImMTc4X01fRUNDQUZGQ0NBQUZBRENBRkZBQ0FBRkZDQ19FdXJvcGUJAMwIAgImMTc5X01fREZCRkNBRkNGQUFDRkJCRkZGRkVDRkNDQl9FdXJvcGUJAMwIAgImMTgwX01fQ0ZCQ0VGQ0ZCQUNGRENBQkZBQ0FDQUJGQV9FdXJvcGUJAMwIAgImMTgxX01fQ0FBQ0NGQUNDQkFFQUNBQ0JGRkVCRkFBQl9FdXJvcGUJAMwIAgImMTgyX01fQ0NFRkFCQkNBQUZGQUZGQ0VFQ0FGREZBQl9FdXJvcGUJAMwIAgImMTgzX01fRkFGQ0NDREJGRkFFQkJBQkJBQ0VBQUZCQl9FdXJvcGUJAMwIAgImMTg0X01fRkNDQUFGQUNBQ0FGQUJCRkZGRUNDQkNGRl9FdXJvcGUJAMwIAgImMTg1X01fQUZEQUFGQ0NCQUFGQUVERkFCQUZGQkFDQ19FdXJvcGUJAMwIAgImMTg2X01fQ0FGQUZDQUZDRkJDQUVBRkZGQ0FCQUNDRF9FdXJvcGUJAMwIAgImMTg3X0xfQUZFQkFBRkFBQkJGQUZDREVGRUJGQUFFQ19FdXJvcGUJAMwIAgImMTg4X0xfQkZDRUJGQkFBRkFCQUZGQUZDQ0FBRkVGRF9FdXJvcGUJAMwIAgImMTg5X0xfQkJBQUZBQ0ZGQUZGQ0ZGQ0JDQkNGQ0NCQ19FdXJvcGUJAMwIAgImMTkwX0xfQkVFQUFCQkZGQkZDRkFGRUJFRUFDQkFBQl9FdXJvcGUJAMwIAgImMTkxX0xfRUNDRkZDQ0NDQUZGQ0JEQ0NGRkNDQUZBRl9FdXJvcGUJAMwIAgImMTkyX0xfRUJFQ0ZBRkFGRkZBRkFEQUFCQkFEQUZCQl9FdXJvcGUJAMwIAgImMTkzX0xfRkFGRkFGQUFBRkVCQkFBREZCRUZGQ0NBQV9FdXJvcGUJAMwIAgImMTk0X0xfQUJDRkZDQ0FBQ0ZCQ0JGRkZGQ0ZBRkZBQl9FdXJvcGUJAMwIAgImMTk1X0xfQUNDQkJCRUFFRkFBRkRERkJGQUZBQ0NDQl9FdXJvcGUJAMwIAgImMTk2X0xfRUNDRkFGQ0VBQUNDQ0NBQUNDRkZGQkNDRF9FdXJvcGUJAMwIAgInMTk3X1hMX0ZBRkFCQ0JCREZDRkVBRkZBQ0NBQkNGQ0NfRXVyb3BlCQDMCAICJzE5OF9YTF9DQ0NBRkJBQkZBQUNDRkJBRkZGRkFBQkZDX0V1cm9wZQkAzAgCAicxOTlfWExfQ0NGQUNCQUZBQ0FFQUZCQ0FGRkFCQUFDQV9FdXJvcGUJAMwIAgInMjAwX1hMX0VDQ0REREVBQ0NBRkFDQUNCQUZCQUZEQUNfRXVyb3BlBQNuaWwJAMwIAgkAzAgCAigyMDFfU19BQ0ZBQUJBQUZGQkFDQ0VCQkJFRkJDRkZBX0FtZXJpY2FzCQDMCAICKDIwMl9TX0NCQkFCQUVBRkZCRkJCRkNBQkVCRUVBQUJfQW1lcmljYXMJAMwIAgIoMjAzX1NfQURGQUJBQkJCRkNBQkNDQUJBQUJCRkZBQ19BbWVyaWNhcwkAzAgCAigyMDRfU19GQUJDRkZCRURBRUFBQUVGQ0ZDQkJDRUJDX0FtZXJpY2FzCQDMCAICKDIwNV9TX0FGQkZCQkJCREFBQUZGQkNGRkJDRkNBQkFfQW1lcmljYXMJAMwIAgIoMjA2X1NfQkJGQ0NFQkZDQ0ZBRkZCRkVGQ0ZDRkZBRF9BbWVyaWNhcwkAzAgCAigyMDdfU19DQkZDQkNFRkFGQUZGQkNFQkNCQkVBRkZCX0FtZXJpY2FzCQDMCAICKDIwOF9TX0ZDQkZCQkZCRkJCQkZCRkNCRkFDQUVBRUJfQW1lcmljYXMJAMwIAgIoMjA5X1NfRkZGRkZBQUNCRkJCRkZBQUJGQ0JFQ0FDQl9BbWVyaWNhcwkAzAgCAigyMTBfU19CQUFBRkFCQkZDQUNCQkJGQUFBQ0FBREFCX0FtZXJpY2FzCQDMCAICKDIxMV9TX0JDRkFDRkNFREZCRkFCQ0NFQkFGRkNCQkNfQW1lcmljYXMJAMwIAgIoMjEyX1NfQkVDQ0FGQkZCREFBQkFGQkZGQkZCRkFDQV9BbWVyaWNhcwkAzAgCAigyMTNfU19DRUZBRkJBRkNGQUJDRkFCQkJBQ0FBQkNGX0FtZXJpY2FzCQDMCAICKDIxNF9TX0RDQkNCQkZCQkJFQ0JBQkFCQkZDQUFBRkJfQW1lcmljYXMJAMwIAgIoMjE1X1NfQkZDQkJFRERBQUZDRkFGQUNGRkRCQUNGQl9BbWVyaWNhcwkAzAgCAigyMTZfU19CRkFDQkNGQkJGQUNBQ0ZFQ0JCQ0JCQ0RGX0FtZXJpY2FzCQDMCAICKDIxN19TX0FGREFDRUVBRkFCQkRBQUVFRURFRkJCQUNfQW1lcmljYXMJAMwIAgIoMjE4X1NfQkZCRkFBRkZBRkZGRkJBRkZCQUFCRkRFRl9BbWVyaWNhcwkAzAgCAigyMTlfU19BQ0FCRkVCQkNBQ0ZGQkJBQ0JGRkNDQkFBX0FtZXJpY2FzCQDMCAICKDIyMF9TX0ZFQ0JGRkFGQkZBQkNGQUNERkFBQUNGRkFfQW1lcmljYXMJAMwIAgIoMjIxX1NfQUJCRkJGRkNGRURCQUZEQkJFQkFGQkZDQl9BbWVyaWNhcwkAzAgCAigyMjJfU19BQUVCQkFBQkZBRUNBRUZCQkJCQ0RCQUFDX0FtZXJpY2FzCQDMCAICKDIyM19TX0ZGQkZGRkFDQkJGRkFBQkFCQkFGQUJDRUFfQW1lcmljYXMJAMwIAgIoMjI0X1NfQUZGQUZCRkZCQUJDQkNCRkZBQkFBQUJBQV9BbWVyaWNhcwkAzAgCAigyMjVfU19BQUJCRkZGQ0FGRUFCQkJGRUZEQUFGQUFGX0FtZXJpY2FzBQNuaWwJAMwIAgkAzAgCAigyMjZfU19BQUZCQ0JCQUJCRUJEQkNCQ0JBQ0FEQkZGX0FtZXJpY2FzCQDMCAICKDIyN19TX0ZCRkJBQUFGQUFGREJBQUNGQkVCQ0ZGQkVfQW1lcmljYXMJAMwIAgIoMjI4X1NfQUFBRkZGRkJCQUJEQUJDRkZBRkFDRkVBQl9BbWVyaWNhcwkAzAgCAigyMjlfU19GQ0NGREJCQkNGQ0FDREZCQUJGRkJBRkVGX0FtZXJpY2FzCQDMCAICKDIzMF9TX0JGRkJDQ0NBQUFCQUZCREFDREZDQ0JEQkFfQW1lcmljYXMJAMwIAgIoMjMxX1NfQkZCQUZCQ0ZGQ0FCQUJGQkJGQkJDRkFBQV9BbWVyaWNhcwkAzAgCAigyMzJfU19DQkZDREVGRkFGREJBQ0FGRERDQURDRkFGX0FtZXJpY2FzCQDMCAICKDIzM19TX0ZDRkZGQURBRURBQ0FCRUJDRkVBQ0ZCQkJfQW1lcmljYXMJAMwIAgIoMjM0X1NfQkVCRkJCQkFDQUNDRkFDQUZDQkZGQ0FBQV9BbWVyaWNhcwkAzAgCAigyMzVfU19CRUNBRkZCQUNFRkFCRkFCQ0JCQ0NGRkNBX0FtZXJpY2FzCQDMCAICKDIzNl9TX0JDRkZCQUJBRkNGQkJCQUFDQUJCRUNGQkVfQW1lcmljYXMJAMwIAgIoMjM3X1NfQkNCRkZCQURBRkJCQkFBRkFGRENDRkZBRl9BbWVyaWNhcwkAzAgCAigyMzhfU19CRkJGQkJBQkZDQkJCQUNCQUNBQkZCRUVGX0FtZXJpY2FzCQDMCAICKDIzOV9TX0JCRkJERkJGQkJCQkNCQUNEREZBQ0FGQkNfQW1lcmljYXMJAMwIAgIoMjQwX1NfRkRDQ0NDRUJGRkNCRkZBQkJBRkJBQUFCRl9BbWVyaWNhcwkAzAgCAigyNDFfU19CRkZGQUFCQkFEQ0ZBQkFCRkVBRkFCQUNDX0FtZXJpY2FzCQDMCAICKDI0Ml9TX0VDRUJBQkFCQ0ZGRkFDRkJGQ0ZBQkZGQkJfQW1lcmljYXMJAMwIAgIoMjQzX1NfQUVBRkJCQ0FDQkJGQ0ZBQkVGQkZCRkFGRF9BbWVyaWNhcwkAzAgCAigyNDRfU19BRkJGQ0ZCRkZGRUZBQkZGQkRGQ0NCQkFGX0FtZXJpY2FzCQDMCAICKDI0NV9TX0JGQUJBRkZDRkFCQ0ZCQ0NBQkZBRkFCQ0ZfQW1lcmljYXMJAMwIAgIoMjQ2X1NfQ0FCQUJFQkNGRkRCRkFGRkJBRkZGRUFGRF9BbWVyaWNhcwkAzAgCAigyNDdfU19BRkZCQUZBRUZGQ0RFRkJBQ0VGQUZBQkFBX0FtZXJpY2FzCQDMCAICKDI0OF9TX0FGREZEQkJCRkJCQUZGRENBRkNFQUZBQ0JfQW1lcmljYXMJAMwIAgIoMjQ5X1NfRkZCRkZGQUZERkFFQUJCQUNEQkJDRkJBRl9BbWVyaWNhcwkAzAgCAigyNTBfU19DQkFGQUVGRkFERkRBQUVDQUFGQUZCRkZBX0FtZXJpY2FzBQNuaWwJAMwIAgkAzAgCAigyNTFfU19BQUZDQUJBRkFDQkVBREZGQUFBRUVCQkJGX0FtZXJpY2FzCQDMCAICKDI1Ml9TX0FCQ0FGQUFBQkNDQUFDQUZCQkZCQURGRkZfQW1lcmljYXMJAMwIAgIoMjUzX1NfRkVGQ0JBQUNGRkJFQUNCQkVGQkZGQkJBRV9BbWVyaWNhcwkAzAgCAigyNTRfU19BREFCRENBQkJGQUFBQUZERkZFQkJDRkFEX0FtZXJpY2FzCQDMCAICKDI1NV9TX0JBRUFBQUZBQUFBRUFGQkZBQkVEQUZBQkFfQW1lcmljYXMJAMwIAgIoMjU2X1NfRkZGRkNDQUFDQkFGQUZEQkNBQUJBRkZBQ19BbWVyaWNhcwkAzAgCAigyNTdfU19BRkVBQUNGQkFCQUNCQ0VGQUZDQkFGRkJCX0FtZXJpY2FzCQDMCAICKDI1OF9TX0FEQ0JCQ0FCRkVCRUFGREFGQkNEREFERkFfQW1lcmljYXMJAMwIAgIoMjU5X1NfRkJFQ0JCRUZBQ0FBQ0FBQkJDQUJBRkJGQV9BbWVyaWNhcwkAzAgCAigyNjBfU19BQkJDQ0JGQ0ZGRkZDRkFCQ0VBRkZFQ0ZCX0FtZXJpY2FzCQDMCAICKDI2MV9TX0JCRENGRkZGQkRERkJGRkZBRkNCRkFEQkJfQW1lcmljYXMJAMwIAgIoMjYyX1NfQ0FBQkJGRkJGQkNFRkJBRkZGRkFCRkZBQV9BbWVyaWNhcwkAzAgCAigyNjNfU19GQkZCQkZBQUJGQ0NBRkJDRkFDRkJBQkJBX0FtZXJpY2FzCQDMCAICKDI2NF9TX0FGRkNBQkNGQ0JGQUZCQkVCRkFGQUVBRkVfQW1lcmljYXMJAMwIAgIoMjY1X1NfRkFGQkJCRkFGQUJFQUZCQkFCQ0JBQkFGQl9BbWVyaWNhcwkAzAgCAigyNjZfU19BQUFDQUFFQUVBQkFCRUZGQUFCRkJGRkJBX0FtZXJpY2FzCQDMCAICKDI2N19NX0ZBQUNBQUNBQkJGQkFGQ0JDQkZGRkJCRkZfQW1lcmljYXMJAMwIAgIoMjY4X01fQUJBQkFCRkFCRkJBQ0ZFRkNDRkVGQ0JBQ19BbWVyaWNhcwkAzAgCAigyNjlfTV9BQ0FCQUJCQkZDQ0VCQUZEQkFBRkFCQUJGX0FtZXJpY2FzCQDMCAICKDI3MF9NX0FGQkNDQkNBQUZEQkNDRkNDQkFGRkFCQUNfQW1lcmljYXMJAMwIAgIoMjcxX01fQUJGQkRGQUZFQkNERkVBQUFBQUJBRkJCRl9BbWVyaWNhcwkAzAgCAigyNzJfTV9BQUZGRUFERkVDQURBRkZBQUVERUVCQ0RBX0FtZXJpY2FzCQDMCAICKDI3M19NX0FCQUZGQ0JCRkFCRkJBQUZCRkFGQkJEQkJfQW1lcmljYXMJAMwIAgIoMjc0X01fQ0FBRkJBQkNDRUZGQ0VBQUFBQUZGRUFCRF9BbWVyaWNhcwkAzAgCAigyNzVfTV9BRkJGQUJGQkZEQkVEQUVBRkNBQkJGQUZBX0FtZXJpY2FzBQNuaWwJAMwIAgkAzAgCAigyNzZfTV9GRkNGRkNBREJCQUFGQUNCRkZGQkFBRkNFX0FtZXJpY2FzCQDMCAICKDI3N19NX0FFQkJBQ0ZCQkNCQUFCQkFCRkRGRkZEQUFfQW1lcmljYXMJAMwIAgIoMjc4X01fQ0VDRkZDQUFDQUZBQkJBQUJCRkZBRUJCQ19BbWVyaWNhcwkAzAgCAigyNzlfTV9DQUJCQkJDRkVDRkZGQ0ZGQkJDQ0JFRkJCX0FtZXJpY2FzCQDMCAICKDI4MF9NX0FERkZDRkJBQkJBQUZFRkFGRkZBRkJDRkZfQW1lcmljYXMJAMwIAgIoMjgxX01fQUNBQkFFQkJBRUFDQkVFQUFBRkJBQkRCQ19BbWVyaWNhcwkAzAgCAigyODJfTV9FQkZCQkFCQ0ZCRkVBREFGQUJCQkFDRkZGX0FtZXJpY2FzCQDMCAICKDI4M19NX0FCQUFEQUFDQkZBQkNGRkFBQ0FBQUJDQkJfQW1lcmljYXMJAMwIAgIoMjg0X01fQkNEQ0FGQUNEQkFDRUZEQ0JDQkJBQ0FCQ19BbWVyaWNhcwkAzAgCAigyODVfTV9BQkNCQUFCQkNBRkZBREFDRkJBQUNBQUNBX0FtZXJpY2FzCQDMCAICKDI4Nl9NX0ZBQUFBRkNCQkJERUJCQ0ZGREFCQ0FBRkJfQW1lcmljYXMJAMwIAgIoMjg3X0xfQkJCQUJBQ0NCRkJDQ0ZCQkRFRkFCQ0FCRV9BbWVyaWNhcwkAzAgCAigyODhfTF9GQUNBQkZCQ0FCQ0FGQkNGRkJDRkZCQkFCX0FtZXJpY2FzCQDMCAICKDI4OV9MX0ZCRkZDQUVERkFCRkZGQkFGQ0ZCQ0FCRkRfQW1lcmljYXMJAMwIAgIoMjkwX0xfQ0ZGQUJCQkFDQUFCRkZCQUFDQUFFQkNCRl9BbWVyaWNhcwkAzAgCAigyOTFfTF9CRUFGQUZCQUZDQUJBQkRGRkNGREJGQ0JGX0FtZXJpY2FzCQDMCAICKDI5Ml9MX0FBQkJBREFBQUFGQkFCQ0JDQ0ZFRERDQ0JfQW1lcmljYXMJAMwIAgIoMjkzX0xfQkNCQUFDQ0JCQ0JCQUZGQUZDRUJBRkZBQl9BbWVyaWNhcwkAzAgCAigyOTRfTF9EQ0FGQ0JCQkVGQUFCQUJGREFGQUFGRkJGX0FtZXJpY2FzCQDMCAICKDI5NV9MX0ZCQUNFRUNCRkZDRkZERUFBRkFBQUFDRUNfQW1lcmljYXMJAMwIAgIoMjk2X0xfQUJGQkFDREJDQUJGQUZDRkRCRUNFQUJBQ19BbWVyaWNhcwkAzAgCAikyOTdfWExfQUNBQ0JBQkNEQUZDRkNGQkZCQkRBQUFCQl9BbWVyaWNhcwkAzAgCAikyOThfWExfQkZDRkZCQUFGQUJBQ0RGRUNGRkNGRkZGQV9BbWVyaWNhcwkAzAgCAikyOTlfWExfQUNGRkFFQkVCREJFQkJDQkJCRkFCQUZCQV9BbWVyaWNhcwkAzAgCAikzMDBfWExfRkNGQkZCQkJGQ0NEQkZGREJBQkJDQkZGQV9BbWVyaWNhcwUDbmlsCQDMCAIJAMwIAgInMzAxX1NfRUZEREZGRkVBREZFRkZCRUZFQkVBRkVERF9PY2VhbmlhCQDMCAICJzMwMl9TX0ZCRERGRUZGREVFRENGREVGRURDQkZFQ0RfT2NlYW5pYQkAzAgCAiczMDNfU19FRkJEQUJFQ0ZBREFEREFBRkVEQkRGREVEX09jZWFuaWEJAMwIAgInMzA0X1NfQkZGRkRFQkRCQkVEQ0RFQkVFQUJFRUJGRF9PY2VhbmlhCQDMCAICJzMwNV9TX0VFRUJGREZEQkRERUVERkRGREJDRUJGRERfT2NlYW5pYQkAzAgCAiczMDZfU19BRkFFRUZGRkJFREVGRkNFRURFQUVERURGX09jZWFuaWEJAMwIAgInMzA3X1NfRERERkZBQkRDRkRFRURFREZCREZFRkZERF9PY2VhbmlhCQDMCAICJzMwOF9TX0RFREZFREZBRkJERURGQkRERkVERUVGQkVfT2NlYW5pYQkAzAgCAiczMDlfU19GRkREQkVEQUVFREZFQUVGRkVEQkZGRkREX09jZWFuaWEJAMwIAgInMzEwX1NfQkJFREJGQ0RCRUVGREZFRkVGRkZERUJFRF9PY2VhbmlhCQDMCAICJzMxMV9TX0ZGRUVCRkZCQkJFQkZFRkVFREVGREJDRkJfT2NlYW5pYQkAzAgCAiczMTJfU19CRUZFQ0ZERkREREVERUZFQ0ZCRUJCRkZEX09jZWFuaWEJAMwIAgInMzEzX1NfRkVFQkRERUVFRkZGQkZEREVERkRDRkZBRl9PY2VhbmlhCQDMCAICJzMxNF9TX0ZERkNGRkVCREVGQkVFREJGRENERkJFQkRfT2NlYW5pYQkAzAgCAiczMTVfU19GRUJCRURGREZFRkRERUZGRUZEQ0VEQkJEX09jZWFuaWEJAMwIAgInMzE2X1NfQkVCQ0ZFRkRERERGRkVFQ0JGREZEQkRERV9PY2VhbmlhCQDMCAICJzMxN19TX0RFRURERkRFRkRERkRCQkVCRkZCRkVGQ0FfT2NlYW5pYQkAzAgCAiczMThfU19FQkRFREJFRUJFQ0VDRUVFQUZDQkZFRkVFX09jZWFuaWEJAMwIAgInMzE5X1NfRERFQkZBREVGRERFQkZCREZEQkVERkJFQV9PY2VhbmlhCQDMCAICJzMyMF9TX0RGRkRCRURFREVERkVCQkZCRUJFREVERERfT2NlYW5pYQkAzAgCAiczMjFfU19ERkVFRURCRERFRkZGQUJEREVGQUZCRkRBX09jZWFuaWEJAMwIAgInMzIyX1NfQkZCREVBRkVGREVCRkZFQ0FDRERGRkJEQl9PY2VhbmlhCQDMCAICJzMyM19TX0VGRUVBREZGQkJGRUZFREVFQ0VDRENGQkJfT2NlYW5pYQkAzAgCAiczMjRfU19BRkJDRURGRURERUVERERDRkVGRUVFRUJCX09jZWFuaWEJAMwIAgInMzI1X1NfQUJFRUNCRkZFRUZERUJERUJGRUZFRkRDRl9PY2VhbmlhBQNuaWwJAMwIAgkAzAgCAiczMjZfU19FQkZFREVGRkRFRkRFQkVGRkRGRUNDRkRGX09jZWFuaWEJAMwIAgInMzI3X1NfREREREJEQ0JFQkVGRkVEREFFQkRCQkRFQl9PY2VhbmlhCQDMCAICJzMyOF9TX0VCRERCQ0RERkZGQkZGRERGREJGRUZEQkVfT2NlYW5pYQkAzAgCAiczMjlfU19GRUJFRERCQ0JFQkRFQkZFRUZEQ0FFRERGX09jZWFuaWEJAMwIAgInMzMwX1NfRURFREVBQ0RCQkREREVEQ0RGRURCREVERV9PY2VhbmlhCQDMCAICJzMzMV9TX0RCRERCQkNGREVBQkVGREFGREZEREVGQkJfT2NlYW5pYQkAzAgCAiczMzJfU19GQUFCQ0ZERUZEQkZCRUZEREJDQ0JFRkVEX09jZWFuaWEJAMwIAgInMzMzX1NfQkVERkJGREVCRUZDRkRGREVEQkJERkZFQl9PY2VhbmlhCQDMCAICJzMzNF9TX0JGRkVGRkRFQkZBRkJEQkVCRUZFQ0ZCREVfT2NlYW5pYQkAzAgCAiczMzVfU19GRkVGQkRFQkZGRUZERERFRkJGRkRBRkJBX09jZWFuaWEJAMwIAgInMzM2X1NfREVGQkVGRUVERUNFRUJGREZFRERGQkZCRV9PY2VhbmlhCQDMCAICJzMzN19TX0VERUJBQ0RFQ0VFRUVERERGRUZDRURDRkFfT2NlYW5pYQkAzAgCAiczMzhfU19ERUVEQkVGRkZFRERCREVEQUJERUVDRUZFX09jZWFuaWEJAMwIAgInMzM5X1NfREVGQkRFREZBRERGQkVERUJFRUVFREVFRV9PY2VhbmlhCQDMCAICJzM0MF9TX0JGRERERkREQURERkREQUZDRUNGRUVBQUZfT2NlYW5pYQkAzAgCAiczNDFfU19FREVERERBQkVGRUVFQkZBQUNGREVFQUJFX09jZWFuaWEJAMwIAgInMzQyX1NfREVEREZGREJFREZDRUZBQkVCQkZGRkVFRV9PY2VhbmlhCQDMCAICJzM0M19TX0VERUZGRkRCRkRCRkVFRkJBRUZGQ0VGQ0JfT2NlYW5pYQkAzAgCAiczNDRfU19GREVFRUJFRUVEREVERkNERkZCREZCQkVEX09jZWFuaWEJAMwIAgInMzQ1X1NfQUZGRkRERUVFRUVGRUZERkNGQURERUZEQl9PY2VhbmlhCQDMCAICJzM0Nl9TX0VFQkREQkVDRUZFQUZFRkVGQ0ZCRUNEQUVfT2NlYW5pYQkAzAgCAiczNDdfU19GRUVGREFCQ0ZCRkZGREZBREVFRURDREJEX09jZWFuaWEJAMwIAgInMzQ4X1NfQkVGRkRFRkZGRkVEQkZGRURCRkVGRURGRl9PY2VhbmlhCQDMCAICJzM0OV9TX0RCQkJGQ0REQ0JERURFREVFRkJFRkZERkRfT2NlYW5pYQkAzAgCAiczNTBfU19GREZFRkZFRUVERUVEREJGREZFREFERUVFX09jZWFuaWEFA25pbAkAzAgCCQDMCAICJzM1MV9TX0RGQURERkZEQ0VGRUJFRERFRkZFRUZFQUVfT2NlYW5pYQkAzAgCAiczNTJfU19CRkRFRUJERUVCRURFRkFGRkJEQ0RCREVBX09jZWFuaWEJAMwIAgInMzUzX1NfQkZGREJGRERFRkNFREZCREZDQUFFRUZFRV9PY2VhbmlhCQDMCAICJzM1NF9TX0VEREVGREVGQkVFRUVFRUZEREJFRUVGRERfT2NlYW5pYQkAzAgCAiczNTVfU19DREVCRkJEREZEREVFREJCRURFRUVERUZFX09jZWFuaWEJAMwIAgInMzU2X1NfRUJGRUFEQkVCREZDRERGRkREQkZGQkJFRF9PY2VhbmlhCQDMCAICJzM1N19TX0JFRUVEREJCRkVGQ0VDRkVERUZDRkVBRUZfT2NlYW5pYQkAzAgCAiczNThfU19DRkRFREVEQkVGRUZGQUVEQUZERUVCRUFCX09jZWFuaWEJAMwIAgInMzU5X1NfRkNCRUFEQkZGRkZGQkFERUZCREZFQURERV9PY2VhbmlhCQDMCAICJzM2MF9TX0NGRUNFRURGRUNCREJBRUVERUVDREVGRkZfT2NlYW5pYQkAzAgCAiczNjFfU19DRkVFRkVFQkVFREFDQ0VDRUZFRkVFREZEX09jZWFuaWEJAMwIAgInMzYyX1NfQ0ZEQkVGQkZERUZFRkZERUZFQkZCQkREQl9PY2VhbmlhCQDMCAICJzM2M19TX0RERUZGRkRGRkJGRkZERkRCQkVFQ0JFRkVfT2NlYW5pYQkAzAgCAiczNjRfU19ERUZGRkVCRUZDRUVERkRERkVEQUZGRkZCX09jZWFuaWEJAMwIAgInMzY1X1NfRUFEQUJERUVDQURDRkNERUVGRURERUZCRl9PY2VhbmlhCQDMCAICJzM2Nl9TX0RFRkNFREJFRUVEQUNERURGRkRFRUJGQkFfT2NlYW5pYQkAzAgCAiczNjdfTV9FRUJEQkZGRERFRkZEREZGRUZFREVEREVEX09jZWFuaWEJAMwIAgInMzY4X01fREVGREZGRkRERERGQkVERkJCRERDQkVFRl9PY2VhbmlhCQDMCAICJzM2OV9NX0ZGRkVERUZDRkJDRkRGREJGQkFGQkZDRUVfT2NlYW5pYQkAzAgCAiczNzBfTV9DQkVGRkVGQkRGQkZGQkZFRkRERkVFREJGX09jZWFuaWEJAMwIAgInMzcxX01fRERGREVEREVCRERFRUVEREJCQUNGRkVGRV9PY2VhbmlhCQDMCAICJzM3Ml9NX0FERkVFQUVEREVGREJEREFCRURERUZGRkRfT2NlYW5pYQkAzAgCAiczNzNfTV9ERkZDRUFFRUVFRkVCRkRCQkVDRUJFQURFX09jZWFuaWEJAMwIAgInMzc0X01fRkVGRUZEREVFREZFRUJCREVCRERGRkVGRF9PY2VhbmlhCQDMCAICJzM3NV9NX0VGRURCRUZDREZGQUJERkREREZGRUVGRERfT2NlYW5pYQUDbmlsCQDMCAIJAMwIAgInMzc2X01fRkJGRUFFQ0JDQkNERUVCRUVFREJEQkVGRl9PY2VhbmlhCQDMCAICJzM3N19NX0FGQkVGRUJERUVDRERERUVBRURGQkRCQkZfT2NlYW5pYQkAzAgCAiczNzhfTV9CRkZERkZEQkZFRkZBRURGREVEREZGRUZCX09jZWFuaWEJAMwIAgInMzc5X01fREVERUZEREZEREVCREZGRUJEQkRERkNCRl9PY2VhbmlhCQDMCAICJzM4MF9NX0JFRUREQkVCREVCQkJGRUZFQkZERkVERERfT2NlYW5pYQkAzAgCAiczODFfTV9CRkJGQkZFRkZCRUVCRENDRkJEREVEQkRGX09jZWFuaWEJAMwIAgInMzgyX01fRURGQUVGRkJDRERERURGQkZGQkRDRUVERV9PY2VhbmlhCQDMCAICJzM4M19NX0FCQkRGRUZGQUVGRkVGQkRCRkZBRUZGRENfT2NlYW5pYQkAzAgCAiczODRfTV9ERkRBRUJGRkRCRUJCRUZERkVERkRFRkRCX09jZWFuaWEJAMwIAgInMzg1X01fREJGQkZERENCRkRFRUZGRENGREZFQkRCRV9PY2VhbmlhCQDMCAICJzM4Nl9NX0JCREVEQ0RERkVERUREREJEREZERkJERUJfT2NlYW5pYQkAzAgCAiczODdfTF9ERERGRkFEREZGRERBQkRFRkRFREVFQkJCX09jZWFuaWEJAMwIAgInMzg4X0xfRkJERERGQkRCQkZCRUJDQkJGRERGRUZGQl9PY2VhbmlhCQDMCAICJzM4OV9MX0RGQkZERUZERUVERUZCQ0RFREVFQkJEQkFfT2NlYW5pYQkAzAgCAiczOTBfTF9GRkVFRkVCRkZCRERERENCRUZCRkRERUZEX09jZWFuaWEJAMwIAgInMzkxX0xfRkVERUZFQURERUZDRkVFRkRFRERGRURFRV9PY2VhbmlhCQDMCAICJzM5Ml9MX0VEREJFREZGQkRFREVERERGRUVERENGRkRfT2NlYW5pYQkAzAgCAiczOTNfTF9EQkZGRUFERkRGRkZGQ0VFRkJCQkJFRkRDX09jZWFuaWEJAMwIAgInMzk0X0xfQUFEREVGRkNEREZERkJFRERGRERGRUFERF9PY2VhbmlhCQDMCAICJzM5NV9MX0VGRkVCRURERUZFQkRCRUZCRkVBRUVBREVfT2NlYW5pYQkAzAgCAiczOTZfTF9ERURFQkRGRUVERkJGQkRERkVFQkZBQkJGX09jZWFuaWEJAMwIAgIoMzk3X1hMX0JEREVFREVFRkZBRUZGREJCQkVGRURCRkJfT2NlYW5pYQkAzAgCAigzOThfWExfREZFRUVFQkZFREFGREJGQ0RGRERFRUVFQl9PY2VhbmlhCQDMCAICKDM5OV9YTF9CRkZFRUFEQkJEQUFGRkVCRkVBRERGREVCX09jZWFuaWEJAMwIAgIoNDAwX1hMX0ZGRUJERUVEQkRFREVGREZCRkVFRkZGRUZfT2NlYW5pYQUDbmlsCQDMCAIJAMwIAgImNDAxX1NfRkJFREZERkVERUREQkZEREVFQUZGQkJFRV9BZnJpY2EJAMwIAgImNDAyX1NfQkZCREVFREJGRERCRkZGQkVCREJERENGQV9BZnJpY2EJAMwIAgImNDAzX1NfRUJCQkRDRUVEREREQUJDREJERUJCQkZBRV9BZnJpY2EJAMwIAgImNDA0X1NfREJEREVEREZGRkZEQkVGQkRERkZCQkRERl9BZnJpY2EJAMwIAgImNDA1X1NfREJFRkVFQkNCQkZGQ0VCRERFRENFRERERF9BZnJpY2EJAMwIAgImNDA2X1NfREZEQkVEREJFRENEREFEREVGQ0JGREVBRF9BZnJpY2EJAMwIAgImNDA3X1NfRUZERERCQkJFRkVERkJCRERGRkREQkVCRV9BZnJpY2EJAMwIAgImNDA4X1NfREJCREJFQ0NFRURFQUFEQkJEQUJCRERGRV9BZnJpY2EJAMwIAgImNDA5X1NfQkZEREJFRUJFRERCQUJERERBQkRGRUJCQl9BZnJpY2EJAMwIAgImNDEwX1NfQkNDRUJFREJGREJEREJERkVGRkZCRUJFQl9BZnJpY2EJAMwIAgImNDExX1NfRURGREVGRkJFRERBRUFFQkRERkRGQkJFRF9BZnJpY2EJAMwIAgImNDEyX1NfQkJEREVFQkZCQkJFRkJEQkZEQkRERURERF9BZnJpY2EJAMwIAgImNDEzX1NfQkJGQ0RFQUVFRkJEQkJCRUREQUVGQkJFQV9BZnJpY2EJAMwIAgImNDE0X1NfQkFEQkREREJEREVGQkRCQkFERERERUJDRV9BZnJpY2EJAMwIAgImNDE1X1NfREZFQkNFRUJGRkRERENDREZFRkRCRkJGRl9BZnJpY2EJAMwIAgImNDE2X1NfRUJCQUVGRUJBQURCQkZGQkRCQkZEQkRBRF9BZnJpY2EJAMwIAgImNDE3X1NfQ0VEQkRCQkVEQUJCQkJDQkJCRURGRUVFQl9BZnJpY2EJAMwIAgImNDE4X1NfQkJEREVCREJCQkNGQkVERkJCREVEREREQl9BZnJpY2EJAMwIAgImNDE5X1NfRkZDQkJGRURBRkJCQkJBRkRGREZCRERGQl9BZnJpY2EJAMwIAgImNDIwX1NfRkZEQ0JEQkJFQkVCQkRCREZFRENCRkJFRV9BZnJpY2EJAMwIAgImNDIxX1NfQkRBRUJEQkZGRkRCQkRCREJDRUVERkJCQl9BZnJpY2EJAMwIAgImNDIyX1NfQkNERERERUJGQkVBQUVCQUJCRUZCQ0ZFRF9BZnJpY2EJAMwIAgImNDIzX1NfRERCRUZCRERGRERGREZCQ0ZCRERGRERERV9BZnJpY2EJAMwIAgImNDI0X1NfREZCREJEQ0RFQ0JCREJEREVFQURCRUVDQl9BZnJpY2EJAMwIAgImNDI1X1NfRURBREZEQkVERURGREVFQkREQkRGQkRBRF9BZnJpY2EFA25pbAkAzAgCCQDMCAICJjQyNl9TX0RCREJEQkRERUREQUREQkVEQkRCQkZGRERfQWZyaWNhCQDMCAICJjQyN19TX0RCQ0ZEREZDQkZDQkRCQ0JFQkZFRUJBQkVfQWZyaWNhCQDMCAICJjQyOF9TX0JGRkNEQkRERUJCRUREQkVFRkRCREVFQkJfQWZyaWNhCQDMCAICJjQyOV9TX0ZCREJGRERCQkJCREFERkJCQkREQ0JDREJfQWZyaWNhCQDMCAICJjQzMF9TX0FERUVERERFQ0ZDREZEQkRCQkVEQUREQURfQWZyaWNhCQDMCAICJjQzMV9TX0VEQ0JCQUJCRURGRkJGRkRGQkRFREFCREVfQWZyaWNhCQDMCAICJjQzMl9TX0JCQkRCQkJERUVERENCRUJERkVEQkJBREZfQWZyaWNhCQDMCAICJjQzM19TX0RGQkNERURCREJEREZEREJBRkJGQkJFRkNfQWZyaWNhCQDMCAICJjQzNF9TX0RCRUJERUJERUVEQkVGRkRFRERGREJEQkJfQWZyaWNhCQDMCAICJjQzNV9TX0RCRUJCRkRCRkVGREJEREZERkJERkRERURfQWZyaWNhCQDMCAICJjQzNl9TX0RCREJCRUZERUJGRERDQ0NCQkZCREJCQkRfQWZyaWNhCQDMCAICJjQzN19TX0ZFQkRFRUJERUJERUZCRUJGRkJCQURERUJfQWZyaWNhCQDMCAICJjQzOF9TX0NCRkREQkJCRERGQkVERUJDQ0RCQkREREVfQWZyaWNhCQDMCAICJjQzOV9TX0RGQkNGQkRDRERERkVGRkJERUNEQ0JCQkFfQWZyaWNhCQDMCAICJjQ0MF9TX0JGRERCRkJCRUNBQUJEQkJCREJCQkJBRERfQWZyaWNhCQDMCAICJjQ0MV9TX0JGRURBQkREQkFFRUZGRkZCRkJCRERCRkVfQWZyaWNhCQDMCAICJjQ0Ml9TX0RERUVBQkRCRERCRkNCREJFREJCREZCQkJfQWZyaWNhCQDMCAICJjQ0M19TX0JEREJEREVEQkJGREFERUZCRUJEQkJDRkJfQWZyaWNhCQDMCAICJjQ0NF9TX0RCREVEQkJFRERGRkRFQkZEREVERkJCREJfQWZyaWNhCQDMCAICJjQ0NV9TX0JGQkJGQkRGQkJFRERCREZFRUJEQkRCRkZfQWZyaWNhCQDMCAICJjQ0Nl9TX0VCREJERkJCRURFRERDRUZEQkJERURCREJfQWZyaWNhCQDMCAICJjQ0N19TX0JEREJGRkJCRkJEQkREQ0VEQkRERkVCRkVfQWZyaWNhCQDMCAICJjQ0OF9TX0JEQkREQkJGQkJCRERERkZEQkJGREJGQkZfQWZyaWNhCQDMCAICJjQ0OV9TX0RFQkVFQkNFRERFRUNCREVEQkRCQkJBQURfQWZyaWNhCQDMCAICJjQ1MF9TX0REQkJBQkVCREJERkJEQkJFQUFGQ0REREZfQWZyaWNhBQNuaWwJAMwIAgkAzAgCAiY0NTFfU19DQkZBRkJEREJGQkJGQkZGRERDQkZCRERGX0FmcmljYQkAzAgCAiY0NTJfU19EREZCRkZERkRCQkRDREZEREJCRkJERkRFX0FmcmljYQkAzAgCAiY0NTNfU19GQkJERENERERDREFBRURCREJFQkVBRkJCX0FmcmljYQkAzAgCAiY0NTRfU19FQUJCQkRCQ0ZCREJCREJFREJFQUNERkRCX0FmcmljYQkAzAgCAiY0NTVfU19CRURCQ0JCRkJEQkJCREVGQkRCQkREREJFX0FmcmljYQkAzAgCAiY0NTZfU19GRERCQUNEREZEQ0RCREZCRUZFQkJGRUZCX0FmcmljYQkAzAgCAiY0NTdfU19CRkREQkRFREVEQkJFQkVEQkJCQkREREJEX0FmcmljYQkAzAgCAiY0NThfU19CQkJBRkRGRkRERUVEQ0RCRkRCREREREZEX0FmcmljYQkAzAgCAiY0NTlfU19CQkZFREJFQkVGQkRERkRERkZFQkJCREJCX0FmcmljYQkAzAgCAiY0NjBfU19GQkJGREZCRUVFRkRERUZGRENERkVEREJDX0FmcmljYQkAzAgCAiY0NjFfU19CRUZCREZEREJERERDREJEQ0RERURFQkJCX0FmcmljYQkAzAgCAiY0NjJfU19FQUJFREREREZCREVGRUFFRUJGRENGRUZEX0FmcmljYQkAzAgCAiY0NjNfU19CREJEQkRGQkNBREZGRERCQkNERkFCREJGX0FmcmljYQkAzAgCAiY0NjRfU19CQkZCREFDRkJCREVCQkJFREJCRUREREVCX0FmcmljYQkAzAgCAiY0NjVfU19CQ0JCREZFREREQUZERERGQkNGQkZCRkREX0FmcmljYQkAzAgCAiY0NjZfU19BRkVEQ0JCRkVFREJCRURGQkZEQkJCQ0RCX0FmcmljYQkAzAgCAiY0NjdfTV9CREVDQkRCRkZEQkJDREJERkRCQkRBQkRGX0FmcmljYQkAzAgCAiY0NjhfTV9EQkJCQkRERkVEQkZFQkZGQkRBQkRFRkJEX0FmcmljYQkAzAgCAiY0NjlfTV9DQkNGREFDQkVCRENCQkJFRUJERkVCQkRFX0FmcmljYQkAzAgCAiY0NzBfTV9CQkRCQkFCRkRBRkJGREJERERERkRFRENCX0FmcmljYQkAzAgCAiY0NzFfTV9CRERCRURGRURFRURFREVFQkNFQkZFRkFEX0FmcmljYQkAzAgCAiY0NzJfTV9DQkVCREJGRERCQkREQ0JCRUVFQkVDRUJCX0FmcmljYQkAzAgCAiY0NzNfTV9FQ0JGRUZBRkZEREZCRkZCREJCRERGRUZEX0FmcmljYQkAzAgCAiY0NzRfTV9CRkRGQ0VFQkZCRURGRERGQkJCRkJERUZGX0FmcmljYQkAzAgCAiY0NzVfTV9EQUVCREJCQkZCRERCQkZFQ0VCQURERUJFX0FmcmljYQUDbmlsCQDMCAIJAMwIAgImNDc2X01fRUVEQkZFREJEQkRCREJCRERCRkFDRERCQV9BZnJpY2EJAMwIAgImNDc3X01fQkRFREVEQkNCRUJGRERCQkRERURFQkJCQV9BZnJpY2EJAMwIAgImNDc4X01fRERFRERBQkZERkZFREJCRkZCQkZGQkJCRV9BZnJpY2EJAMwIAgImNDc5X01fREJFREFFRkJGREVCREJEQkJGQ0FFRUVGQV9BZnJpY2EJAMwIAgImNDgwX01fREVERERCRUJEQkRCQkZERkZCQkRCQkJBRF9BZnJpY2EJAMwIAgImNDgxX01fQUNERUJFRERERkVCREJEREZGRkJGQkJFRV9BZnJpY2EJAMwIAgImNDgyX01fRERCRUZBRkRCRkJFREVFQkFBRUREREJCRF9BZnJpY2EJAMwIAgImNDgzX01fRURFRERCQUVERUFFREREQkJCREVFRkRCQl9BZnJpY2EJAMwIAgImNDg0X01fRENGRkVGRkJCRkJCRkJGRUJCRkRGREJFRF9BZnJpY2EJAMwIAgImNDg1X01fRkJEQkRCREJGQkJERUZDQkZFRUJEREJCRF9BZnJpY2EJAMwIAgImNDg2X01fRURCRkJGQkVGRkVGREJDQkJCREJCQURFQl9BZnJpY2EJAMwIAgImNDg3X0xfREZEQkJERERCQkZGQ0ZCRkRERERFRkJGRF9BZnJpY2EJAMwIAgImNDg4X0xfQkVCRkRGREFCRERFRUJERERCREVBQkJFQV9BZnJpY2EJAMwIAgImNDg5X0xfQ0ZERkRGRkJEREVEQkRCREJEQ0NGRUVERF9BZnJpY2EJAMwIAgImNDkwX0xfREZFRkJDRkRFQkJDQkVEQkVEQkRFREZFRF9BZnJpY2EJAMwIAgImNDkxX0xfRURGREVGQkJERURERUVFREREQkZFRkVERl9BZnJpY2EJAMwIAgImNDkyX0xfQkJCRkVGREZCRUZERkRGQkFCQkVBQkRCRF9BZnJpY2EJAMwIAgImNDkzX0xfREJFQkJCRERBRUNCQkJEQUJCRkJEQURDRF9BZnJpY2EJAMwIAgImNDk0X0xfREFCREZBQURFQkRCREVGREREREJCRUVFRF9BZnJpY2EJAMwIAgImNDk1X0xfRENFRUJDREZGRkJEQkJERURBQkVCQkRCRF9BZnJpY2EJAMwIAgImNDk2X0xfRkJCQkZGQkZGREZEQkJBQkVEREZCREZERl9BZnJpY2EJAMwIAgInNDk3X1hMX0RBQkZDRENERkJERkJFRkJFRUJCREZEQkJfQWZyaWNhCQDMCAICJzQ5OF9YTF9EQkZEQkNFRERERUZGQkRCQkREQkFGRENEX0FmcmljYQkAzAgCAic0OTlfWExfQkRCRkZCRkJEQkJFREJBRkJDRkJCQkRCRV9BZnJpY2EJAMwIAgInNTAwX1hMX0VEREFCRERFQkZERUJGRUNDRkRDREJCQ0RfQWZyaWNhBQNuaWwFA25pbAEDYWJzAQF4AwkAZwIFAXgAAAUBeAkBAS0BBQF4AQtidXlJbnRlcm5hbAcDcG10BHR4SWQGY2FsbGVyCGxhbmRTaXplBmxlbktleQZtYXBLZXkMZGVmYXVsdFByaWNlAwkBAiE9AggFA3BtdAdhc3NldElkBQt1c2RuQXNzZXRJZAkAAgECGkFsbG93ZWQgVVNETiBwYXltZW50IG9ubHkhBAZwbXRSZXEJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleVBheW1lbnRSZXF1aXJlZAEFCGxhbmRTaXplBQxkZWZhdWx0UHJpY2UDCQBmAgUGcG10UmVxCAUDcG10BmFtb3VudAkAAgEJAKwCAgIkUGF5bWVudCBhdHRhY2hlZCBzaG91bGQgYmUgYXQgbGVhc3QgCQCkAwEFBnBtdFJlcQQDbGVuCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQUGbGVuS2V5AiJpbml0UHJlc2FsZSBzaG91bGQgYmUgY2FsbGVkIGZpcnN0AwkAAAIFA2xlbgAACQACAQkArAICCQCsAgICBEFsbCAFCGxhbmRTaXplAhMgbGFuZHMgYXJlIHNvbGQgb3V0BAZyYW5kb20JAQNhYnMBCQCgAwEJALsCAgkAngMBBQR0eElkCQC2AgEFA2xlbgQFbGFuZHMJAL0JAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEFBm1hcEtleQkArAICBQZtYXBLZXkCEyBpcyBub3QgaW5pdGlhbGl6ZWQCAV8EB2xhbmROdW0JAJEDAgUFbGFuZHMFBnJhbmRvbQQDbmZ0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBEGtleUxhbmRUb0Fzc2V0SWQBBQdsYW5kTnVtCQCsAgIJAQprZXlOZnROYW1lAgUHbGFuZE51bQUIbGFuZFNpemUCDyBkb2VzIG5vdCBleGlzdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUGbGVuS2V5CQBlAgUDbGVuAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgUGbWFwS2V5CQC7CQIJANEIAgUFbGFuZHMFBnJhbmRvbQIBXwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQZjYWxsZXIAAQkA2QQBBQNuZnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEWtleUFzc2V0SWRUb093bmVyAQUDbmZ0CQClCAEFBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5TGFuZFRvT3duZXIBBQdsYW5kTnVtCQClCAEFBmNhbGxlcgUDbmlsCgFpAQppc3N1ZUR1Y2tzAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkCgEKZHVja0lzc3VlcgIDYWNjBGVsZW0EBWlzc3VlCQDCCAUFBGVsZW0JAKwCAgkArAICAg17Imdlbm90eXBlIjogBQRlbGVtAhgsICJjcm9zc2JyZWVkaW5nIjogdHJ1ZX0AAQAABwkAzQgCBQNhY2MFBWlzc3VlBAdhY3Rpb25zCgACJGwFCXRlc3REdWNrcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKZHVja0lzc3VlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTEJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALCQCUCgIFB2FjdGlvbnMFBHVuaXQBaQEJc3Rha2VMYW5kAAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEB2Fzc2V0SWQJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIDCQECIT0CCAUDcG10BmFtb3VudAABCQACAQkArAICCQCsAgICBE5GVCAFCkxBTkRQUkVGSVgCJCB0b2tlbiBzaG91bGQgYmUgYXR0YWNoZWQgYXMgcGF5bWVudAQFYXNzZXQJAQV2YWx1ZQEJAOwHAQUHYXNzZXRJZAMJAQIhPQIIBQVhc3NldAZpc3N1ZXIFBHRoaXMJAAIBAhdVbmtub3duIGlzc3VlciBvZiB0b2tlbgMJAQEhAQkBCGNvbnRhaW5zAggFBWFzc2V0BG5hbWUFCkxBTkRQUkVGSVgJAAIBCQCsAgIJAKwCAgIJT25seSBORlQgBQpMQU5EUFJFRklYAhQgdG9rZW5zIGFyZSBhY2NlcHRlZAQLbGFuZE51bVNpemUJALACAggFBWFzc2V0BG5hbWUABAQHbGFuZE51bQMJAQhjb250YWlucwIFC2xhbmROdW1TaXplAgNYWEwJALMCAgULbGFuZE51bVNpemUAAwMJAQhjb250YWlucwIFC2xhbmROdW1TaXplAgJYTAkAswICBQtsYW5kTnVtU2l6ZQACCQCzAgIFC2xhbmROdW1TaXplAAEDCQEBIQEJAQlpc0RlZmluZWQBCQC2CQEFB2xhbmROdW0JAAIBCQCsAgICHkNhbm5vdCBwYXJzZSBsYW5kIG51bWJlciBmcm9tIAgFBWFzc2V0BG5hbWUEB3RpbWVLZXkJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQkA2AQBBQdhc3NldElkAwkBCWlzRGVmaW5lZAEJAJ8IAQUHdGltZUtleQkAAgEJAKwCAgkArAICAgRORlQgCAUFYXNzZXQEbmFtZQISIGlzIGFscmVhZHkgc3Rha2VkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQd0aW1lS2V5CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBImtleVN0YWtlZFRpbWVCeVR5cGVBc3NldElkQW5kT3duZXIDBQpMQU5EUFJFRklYCQDYBAEFB2Fzc2V0SWQFB2FkZHJlc3MIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQtTdHJpbmdFbnRyeQIJARFrZXlBc3NldElkVG9Pd25lcgEJANgEAQUHYXNzZXRJZAUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5TGFuZFRvT3duZXIBBQdsYW5kTnVtBQdhZGRyZXNzBQNuaWwBaQEQdXBkYXRlU3Rha2VkTGFuZAIKYXNzZXRJZFN0cgxuZXdUaW1lc3RhbXADCQECIT0CCAUBaQZjYWxsZXIFC2JhY2tFbmRBZGRyCQACAQIRcGVybWlzc2lvbiBkZW5pZWQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAi11cGRhdGVTdGFrZWRMYW5kIGRvZXNuJ3QgcmVxdWlyZSBhbnkgcGF5bWVudHMEB2Fzc2V0SWQJANkEAQUKYXNzZXRJZFN0cgQFYXNzZXQJAQV2YWx1ZQEJAOwHAQUHYXNzZXRJZAMJAQIhPQIIBQVhc3NldAZpc3N1ZXIFBHRoaXMJAAIBAhdVbmtub3duIGlzc3VlciBvZiB0b2tlbgMJAQEhAQkBCGNvbnRhaW5zAggFBWFzc2V0BG5hbWUFCkxBTkRQUkVGSVgJAAIBCQCsAgIJAKwCAgIJT25seSBORlQgBQpMQU5EUFJFRklYAhQgdG9rZW5zIGFyZSBhY2NlcHRlZAQHdGltZUtleQkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBCQDYBAEFB2Fzc2V0SWQDCQEBIQEJAQlpc0RlZmluZWQBCQCfCAEFB3RpbWVLZXkJAAIBCQCsAgIJAKwCAgIETkZUIAgFBWFzc2V0BG5hbWUCDiBpcyBub3Qgc3Rha2VkBAlvd25lckFkZHIJARFAZXh0ck5hdGl2ZSgxMDU4KQEJARFrZXlBc3NldElkVG9Pd25lcgEFCmFzc2V0SWRTdHIJAMwIAgkBDEludGVnZXJFbnRyeQIFB3RpbWVLZXkFDG5ld1RpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBImtleVN0YWtlZFRpbWVCeVR5cGVBc3NldElkQW5kT3duZXIDBQpMQU5EUFJFRklYBQphc3NldElkU3RyBQlvd25lckFkZHIFDG5ld1RpbWVzdGFtcAUDbmlsAWkBC3Vuc3Rha2VMYW5kAQphc3NldElkU3RyAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIkdW5zdGFrZSBkb2Vzbid0IHJlcXVpcmUgYW55IHBheW1lbnRzBAdhc3NldElkCQDZBAEFCmFzc2V0SWRTdHIEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAVhc3NldAkBBXZhbHVlAQkA7AcBBQdhc3NldElkAwkBAiE9AggFBWFzc2V0Bmlzc3VlcgUEdGhpcwkAAgECF1Vua25vd24gaXNzdWVyIG9mIHRva2VuAwkBASEBCQEIY29udGFpbnMCCAUFYXNzZXQEbmFtZQUKTEFORFBSRUZJWAkAAgEJAKwCAgkArAICAglPbmx5IE5GVCAFCkxBTkRQUkVGSVgCFyB0b2tlbnMgY2FuIGJlIHVuc3Rha2VkBAd0aW1lS2V5CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFCmFzc2V0SWRTdHIDCQEBIQEJAQlpc0RlZmluZWQBBQd0aW1lS2V5CQACAQkArAICCQCsAgICBE5GVCAIBQVhc3NldARuYW1lAg4gaXMgbm90IHN0YWtlZAQFb3duZXIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQERa2V5QXNzZXRJZFRvT3duZXIBBQphc3NldElkU3RyCQCsAgIJAKwCAgIETkZUIAgFBWFzc2V0BG5hbWUCDCBpcyBvcnBoYW5lZAMJAQIhPQIFBW93bmVyBQdhZGRyZXNzCQACAQIXU3Rha2VkIE5GVCBpcyBub3QgeW91cnMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEFB2Fzc2V0SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQUHdGltZUtleQkAzAgCCQELRGVsZXRlRW50cnkBCQEia2V5U3Rha2VkVGltZUJ5VHlwZUFzc2V0SWRBbmRPd25lcgMFCkxBTkRQUkVGSVgFCmFzc2V0SWRTdHIFB2FkZHJlc3MFA25pbAFpAQlzdGFrZUR1Y2sABANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQHYXNzZXRJZAkBBXZhbHVlAQgFA3BtdAdhc3NldElkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIIBQNwbXQGYW1vdW50AAEJAAIBCQCsAgIJAKwCAgIETkZUIAUKRFVDS1BSRUZJWAIkIHRva2VuIHNob3VsZCBiZSBhdHRhY2hlZCBhcyBwYXltZW50BAVhc3NldAkBBXZhbHVlAQkA7AcBBQdhc3NldElkAwMJAQIhPQIIBQVhc3NldAZpc3N1ZXIFDWluY3ViYXRvckFkZHIJAQIhPQIIBQVhc3NldAZpc3N1ZXIFC2JyZWVkZXJBZGRyBwkAAgEJAKwCAgkArAICAhJVbmtub3duIGlzc3VlciBvZiAFCkRVQ0tQUkVGSVgCBiB0b2tlbgMJAQEhAQkBCGNvbnRhaW5zAggFBWFzc2V0BG5hbWUFCkRVQ0tQUkVGSVgJAAIBCQCsAgIJAKwCAgIJT25seSBORlQgBQpEVUNLUFJFRklYAhQgdG9rZW5zIGFyZSBhY2NlcHRlZAQKYXNzZXRJZFN0cgkA2AQBBQdhc3NldElkBAd0aW1lS2V5CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFCmFzc2V0SWRTdHIDCQEJaXNEZWZpbmVkAQkAnwgBBQd0aW1lS2V5CQACAQkArAICCQCsAgICBE5GVCAIBQVhc3NldARuYW1lAhIgaXMgYWxyZWFkeSBzdGFrZWQDCQEJaXNEZWZpbmVkAQkAoggBCQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQdhZGRyZXNzCQACAQkArAICAh1Zb3UgYWxyZWFkeSBzdGFrZWQgb25lIGR1Y2s6IAgFBWFzc2V0BG5hbWUJAMwIAgkBDEludGVnZXJFbnRyeQIFB3RpbWVLZXkIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEia2V5U3Rha2VkVGltZUJ5VHlwZUFzc2V0SWRBbmRPd25lcgMFCkRVQ0tQUkVGSVgJANgEAQUHYXNzZXRJZAUHYWRkcmVzcwgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEWtleUFzc2V0SWRUb093bmVyAQUKYXNzZXRJZFN0cgUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCCQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQdhZGRyZXNzBQphc3NldElkU3RyBQNuaWwBaQELdW5zdGFrZUR1Y2sBCmFzc2V0SWRTdHIDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAiR1bnN0YWtlIGRvZXNuJ3QgcmVxdWlyZSBhbnkgcGF5bWVudHMEB2Fzc2V0SWQJANkEAQUKYXNzZXRJZFN0cgQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEBWFzc2V0CQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQDAwkBAiE9AggFBWFzc2V0Bmlzc3VlcgUNaW5jdWJhdG9yQWRkcgkBAiE9AggFBWFzc2V0Bmlzc3VlcgULYnJlZWRlckFkZHIHCQACAQkArAICCQCsAgICElVua25vd24gaXNzdWVyIG9mIAUKRFVDS1BSRUZJWAIGIHRva2VuAwkBASEBCQEIY29udGFpbnMCCAUFYXNzZXQEbmFtZQUKRFVDS1BSRUZJWAkAAgEJAKwCAgkArAICAglPbmx5IE5GVCAFCkRVQ0tQUkVGSVgCFyB0b2tlbnMgY2FuIGJlIHVuc3Rha2VkBAd0aW1lS2V5CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEJANgEAQUHYXNzZXRJZAMJAQEhAQkBCWlzRGVmaW5lZAEFB3RpbWVLZXkJAAIBCQCsAgIJAKwCAgIETkZUIAgFBWFzc2V0BG5hbWUCDiBpcyBub3Qgc3Rha2VkAwkBASEBCQEJaXNEZWZpbmVkAQkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQUHYWRkcmVzcwkAAgEJAKwCAgkArAICAglUaGUgZHVjayAIBQVhc3NldARuYW1lAg4gaXMgbm90IHN0YWtlZAQFb3duZXIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQERa2V5QXNzZXRJZFRvT3duZXIBCQDYBAEFB2Fzc2V0SWQJAKwCAgkArAICAgRORlQgCAUFYXNzZXQEbmFtZQIMIGlzIG9ycGhhbmVkAwkBAiE9AgUFb3duZXIFB2FkZHJlc3MJAAIBAhdTdGFrZWQgTkZUIGlzIG5vdCB5b3VycwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQELRGVsZXRlRW50cnkBBQd0aW1lS2V5CQDMCAIJAQtEZWxldGVFbnRyeQEJASJrZXlTdGFrZWRUaW1lQnlUeXBlQXNzZXRJZEFuZE93bmVyAwUKRFVDS1BSRUZJWAUKYXNzZXRJZFN0cgUHYWRkcmVzcwkAzAgCCQELRGVsZXRlRW50cnkBCQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQdhZGRyZXNzBQNuaWwBaQEJaXNzdWVORlRzAQViYXRjaAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBAxiYXRjaGVzQ291bnQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBD2tleUJhdGNoZXNDb3VudAAAAAMJAAACBQxiYXRjaGVzQ291bnQAFAkAAgECHUFsbCBiYXRjaGVzIGFscmVhZHkgcHJvY2Vzc2VkAwMJAGYCAAAFBWJhdGNoBgkAZwIFBWJhdGNoABQJAAIBAihCYXRjaCBpbmRleCBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIDAuLjE5AwkBC3ZhbHVlT3JFbHNlAgkAoAgBCQERa2V5QmF0Y2hQcm9jZXNzZWQBBQViYXRjaAcJAAIBCQCsAgIJAKwCAgIGQmF0Y2ggCQCkAwEFBWJhdGNoAhIgYWxyZWFkeSBwcm9jZXNzZWQKAQZpc3N1ZXICA2FjYwRlbGVtBAVwYXJ0cwkAtQkCBQRlbGVtAgFfBAVpc3N1ZQkAwggFCQEKa2V5TmZ0TmFtZQIJAJEDAgUFcGFydHMFCnJlY0xhbmROdW0JAJEDAgUFcGFydHMFC3JlY0xhbmRTaXplBQRlbGVtAAEAAAcEAmlkCQDYBAEJALgIAQUFaXNzdWUJAM0IAgkAzQgCCQDNCAIJAM0IAgUDYWNjBQVpc3N1ZQkBC1N0cmluZ0VudHJ5AgkBEGtleUxhbmRUb0Fzc2V0SWQBCQCRAwIFBXBhcnRzBQpyZWNMYW5kTnVtBQJpZAkBC1N0cmluZ0VudHJ5AgkBEWtleUFzc2V0SWRUb093bmVyAQUCaWQJAKUIAQUEdGhpcwkBC1N0cmluZ0VudHJ5AgkBDmtleUxhbmRUb093bmVyAQkAkQMCBQVwYXJ0cwUKcmVjTGFuZE51bQkApQgBBQR0aGlzBAdhY3Rpb25zCgACJGwJAJEDAgUIbmZ0TGlzdHMFBWJhdGNoCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQZpc3N1ZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDI1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkJAJQKAgkAzQgCCQDNCAIFB2FjdGlvbnMJAQxCb29sZWFuRW50cnkCCQERa2V5QmF0Y2hQcm9jZXNzZWQBBQViYXRjaAYJAQxJbnRlZ2VyRW50cnkCCQEPa2V5QmF0Y2hlc0NvdW50AAkAZAIFDGJhdGNoZXNDb3VudAABBQR1bml0AWkBCmJ1cm5MYW5kc1MACgEHYnVybmVyUwIDYWNjAWUEB2NvdW50ZXIIBQNhY2MCXzIECWxhbmRzTGVmdAgFA2FjYwJfMwMJAAACBQdjb3VudGVyABkFA2FjYwQDaWR4CQBlAgkAkAMBBQlsYW5kc0xlZnQAAQQHbGFuZE51bQkAkQMCBQlsYW5kc0xlZnQFA2lkeAQHYXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJARBrZXlMYW5kVG9Bc3NldElkAQUHbGFuZE51bQkArAICCQEKa2V5TmZ0TmFtZQIFB2xhbmROdW0CAVMCDyBkb2VzIG5vdCBleGlzdAkAlQoDCQDNCAIJAM0IAgkAzQgCCAUDYWNjAl8xCQEEQnVybgIJANkEAQUHYXNzZXRJZAABCQELRGVsZXRlRW50cnkBCQERa2V5QXNzZXRJZFRvT3duZXIBBQdhc3NldElkCQELRGVsZXRlRW50cnkBCQEOa2V5TGFuZFRvT3duZXIBBQdsYW5kTnVtCQBkAgUHY291bnRlcgABCQDRCAIFCWxhbmRzTGVmdAUDaWR4BANsZW4JAQV2YWx1ZQEJAJ8IAQUETEVOUwMJAGcCAAAFA2xlbgkAAgECFkFsbCBTIGxhbmRzIGFyZSBidXJuZWQEBWxhbmRzCQC9CQIJAQV2YWx1ZQEJAKIIAQUETUFQUwIBXwQGcmVzdWx0CgACJGwFBWxhbmRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlQoDBQNuaWwAAAUFbGFuZHMKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB2J1cm5lclMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDY2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCCQDNCAIJAM0IAggFBnJlc3VsdAJfMQkBDEludGVnZXJFbnRyeQIFBExFTlMJAGUCBQNsZW4IBQZyZXN1bHQCXzIJAQtTdHJpbmdFbnRyeQIFBE1BUFMJALsJAggFBnJlc3VsdAJfMwIBXwFpAQtpbml0UHJlc2FsZQADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAoBDGNyZWF0ZVJlY29yZAEFc3RhcnQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCkAwEFBXN0YXJ0AgFfCQCkAwEJAGQCBQVzdGFydABkAgFfCQCkAwEJAGQCBQVzdGFydADIAQIBXwkApAMBCQBkAgUFc3RhcnQArAICAV8JAKQDAQkAZAIFBXN0YXJ0AJADCgEHZm9sZGVyUwIDYWNjAWUEA3JlYwkBDGNyZWF0ZVJlY29yZAEFAWUDCQAAAgUDYWNjAgAFA3JlYwkArAICCQCsAgIFA2FjYwIBXwUDcmVjCgEHZm9sZGVyTQIDYWNjAWUEA3JlYwkBDGNyZWF0ZVJlY29yZAEJAGQCBQFlAEIDCQAAAgUDYWNjAgAFA3JlYwkArAICCQCsAgIFA2FjYwIBXwUDcmVjCgEHZm9sZGVyTAIDYWNjAWUEA3JlYwkBDGNyZWF0ZVJlY29yZAEJAGQCBQFlAFYDCQAAAgUDYWNjAgAFA3JlYwkArAICCQCsAgIFA2FjYwIBXwUDcmVjCgEIZm9sZGVyWEwCA2FjYwFlBANyZWMJAQxjcmVhdGVSZWNvcmQBCQBkAgUBZQBgAwkAAAIFA2FjYwIABQNyZWMJAKwCAgkArAICBQNhY2MCAV8FA3JlYwkAzAgCCQELU3RyaW5nRW50cnkCBQRNQVBTCgACJGwJAMwIAgABCQDMCAIAAgkAzAgCAAMJAMwIAgAECQDMCAIABQkAzAgCAAYJAMwIAgAHCQDMCAIACAkAzAgCAAkJAMwIAgAKCQDMCAIACwkAzAgCAAwJAMwIAgANCQDMCAIADgkAzAgCAA8JAMwIAgAQCQDMCAIAEQkAzAgCABIJAMwIAgATCQDMCAIAFAkAzAgCABUJAMwIAgAWCQDMCAIAFwkAzAgCABgJAMwIAgAZCQDMCAIAGgkAzAgCABsJAMwIAgAcCQDMCAIAHQkAzAgCAB4JAMwIAgAfCQDMCAIAIAkAzAgCACEJAMwIAgAiCQDMCAIAIwkAzAgCACQJAMwIAgAlCQDMCAIAJgkAzAgCACcJAMwIAgAoCQDMCAIAKQkAzAgCACoJAMwIAgArCQDMCAIALAkAzAgCAC0JAMwIAgAuCQDMCAIALwkAzAgCADAJAMwIAgAxCQDMCAIAMgkAzAgCADMJAMwIAgA0CQDMCAIANQkAzAgCADYJAMwIAgA3CQDMCAIAOAkAzAgCADkJAMwIAgA6CQDMCAIAOwkAzAgCADwJAMwIAgA9CQDMCAIAPgkAzAgCAD8JAMwIAgBACQDMCAIAQQkAzAgCAEIFA25pbAoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHZm9sZGVyUwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNjYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIJAMwIAgkBC1N0cmluZ0VudHJ5AgUETUFQTQoAAiRsCQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUJAMwIAgAGCQDMCAIABwkAzAgCAAgJAMwIAgAJCQDMCAIACgkAzAgCAAsJAMwIAgAMCQDMCAIADQkAzAgCAA4JAMwIAgAPCQDMCAIAEAkAzAgCABEJAMwIAgASCQDMCAIAEwkAzAgCABQFA25pbAoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHZm9sZGVyTQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQUkZjFfMgIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUCQDMCAIJAQtTdHJpbmdFbnRyeQIFBE1BUEwKAAIkbAkAzAgCAAEJAMwIAgACCQDMCAIAAwkAzAgCAAQJAMwIAgAFCQDMCAIABgkAzAgCAAcJAMwIAgAICQDMCAIACQkAzAgCAAoFA25pbAoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmMl8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHZm9sZGVyTAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMl8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjJfMgIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgkAzAgCCQELU3RyaW5nRW50cnkCBQVNQVBYTAoAAiRsCQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAUDbmlsCgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYzXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhmb2xkZXJYTAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmM18yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNAkBBSRmM18yAgkBBSRmM18xAgkBBSRmM18xAgkBBSRmM18xAgkBBSRmM18xAgUFJGFjYzAAAAABAAIAAwAECQDMCAIJAQxJbnRlZ2VyRW50cnkCBQRMRU5TAMoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQRMRU5NAGQJAMwIAgkBDEludGVnZXJFbnRyeQIFBExFTkwAMgkAzAgCCQEMSW50ZWdlckVudHJ5AgUFTEVOWEwAFAUDbmlsAWkBB2J1eUxhbmQBCGxhbmRTaXplAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRUGVybWlzc2lvbiBkZW5pZWQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAhxFeGFjdGx5IG9uZSBwYXltZW50IHJlcXVpcmVkBANwbXQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQHYWN0aW9ucwQHJG1hdGNoMAUIbGFuZFNpemUDCQAAAgIBUwUHJG1hdGNoMAkBC2J1eUludGVybmFsBwUDcG10CAUBaQ10cmFuc2FjdGlvbklkCAUBaQZjYWxsZXIFCGxhbmRTaXplBQRMRU5TBQRNQVBTBQ1ERUZBVUxUUFJJQ0VTAwkAAAICAU0FByRtYXRjaDAJAQtidXlJbnRlcm5hbAcFA3BtdAgFAWkNdHJhbnNhY3Rpb25JZAgFAWkGY2FsbGVyBQhsYW5kU2l6ZQUETEVOTQUETUFQTQUNREVGQVVMVFBSSUNFTQMJAAACAgFMBQckbWF0Y2gwCQELYnV5SW50ZXJuYWwHBQNwbXQIBQFpDXRyYW5zYWN0aW9uSWQIBQFpBmNhbGxlcgUIbGFuZFNpemUFBExFTkwFBE1BUEwFDURFRkFVTFRQUklDRUwDCQAAAgICWEwFByRtYXRjaDAJAQtidXlJbnRlcm5hbAcFA3BtdAgFAWkNdHJhbnNhY3Rpb25JZAgFAWkGY2FsbGVyBQhsYW5kU2l6ZQUFTEVOWEwFBU1BUFhMBQ5ERUZBVUxUUFJJQ0VYTAkAAgECEVVua25vd24gbGFuZCBzaXplCQCUCgIFB2FjdGlvbnMFBHVuaXQA+UGOQw==", "height": 2334236, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 13DuzvYCaT7aYfeNBALB8WvUbk7PfEXffmPpsohUqWUA Next: BZpejhaKrQ4ef7EHvbEVfzHdHiCw8krQFYL93iYD3LxT Diff:
Old | New | Differences | |
---|---|---|---|
293 | 293 | ||
294 | 294 | ||
295 | 295 | @Callable(i) | |
296 | - | func stakeDuckTransporter (fromContinent,toContinent,winds,obstacles,userMoves) = { | |
297 | - | let pmt = value(i.payments[0]) | |
298 | - | let assetId = value(pmt.assetId) | |
299 | - | let address = toString(i.caller) | |
300 | - | if ((pmt.amount != 1)) | |
301 | - | then throw((("NFT " + DUCKPREFIX) + " token should be attached as payment")) | |
302 | - | else { | |
303 | - | let asset = value(assetInfo(assetId)) | |
304 | - | if (if ((asset.issuer != incubatorAddr)) | |
305 | - | then (asset.issuer != breederAddr) | |
306 | - | else false) | |
307 | - | then throw((("Unknown issuer of " + DUCKPREFIX) + " token")) | |
308 | - | else if (!(contains(asset.name, DUCKPREFIX))) | |
309 | - | then throw((("Only NFT " + DUCKPREFIX) + " tokens are accepted")) | |
310 | - | else { | |
311 | - | let assetIdStr = toBase58String(assetId) | |
312 | - | let timeKey = keyStakedTimeByAssetId(assetIdStr) | |
313 | - | if (isDefined(getInteger(timeKey))) | |
314 | - | then throw((("NFT " + asset.name) + " is already staked")) | |
315 | - | else [IntegerEntry(timeKey, lastBlock.timestamp), IntegerEntry(keyStakedTimeByTypeAssetIdAndOwner(DUCKPREFIX, toBase58String(assetId), address), lastBlock.timestamp), StringEntry(keyFromContinentByAssetId(assetIdStr), fromContinent), StringEntry(keyToContinentByAssetId(assetIdStr), toContinent), StringEntry(keyWindsByAssetId(assetIdStr), winds), StringEntry(keyObstaclesByAssetId(assetIdStr), obstacles), StringEntry(keyMovesByAssetId(assetIdStr), userMoves), StringEntry(keyAssetIdToOwner(assetIdStr), address)] | |
316 | - | } | |
317 | - | } | |
318 | - | } | |
319 | - | ||
320 | - | ||
321 | - | ||
322 | - | @Callable(i) | |
323 | - | func unstakeDuckTransporter (assetIdStr) = if ((size(i.payments) != 0)) | |
324 | - | then throw("unstake doesn't require any payments") | |
325 | - | else { | |
326 | - | let assetId = fromBase58String(assetIdStr) | |
327 | - | let address = toString(i.caller) | |
328 | - | let asset = value(assetInfo(assetId)) | |
329 | - | if (if ((asset.issuer != incubatorAddr)) | |
330 | - | then (asset.issuer != breederAddr) | |
331 | - | else false) | |
332 | - | then throw((("Unknown issuer of " + DUCKPREFIX) + " token")) | |
333 | - | else if (!(contains(asset.name, DUCKPREFIX))) | |
334 | - | then throw((("Only NFT " + DUCKPREFIX) + " tokens can be unstaked")) | |
335 | - | else { | |
336 | - | let timeKey = keyStakedTimeByAssetId(toBase58String(assetId)) | |
337 | - | if (!(isDefined(timeKey))) | |
338 | - | then throw((("NFT " + asset.name) + " is not staked")) | |
339 | - | else { | |
340 | - | let owner = valueOrErrorMessage(getString(keyAssetIdToOwner(toBase58String(assetId))), (("NFT " + asset.name) + " is orphaned")) | |
341 | - | if ((owner != address)) | |
342 | - | then throw("Staked NFT is not yours") | |
343 | - | else [ScriptTransfer(i.caller, 1, assetId), DeleteEntry(timeKey), DeleteEntry(keyStakedTimeByTypeAssetIdAndOwner(DUCKPREFIX, assetIdStr, address))] | |
344 | - | } | |
345 | - | } | |
346 | - | } | |
347 | - | ||
348 | - | ||
349 | - | ||
350 | - | @Callable(i) | |
351 | 296 | func issueNFTs (batch) = if ((i.caller != this)) | |
352 | 297 | then throw("Permission denied") | |
353 | 298 | else { | |
385 | 330 | $Tuple2(((actions :+ BooleanEntry(keyBatchProcessed(batch), true)) :+ IntegerEntry(keyBatchesCount(), (batchesCount + 1))), unit) | |
386 | 331 | } | |
387 | 332 | } | |
333 | + | ||
334 | + | ||
335 | + | ||
336 | + | @Callable(i) | |
337 | + | func burnLandsS () = { | |
338 | + | func burnerS (acc,e) = { | |
339 | + | let counter = acc._2 | |
340 | + | let landsLeft = acc._3 | |
341 | + | if ((counter == 25)) | |
342 | + | then acc | |
343 | + | else { | |
344 | + | let idx = (size(landsLeft) - 1) | |
345 | + | let landNum = landsLeft[idx] | |
346 | + | let assetId = valueOrErrorMessage(getString(keyLandToAssetId(landNum)), (keyNftName(landNum, "S") + " does not exist")) | |
347 | + | $Tuple3((((acc._1 :+ Burn(fromBase58String(assetId), 1)) :+ DeleteEntry(keyAssetIdToOwner(assetId))) :+ DeleteEntry(keyLandToOwner(landNum))), (counter + 1), removeByIndex(landsLeft, idx)) | |
348 | + | } | |
349 | + | } | |
350 | + | ||
351 | + | let len = value(getInteger(LENS)) | |
352 | + | if ((0 >= len)) | |
353 | + | then throw("All S lands are burned") | |
354 | + | else { | |
355 | + | let lands = split_51C(value(getString(MAPS)), "_") | |
356 | + | let result = { | |
357 | + | let $l = lands | |
358 | + | let $s = size($l) | |
359 | + | let $acc0 = $Tuple3(nil, 0, lands) | |
360 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
361 | + | then $a | |
362 | + | else burnerS($a, $l[$i]) | |
363 | + | ||
364 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
365 | + | then $a | |
366 | + | else throw("List size exceeds 66") | |
367 | + | ||
368 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66) | |
369 | + | } | |
370 | + | ((result._1 :+ IntegerEntry(LENS, (len - result._2))) :+ StringEntry(MAPS, makeString_11C(result._3, "_"))) | |
371 | + | } | |
372 | + | } | |
388 | 373 | ||
389 | 374 | ||
390 | 375 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let DEFAULTPRICES = 250000000 | |
5 | 5 | ||
6 | 6 | let DEFAULTPRICEM = 1000000000 | |
7 | 7 | ||
8 | 8 | let DEFAULTPRICEL = 2250000000 | |
9 | 9 | ||
10 | 10 | let DEFAULTPRICEXL = 4000000000 | |
11 | 11 | ||
12 | 12 | let usdnAssetId = base58'HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ' | |
13 | 13 | ||
14 | 14 | let incubatorAddr = this | |
15 | 15 | ||
16 | 16 | let breederAddr = this | |
17 | 17 | ||
18 | 18 | let backEndAddr = addressFromStringValue("3N5SpX21R3R75Qo4eb3MwFFvW7TUzyhvavv") | |
19 | 19 | ||
20 | 20 | let testDucks = ["DUCK-AAAAAAAA-GG", "DUCK-BBBBAAAA-HG", "DUCK-CCCCBBCC-IG", "DUCK-DDCCBBAA-KG", "DUCK-EEEEDCBA-LG", "DUCK-FFEEDCBA-MG", "DUCK-GGFEDCBA-NG", "DUCK-HGFEHHHH-NG", "DUCK-IGFEDCBA-OG", "DUCK-KIGFEDCB-OG", "DUCK-LKIGFEDC-OG"] | |
21 | 21 | ||
22 | 22 | let LANDPREFIX = "LAND" | |
23 | 23 | ||
24 | 24 | let DUCKPREFIX = "DUCK" | |
25 | 25 | ||
26 | 26 | let LENS = "sLen" | |
27 | 27 | ||
28 | 28 | let LENM = "mLen" | |
29 | 29 | ||
30 | 30 | let LENL = "lLen" | |
31 | 31 | ||
32 | 32 | let LENXL = "xlLen" | |
33 | 33 | ||
34 | 34 | let MAPS = "sMap" | |
35 | 35 | ||
36 | 36 | let MAPM = "mMap" | |
37 | 37 | ||
38 | 38 | let MAPL = "lMap" | |
39 | 39 | ||
40 | 40 | let MAPXL = "xlMap" | |
41 | 41 | ||
42 | 42 | func keyPaymentRequired (landSize) = ("paymentRequired_" + landSize) | |
43 | 43 | ||
44 | 44 | ||
45 | 45 | func keyLandToAssetId (landNum) = ("landToAsset_" + landNum) | |
46 | 46 | ||
47 | 47 | ||
48 | 48 | func keyAssetIdToOwner (assetId) = ("nftOwner_" + assetId) | |
49 | 49 | ||
50 | 50 | ||
51 | 51 | func keyStakedTimeByAssetId (assetId) = ("stakedTime_" + assetId) | |
52 | 52 | ||
53 | 53 | ||
54 | 54 | func keyStakedDuckByOwner (ownerAddr) = ("stakedDuckByOwner_" + ownerAddr) | |
55 | 55 | ||
56 | 56 | ||
57 | 57 | func keyStakedTimeByTypeAssetIdAndOwner (nftType,assetId,ownerAddr) = ((((("stakedTimeByTypeAssetIdAndOwner_" + nftType) + "_") + assetId) + "_") + ownerAddr) | |
58 | 58 | ||
59 | 59 | ||
60 | 60 | func keyFromContinentByAssetId (assetId) = ("fromContinent_" + assetId) | |
61 | 61 | ||
62 | 62 | ||
63 | 63 | func keyToContinentByAssetId (assetId) = ("toContinent_" + assetId) | |
64 | 64 | ||
65 | 65 | ||
66 | 66 | func keyWindsByAssetId (assetId) = ("winds_" + assetId) | |
67 | 67 | ||
68 | 68 | ||
69 | 69 | func keyObstaclesByAssetId (assetId) = ("obstacles_" + assetId) | |
70 | 70 | ||
71 | 71 | ||
72 | 72 | func keyMovesByAssetId (assetId) = ("userMoves_" + assetId) | |
73 | 73 | ||
74 | 74 | ||
75 | 75 | func keyLandToOwner (landNum) = ("landOwner_" + landNum) | |
76 | 76 | ||
77 | 77 | ||
78 | 78 | func keyBatchesCount () = "batchesCount" | |
79 | 79 | ||
80 | 80 | ||
81 | 81 | func keyBatchProcessed (batch) = ("batchOk_" + toString(batch)) | |
82 | 82 | ||
83 | 83 | ||
84 | 84 | func keyNftName (landNum,landSize) = ((LANDPREFIX + landNum) + landSize) | |
85 | 85 | ||
86 | 86 | ||
87 | 87 | let recLandNum = 0 | |
88 | 88 | ||
89 | 89 | let recLandSize = 1 | |
90 | 90 | ||
91 | 91 | let recTerrains = 2 | |
92 | 92 | ||
93 | 93 | let recContinent = 3 | |
94 | 94 | ||
95 | 95 | let nftLists = [["1_S_FEEFDBEFEFEFBBFFBCECDBBFA_Asia", "2_S_BABEDECAECEAFDEFBFABFFEEE_Asia", "3_S_BFFEABBEEFFFBEFDEEBEFABBE_Asia", "4_S_BDDDBEEBFEEEAEFFFBDDCFEBE_Asia", "5_S_BDDDFEDAAEEDEFEAFDEEEFBBB_Asia", "6_S_BBEFBBFFFFBDDAEEDBBEEEFFD_Asia", "7_S_FEFDFFEDEEFBFEFFABFBBFFEE_Asia", "8_S_FDEBBBBBBEBFFCEFDEEAFFEEB_Asia", "9_S_EDDDEBFBBEBDBDFBBEBBAFBDE_Asia", "10_S_FBEFEFFBEAEEBFEBBEFBFFFCE_Asia", "11_S_FFDEBEEDFFFBDBFBBDEECEEED_Asia", "12_S_EBBFBFECEEFBDBDFFBBEBCFEF_Asia", "13_S_CDFAAEBFBEEDAFEEEEEABBEEA_Asia", "14_S_BFCFEDBAFBEBEAEBBEDDDFDCD_Asia", "15_S_BFBBDBEDFFBFEAEFDFFEEBEEE_Asia", "16_S_BBEBFBDFFBDBAECBDDEABFEDF_Asia", "17_S_FDCBFFEFDBFFDDDDCCDEDBFCC_Asia", "18_S_BDCFDDFBFDEBFFFDBCFBEEBEB_Asia", "19_S_FEFBFEFABEEBFBBFFFCFBDBDE_Asia", "20_S_FCEDADBEBFBFAEEFFFEBFEEDF_Asia", "21_S_DDBEBBDDBDEEABEEEFFEFBDBF_Asia", "22_S_DDBEBBFEFEDEEECBFFBECEBBF_Asia", "23_S_EFEEFFEACFBDBDBFBBCFFBDEA_Asia", "24_S_DFBDBEBEBBBFFBFDEDBEEBEBA_Asia", "25_S_BFBAFFFBFFEFFDDEBFEBECACE_Asia"], ["26_S_EDEBFFBCDFEAEBEEFBBFEBBBB_Asia", "27_S_BBBBBCADFDEBEFEBCBEEBCFEB_Asia", "28_S_CDEEDEDEFFDBDFFEEFDBDFFAB_Asia", "29_S_BBEDFFEBEBBFBBFBCFEBAFDFD_Asia", "30_S_EEFCBFFEFAFFDFFFFFEEEEBBF_Asia", "31_S_EEFAEFEFDBBDFBEAFDFFFBBDE_Asia", "32_S_EFEEDEBFDEDDEEEBBBEDFFDFC_Asia", "33_S_FFCDFEBFFFCECFBEEDBCBFDEC_Asia", "34_S_FAFEDEEABBFFFDEEDEFEFEBEF_Asia", "35_S_FEABBAEEEABEFEEBFBBFBBEBF_Asia", "36_S_BBEAEBDEFFEDCCBBBEBDBFBEB_Asia", "37_S_EBFCFBFEBFFBEDBDDEBEAEBAB_Asia", "38_S_ABBFEBCEADFFBBBFBFEAEFFDE_Asia", "39_S_CFBAEEFEBEBBBFEFDBFDECEBC_Asia", "40_S_FFCDAFDDBBBFFECFFCEFDEEDE_Asia", "41_S_BCEEDBDFBFEEEBFEFEEEFDEEB_Asia", "42_S_FFFEBDEABDBDDBEFBFDABBFBD_Asia", "43_S_AEDEBABDABBEBFFABEDEEEBEE_Asia", "44_S_FBDFEBFFCFFEFECDEBEEEDCDF_Asia", "45_S_BBFDFDBABEDBFACEFEFEAFECE_Asia", "46_S_FAFEAEEEEBBBEDFEEFFEEFADE_Asia", "47_S_CBCDEACBBCFFFFAEBEBDEDFBB_Asia", "48_S_FFEBEEBEDBDFFBEDFEBFFFFEE_Asia", "49_S_FFEEDBEBBFDCFFDBDEEEDEFED_Asia", "50_S_EEFFDEFBEBEBDBFFCEEEDBABE_Asia"], ["51_S_EFFBEDFBBDDCDBDBDBFFFDEAE_Asia", "52_S_FCBCBBFCEDBEBFCDDEBFEBDBE_Asia", "53_S_EBDBBDFBEFDDDEEDDFEFCEBDE_Asia", "54_S_EFFBBEBFDFEFFFBEDBBFBFDBD_Asia", "55_S_DBEEDFEDEDFBFBBEDBEFDEEFD_Asia", "56_S_FDEFEBDEEFDBFEEFECFFFDBBA_Asia", "57_S_BFECDFFBABFDEFFFFBADBBDFB_Asia", "58_S_FFFCEABFBEEAEFECEFBDCAEEF_Asia", "59_S_AEAFBEEFBDEDEEDEDBDBAFEAD_Asia", "60_S_BEDFBFDEEFDEEBEEEFEBADBFD_Asia", "61_S_BEBDEFFBDFBEBFDDBBBEBBBFF_Asia", "62_S_DEEBEEBFEECFDFBEDDEFDFCDE_Asia", "63_S_AFFEFBDDBBFBFEDBBBEEDEFDC_Asia", "64_S_EABAEFBEFEEBECBEBDBEEEDBC_Asia", "65_S_BDBDCFCFBEEFCFEEFEEDFBBDF_Asia", "66_S_EBBFEBFBEBEEDDBEEFFFEECEF_Asia", "67_M_FFFDCEEEBBFBFBECEEFFCEBEB_Asia", "68_M_BFEBEBEFFBDFEEFBEFFEDAFEB_Asia", "69_M_FBDBEECFBBBEBEBEBFFDDABFD_Asia", "70_M_EEFDBFEFDFFEEDEDAFBEDFEBD_Asia", "71_M_FBEEBAEFCFBEFABBDFDCEAFED_Asia", "72_M_BFEFFFFEDCBEBEBFFBECECDBE_Asia", "73_M_ECBBDDBBBDEDEBAEBEECBFEFC_Asia", "74_M_FEBBBBEBCEFABDFFBAFEDEDFE_Asia", "75_M_DEDBDDFFDBBBBECBFECEFEEFE_Asia"], ["76_M_BEFFEEFBFBFEEFFEEFEBBFEDB_Asia", "77_M_CDFEAEBFBDBBDFFDFABDBEFBF_Asia", "78_M_BEBABFEBBBCDFEBFBEBABBCFB_Asia", "79_M_DFBADEECFDDDBFBBBFBEBEEBC_Asia", "80_M_DEFAEFCAFDFFFBADBDDBBFDAB_Asia", "81_M_BCBFBEFECDFDEBFFEEBFBBFFD_Asia", "82_M_CEDDEDFEAFFBBEECDFBBAEBBA_Asia", "83_M_FEBBBBDCEEBBFFEBEEFADEDFD_Asia", "84_M_DEDCEFEDBFDEFDFDBBEFEEBDE_Asia", "85_M_FFBEFDBBEBDEDEFFABEEABCFA_Asia", "86_M_EEEEEFEDCDBEBFEBCAFCFCDFC_Asia", "87_L_DFBABDBDFFEBCDEEBBDFCEBAD_Asia", "88_L_CECFFEEDFFFBDDFAFEDDAFDED_Asia", "89_L_DAEBDBFBFBFDFFFECFFDDEDEE_Asia", "90_L_DBBFDBEDDEEFDFFFDDDFDEEBD_Asia", "91_L_EBEEEFFECFBDEECEBBFEEBEFB_Asia", "92_L_BBBDCFFFDEDFEBEEBAEAFEAEB_Asia", "93_L_EDBFFDFEEBEFEDFBBBBBFBDBB_Asia", "94_L_FBBEACFDEDAFFFEADEFEBBEBB_Asia", "95_L_CFEFFEBEBFEBDDEEFEDEFEBDB_Asia", "96_L_BCFBDCEEFBEBFFCBEDCBDBDEE_Asia", "97_XL_DABEFDFDBFEDFEBFFEDFBFEFD_Asia", "98_XL_EDFDFBDEBEFFDFABEFBFBEFDE_Asia", "99_XL_FEBBEBFBFEEFEEDBDCAEEEAEB_Asia", "100_XL_ABDBBEFBBFFEDFFBEDBFBEFBB_Asia"], ["101_S_BBFCAFDCDFFCCFAFABCACAABA_Europe", "102_S_FCBFCBFCBBAACDABBCBBBCFFD_Europe", "103_S_FCFABFDDBCCCFBCFBFABCFFCA_Europe", "104_S_CCBDABAAFFAFBFFFCEFCADABA_Europe", "105_S_FAAFBCCCCCBBFFCFFACECCFAB_Europe", "106_S_BBCFCCFCCAAFEFBAFFAFABDCA_Europe", "107_S_ACAFFDDFACAFAAFCCAECCBACA_Europe", "108_S_DBECABBFFCDFCFAAFFAFFACCA_Europe", "109_S_BAFCCAAFCACFBAFFBFABABEFC_Europe", "110_S_AAFBCCCCBFBEACAFDFBFFDAFB_Europe", "111_S_FAACFAFFCCCEFCCCECAFACFDC_Europe", "112_S_BFFFCEABFEBCCCBEBBCCFFADF_Europe", "113_S_FFACCCBCCACBBCFCAADCADBCA_Europe", "114_S_ECFCBACBDCFCFEAFDFEFAAAAF_Europe", "115_S_FCAECACFFBFBBABFFFDFCABCF_Europe", "116_S_DACFAEFFBCFFCCACFAFFCBADE_Europe", "117_S_FBFFFABAEEFACCEFCAACDFCAC_Europe", "118_S_BFACFBCCFFCDBAAABFCBCBBAA_Europe", "119_S_AFAABBAFDAACFCDAFCABDFEBA_Europe", "120_S_FCACAECAEFBBFDCFFBCDCBCCC_Europe", "121_S_FAAFAECFFBAABABADFDACFAAA_Europe", "122_S_CDFAACAEFBADFAAFFBAFEFCFA_Europe", "123_S_BBFAAEABFDDAABBDDAFEFABBC_Europe", "124_S_AAEDCEBBFFFFFACABAAECFCBC_Europe", "125_S_FDCAFFFBCFACBACCFAEAAFCCC_Europe"], ["126_S_AFCCCAAECFCAAFDCBFFABBCCA_Europe", "127_S_FBABCCFFACAAADFAADBFADCEF_Europe", "128_S_DBCCFBCCFAADFFDEABCFDCFEB_Europe", "129_S_CCCFABECFAAACAFEFCCFFFCFD_Europe", "130_S_ACACFEBFFCCCCFAACAFFDCCFF_Europe", "131_S_ACFCCAFBABAFACDACEAFFABDA_Europe", "132_S_BCECABFCBCCCAAAAAACFBCABF_Europe", "133_S_FFBCFCCAFACAAFFBCFFDFCFFE_Europe", "134_S_ACBBAFAFAEACCDAFEBBEAAFBC_Europe", "135_S_CFACFEFAACCBAFBFCFFFFCAFA_Europe", "136_S_BBCAABBAFAEBEAFFCAADCAFAF_Europe", "137_S_FBEAAADFCCFABFCABCABFEFCA_Europe", "138_S_CCAACCAFBCEABACCBEFBCFFAA_Europe", "139_S_EEAFAFBAEAAAFCFBABEBFCFCA_Europe", "140_S_FFAFAAFCABCAFFECFBBECAABF_Europe", "141_S_DFCABBCFCDCCAEEBCCCCCFDBC_Europe", "142_S_BAFCFFCAFAFFBFCCCABADBFFC_Europe", "143_S_BBBFCFCCCFAEFCBAABBAFCADA_Europe", "144_S_ACAFCCBFCCFCFFCCFFAAFFEBB_Europe", "145_S_ACABACCDACCBAFFBDEADABBCA_Europe", "146_S_CBCCFABCFFAACEBFBCAFACFFC_Europe", "147_S_CCCCADFFBBFBBACFACCBCCBAA_Europe", "148_S_CCABDAFBACCCFBBBFCCFFFAFF_Europe", "149_S_AFACFFFBAABBBBCCFCCFCADCF_Europe", "150_S_CDADCCFCAAFADCABBBEBFAABC_Europe"], ["151_S_ACCAFFEDAEEECAFBAFCAFFCCA_Europe", "152_S_DABFCFDCAFEBCBFFAADCFFFDE_Europe", "153_S_ABBBFBBFEEAFBCBAACCFBAFDA_Europe", "154_S_FFACCDBDCFAAFCCCFFBACFABA_Europe", "155_S_FCCACFFACACFFCAABCAAAFFAF_Europe", "156_S_ACECBAFABCAAFFBCCFCAFBFAE_Europe", "157_S_AFACFDAFBACDBFACAFAFFFABF_Europe", "158_S_BCDBEBAFCFCCFFCCDFFCCECAB_Europe", "159_S_DCACCCFFFDCFABBABDACEFFCE_Europe", "160_S_EAAACCBEFBEABFFFCFFFCFCAA_Europe", "161_S_DCFFDCCEDFFFCFCCCCCFCFBAC_Europe", "162_S_CAAFCCCCABCFFFEAECFCBAFAC_Europe", "163_S_ACFACBBBFCCEFBBACACBAACAF_Europe", "164_S_BEABACFCCCCAFCCFCAFAAAFFC_Europe", "165_S_BDAACCBEFCDFACBCABBEDFBFF_Europe", "166_S_EFAFFAFCAEFDAAADFABFACFFC_Europe", "167_M_FFCAFCAAACBACCBBCADFAAAAC_Europe", "168_M_BFFAFAFCCAFCFDFACCFAFFBAE_Europe", "169_M_FFCCFCBECCAFFFFFFBFFAACFF_Europe", "170_M_FEFCBCCAAEAFFAFBCDFDADBAB_Europe", "171_M_FFEEAAFBAAAFDCCACBFBBACCF_Europe", "172_M_CCDCCDCAFDEEFFACCFBCAFECC_Europe", "173_M_AFCCBCFCCECFDCCADCFAAFCBF_Europe", "174_M_AAAFFABCBCFCADBCAAAACBFCB_Europe", "175_M_CFBBBABCADACADDFFBACFFBAC_Europe"], ["176_M_ABBBFBBAAFFCFCFBCCBABCFAF_Europe", "177_M_CEFACCFFCEBCBCFABEACCFCBB_Europe", "178_M_ECCAFFCCAAFADCAFFACAAFFCC_Europe", "179_M_DFBFCAFCFAACFBBFFFFECFCCB_Europe", "180_M_CFBCEFCFBACFDCABFACACABFA_Europe", "181_M_CAACCFACCBAEACACBFFEBFAAB_Europe", "182_M_CCEFABBCAAFFAFFCEECAFDFAB_Europe", "183_M_FAFCCCDBFFAEBBABBACEAAFBB_Europe", "184_M_FCCAAFACACAFABBFFFECCBCFF_Europe", "185_M_AFDAAFCCBAAFAEDFABAFFBACC_Europe", "186_M_CAFAFCAFCFBCAEAFFFCABACCD_Europe", "187_L_AFEBAAFAABBFAFCDEFEBFAAEC_Europe", "188_L_BFCEBFBAAFABAFFAFCCAAFEFD_Europe", "189_L_BBAAFACFFAFFCFFCBCBCFCCBC_Europe", "190_L_BEEAABBFFBFCFAFEBEEACBAAB_Europe", "191_L_ECCFFCCCCAFFCBDCCFFCCAFAF_Europe", "192_L_EBECFAFAFFFAFADAABBADAFBB_Europe", "193_L_FAFFAFAAAFEBBAADFBEFFCCAA_Europe", "194_L_ABCFFCCAACFBCBFFFFCFAFFAB_Europe", "195_L_ACCBBBEAEFAAFDDFBFAFACCCB_Europe", "196_L_ECCFAFCEAACCCCAACCFFFBCCD_Europe", "197_XL_FAFABCBBDFCFEAFFACCABCFCC_Europe", "198_XL_CCCAFBABFAACCFBAFFFFAABFC_Europe", "199_XL_CCFACBAFACAEAFBCAFFABAACA_Europe", "200_XL_ECCDDDEACCAFACACBAFBAFDAC_Europe"], ["201_S_ACFAABAAFFBACCEBBBEFBCFFA_Americas", "202_S_CBBABAEAFFBFBBFCABEBEEAAB_Americas", "203_S_ADFABABBBFCABCCABAABBFFAC_Americas", "204_S_FABCFFBEDAEAAAEFCFCBBCEBC_Americas", "205_S_AFBFBBBBDAAAFFBCFFBCFCABA_Americas", "206_S_BBFCCEBFCCFAFFBFEFCFCFFAD_Americas", "207_S_CBFCBCEFAFAFFBCEBCBBEAFFB_Americas", "208_S_FCBFBBFBFBBBFBFCBFACAEAEB_Americas", "209_S_FFFFFAACBFBBFFAABFCBECACB_Americas", "210_S_BAAAFABBFCACBBBFAAACAADAB_Americas", "211_S_BCFACFCEDFBFABCCEBAFFCBBC_Americas", "212_S_BECCAFBFBDAABAFBFFBFBFACA_Americas", "213_S_CEFAFBAFCFABCFABBBACAABCF_Americas", "214_S_DCBCBBFBBBECBABABBFCAAAFB_Americas", "215_S_BFCBBEDDAAFCFAFACFFDBACFB_Americas", "216_S_BFACBCFBBFACACFECBBCBBCDF_Americas", "217_S_AFDACEEAFABBDAAEEEDEFBBAC_Americas", "218_S_BFBFAAFFAFFFFBAFFBAABFDEF_Americas", "219_S_ACABFEBBCACFFBBACBFFCCBAA_Americas", "220_S_FECBFFAFBFABCFACDFAAACFFA_Americas", "221_S_ABBFBFFCFEDBAFDBBEBAFBFCB_Americas", "222_S_AAEBBAABFAECAEFBBBBCDBAAC_Americas", "223_S_FFBFFFACBBFFAABABBAFABCEA_Americas", "224_S_AFFAFBFFBABCBCBFFABAAABAA_Americas", "225_S_AABBFFFCAFEABBBFEFDAAFAAF_Americas"], ["226_S_AAFBCBBABBEBDBCBCBACADBFF_Americas", "227_S_FBFBAAAFAAFDBAACFBEBCFFBE_Americas", "228_S_AAAFFFFBBABDABCFFAFACFEAB_Americas", "229_S_FCCFDBBBCFCACDFBABFFBAFEF_Americas", "230_S_BFFBCCCAAABAFBDACDFCCBDBA_Americas", "231_S_BFBAFBCFFCABABFBBFBBCFAAA_Americas", "232_S_CBFCDEFFAFDBACAFDDCADCFAF_Americas", "233_S_FCFFFADAEDACABEBCFEACFBBB_Americas", "234_S_BEBFBBBACACCFACAFCBFFCAAA_Americas", "235_S_BECAFFBACEFABFABCBBCCFFCA_Americas", "236_S_BCFFBABAFCFBBBAACABBECFBE_Americas", "237_S_BCBFFBADAFBBBAAFAFDCCFFAF_Americas", "238_S_BFBFBBABFCBBBACBACABFBEEF_Americas", "239_S_BBFBDFBFBBBBCBACDDFACAFBC_Americas", "240_S_FDCCCCEBFFCBFFABBAFBAAABF_Americas", "241_S_BFFFAABBADCFABABFEAFABACC_Americas", "242_S_ECEBABABCFFFACFBFCFABFFBB_Americas", "243_S_AEAFBBCACBBFCFABEFBFBFAFD_Americas", "244_S_AFBFCFBFFFEFABFFBDFCCBBAF_Americas", "245_S_BFABAFFCFABCFBCCABFAFABCF_Americas", "246_S_CABABEBCFFDBFAFFBAFFFEAFD_Americas", "247_S_AFFBAFAEFFCDEFBACEFAFABAA_Americas", "248_S_AFDFDBBBFBBAFFDCAFCEAFACB_Americas", "249_S_FFBFFFAFDFAEABBACDBBCFBAF_Americas", "250_S_CBAFAEFFADFDAAECAAFAFBFFA_Americas"], ["251_S_AAFCABAFACBEADFFAAAEEBBBF_Americas", "252_S_ABCAFAAABCCAACAFBBFBADFFF_Americas", "253_S_FEFCBAACFFBEACBBEFBFFBBAE_Americas", "254_S_ADABDCABBFAAAAFDFFEBBCFAD_Americas", "255_S_BAEAAAFAAAAEAFBFABEDAFABA_Americas", "256_S_FFFFCCAACBAFAFDBCAABAFFAC_Americas", "257_S_AFEAACFBABACBCEFAFCBAFFBB_Americas", "258_S_ADCBBCABFEBEAFDAFBCDDADFA_Americas", "259_S_FBECBBEFACAACAABBCABAFBFA_Americas", "260_S_ABBCCBFCFFFFCFABCEAFFECFB_Americas", "261_S_BBDCFFFFBDDFBFFFAFCBFADBB_Americas", "262_S_CAABBFFBFBCEFBAFFFFABFFAA_Americas", "263_S_FBFBBFAABFCCAFBCFACFBABBA_Americas", "264_S_AFFCABCFCBFAFBBEBFAFAEAFE_Americas", "265_S_FAFBBBFAFABEAFBBABCBABAFB_Americas", "266_S_AAACAAEAEABABEFFAABFBFFBA_Americas", "267_M_FAACAACABBFBAFCBCBFFFBBFF_Americas", "268_M_ABABABFABFBACFEFCCFEFCBAC_Americas", "269_M_ACABABBBFCCEBAFDBAAFABABF_Americas", "270_M_AFBCCBCAAFDBCCFCCBAFFABAC_Americas", "271_M_ABFBDFAFEBCDFEAAAAABAFBBF_Americas", "272_M_AAFFEADFECADAFFAAEDEEBCDA_Americas", "273_M_ABAFFCBBFABFBAAFBFAFBBDBB_Americas", "274_M_CAAFBABCCEFFCEAAAAAFFEABD_Americas", "275_M_AFBFABFBFDBEDAEAFCABBFAFA_Americas"], ["276_M_FFCFFCADBBAAFACBFFFBAAFCE_Americas", "277_M_AEBBACFBBCBAABBABFDFFFDAA_Americas", "278_M_CECFFCAACAFABBAABBFFAEBBC_Americas", "279_M_CABBBBCFECFFFCFFBBCCBEFBB_Americas", "280_M_ADFFCFBABBAAFEFAFFFAFBCFF_Americas", "281_M_ACABAEBBAEACBEEAAAFBABDBC_Americas", "282_M_EBFBBABCFBFEADAFABBBACFFF_Americas", "283_M_ABAADAACBFABCFFAACAAABCBB_Americas", "284_M_BCDCAFACDBACEFDCBCBBACABC_Americas", "285_M_ABCBAABBCAFFADACFBAACAACA_Americas", "286_M_FAAAAFCBBBDEBBCFFDABCAAFB_Americas", "287_L_BBBABACCBFBCCFBBDEFABCABE_Americas", "288_L_FACABFBCABCAFBCFFBCFFBBAB_Americas", "289_L_FBFFCAEDFABFFFBAFCFBCABFD_Americas", "290_L_CFFABBBACAABFFBAACAAEBCBF_Americas", "291_L_BEAFAFBAFCABABDFFCFDBFCBF_Americas", "292_L_AABBADAAAAFBABCBCCFEDDCCB_Americas", "293_L_BCBAACCBBCBBAFFAFCEBAFFAB_Americas", "294_L_DCAFCBBBEFAABABFDAFAAFFBF_Americas", "295_L_FBACEECBFFCFFDEAAFAAAACEC_Americas", "296_L_ABFBACDBCABFAFCFDBECEABAC_Americas", "297_XL_ACACBABCDAFCFCFBFBBDAAABB_Americas", "298_XL_BFCFFBAAFABACDFECFFCFFFFA_Americas", "299_XL_ACFFAEBEBDBEBBCBBBFABAFBA_Americas", "300_XL_FCFBFBBBFCCDBFFDBABBCBFFA_Americas"], ["301_S_EFDDFFFEADFEFFBEFEBEAFEDD_Oceania", "302_S_FBDDFEFFDEEDCFDEFEDCBFECD_Oceania", "303_S_EFBDABECFADADDAAFEDBDFDED_Oceania", "304_S_BFFFDEBDBBEDCDEBEEABEEBFD_Oceania", "305_S_EEEBFDFDBDDEEDFDFDBCEBFDD_Oceania", "306_S_AFAEEFFFBEDEFFCEEDEAEDEDF_Oceania", "307_S_DDDFFABDCFDEEDEDFBDFEFFDD_Oceania", "308_S_DEDFEDFAFBDEDFBDDFEDEEFBE_Oceania", "309_S_FFDDBEDAEEDFEAEFFEDBFFFDD_Oceania", "310_S_BBEDBFCDBEEFDFEFEFFFDEBED_Oceania", "311_S_FFEEBFFBBBEBFEFEEDEFDBCFB_Oceania", "312_S_BEFECFDFDDDEDEFECFBEBBFFD_Oceania", "313_S_FEEBDDEEEFFFBFDDEDFDCFFAF_Oceania", "314_S_FDFCFFEBDEFBEEDBFDCDFBEBD_Oceania", "315_S_FEBBEDFDFEFDDEFFEFDCEDBBD_Oceania", "316_S_BEBCFEFDDDDFFEECBFDFDBDDE_Oceania", "317_S_DEEDDFDEFDDFDBBEBFFBFEFCA_Oceania", "318_S_EBDEDBEEBECECEEEAFCBFEFEE_Oceania", "319_S_DDEBFADEFDDEBFBDFDBEDFBEA_Oceania", "320_S_DFFDBEDEDEDFEBBFBEBEDEDDD_Oceania", "321_S_DFEEEDBDDEFFFABDDEFAFBFDA_Oceania", "322_S_BFBDEAFEFDEBFFECACDDFFBDB_Oceania", "323_S_EFEEADFFBBFEFEDEECECDCFBB_Oceania", "324_S_AFBCEDFEDDEEDDDCFEFEEEEBB_Oceania", "325_S_ABEECBFFEEFDEBDEBFEFEFDCF_Oceania"], ["326_S_EBFEDEFFDEFDEBEFFDFECCFDF_Oceania", "327_S_DDDDBDCBEBEFFEDDAEBDBBDEB_Oceania", "328_S_EBDDBCDDFFFBFFDDFDBFEFDBE_Oceania", "329_S_FEBEDDBCBEBDEBFEEFDCAEDDF_Oceania", "330_S_EDEDEACDBBDDDEDCDFEDBDEDE_Oceania", "331_S_DBDDBBCFDEABEFDAFDFDDEFBB_Oceania", "332_S_FAABCFDEFDBFBEFDDBCCBEFED_Oceania", "333_S_BEDFBFDEBEFCFDFDEDBBDFFEB_Oceania", "334_S_BFFEFFDEBFAFBDBEBEFECFBDE_Oceania", "335_S_FFEFBDEBFFEFDDDEFBFFDAFBA_Oceania", "336_S_DEFBEFEEDECEEBFDFEDDFBFBE_Oceania", "337_S_EDEBACDECEEEEDDDFEFCEDCFA_Oceania", "338_S_DEEDBEFFFEDDBDEDABDEECEFE_Oceania", "339_S_DEFBDEDFADDFBEDEBEEEEDEEE_Oceania", "340_S_BFDDDFDDADDFDDAFCECFEEAAF_Oceania", "341_S_EDEDDDABEFEEEBFAACFDEEABE_Oceania", "342_S_DEDDFFDBEDFCEFABEBBFFFEEE_Oceania", "343_S_EDEFFFDBFDBFEEFBAEFFCEFCB_Oceania", "344_S_FDEEEBEEEDDEDFCDFFBDFBBED_Oceania", "345_S_AFFFDDEEEEEFEFDFCFADDEFDB_Oceania", "346_S_EEBDDBECEFEAFEFEFCFBECDAE_Oceania", "347_S_FEEFDABCFBFFFDFADEEEDCDBD_Oceania", "348_S_BEFFDEFFFFEDBFFEDBFEFEDFF_Oceania", "349_S_DBBBFCDDCBDEDEDEEFBEFFDFD_Oceania", "350_S_FDFEFFEEEDEEDDBFDFEDADEEE_Oceania"], ["351_S_DFADDFFDCEFEBEDDEFFEEFEAE_Oceania", "352_S_BFDEEBDEEBEDEFAFFBDCDBDEA_Oceania", "353_S_BFFDBFDDEFCEDFBDFCAAEEFEE_Oceania", "354_S_EDDEFDEFBEEEEEEFDDBEEEFDD_Oceania", "355_S_CDEBFBDDFDDEEDBBEDEEEDEFE_Oceania", "356_S_EBFEADBEBDFCDDFFDDBFFBBED_Oceania", "357_S_BEEEDDBBFEFCECFEDEFCFEAEF_Oceania", "358_S_CFDEDEDBEFEFFAEDAFDEEBEAB_Oceania", "359_S_FCBEADBFFFFFBADEFBDFEADDE_Oceania", "360_S_CFECEEDFECBDBAEEDEECDEFFF_Oceania", "361_S_CFEEFEEBEEDACCECEFEFEEDFD_Oceania", "362_S_CFDBEFBFDEFEFFDEFEBFBBDDB_Oceania", "363_S_DDEFFFDFFBFFFDFDBBEECBEFE_Oceania", "364_S_DEFFFEBEFCEEDFDDFEDAFFFFB_Oceania", "365_S_EADABDEECADCFCDEEFEDDEFBF_Oceania", "366_S_DEFCEDBEEEDACDEDFFDEEBFBA_Oceania", "367_M_EEBDBFFDDEFFDDFFEFEDEDDED_Oceania", "368_M_DEFDFFFDDDDFBEDFBBDDCBEEF_Oceania", "369_M_FFFEDEFCFBCFDFDBFBAFBFCEE_Oceania", "370_M_CBEFFEFBDFBFFBFEFDDFEEDBF_Oceania", "371_M_DDFDEDDEBDDEEEDDBBACFFEFE_Oceania", "372_M_ADFEEAEDDEFDBDDABEDDEFFFD_Oceania", "373_M_DFFCEAEEEEFEBFDBBECEBEADE_Oceania", "374_M_FEFEFDDEEDFEEBBDEBDDFFEFD_Oceania", "375_M_EFEDBEFCDFFABDFDDDFFEEFDD_Oceania"], ["376_M_FBFEAECBCBCDEEBEEEDBDBEFF_Oceania", "377_M_AFBEFEBDEECDDDEEAEDFBDBBF_Oceania", "378_M_BFFDFFDBFEFFAEDFDEDDFFEFB_Oceania", "379_M_DEDEFDDFDDEBDFFEBDBDDFCBF_Oceania", "380_M_BEEDDBEBDEBBBFEFEBFDFEDDD_Oceania", "381_M_BFBFBFEFFBEEBDCCFBDDEDBDF_Oceania", "382_M_EDFAEFFBCDDDEDFBFFBDCEEDE_Oceania", "383_M_ABBDFEFFAEFFEFBDBFFAEFFDC_Oceania", "384_M_DFDAEBFFDBEBBEFDFEDFDEFDB_Oceania", "385_M_DBFBFDDCBFDEEFFDCFDFEBDBE_Oceania", "386_M_BBDEDCDDFEDEDDDBDDFDFBDEB_Oceania", "387_L_DDDFFADDFFDDABDEFDEDEEBBB_Oceania", "388_L_FBDDDFBDBBFBEBCBBFDDFEFFB_Oceania", "389_L_DFBFDEFDEEDEFBCDEDEEBBDBA_Oceania", "390_L_FFEEFEBFFBDDDDCBEFBFDDEFD_Oceania", "391_L_FEDEFEADDEFCFEEFDEDDFEDEE_Oceania", "392_L_EDDBEDFFBDEDEDDDFEEDDCFFD_Oceania", "393_L_DBFFEADFDFFFFCEEFBBBBEFDC_Oceania", "394_L_AADDEFFCDDFDFBEDDFDDFEADD_Oceania", "395_L_EFFEBEDDEFEBDBEFBFEAEEADE_Oceania", "396_L_DEDEBDFEEDFBFBDDFEEBFABBF_Oceania", "397_XL_BDDEEDEEFFAEFFDBBBEFEDBFB_Oceania", "398_XL_DFEEEEBFEDAFDBFCDFDDEEEEB_Oceania", "399_XL_BFFEEADBBDAAFFEBFEADDFDEB_Oceania", "400_XL_FFEBDEEDBDEDEFDFBFEEFFFEF_Oceania"], ["401_S_FBEDFDFEDEDDBFDDEEAFFBBEE_Africa", "402_S_BFBDEEDBFDDBFFFBEBDBDDCFA_Africa", "403_S_EBBBDCEEDDDDABCDBDEBBBFAE_Africa", "404_S_DBDDEDDFFFFDBEFBDDFFBBDDF_Africa", "405_S_DBEFEEBCBBFFCEBDDEDCEDDDD_Africa", "406_S_DFDBEDDBEDCDDADDEFCBFDEAD_Africa", "407_S_EFDDDBBBEFEDFBBDDFFDDBEBE_Africa", "408_S_DBBDBECCEEDEAADBBDABBDDFE_Africa", "409_S_BFDDBEEBEDDBABDDDABDFEBBB_Africa", "410_S_BCCEBEDBFDBDDBDFEFFFBEBEB_Africa", "411_S_EDFDEFFBEDDAEAEBDDFDFBBED_Africa", "412_S_BBDDEEBFBBBEFBDBFDBDDEDDD_Africa", "413_S_BBFCDEAEEFBDBBBEDDAEFBBEA_Africa", "414_S_BADBDDDBDDEFBDBBADDDDEBCE_Africa", "415_S_DFEBCEEBFFDDDCCDFEFDBFBFF_Africa", "416_S_EBBAEFEBAADBBFFBDBBFDBDAD_Africa", "417_S_CEDBDBBEDABBBBCBBBEDFEEEB_Africa", "418_S_BBDDEBDBBBCFBEDFBBDEDDDDB_Africa", "419_S_FFCBBFEDAFBBBBAFDFDFBDDFB_Africa", "420_S_FFDCBDBBEBEBBDBDFEDCBFBEE_Africa", "421_S_BDAEBDBFFFDBBDBDBCEEDFBBB_Africa", "422_S_BCDDDDEBFBEAAEBABBEFBCFED_Africa", "423_S_DDBEFBDDFDDFDFBCFBDDFDDDE_Africa", "424_S_DFBDBDCDECBBDBDDEEADBEECB_Africa", "425_S_EDADFDBEDEDFDEEBDDBDFBDAD_Africa"], ["426_S_DBDBDBDDEDDADDBEDBDBBFFDD_Africa", "427_S_DBCFDDFCBFCBDBCBEBFEEBABE_Africa", "428_S_BFFCDBDDEBBEDDBEEFDBDEEBB_Africa", "429_S_FBDBFDDBBBBDADFBBBDDCBCDB_Africa", "430_S_ADEEDDDECFCDFDBDBBEDADDAD_Africa", "431_S_EDCBBABBEDFFBFFDFBDEDABDE_Africa", "432_S_BBBDBBBDEEDDCBEBDFEDBBADF_Africa", "433_S_DFBCDEDBDBDDFDDBAFBFBBEFC_Africa", "434_S_DBEBDEBDEEDBEFFDEDDFDBDBB_Africa", "435_S_DBEBBFDBFEFDBDDFDFBDFDDED_Africa", "436_S_DBDBBEFDEBFDDCCCBBFBDBBBD_Africa", "437_S_FEBDEEBDEBDEFBEBFFBBADDEB_Africa", "438_S_CBFDDBBBDDFBEDEBCCDBBDDDE_Africa", "439_S_DFBCFBDCDDDFEFFBDECDCBBBA_Africa", "440_S_BFDDBFBBECAABDBBBDBBBBADD_Africa", "441_S_BFEDABDDBAEEFFFFBFBBDDBFE_Africa", "442_S_DDEEABDBDDBFCBDBEDBBDFBBB_Africa", "443_S_BDDBDDEDBBFDADEFBEBDBBCFB_Africa", "444_S_DBDEDBBEDDFFDEBFDDEDFBBDB_Africa", "445_S_BFBBFBDFBBEDDBDFEEBDBDBFF_Africa", "446_S_EBDBDFBBEDEDDCEFDBBDEDBDB_Africa", "447_S_BDDBFFBBFBDBDDCEDBDDFEBFE_Africa", "448_S_BDBDDBBFBBBDDDFFDBBFDBFBF_Africa", "449_S_DEBEEBCEDDEECBDEDBDBBBAAD_Africa", "450_S_DDBBABEBDBDFBDBBEAAFCDDDF_Africa"], ["451_S_CBFAFBDDBFBBFBFFDDCBFBDDF_Africa", "452_S_DDFBFFDFDBBDCDFDDBBFBDFDE_Africa", "453_S_FBBDDCDDDCDAAEDBDBEBEAFBB_Africa", "454_S_EABBBDBCFBDBBDBEDBEACDFDB_Africa", "455_S_BEDBCBBFBDBBBDEFBDBBDDDBE_Africa", "456_S_FDDBACDDFDCDBDFBEFEBBFEFB_Africa", "457_S_BFDDBDEDEDBBEBEDBBBBDDDBD_Africa", "458_S_BBBAFDFFDDEEDCDBFDBDDDDFD_Africa", "459_S_BBFEDBEBEFBDDFDDFFEBBBDBB_Africa", "460_S_FBBFDFBEEEFDDEFFDCDFEDDBC_Africa", "461_S_BEFBDFDDBDDDCDBDCDDEDEBBB_Africa", "462_S_EABEDDDDFBDEFEAEEBFDCFEFD_Africa", "463_S_BDBDBDFBCADFFDDBBCDFABDBF_Africa", "464_S_BBFBDACFBBDEBBBEDBBEDDDEB_Africa", "465_S_BCBBDFEDDDAFDDDFBCFBFBFDD_Africa", "466_S_AFEDCBBFEEDBBEDFBFDBBBCDB_Africa", "467_M_BDECBDBFFDBBCDBDFDBBDABDF_Africa", "468_M_DBBBBDDFEDBFEBFFBDABDEFBD_Africa", "469_M_CBCFDACBEBDCBBBEEBDFEBBDE_Africa", "470_M_BBDBBABFDAFBFDBDDDDFDEDCB_Africa", "471_M_BDDBEDFEDEEDEDEEBCEBFEFAD_Africa", "472_M_CBEBDBFDDBBDDCBBEEEBECEBB_Africa", "473_M_ECBFEFAFFDDFBFFBDBBDDFEFD_Africa", "474_M_BFDFCEEBFBEDFDDFBBBFBDEFF_Africa", "475_M_DAEBDBBBFBDDBBFECEBADDEBE_Africa"], ["476_M_EEDBFEDBDBDBDBBDDBFACDDBA_Africa", "477_M_BDEDEDBCBEBFDDBBDDEDEBBBA_Africa", "478_M_DDEDDABFDFFEDBBFFBBFFBBBE_Africa", "479_M_DBEDAEFBFDEBDBDBBFCAEEEFA_Africa", "480_M_DEDDDBEBDBDBBFDFFBBDBBBAD_Africa", "481_M_ACDEBEDDDFEBDBDDFFFBFBBEE_Africa", "482_M_DDBEFAFDBFBEDEEBAAEDDDBBD_Africa", "483_M_EDEDDBAEDEAEDDDBBBDEEFDBB_Africa", "484_M_DCFFEFFBBFBBFBFEBBFDFDBED_Africa", "485_M_FBDBDBDBFBBDEFCBFEEBDDBBD_Africa", "486_M_EDBFBFBEFFEFDBCBBBDBBADEB_Africa", "487_L_DFDBBDDDBBFFCFBFDDDDEFBFD_Africa", "488_L_BEBFDFDABDDEEBDDDBDEABBEA_Africa", "489_L_CFDFDFFBDDEDBDBDBDCCFEEDD_Africa", "490_L_DFEFBCFDEBBCBEDBEDBDEDFED_Africa", "491_L_EDFDEFBBDEDDEEEDDDBFEFEDF_Africa", "492_L_BBBFEFDFBEFDFDFBABBEABDBD_Africa", "493_L_DBEBBBDDAECBBBDABBFBDADCD_Africa", "494_L_DABDFAADEBDBDEFDDDDBBEEED_Africa", "495_L_DCEEBCDFFFBDBBDEDABEBBDBD_Africa", "496_L_FBBBFFBFFDFDBBABEDDFBDFDF_Africa", "497_XL_DABFCDCDFBDFBEFBEEBBDFDBB_Africa", "498_XL_DBFDBCEDDDEFFBDBBDDBAFDCD_Africa", "499_XL_BDBFFBFBDBBEDBAFBCFBBBDBE_Africa", "500_XL_EDDABDDEBFDEBFECCFDCDBBCD_Africa"]] | |
96 | 96 | ||
97 | 97 | func abs (x) = if ((x >= 0)) | |
98 | 98 | then x | |
99 | 99 | else -(x) | |
100 | 100 | ||
101 | 101 | ||
102 | 102 | func buyInternal (pmt,txId,caller,landSize,lenKey,mapKey,defaultPrice) = if ((pmt.assetId != usdnAssetId)) | |
103 | 103 | then throw("Allowed USDN payment only!") | |
104 | 104 | else { | |
105 | 105 | let pmtReq = valueOrElse(getInteger(keyPaymentRequired(landSize)), defaultPrice) | |
106 | 106 | if ((pmtReq > pmt.amount)) | |
107 | 107 | then throw(("Payment attached should be at least " + toString(pmtReq))) | |
108 | 108 | else { | |
109 | 109 | let len = valueOrErrorMessage(getInteger(lenKey), "initPresale should be called first") | |
110 | 110 | if ((len == 0)) | |
111 | 111 | then throw((("All " + landSize) + " lands are sold out")) | |
112 | 112 | else { | |
113 | 113 | let random = abs(toInt((toBigInt(txId) % toBigInt(len)))) | |
114 | 114 | let lands = split_51C(valueOrErrorMessage(getString(mapKey), (mapKey + " is not initialized")), "_") | |
115 | 115 | let landNum = lands[random] | |
116 | 116 | let nft = valueOrErrorMessage(getString(keyLandToAssetId(landNum)), (keyNftName(landNum, landSize) + " does not exist")) | |
117 | 117 | [IntegerEntry(lenKey, (len - 1)), StringEntry(mapKey, makeString_11C(removeByIndex(lands, random), "_")), ScriptTransfer(caller, 1, fromBase58String(nft)), StringEntry(keyAssetIdToOwner(nft), toString(caller)), StringEntry(keyLandToOwner(landNum), toString(caller))] | |
118 | 118 | } | |
119 | 119 | } | |
120 | 120 | } | |
121 | 121 | ||
122 | 122 | ||
123 | 123 | @Callable(i) | |
124 | 124 | func issueDucks () = if ((i.caller != this)) | |
125 | 125 | then throw("Permission denied") | |
126 | 126 | else { | |
127 | 127 | func duckIssuer (acc,elem) = { | |
128 | 128 | let issue = Issue(elem, (("{\"genotype\": " + elem) + ", \"crossbreeding\": true}"), 1, 0, false) | |
129 | 129 | (acc :+ issue) | |
130 | 130 | } | |
131 | 131 | ||
132 | 132 | let actions = { | |
133 | 133 | let $l = testDucks | |
134 | 134 | let $s = size($l) | |
135 | 135 | let $acc0 = nil | |
136 | 136 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
137 | 137 | then $a | |
138 | 138 | else duckIssuer($a, $l[$i]) | |
139 | 139 | ||
140 | 140 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
141 | 141 | then $a | |
142 | 142 | else throw("List size exceeds 11") | |
143 | 143 | ||
144 | 144 | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11) | |
145 | 145 | } | |
146 | 146 | $Tuple2(actions, unit) | |
147 | 147 | } | |
148 | 148 | ||
149 | 149 | ||
150 | 150 | ||
151 | 151 | @Callable(i) | |
152 | 152 | func stakeLand () = { | |
153 | 153 | let pmt = value(i.payments[0]) | |
154 | 154 | let assetId = value(pmt.assetId) | |
155 | 155 | let address = toString(i.caller) | |
156 | 156 | if ((pmt.amount != 1)) | |
157 | 157 | then throw((("NFT " + LANDPREFIX) + " token should be attached as payment")) | |
158 | 158 | else { | |
159 | 159 | let asset = value(assetInfo(assetId)) | |
160 | 160 | if ((asset.issuer != this)) | |
161 | 161 | then throw("Unknown issuer of token") | |
162 | 162 | else if (!(contains(asset.name, LANDPREFIX))) | |
163 | 163 | then throw((("Only NFT " + LANDPREFIX) + " tokens are accepted")) | |
164 | 164 | else { | |
165 | 165 | let landNumSize = drop(asset.name, 4) | |
166 | 166 | let landNum = if (contains(landNumSize, "XXL")) | |
167 | 167 | then dropRight(landNumSize, 3) | |
168 | 168 | else if (contains(landNumSize, "XL")) | |
169 | 169 | then dropRight(landNumSize, 2) | |
170 | 170 | else dropRight(landNumSize, 1) | |
171 | 171 | if (!(isDefined(parseInt(landNum)))) | |
172 | 172 | then throw(("Cannot parse land number from " + asset.name)) | |
173 | 173 | else { | |
174 | 174 | let timeKey = keyStakedTimeByAssetId(toBase58String(assetId)) | |
175 | 175 | if (isDefined(getInteger(timeKey))) | |
176 | 176 | then throw((("NFT " + asset.name) + " is already staked")) | |
177 | 177 | else [IntegerEntry(timeKey, lastBlock.timestamp), IntegerEntry(keyStakedTimeByTypeAssetIdAndOwner(LANDPREFIX, toBase58String(assetId), address), lastBlock.timestamp), StringEntry(keyAssetIdToOwner(toBase58String(assetId)), address), StringEntry(keyLandToOwner(landNum), address)] | |
178 | 178 | } | |
179 | 179 | } | |
180 | 180 | } | |
181 | 181 | } | |
182 | 182 | ||
183 | 183 | ||
184 | 184 | ||
185 | 185 | @Callable(i) | |
186 | 186 | func updateStakedLand (assetIdStr,newTimestamp) = if ((i.caller != backEndAddr)) | |
187 | 187 | then throw("permission denied") | |
188 | 188 | else if ((size(i.payments) != 0)) | |
189 | 189 | then throw("updateStakedLand doesn't require any payments") | |
190 | 190 | else { | |
191 | 191 | let assetId = fromBase58String(assetIdStr) | |
192 | 192 | let asset = value(assetInfo(assetId)) | |
193 | 193 | if ((asset.issuer != this)) | |
194 | 194 | then throw("Unknown issuer of token") | |
195 | 195 | else if (!(contains(asset.name, LANDPREFIX))) | |
196 | 196 | then throw((("Only NFT " + LANDPREFIX) + " tokens are accepted")) | |
197 | 197 | else { | |
198 | 198 | let timeKey = keyStakedTimeByAssetId(toBase58String(assetId)) | |
199 | 199 | if (!(isDefined(getInteger(timeKey)))) | |
200 | 200 | then throw((("NFT " + asset.name) + " is not staked")) | |
201 | 201 | else { | |
202 | 202 | let ownerAddr = getStringValue(keyAssetIdToOwner(assetIdStr)) | |
203 | 203 | [IntegerEntry(timeKey, newTimestamp), IntegerEntry(keyStakedTimeByTypeAssetIdAndOwner(LANDPREFIX, assetIdStr, ownerAddr), newTimestamp)] | |
204 | 204 | } | |
205 | 205 | } | |
206 | 206 | } | |
207 | 207 | ||
208 | 208 | ||
209 | 209 | ||
210 | 210 | @Callable(i) | |
211 | 211 | func unstakeLand (assetIdStr) = if ((size(i.payments) != 0)) | |
212 | 212 | then throw("unstake doesn't require any payments") | |
213 | 213 | else { | |
214 | 214 | let assetId = fromBase58String(assetIdStr) | |
215 | 215 | let address = toString(i.caller) | |
216 | 216 | let asset = value(assetInfo(assetId)) | |
217 | 217 | if ((asset.issuer != this)) | |
218 | 218 | then throw("Unknown issuer of token") | |
219 | 219 | else if (!(contains(asset.name, LANDPREFIX))) | |
220 | 220 | then throw((("Only NFT " + LANDPREFIX) + " tokens can be unstaked")) | |
221 | 221 | else { | |
222 | 222 | let timeKey = keyStakedTimeByAssetId(assetIdStr) | |
223 | 223 | if (!(isDefined(timeKey))) | |
224 | 224 | then throw((("NFT " + asset.name) + " is not staked")) | |
225 | 225 | else { | |
226 | 226 | let owner = valueOrErrorMessage(getString(keyAssetIdToOwner(assetIdStr)), (("NFT " + asset.name) + " is orphaned")) | |
227 | 227 | if ((owner != address)) | |
228 | 228 | then throw("Staked NFT is not yours") | |
229 | 229 | else [ScriptTransfer(i.caller, 1, assetId), DeleteEntry(timeKey), DeleteEntry(keyStakedTimeByTypeAssetIdAndOwner(LANDPREFIX, assetIdStr, address))] | |
230 | 230 | } | |
231 | 231 | } | |
232 | 232 | } | |
233 | 233 | ||
234 | 234 | ||
235 | 235 | ||
236 | 236 | @Callable(i) | |
237 | 237 | func stakeDuck () = { | |
238 | 238 | let pmt = value(i.payments[0]) | |
239 | 239 | let assetId = value(pmt.assetId) | |
240 | 240 | let address = toString(i.caller) | |
241 | 241 | if ((pmt.amount != 1)) | |
242 | 242 | then throw((("NFT " + DUCKPREFIX) + " token should be attached as payment")) | |
243 | 243 | else { | |
244 | 244 | let asset = value(assetInfo(assetId)) | |
245 | 245 | if (if ((asset.issuer != incubatorAddr)) | |
246 | 246 | then (asset.issuer != breederAddr) | |
247 | 247 | else false) | |
248 | 248 | then throw((("Unknown issuer of " + DUCKPREFIX) + " token")) | |
249 | 249 | else if (!(contains(asset.name, DUCKPREFIX))) | |
250 | 250 | then throw((("Only NFT " + DUCKPREFIX) + " tokens are accepted")) | |
251 | 251 | else { | |
252 | 252 | let assetIdStr = toBase58String(assetId) | |
253 | 253 | let timeKey = keyStakedTimeByAssetId(assetIdStr) | |
254 | 254 | if (isDefined(getInteger(timeKey))) | |
255 | 255 | then throw((("NFT " + asset.name) + " is already staked")) | |
256 | 256 | else if (isDefined(getString(keyStakedDuckByOwner(address)))) | |
257 | 257 | then throw(("You already staked one duck: " + asset.name)) | |
258 | 258 | else [IntegerEntry(timeKey, lastBlock.timestamp), IntegerEntry(keyStakedTimeByTypeAssetIdAndOwner(DUCKPREFIX, toBase58String(assetId), address), lastBlock.timestamp), StringEntry(keyAssetIdToOwner(assetIdStr), address), StringEntry(keyStakedDuckByOwner(address), assetIdStr)] | |
259 | 259 | } | |
260 | 260 | } | |
261 | 261 | } | |
262 | 262 | ||
263 | 263 | ||
264 | 264 | ||
265 | 265 | @Callable(i) | |
266 | 266 | func unstakeDuck (assetIdStr) = if ((size(i.payments) != 0)) | |
267 | 267 | then throw("unstake doesn't require any payments") | |
268 | 268 | else { | |
269 | 269 | let assetId = fromBase58String(assetIdStr) | |
270 | 270 | let address = toString(i.caller) | |
271 | 271 | let asset = value(assetInfo(assetId)) | |
272 | 272 | if (if ((asset.issuer != incubatorAddr)) | |
273 | 273 | then (asset.issuer != breederAddr) | |
274 | 274 | else false) | |
275 | 275 | then throw((("Unknown issuer of " + DUCKPREFIX) + " token")) | |
276 | 276 | else if (!(contains(asset.name, DUCKPREFIX))) | |
277 | 277 | then throw((("Only NFT " + DUCKPREFIX) + " tokens can be unstaked")) | |
278 | 278 | else { | |
279 | 279 | let timeKey = keyStakedTimeByAssetId(toBase58String(assetId)) | |
280 | 280 | if (!(isDefined(timeKey))) | |
281 | 281 | then throw((("NFT " + asset.name) + " is not staked")) | |
282 | 282 | else if (!(isDefined(keyStakedDuckByOwner(address)))) | |
283 | 283 | then throw((("The duck " + asset.name) + " is not staked")) | |
284 | 284 | else { | |
285 | 285 | let owner = valueOrErrorMessage(getString(keyAssetIdToOwner(toBase58String(assetId))), (("NFT " + asset.name) + " is orphaned")) | |
286 | 286 | if ((owner != address)) | |
287 | 287 | then throw("Staked NFT is not yours") | |
288 | 288 | else [ScriptTransfer(i.caller, 1, assetId), DeleteEntry(timeKey), DeleteEntry(keyStakedTimeByTypeAssetIdAndOwner(DUCKPREFIX, assetIdStr, address)), DeleteEntry(keyStakedDuckByOwner(address))] | |
289 | 289 | } | |
290 | 290 | } | |
291 | 291 | } | |
292 | 292 | ||
293 | 293 | ||
294 | 294 | ||
295 | 295 | @Callable(i) | |
296 | - | func stakeDuckTransporter (fromContinent,toContinent,winds,obstacles,userMoves) = { | |
297 | - | let pmt = value(i.payments[0]) | |
298 | - | let assetId = value(pmt.assetId) | |
299 | - | let address = toString(i.caller) | |
300 | - | if ((pmt.amount != 1)) | |
301 | - | then throw((("NFT " + DUCKPREFIX) + " token should be attached as payment")) | |
302 | - | else { | |
303 | - | let asset = value(assetInfo(assetId)) | |
304 | - | if (if ((asset.issuer != incubatorAddr)) | |
305 | - | then (asset.issuer != breederAddr) | |
306 | - | else false) | |
307 | - | then throw((("Unknown issuer of " + DUCKPREFIX) + " token")) | |
308 | - | else if (!(contains(asset.name, DUCKPREFIX))) | |
309 | - | then throw((("Only NFT " + DUCKPREFIX) + " tokens are accepted")) | |
310 | - | else { | |
311 | - | let assetIdStr = toBase58String(assetId) | |
312 | - | let timeKey = keyStakedTimeByAssetId(assetIdStr) | |
313 | - | if (isDefined(getInteger(timeKey))) | |
314 | - | then throw((("NFT " + asset.name) + " is already staked")) | |
315 | - | else [IntegerEntry(timeKey, lastBlock.timestamp), IntegerEntry(keyStakedTimeByTypeAssetIdAndOwner(DUCKPREFIX, toBase58String(assetId), address), lastBlock.timestamp), StringEntry(keyFromContinentByAssetId(assetIdStr), fromContinent), StringEntry(keyToContinentByAssetId(assetIdStr), toContinent), StringEntry(keyWindsByAssetId(assetIdStr), winds), StringEntry(keyObstaclesByAssetId(assetIdStr), obstacles), StringEntry(keyMovesByAssetId(assetIdStr), userMoves), StringEntry(keyAssetIdToOwner(assetIdStr), address)] | |
316 | - | } | |
317 | - | } | |
318 | - | } | |
319 | - | ||
320 | - | ||
321 | - | ||
322 | - | @Callable(i) | |
323 | - | func unstakeDuckTransporter (assetIdStr) = if ((size(i.payments) != 0)) | |
324 | - | then throw("unstake doesn't require any payments") | |
325 | - | else { | |
326 | - | let assetId = fromBase58String(assetIdStr) | |
327 | - | let address = toString(i.caller) | |
328 | - | let asset = value(assetInfo(assetId)) | |
329 | - | if (if ((asset.issuer != incubatorAddr)) | |
330 | - | then (asset.issuer != breederAddr) | |
331 | - | else false) | |
332 | - | then throw((("Unknown issuer of " + DUCKPREFIX) + " token")) | |
333 | - | else if (!(contains(asset.name, DUCKPREFIX))) | |
334 | - | then throw((("Only NFT " + DUCKPREFIX) + " tokens can be unstaked")) | |
335 | - | else { | |
336 | - | let timeKey = keyStakedTimeByAssetId(toBase58String(assetId)) | |
337 | - | if (!(isDefined(timeKey))) | |
338 | - | then throw((("NFT " + asset.name) + " is not staked")) | |
339 | - | else { | |
340 | - | let owner = valueOrErrorMessage(getString(keyAssetIdToOwner(toBase58String(assetId))), (("NFT " + asset.name) + " is orphaned")) | |
341 | - | if ((owner != address)) | |
342 | - | then throw("Staked NFT is not yours") | |
343 | - | else [ScriptTransfer(i.caller, 1, assetId), DeleteEntry(timeKey), DeleteEntry(keyStakedTimeByTypeAssetIdAndOwner(DUCKPREFIX, assetIdStr, address))] | |
344 | - | } | |
345 | - | } | |
346 | - | } | |
347 | - | ||
348 | - | ||
349 | - | ||
350 | - | @Callable(i) | |
351 | 296 | func issueNFTs (batch) = if ((i.caller != this)) | |
352 | 297 | then throw("Permission denied") | |
353 | 298 | else { | |
354 | 299 | let batchesCount = valueOrElse(getInteger(keyBatchesCount()), 0) | |
355 | 300 | if ((batchesCount == 20)) | |
356 | 301 | then throw("All batches already processed") | |
357 | 302 | else if (if ((0 > batch)) | |
358 | 303 | then true | |
359 | 304 | else (batch >= 20)) | |
360 | 305 | then throw("Batch index should be in the range 0..19") | |
361 | 306 | else if (valueOrElse(getBoolean(keyBatchProcessed(batch)), false)) | |
362 | 307 | then throw((("Batch " + toString(batch)) + " already processed")) | |
363 | 308 | else { | |
364 | 309 | func issuer (acc,elem) = { | |
365 | 310 | let parts = split(elem, "_") | |
366 | 311 | let issue = Issue(keyNftName(parts[recLandNum], parts[recLandSize]), elem, 1, 0, false) | |
367 | 312 | let id = toBase58String(calculateAssetId(issue)) | |
368 | 313 | ((((acc :+ issue) :+ StringEntry(keyLandToAssetId(parts[recLandNum]), id)) :+ StringEntry(keyAssetIdToOwner(id), toString(this))) :+ StringEntry(keyLandToOwner(parts[recLandNum]), toString(this))) | |
369 | 314 | } | |
370 | 315 | ||
371 | 316 | let actions = { | |
372 | 317 | let $l = nftLists[batch] | |
373 | 318 | let $s = size($l) | |
374 | 319 | let $acc0 = nil | |
375 | 320 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
376 | 321 | then $a | |
377 | 322 | else issuer($a, $l[$i]) | |
378 | 323 | ||
379 | 324 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
380 | 325 | then $a | |
381 | 326 | else throw("List size exceeds 25") | |
382 | 327 | ||
383 | 328 | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25) | |
384 | 329 | } | |
385 | 330 | $Tuple2(((actions :+ BooleanEntry(keyBatchProcessed(batch), true)) :+ IntegerEntry(keyBatchesCount(), (batchesCount + 1))), unit) | |
386 | 331 | } | |
387 | 332 | } | |
333 | + | ||
334 | + | ||
335 | + | ||
336 | + | @Callable(i) | |
337 | + | func burnLandsS () = { | |
338 | + | func burnerS (acc,e) = { | |
339 | + | let counter = acc._2 | |
340 | + | let landsLeft = acc._3 | |
341 | + | if ((counter == 25)) | |
342 | + | then acc | |
343 | + | else { | |
344 | + | let idx = (size(landsLeft) - 1) | |
345 | + | let landNum = landsLeft[idx] | |
346 | + | let assetId = valueOrErrorMessage(getString(keyLandToAssetId(landNum)), (keyNftName(landNum, "S") + " does not exist")) | |
347 | + | $Tuple3((((acc._1 :+ Burn(fromBase58String(assetId), 1)) :+ DeleteEntry(keyAssetIdToOwner(assetId))) :+ DeleteEntry(keyLandToOwner(landNum))), (counter + 1), removeByIndex(landsLeft, idx)) | |
348 | + | } | |
349 | + | } | |
350 | + | ||
351 | + | let len = value(getInteger(LENS)) | |
352 | + | if ((0 >= len)) | |
353 | + | then throw("All S lands are burned") | |
354 | + | else { | |
355 | + | let lands = split_51C(value(getString(MAPS)), "_") | |
356 | + | let result = { | |
357 | + | let $l = lands | |
358 | + | let $s = size($l) | |
359 | + | let $acc0 = $Tuple3(nil, 0, lands) | |
360 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
361 | + | then $a | |
362 | + | else burnerS($a, $l[$i]) | |
363 | + | ||
364 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
365 | + | then $a | |
366 | + | else throw("List size exceeds 66") | |
367 | + | ||
368 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66) | |
369 | + | } | |
370 | + | ((result._1 :+ IntegerEntry(LENS, (len - result._2))) :+ StringEntry(MAPS, makeString_11C(result._3, "_"))) | |
371 | + | } | |
372 | + | } | |
388 | 373 | ||
389 | 374 | ||
390 | 375 | ||
391 | 376 | @Callable(i) | |
392 | 377 | func initPresale () = if ((i.caller != this)) | |
393 | 378 | then throw("Permission denied") | |
394 | 379 | else { | |
395 | 380 | func createRecord (start) = ((((((((toString(start) + "_") + toString((start + 100))) + "_") + toString((start + 200))) + "_") + toString((start + 300))) + "_") + toString((start + 400))) | |
396 | 381 | ||
397 | 382 | func folderS (acc,e) = { | |
398 | 383 | let rec = createRecord(e) | |
399 | 384 | if ((acc == "")) | |
400 | 385 | then rec | |
401 | 386 | else ((acc + "_") + rec) | |
402 | 387 | } | |
403 | 388 | ||
404 | 389 | func folderM (acc,e) = { | |
405 | 390 | let rec = createRecord((e + 66)) | |
406 | 391 | if ((acc == "")) | |
407 | 392 | then rec | |
408 | 393 | else ((acc + "_") + rec) | |
409 | 394 | } | |
410 | 395 | ||
411 | 396 | func folderL (acc,e) = { | |
412 | 397 | let rec = createRecord((e + 86)) | |
413 | 398 | if ((acc == "")) | |
414 | 399 | then rec | |
415 | 400 | else ((acc + "_") + rec) | |
416 | 401 | } | |
417 | 402 | ||
418 | 403 | func folderXL (acc,e) = { | |
419 | 404 | let rec = createRecord((e + 96)) | |
420 | 405 | if ((acc == "")) | |
421 | 406 | then rec | |
422 | 407 | else ((acc + "_") + rec) | |
423 | 408 | } | |
424 | 409 | ||
425 | 410 | [StringEntry(MAPS, { | |
426 | 411 | let $l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66] | |
427 | 412 | let $s = size($l) | |
428 | 413 | let $acc0 = "" | |
429 | 414 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
430 | 415 | then $a | |
431 | 416 | else folderS($a, $l[$i]) | |
432 | 417 | ||
433 | 418 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
434 | 419 | then $a | |
435 | 420 | else throw("List size exceeds 66") | |
436 | 421 | ||
437 | 422 | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66) | |
438 | 423 | }), StringEntry(MAPM, { | |
439 | 424 | let $l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] | |
440 | 425 | let $s = size($l) | |
441 | 426 | let $acc0 = "" | |
442 | 427 | func $f1_1 ($a,$i) = if (($i >= $s)) | |
443 | 428 | then $a | |
444 | 429 | else folderM($a, $l[$i]) | |
445 | 430 | ||
446 | 431 | func $f1_2 ($a,$i) = if (($i >= $s)) | |
447 | 432 | then $a | |
448 | 433 | else throw("List size exceeds 20") | |
449 | 434 | ||
450 | 435 | $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20) | |
451 | 436 | }), StringEntry(MAPL, { | |
452 | 437 | let $l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | |
453 | 438 | let $s = size($l) | |
454 | 439 | let $acc0 = "" | |
455 | 440 | func $f2_1 ($a,$i) = if (($i >= $s)) | |
456 | 441 | then $a | |
457 | 442 | else folderL($a, $l[$i]) | |
458 | 443 | ||
459 | 444 | func $f2_2 ($a,$i) = if (($i >= $s)) | |
460 | 445 | then $a | |
461 | 446 | else throw("List size exceeds 10") | |
462 | 447 | ||
463 | 448 | $f2_2($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
464 | 449 | }), StringEntry(MAPXL, { | |
465 | 450 | let $l = [1, 2, 3, 4] | |
466 | 451 | let $s = size($l) | |
467 | 452 | let $acc0 = "" | |
468 | 453 | func $f3_1 ($a,$i) = if (($i >= $s)) | |
469 | 454 | then $a | |
470 | 455 | else folderXL($a, $l[$i]) | |
471 | 456 | ||
472 | 457 | func $f3_2 ($a,$i) = if (($i >= $s)) | |
473 | 458 | then $a | |
474 | 459 | else throw("List size exceeds 4") | |
475 | 460 | ||
476 | 461 | $f3_2($f3_1($f3_1($f3_1($f3_1($acc0, 0), 1), 2), 3), 4) | |
477 | 462 | }), IntegerEntry(LENS, 330), IntegerEntry(LENM, 100), IntegerEntry(LENL, 50), IntegerEntry(LENXL, 20)] | |
478 | 463 | } | |
479 | 464 | ||
480 | 465 | ||
481 | 466 | ||
482 | 467 | @Callable(i) | |
483 | 468 | func buyLand (landSize) = if ((i.caller != this)) | |
484 | 469 | then throw("Permission denied") | |
485 | 470 | else if ((size(i.payments) != 1)) | |
486 | 471 | then throw("Exactly one payment required") | |
487 | 472 | else { | |
488 | 473 | let pmt = value(i.payments[0]) | |
489 | 474 | let actions = match landSize { | |
490 | 475 | case _ => | |
491 | 476 | if (("S" == $match0)) | |
492 | 477 | then buyInternal(pmt, i.transactionId, i.caller, landSize, LENS, MAPS, DEFAULTPRICES) | |
493 | 478 | else if (("M" == $match0)) | |
494 | 479 | then buyInternal(pmt, i.transactionId, i.caller, landSize, LENM, MAPM, DEFAULTPRICEM) | |
495 | 480 | else if (("L" == $match0)) | |
496 | 481 | then buyInternal(pmt, i.transactionId, i.caller, landSize, LENL, MAPL, DEFAULTPRICEL) | |
497 | 482 | else if (("XL" == $match0)) | |
498 | 483 | then buyInternal(pmt, i.transactionId, i.caller, landSize, LENXL, MAPXL, DEFAULTPRICEXL) | |
499 | 484 | else throw("Unknown land size") | |
500 | 485 | } | |
501 | 486 | $Tuple2(actions, unit) | |
502 | 487 | } | |
503 | 488 | ||
504 | 489 |
github/deemru/w8io/169f3d6 94.22 ms ◑