{
  "schemaVersion": 2,
  "contractName": "RandomnessFactory",
  "sourceName": "contracts/src/RandomnessFactory.sol",
  "compilerVersion": "0.8.24+commit.e11b9ed9",
  "abi": [
    {
      "type": "function",
      "name": "VERSION",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "deployPlatform",
      "inputs": [
        {
          "name": "revenueRecipient",
          "type": "address",
          "internalType": "address"
        },
        {
          "name": "platformName",
          "type": "string",
          "internalType": "string"
        },
        {
          "name": "requestPrice",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "maxPending",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "platform",
          "type": "address",
          "internalType": "contract PlatformRandomness"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "event",
      "name": "PlatformDeployed",
      "inputs": [
        {
          "name": "platform",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "revenueRecipient",
          "type": "address",
          "indexed": true,
          "internalType": "address"
        },
        {
          "name": "platformName",
          "type": "string",
          "indexed": false,
          "internalType": "string"
        },
        {
          "name": "requestPrice",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        },
        {
          "name": "maxPending",
          "type": "uint256",
          "indexed": false,
          "internalType": "uint256"
        }
      ],
      "anonymous": false
    }
  ],
  "bytecode": "0x608060405234801561000f575f80fd5b50611f898061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063b770210d14610038578063ffa1ad7414610068575b5f80fd5b61004b610046366004610121565b61007e565b6040516001600160a01b0390911681526020015b60405180910390f35b610070600181565b60405190815260200161005f565b5f858585858560405161009090610114565b61009e9594939291906101e0565b604051809103905ff0801580156100b7573d5f803e3d5ffd5b509050856001600160a01b0316816001600160a01b03167f87d7818b1c5b7ff1016a8779cec3557356da776c31f5405f75575bbf18c8e788878787876040516101039493929190610218565b60405180910390a395945050505050565b611d158061023f83390190565b5f805f805f60808688031215610135575f80fd5b85356001600160a01b038116811461014b575f80fd5b9450602086013567ffffffffffffffff80821115610167575f80fd5b818801915088601f83011261017a575f80fd5b813581811115610188575f80fd5b896020828501011115610199575f80fd5b9699602092909201985095966040810135965060600135945092505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03861681526080602082018190525f9061020490830186886101b8565b604083019490945250606001529392505050565b606081525f61022b6060830186886101b8565b602083019490945250604001529291505056fe6080604052600160055534801562000015575f80fd5b5060405162001d1538038062001d158339810160408190526200003891620000df565b6001600160a01b038416620000605760405163bab8dcdb60e01b815260040160405180910390fd5b6001600160601b0382111562000090576040516306d02d6760e11b81526004810183905260240160405180910390fd5b5f80546001600160a01b0319166001600160a01b0386161790556001620000b8848262000266565b5060029190915560035550620003329050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215620000f3575f80fd5b84516001600160a01b03811681146200010a575f80fd5b602086810151919550906001600160401b038082111562000129575f80fd5b818801915088601f8301126200013d575f80fd5b815181811115620001525762000152620000cb565b604051601f8201601f19908116603f011681019083821181831017156200017d576200017d620000cb565b816040528281528b8684870101111562000195575f80fd5b5f93505b82841015620001b8578484018601518185018701529285019262000199565b5f928101909501919091525050506040860151606090960151949790965092505050565b600181811c90821680620001f157607f821691505b6020821081036200021057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200026157805f5260205f20601f840160051c810160208510156200023d5750805b601f840160051c820191505b818110156200025e575f815560010162000249565b50505b505050565b81516001600160401b03811115620002825762000282620000cb565b6200029a81620002938454620001dc565b8462000216565b602080601f831160018114620002d0575f8415620002b85750858301515b5f19600386901b1c1916600185901b1785556200032a565b5f85815260208120601f198616915b828110156200030057888601518255948401946001909101908401620002df565b50858210156200031e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6119d580620003405f395ff3fe6080604052600436106100ef575f3560e01c8063b0e21e8a11610087578063d721fe0211610057578063d721fe0214610275578063ea70b4af14610296578063f8413b07146102ab578063ffa1ad74146102b3575f80fd5b8063b0e21e8a146101f9578063b7a36ac21461020b578063c58343ef1461022a578063d2b8035a14610256575f80fd5b80634f573cb2116100c25780634f573cb21461018a5780636a84a985146101a057806372cb2273146101b55780637e67ef12146101da575f80fd5b80631604f9ea146100f35780632eb245631461011b5780633b26314d1461013057806340315e5014610166575b5f80fd5b3480156100fe575f80fd5b5061010860025481565b6040519081526020015b60405180910390f35b348015610126575f80fd5b5061010860035481565b34801561013b575f80fd5b505f5461014e906001600160a01b031681565b6040516001600160a01b039091168152602001610112565b348015610171575f80fd5b5061017a600181565b6040519015158152602001610112565b348015610195575f80fd5b5061019e6102c7565b005b3480156101ab575f80fd5b5061010860055481565b3480156101c0575f80fd5b5061014e71f90827f1c53a10cb7a02335b17532000293581565b3480156101e5575f80fd5b5061019e6101f4366004611644565b6103b9565b348015610204575f80fd5b505f610108565b348015610216575f80fd5b506101086102253660046116a0565b610545565b348015610235575f80fd5b50610249610244366004611644565b6107ae565b604051610112919061173c565b348015610261575f80fd5b506101086102703660046117cc565b610930565b348015610280575f80fd5b506102896109ce565b6040516101129190611839565b3480156102a1575f80fd5b5061010860045481565b610108610a5a565b3480156102be575f80fd5b50610108600181565b6102cf610cc7565b475f8190036102f15760405163d55eb96360e01b815260040160405180910390fd5b5f80546040516001600160a01b039091169190829084908381818185875af1925050503d805f811461033e576040519150601f19603f3d011682016040523d82523d5f602084013e610343565b606091505b5050905080610365576040516312171d8360e31b815260040160405180910390fd5b6040518381526001600160a01b0383169033907f6c198f0e3e4f68668dfd7b1a689ee110197d822dd8ec93a685138d4b8537ae069060200160405180910390a35050506103b76007805460ff19169055565b565b5f818152600660205260408120908154600160e01b900460ff1660038111156103e4576103e4611852565b0361040257604051632589d98f60e11b815260040160405180910390fd5b60028154600160e01b900460ff16600381111561042157610421611852565b0361043f5760405163475a253560e01b815260040160405180910390fd5b60038154600160e01b900460ff16600381111561045e5761045e611852565b0361047c5760405163506b27c560e11b815260040160405180910390fd5b80545f9061049c90600160a01b900467ffffffffffffffff16600861187a565b6104a890611fff61187a565b6104b390600161187a565b9050804310156104e45760405163cf255a3760e01b8152436004820152602481018290526044015b60405180910390fd5b815460ff60e01b1916600360e01b178255600480545f906105049061188d565b90915550815460405133916001600160a01b03169085907f1f917b1b2f007943026b183c100c6705a10e228213a1f2ed96058fc1fd8f6272905f90a4505050565b5f878152600660205260408120818154600160e01b900460ff16600381111561057057610570611852565b0361058e57604051632589d98f60e11b815260040160405180910390fd5b60028154600160e01b900460ff1660038111156105ad576105ad611852565b036105cb5760405163475a253560e01b815260040160405180910390fd5b60038154600160e01b900460ff1660038111156105ea576105ea611852565b0361060857604051637f780e6960e11b815260040160405180910390fd5b80545f9061062890600160a01b900467ffffffffffffffff16602861187a565b90505f61063682600261187a565b90508043101561066257604051636b41656b60e01b8152436004820152602481018290526044016104db565b82545f9061068290600160a01b900467ffffffffffffffff16600861187a565b61068e90611fff61187a565b9050804311156106ba57604051632e42507760e01b8152436004820152602481018290526044016104db565b6106c583604061187a565b431080156106dd575083546001600160a01b03163314155b156107095783546040516358e13acf60e01b81526001600160a01b0390911660048201526024016104db565b6107198c858d8d8d8d8d8d610cfa565b6001850180546001600160a01b0319163317905560028501819055845460ff60e01b1916600160e11b17855560048054919650905f906107589061188d565b90915550835460405186815233916001600160a01b0316908e907fa005dc47cdfafaa039bcd47b0e4e9213122635ea4d72ee94d62c1c7673cb99ba9060200160405180910390a450505050979650505050505050565b60408051610140810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091525f828152600660205260408120908154600160e01b900460ff16600381111561082957610829611852565b0361084757604051632589d98f60e11b815260040160405180910390fd5b805460408051610140810182526001600160a01b0383168152600160a01b90920467ffffffffffffffff16602083018190529190810161088883600861187a565b815260200161089883601861187a565b81526020016108a883602861187a565b815260018401546001600160601b03600160a01b82041660208301526001600160a01b0316604082015260028085015460608301526080909101908454600160e01b900460ff16600381111561090057610900611852565b14815260200160038454600160e01b900460ff16600381111561092557610925611852565b149052949350505050565b5f828152600660205260408120818154600160e01b900460ff16600381111561095b5761095b611852565b0361097957604051632589d98f60e11b815260040160405180910390fd5b60028154600160e01b900460ff16600381111561099857610998611852565b146109b65760405163d399e3e560e01b815260040160405180910390fd5b6109c4816002015484610e0f565b9150505b92915050565b600180546109db906118a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610a07906118a2565b8015610a525780601f10610a2957610100808354040283529160200191610a52565b820191905f5260205f20905b815481529060010190602001808311610a3557829003601f168201915b505050505081565b5f6002543414610a8a57600254604051630d35e92160e01b815260048101919091523460248201526044016104db565b60035415801590610a9f575060035460045410155b15610abd5760405163f8b0dee360e01b815260040160405180910390fd5b610ad0602867ffffffffffffffff6118da565b431115610af5576040516001620c3eb760e41b031981524360048201526024016104db565b6001600160601b03341115610b1f576040516306d02d6760e11b81523460048201526024016104db565b50600554610b2e81600161187a565b600555600480545f90610b40906118ed565b909155505f610b5043600861187a565b90505f610b5e43601861187a565b90505f610b6c43602861187a565b6040805160c0810182523381524367ffffffffffffffff8116602083015292935034918101600181525f60208083018290526001600160601b03851660408085019190915260609093018290528982526006815290829020835181549285015167ffffffffffffffff16600160a01b026001600160e01b03199093166001600160a01b03919091161791909117808255918301519091829060ff60e01b1916600160e01b836003811115610c2257610c22611852565b0217905550606082015160808301516001600160601b0316600160a01b026001600160a01b0390911617600182015560a090910151600290910155604051339087907f4900ba73658c55ed73ef1c050d487585d3f2ec3d2385bcc9ed462c75dd741cf990610cb79043908a908a908a903490948552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a3505050505090565b60075460ff1615610ceb5760405163558a1e0360e11b815260040160405180910390fd5b6007805460ff19166001179055565b86545f90600160a01b900467ffffffffffffffff1681610d25610d1e83600861187a565b8a8a610edf565b90505f610d3d610d3684601861187a565b8989610edf565b90505f610d55610d4e85602861187a565b8888610edf565b8c54909150610dfe908e906001600160a01b0316858585604080516101006020808301829052601a6101208401527f4d4f4e41445f5055424c49435f52414e444f4d4e4553535f563100000000000061014080850191909152468486015230606085015260808401999099526001600160a01b039790971660a083015260c082019590955260e08101939093529282015281518082039094018452610160019052815191012090565b9d9c50505050505050505050505050565b5f815f03610e30576040516308807f6f60e31b815260040160405180910390fd5b5f82610e3d815f196118da565b610e4890600161187a565b610e529190611905565b9050835f5b82821015610ecb576040518060400160405280601f81526020017f4d4f4e41445f5055424c49435f52414e444f4d4e4553535f445241575f5631008152508682604051602001610ea993929190611924565b60408051601f1981840301815291905280516020909101209150600101610e57565b610ed58583611905565b9695505050505050565b5f834080610ef357610ef085610fa5565b90505b80610f145760405163322d87c360e01b8152600481018690526024016104db565b5f8484604051610f25929190611948565b60405180910390209050818114610f6057604051637430d38f60e01b81526004810187905260248101839052604481018290526064016104db565b5f80610f6c878761105b565b91509150878214610f9a5760405163177dc15d60e31b815260048101899052602481018390526044016104db565b979650505050505050565b5f805f71f90827f1c53a10cb7a02335b1753200029356001600160a01b031684604051602001610fd791815260200190565b60408051601f1981840301815290829052610ff191611957565b5f60405180830381855afa9150503d805f8114611029576040519150601f19603f3d011682016040523d82523d5f602084013e61102e565b606091505b509150915081158061104257508051602014155b1561105057505f9392505050565b602001519392505050565b5f808061106a858583816111dc565b905080606001511580611081575060408101518414155b1561109f576040516320af62dd60e21b815260040160405180910390fd5b805160208201515f906110b2908361187a565b90505f805f5b83851015611173575f6110cd8b8b88886111dc565b90508060600151156110f257604051637aa89c9160e11b815260040160405180910390fd5b600884036111185761110d8b8b835f015184602001516114cf565b985060019250611151565b600d8403611151578060200151602014611145576040516306d619dd60e21b815260040160405180910390fd5b80518b01359750600191505b6040810151611160908761187a565b955061116b846118ed565b9350506110b8565b838514611193576040516320af62dd60e21b815260040160405180910390fd5b816111b157604051631391e11b60e21b815260040160405180910390fd5b806111cf576040516306d619dd60e21b815260040160405180910390fd5b5050505050509250929050565b61120560405180608001604052805f81526020015f81526020015f81526020015f151581525090565b818310611225576040516320af62dd60e21b815260040160405180910390fd5b5f85858581811061123857611238611972565b919091013560f81c915050607f811161127857604051806080016040528085815260200160018152602001600181526020015f15158152509150506114c7565b60b78160ff16116113275761128e608082611986565b60ff1660208301526112a184600161187a565b825260208201516112b390600161187a565b6040830152815160208301516112ca919085611572565b816020015160011480156113035750607f8686845f01518181106112f0576112f0611972565b9050013560f81c60f81b60f81c60ff1611155b15611321576040516320af62dd60e21b815260040160405180910390fd5b506114c7565b60bf8160ff16116113d2575f61133e60b783611986565b60ff16905061135a878761135388600161187a565b84886115ab565b6020840181905260381115611382576040516320af62dd60e21b815260040160405180910390fd5b8061138e86600161187a565b611398919061187a565b835260208301516113aa82600161187a565b6113b4919061187a565b6040840152825160208401516113cb919086611572565b50506114c7565b60f78160ff161161142b576113e860c082611986565b60ff1660208301526113fb84600161187a565b8252602082015161140d90600161187a565b60408301526001606083015281516020830151611321919085611572565b5f61143760f783611986565b60ff16905061144c878761135388600161187a565b6020840181905260381115611474576040516320af62dd60e21b815260040160405180910390fd5b8061148086600161187a565b61148a919061187a565b8352602083015161149c82600161187a565b6114a6919061187a565b604084015260016060840152825160208401516114c4919086611572565b50505b949350505050565b5f602082118061150d5750811580159061150d57505f8585858181106114f7576114f7611972565b9050013560f81c60f81b6001600160f81b031916145b1561152b57604051631391e11b60e21b815260040160405180910390fd5b5f5b82811015611569578585611541838761187a565b81811061155057611550611972565b60089490941b919093013560f81c17915060010161152d565b50949350505050565b80831180611588575061158583826118da565b82115b156115a6576040516320af62dd60e21b815260040160405180910390fd5b505050565b5f6115b7848484611572565b5f8686868181106115ca576115ca611972565b9050013560f81c60f81b6001600160f81b031916036115fc576040516320af62dd60e21b815260040160405180910390fd5b5f5b8381101561163a578686611612838861187a565b81811061162157611621611972565b60089490941b919093013560f81c1791506001016115fe565b5095945050505050565b5f60208284031215611654575f80fd5b5035919050565b5f8083601f84011261166b575f80fd5b50813567ffffffffffffffff811115611682575f80fd5b602083019150836020828501011115611699575f80fd5b9250929050565b5f805f805f805f6080888a0312156116b6575f80fd5b87359650602088013567ffffffffffffffff808211156116d4575f80fd5b6116e08b838c0161165b565b909850965060408a01359150808211156116f8575f80fd5b6117048b838c0161165b565b909650945060608a013591508082111561171c575f80fd5b506117298a828b0161165b565b989b979a50959850939692959293505050565b81516001600160a01b0316815261014081016020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015161179a60c08401826001600160a01b03169052565b5060e083015160e0830152610100808401516117b98285018215159052565b5050610120928301511515919092015290565b5f80604083850312156117dd575f80fd5b50508035926020909101359150565b5f5b838110156118065781810151838201526020016117ee565b50505f910152565b5f81518084526118258160208601602086016117ec565b601f01601f19169290920160200192915050565b602081525f61184b602083018461180e565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109c8576109c8611866565b5f8161189b5761189b611866565b505f190190565b600181811c908216806118b657607f821691505b6020821081036118d457634e487b7160e01b5f52602260045260245ffd5b50919050565b818103818111156109c8576109c8611866565b5f600182016118fe576118fe611866565b5060010190565b5f8261191f57634e487b7160e01b5f52601260045260245ffd5b500690565b606081525f611936606083018661180e565b60208301949094525060400152919050565b818382375f9101908152919050565b5f82516119688184602087016117ec565b9190910192915050565b634e487b7160e01b5f52603260045260245ffd5b60ff82811682821603908111156109c8576109c861186656fea2646970667358221220d09779805858dc309eef195d37cf674aa9d56fa218f9916c1ed9d1705e37348b64736f6c63430008180033a2646970667358221220ef5e8da32cc4756fdf7c445774a02f25ca082c4b0a897abde3ae30bcf2b5377964736f6c63430008180033",
  "runtimeBytecode": "0x608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063b770210d14610038578063ffa1ad7414610068575b5f80fd5b61004b610046366004610121565b61007e565b6040516001600160a01b0390911681526020015b60405180910390f35b610070600181565b60405190815260200161005f565b5f858585858560405161009090610114565b61009e9594939291906101e0565b604051809103905ff0801580156100b7573d5f803e3d5ffd5b509050856001600160a01b0316816001600160a01b03167f87d7818b1c5b7ff1016a8779cec3557356da776c31f5405f75575bbf18c8e788878787876040516101039493929190610218565b60405180910390a395945050505050565b611d158061023f83390190565b5f805f805f60808688031215610135575f80fd5b85356001600160a01b038116811461014b575f80fd5b9450602086013567ffffffffffffffff80821115610167575f80fd5b818801915088601f83011261017a575f80fd5b813581811115610188575f80fd5b896020828501011115610199575f80fd5b9699602092909201985095966040810135965060600135945092505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03861681526080602082018190525f9061020490830186886101b8565b604083019490945250606001529392505050565b606081525f61022b6060830186886101b8565b602083019490945250604001529291505056fe6080604052600160055534801562000015575f80fd5b5060405162001d1538038062001d158339810160408190526200003891620000df565b6001600160a01b038416620000605760405163bab8dcdb60e01b815260040160405180910390fd5b6001600160601b0382111562000090576040516306d02d6760e11b81526004810183905260240160405180910390fd5b5f80546001600160a01b0319166001600160a01b0386161790556001620000b8848262000266565b5060029190915560035550620003329050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215620000f3575f80fd5b84516001600160a01b03811681146200010a575f80fd5b602086810151919550906001600160401b038082111562000129575f80fd5b818801915088601f8301126200013d575f80fd5b815181811115620001525762000152620000cb565b604051601f8201601f19908116603f011681019083821181831017156200017d576200017d620000cb565b816040528281528b8684870101111562000195575f80fd5b5f93505b82841015620001b8578484018601518185018701529285019262000199565b5f928101909501919091525050506040860151606090960151949790965092505050565b600181811c90821680620001f157607f821691505b6020821081036200021057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200026157805f5260205f20601f840160051c810160208510156200023d5750805b601f840160051c820191505b818110156200025e575f815560010162000249565b50505b505050565b81516001600160401b03811115620002825762000282620000cb565b6200029a81620002938454620001dc565b8462000216565b602080601f831160018114620002d0575f8415620002b85750858301515b5f19600386901b1c1916600185901b1785556200032a565b5f85815260208120601f198616915b828110156200030057888601518255948401946001909101908401620002df565b50858210156200031e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6119d580620003405f395ff3fe6080604052600436106100ef575f3560e01c8063b0e21e8a11610087578063d721fe0211610057578063d721fe0214610275578063ea70b4af14610296578063f8413b07146102ab578063ffa1ad74146102b3575f80fd5b8063b0e21e8a146101f9578063b7a36ac21461020b578063c58343ef1461022a578063d2b8035a14610256575f80fd5b80634f573cb2116100c25780634f573cb21461018a5780636a84a985146101a057806372cb2273146101b55780637e67ef12146101da575f80fd5b80631604f9ea146100f35780632eb245631461011b5780633b26314d1461013057806340315e5014610166575b5f80fd5b3480156100fe575f80fd5b5061010860025481565b6040519081526020015b60405180910390f35b348015610126575f80fd5b5061010860035481565b34801561013b575f80fd5b505f5461014e906001600160a01b031681565b6040516001600160a01b039091168152602001610112565b348015610171575f80fd5b5061017a600181565b6040519015158152602001610112565b348015610195575f80fd5b5061019e6102c7565b005b3480156101ab575f80fd5b5061010860055481565b3480156101c0575f80fd5b5061014e71f90827f1c53a10cb7a02335b17532000293581565b3480156101e5575f80fd5b5061019e6101f4366004611644565b6103b9565b348015610204575f80fd5b505f610108565b348015610216575f80fd5b506101086102253660046116a0565b610545565b348015610235575f80fd5b50610249610244366004611644565b6107ae565b604051610112919061173c565b348015610261575f80fd5b506101086102703660046117cc565b610930565b348015610280575f80fd5b506102896109ce565b6040516101129190611839565b3480156102a1575f80fd5b5061010860045481565b610108610a5a565b3480156102be575f80fd5b50610108600181565b6102cf610cc7565b475f8190036102f15760405163d55eb96360e01b815260040160405180910390fd5b5f80546040516001600160a01b039091169190829084908381818185875af1925050503d805f811461033e576040519150601f19603f3d011682016040523d82523d5f602084013e610343565b606091505b5050905080610365576040516312171d8360e31b815260040160405180910390fd5b6040518381526001600160a01b0383169033907f6c198f0e3e4f68668dfd7b1a689ee110197d822dd8ec93a685138d4b8537ae069060200160405180910390a35050506103b76007805460ff19169055565b565b5f818152600660205260408120908154600160e01b900460ff1660038111156103e4576103e4611852565b0361040257604051632589d98f60e11b815260040160405180910390fd5b60028154600160e01b900460ff16600381111561042157610421611852565b0361043f5760405163475a253560e01b815260040160405180910390fd5b60038154600160e01b900460ff16600381111561045e5761045e611852565b0361047c5760405163506b27c560e11b815260040160405180910390fd5b80545f9061049c90600160a01b900467ffffffffffffffff16600861187a565b6104a890611fff61187a565b6104b390600161187a565b9050804310156104e45760405163cf255a3760e01b8152436004820152602481018290526044015b60405180910390fd5b815460ff60e01b1916600360e01b178255600480545f906105049061188d565b90915550815460405133916001600160a01b03169085907f1f917b1b2f007943026b183c100c6705a10e228213a1f2ed96058fc1fd8f6272905f90a4505050565b5f878152600660205260408120818154600160e01b900460ff16600381111561057057610570611852565b0361058e57604051632589d98f60e11b815260040160405180910390fd5b60028154600160e01b900460ff1660038111156105ad576105ad611852565b036105cb5760405163475a253560e01b815260040160405180910390fd5b60038154600160e01b900460ff1660038111156105ea576105ea611852565b0361060857604051637f780e6960e11b815260040160405180910390fd5b80545f9061062890600160a01b900467ffffffffffffffff16602861187a565b90505f61063682600261187a565b90508043101561066257604051636b41656b60e01b8152436004820152602481018290526044016104db565b82545f9061068290600160a01b900467ffffffffffffffff16600861187a565b61068e90611fff61187a565b9050804311156106ba57604051632e42507760e01b8152436004820152602481018290526044016104db565b6106c583604061187a565b431080156106dd575083546001600160a01b03163314155b156107095783546040516358e13acf60e01b81526001600160a01b0390911660048201526024016104db565b6107198c858d8d8d8d8d8d610cfa565b6001850180546001600160a01b0319163317905560028501819055845460ff60e01b1916600160e11b17855560048054919650905f906107589061188d565b90915550835460405186815233916001600160a01b0316908e907fa005dc47cdfafaa039bcd47b0e4e9213122635ea4d72ee94d62c1c7673cb99ba9060200160405180910390a450505050979650505050505050565b60408051610140810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091525f828152600660205260408120908154600160e01b900460ff16600381111561082957610829611852565b0361084757604051632589d98f60e11b815260040160405180910390fd5b805460408051610140810182526001600160a01b0383168152600160a01b90920467ffffffffffffffff16602083018190529190810161088883600861187a565b815260200161089883601861187a565b81526020016108a883602861187a565b815260018401546001600160601b03600160a01b82041660208301526001600160a01b0316604082015260028085015460608301526080909101908454600160e01b900460ff16600381111561090057610900611852565b14815260200160038454600160e01b900460ff16600381111561092557610925611852565b149052949350505050565b5f828152600660205260408120818154600160e01b900460ff16600381111561095b5761095b611852565b0361097957604051632589d98f60e11b815260040160405180910390fd5b60028154600160e01b900460ff16600381111561099857610998611852565b146109b65760405163d399e3e560e01b815260040160405180910390fd5b6109c4816002015484610e0f565b9150505b92915050565b600180546109db906118a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610a07906118a2565b8015610a525780601f10610a2957610100808354040283529160200191610a52565b820191905f5260205f20905b815481529060010190602001808311610a3557829003601f168201915b505050505081565b5f6002543414610a8a57600254604051630d35e92160e01b815260048101919091523460248201526044016104db565b60035415801590610a9f575060035460045410155b15610abd5760405163f8b0dee360e01b815260040160405180910390fd5b610ad0602867ffffffffffffffff6118da565b431115610af5576040516001620c3eb760e41b031981524360048201526024016104db565b6001600160601b03341115610b1f576040516306d02d6760e11b81523460048201526024016104db565b50600554610b2e81600161187a565b600555600480545f90610b40906118ed565b909155505f610b5043600861187a565b90505f610b5e43601861187a565b90505f610b6c43602861187a565b6040805160c0810182523381524367ffffffffffffffff8116602083015292935034918101600181525f60208083018290526001600160601b03851660408085019190915260609093018290528982526006815290829020835181549285015167ffffffffffffffff16600160a01b026001600160e01b03199093166001600160a01b03919091161791909117808255918301519091829060ff60e01b1916600160e01b836003811115610c2257610c22611852565b0217905550606082015160808301516001600160601b0316600160a01b026001600160a01b0390911617600182015560a090910151600290910155604051339087907f4900ba73658c55ed73ef1c050d487585d3f2ec3d2385bcc9ed462c75dd741cf990610cb79043908a908a908a903490948552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a3505050505090565b60075460ff1615610ceb5760405163558a1e0360e11b815260040160405180910390fd5b6007805460ff19166001179055565b86545f90600160a01b900467ffffffffffffffff1681610d25610d1e83600861187a565b8a8a610edf565b90505f610d3d610d3684601861187a565b8989610edf565b90505f610d55610d4e85602861187a565b8888610edf565b8c54909150610dfe908e906001600160a01b0316858585604080516101006020808301829052601a6101208401527f4d4f4e41445f5055424c49435f52414e444f4d4e4553535f563100000000000061014080850191909152468486015230606085015260808401999099526001600160a01b039790971660a083015260c082019590955260e08101939093529282015281518082039094018452610160019052815191012090565b9d9c50505050505050505050505050565b5f815f03610e30576040516308807f6f60e31b815260040160405180910390fd5b5f82610e3d815f196118da565b610e4890600161187a565b610e529190611905565b9050835f5b82821015610ecb576040518060400160405280601f81526020017f4d4f4e41445f5055424c49435f52414e444f4d4e4553535f445241575f5631008152508682604051602001610ea993929190611924565b60408051601f1981840301815291905280516020909101209150600101610e57565b610ed58583611905565b9695505050505050565b5f834080610ef357610ef085610fa5565b90505b80610f145760405163322d87c360e01b8152600481018690526024016104db565b5f8484604051610f25929190611948565b60405180910390209050818114610f6057604051637430d38f60e01b81526004810187905260248101839052604481018290526064016104db565b5f80610f6c878761105b565b91509150878214610f9a5760405163177dc15d60e31b815260048101899052602481018390526044016104db565b979650505050505050565b5f805f71f90827f1c53a10cb7a02335b1753200029356001600160a01b031684604051602001610fd791815260200190565b60408051601f1981840301815290829052610ff191611957565b5f60405180830381855afa9150503d805f8114611029576040519150601f19603f3d011682016040523d82523d5f602084013e61102e565b606091505b509150915081158061104257508051602014155b1561105057505f9392505050565b602001519392505050565b5f808061106a858583816111dc565b905080606001511580611081575060408101518414155b1561109f576040516320af62dd60e21b815260040160405180910390fd5b805160208201515f906110b2908361187a565b90505f805f5b83851015611173575f6110cd8b8b88886111dc565b90508060600151156110f257604051637aa89c9160e11b815260040160405180910390fd5b600884036111185761110d8b8b835f015184602001516114cf565b985060019250611151565b600d8403611151578060200151602014611145576040516306d619dd60e21b815260040160405180910390fd5b80518b01359750600191505b6040810151611160908761187a565b955061116b846118ed565b9350506110b8565b838514611193576040516320af62dd60e21b815260040160405180910390fd5b816111b157604051631391e11b60e21b815260040160405180910390fd5b806111cf576040516306d619dd60e21b815260040160405180910390fd5b5050505050509250929050565b61120560405180608001604052805f81526020015f81526020015f81526020015f151581525090565b818310611225576040516320af62dd60e21b815260040160405180910390fd5b5f85858581811061123857611238611972565b919091013560f81c915050607f811161127857604051806080016040528085815260200160018152602001600181526020015f15158152509150506114c7565b60b78160ff16116113275761128e608082611986565b60ff1660208301526112a184600161187a565b825260208201516112b390600161187a565b6040830152815160208301516112ca919085611572565b816020015160011480156113035750607f8686845f01518181106112f0576112f0611972565b9050013560f81c60f81b60f81c60ff1611155b15611321576040516320af62dd60e21b815260040160405180910390fd5b506114c7565b60bf8160ff16116113d2575f61133e60b783611986565b60ff16905061135a878761135388600161187a565b84886115ab565b6020840181905260381115611382576040516320af62dd60e21b815260040160405180910390fd5b8061138e86600161187a565b611398919061187a565b835260208301516113aa82600161187a565b6113b4919061187a565b6040840152825160208401516113cb919086611572565b50506114c7565b60f78160ff161161142b576113e860c082611986565b60ff1660208301526113fb84600161187a565b8252602082015161140d90600161187a565b60408301526001606083015281516020830151611321919085611572565b5f61143760f783611986565b60ff16905061144c878761135388600161187a565b6020840181905260381115611474576040516320af62dd60e21b815260040160405180910390fd5b8061148086600161187a565b61148a919061187a565b8352602083015161149c82600161187a565b6114a6919061187a565b604084015260016060840152825160208401516114c4919086611572565b50505b949350505050565b5f602082118061150d5750811580159061150d57505f8585858181106114f7576114f7611972565b9050013560f81c60f81b6001600160f81b031916145b1561152b57604051631391e11b60e21b815260040160405180910390fd5b5f5b82811015611569578585611541838761187a565b81811061155057611550611972565b60089490941b919093013560f81c17915060010161152d565b50949350505050565b80831180611588575061158583826118da565b82115b156115a6576040516320af62dd60e21b815260040160405180910390fd5b505050565b5f6115b7848484611572565b5f8686868181106115ca576115ca611972565b9050013560f81c60f81b6001600160f81b031916036115fc576040516320af62dd60e21b815260040160405180910390fd5b5f5b8381101561163a578686611612838861187a565b81811061162157611621611972565b60089490941b919093013560f81c1791506001016115fe565b5095945050505050565b5f60208284031215611654575f80fd5b5035919050565b5f8083601f84011261166b575f80fd5b50813567ffffffffffffffff811115611682575f80fd5b602083019150836020828501011115611699575f80fd5b9250929050565b5f805f805f805f6080888a0312156116b6575f80fd5b87359650602088013567ffffffffffffffff808211156116d4575f80fd5b6116e08b838c0161165b565b909850965060408a01359150808211156116f8575f80fd5b6117048b838c0161165b565b909650945060608a013591508082111561171c575f80fd5b506117298a828b0161165b565b989b979a50959850939692959293505050565b81516001600160a01b0316815261014081016020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015161179a60c08401826001600160a01b03169052565b5060e083015160e0830152610100808401516117b98285018215159052565b5050610120928301511515919092015290565b5f80604083850312156117dd575f80fd5b50508035926020909101359150565b5f5b838110156118065781810151838201526020016117ee565b50505f910152565b5f81518084526118258160208601602086016117ec565b601f01601f19169290920160200192915050565b602081525f61184b602083018461180e565b9392505050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156109c8576109c8611866565b5f8161189b5761189b611866565b505f190190565b600181811c908216806118b657607f821691505b6020821081036118d457634e487b7160e01b5f52602260045260245ffd5b50919050565b818103818111156109c8576109c8611866565b5f600182016118fe576118fe611866565b5060010190565b5f8261191f57634e487b7160e01b5f52601260045260245ffd5b500690565b606081525f611936606083018661180e565b60208301949094525060400152919050565b818382375f9101908152919050565b5f82516119688184602087016117ec565b9190910192915050565b634e487b7160e01b5f52603260045260245ffd5b60ff82811682821603908111156109c8576109c861186656fea2646970667358221220d09779805858dc309eef195d37cf674aa9d56fa218f9916c1ed9d1705e37348b64736f6c63430008180033a2646970667358221220ef5e8da32cc4756fdf7c445774a02f25ca082c4b0a897abde3ae30bcf2b5377964736f6c63430008180033",
  "runtimeBytecodeHash": "0xd2d713b68539ca6949eeb072b607a77f8733a228ffb4f6abaa9603624268e28e",
  "sourceFiles": [
    "/contracts/RandomnessFactory.sol",
    "/contracts/PlatformRandomness.sol",
    "/contracts/MonadHeaderReader.sol"
  ]
}
