[ { "inputs": [ { "internalType": "contract IVault", "name": "vault_", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "Token", "name": "t0", "type": "bytes32" }, { "internalType": "Token", "name": "t1", "type": "bytes32" }, { "internalType": "uint32", "name": "fee1e9_", "type": "uint32" }, { "internalType": "uint32", "name": "decay", "type": "uint32" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "UD60x18", "name": "x", "type": "uint256" } ], "name": "PRBMath_UD60x18_Log_InputTooSmall", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "decay", "type": "uint256" } ], "name": "DecayChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "fee1e18", "type": "uint256" } ], "name": "FeeChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" } ], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Swap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint112", "name": "reserve0", "type": "uint112" }, { "indexed": false, "internalType": "uint112", "name": "reserve1", "type": "uint112" } ], "name": "Sync", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IGauge", "name": "gauge", "type": "address" } ], "name": "bribeRates", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IGauge", "name": "gauge", "type": "address" } ], "name": "bribeTokens", "outputs": [ { "internalType": "Token[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decayRate", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "emissionShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "fee1e9", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeMultiplier", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLogYieldEMA", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getReserves", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "index", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastWithdrawTimestamp", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "listedTokens", "outputs": [ { "internalType": "Token[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpTokens", "outputs": [ { "internalType": "Token[]", "name": "ret", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "naturalBribes", "outputs": [ { "internalType": "Token[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "poolBalances", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "poolParams", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "relevantTokens", "outputs": [ { "internalType": "Token[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "decayRate_", "type": "uint256" } ], "name": "setDecay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "fee1e9_", "type": "uint256" }, { "internalType": "uint256", "name": "decayRate_", "type": "uint256" } ], "name": "setFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setFeeToZero", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stake", "outputs": [ { "internalType": "Token", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stakeableTokens", "outputs": [ { "internalType": "Token[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "stakedTokens", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stakedTokens", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapType", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "Token", "name": "tok", "type": "bytes32" } ], "name": "underlyingTokens", "outputs": [ { "internalType": "Token[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IGauge", "name": "gauge", "type": "address" }, { "internalType": "uint256", "name": "elapsed", "type": "uint256" } ], "name": "velocore__bribe", "outputs": [ { "internalType": "Token[]", "name": "bribeTokens", "type": "bytes32[]" }, { "internalType": "int128[]", "name": "deltaGauge", "type": "int128[]" }, { "internalType": "int128[]", "name": "deltaPool", "type": "int128[]" }, { "internalType": "int128[]", "name": "deltaExternal", "type": "int128[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newEmissions", "type": "uint256" } ], "name": "velocore__emission", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "Token[]", "name": "t", "type": "bytes32[]" }, { "internalType": "int128[]", "name": "r", "type": "int128[]" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "velocore__execute", "outputs": [ { "internalType": "int128[]", "name": "deltaGauge", "type": "int128[]" }, { "internalType": "int128[]", "name": "deltaPool", "type": "int128[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "Token[]", "name": "tokens", "type": "bytes32[]" }, { "internalType": "int128[]", "name": "amounts", "type": "int128[]" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "velocore__gauge", "outputs": [ { "internalType": "int128[]", "name": "deltaGauge", "type": "int128[]" }, { "internalType": "int128[]", "name": "deltaPool", "type": "int128[]" } ], "stateMutability": "nonpayable", "type": "function" } ]
6101e080604052346200094f5760006200453980380380916200002382866200097e565b843982019060e0838303126200094c578251916001600160a01b03831690818403620009485760208501516001600160401b0381116200064057816200006b918701620009a2565b60408601519091906001600160401b038111620008b5579062000090918701620009a2565b90606086015194608087015193620000b960c0620000b160a08b0162000a19565b990162000a19565b917343000000000000000000000000000000000000023b15620008f757604051634e606c4760e01b81528781600481837343000000000000000000000000000000000000025af18015620009275762000932575b507343000000000000000000000000000000000000023b15620008f757604051631d70c8d360e31b81527365432138ae74065aeb3bd71aeac887ccae0e32a460048201528781602481837343000000000000000000000000000000000000025af1801562000927579088916200090f575b50506080523360a0523060c052604051631c41328760e31b81526020816004818a865af190811562000904578791620008c8575b5060e052803b15620008c45785809160446040518094819363343e66c560e21b83523060048401523060248401525af18015620008b9579086916200089d575b50506101009630885263ffffffff67ffffffff000000006006549260201b1692169060018060401b0319161717600655670de0b6b3a76400008060075560085580519060018060401b0382116200088957600254600181811c911680156200087e575b60208210146200086a579081601f8493116200080b575b50602090601f83116001146200078f57869262000783575b50508160011b916000199060031b1c1916176002555b8051906001600160401b0382116200076f57600354600181811c9116801562000764575b602082101462000750579081601f849311620006dd575b50602090601f83116001146200065057859262000644575b50508160011b916000199060031b1c1916176003555b6080516001600160a01b03168083526004602052604083206001600160701b0390819055813b156200064057839160648392604051948593849263d2441f0360e01b845230600485015282602485015260448401525af18015620006355790839162000619575b505060065463ffffffff8160201c166305f5e1009081810291818304149015171562000605577f78e0b45656b8fb6065c79a36aeaf92fbf473dc06966bb96e5fe995247e887503917f6bbc57480a46553fa4d156ce702beef5f3ad66303b0ed1a5d4cb44966c6584c360208093604051908152a163ffffffff60405191168152a16101209280845261014091808352813010600014620005c857839260019160ff8062000437620004306002975b6101609788526101809889526101a0998a5262000a2b565b9362000a2b565b169116019460ff8611620005b45750607f6101c09560011c16855260405195613a08978862000b11893960805188818161082b01528181610a8801528181610c8501528181610f1f015281816111950152818161121e015281816116730152818161170701528181611900015281816119e3015281816121ae01528181612375015281816132c60152613313015260a0518881816110660152611584015260c051888181610efd015281816119b70152611b60015260e051886108a10152518781816105a90152818161087801528181610e7901528181611258015281816115c9015281816117c80152611cbb015251868181611d1e015281816127470152818161295b01528181612a0201528181612ca9015281816133f201526134c1015251858181611d66015281816126e80152818161299301528181612a3e01528181612cd60152818161341801526134e7015251848181612424015261272001525183818161245d01526126c1015251826123d601525181610bb30152f35b634e487b7160e01b81526011600452602490fd5b803010600014620005ec57600192849160ff80620004376200043060029762000418565b600292849160ff80620004376200043060019762000418565b634e487b7160e01b84526011600452602484fd5b620006249062000954565b620006315781386200036a565b5080fd5b6040513d85823e3d90fd5b8380fd5b015190503880620002ed565b600386528593507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b91905b601f1984168510620006c1576001945083601f19811610620006a7575b505050811b0160035562000303565b015160001960f88460031b161c1916905538808062000698565b818101518355602094850194600190930192909101906200067b565b600386529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101916020851062000745575b90601f859493920160051c01905b818110620007365750620002d5565b86815584935060010162000727565b909150819062000719565b634e487b7160e01b85526022600452602485fd5b90607f1690620002be565b634e487b7160e01b84526041600452602484fd5b01519050388062000284565b600287528693506000805160206200451983398151915291905b601f1984168510620007ef576001945083601f19811610620007d5575b505050811b016002556200029a565b015160001960f88460031b161c19169055388080620007c6565b81810151835560209485019460019093019290910190620007a9565b6002875290915060008051602062004519833981519152601f840160051c81016020851062000862575b90849392915b601f830160051c82018110620008535750506200026c565b8881558594506001016200083b565b508062000835565b634e487b7160e01b86526022600452602486fd5b90607f169062000255565b634e487b7160e01b85526041600452602485fd5b620008a89062000954565b620008b5578438620001f2565b8480fd5b6040513d88823e3d90fd5b8580fd5b90506020813d602011620008fb575b81620008e6602093836200097e565b81010312620008f7575138620001b2565b8680fd5b3d9150620008d7565b6040513d89823e3d90fd5b6200091a9062000954565b620008f75786386200017e565b6040513d8a823e3d90fd5b620009409097919762000954565b95386200010d565b8280fd5b80fd5b600080fd5b6001600160401b0381116200096857604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b038211908210176200096857604052565b919080601f840112156200094f578251906001600160401b038211620009685760405191602091620009de601f8301601f19168401856200097e565b8184528282870101116200094f5760005b81811062000a0557508260009394955001015290565b8581018301518482018401528201620009ef565b519063ffffffff821682036200094f57565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee810362000a4d5750601290565b7fff0000000000000000000000000000000000000000000000000000000000000081161562000a7c5750600090565b60a081901c6001600160581b03166200094f5760405163313ce56760e01b815290602090829060049082906001600160a01b03165afa90811562000b045760009162000ac6575090565b6020813d821162000afb575b8162000ae1602093836200097e565b810103126200063157519060ff821682036200094c575090565b3d915062000ad2565b6040513d6000823e3d90fdfe6080604052600436101561001257600080fd5b60003560e01c806306fdde03146102c75780630902f1ac146102c2578063095ea7b3146102bd5780630b1150de146102b85780630dfe1681146102b3578063165cad8d146102ae57806318160ddd146102a957806319706b38146102a457806320e5fe3e1461029f57806323b872dd1461029a578063282b4c86146102955780632986c0e514610290578063313ce5671461028b57806334c0b46b14610286578063376fc5bf1461028157806338706d1f1461027c57806339509351146102775780633a4b66f114610272578063412330bc1461026d57806348313a81146102685780634a3d6bda1461026357806352f7c9881461025e57806369fa25c4146102595780636b35b93d1461025457806370a082311461024f578063781c38001461024a57806395d89b41146102455780639acaa0f4146102405780639c77ac511461023b578063a457c2d714610236578063a5b39cfb14610231578063a9059cbb1461022c578063a9c1f2f114610227578063b3331de414610222578063c45a01551461021d578063cb62900914610218578063ce98f8aa14610213578063d21220a71461020e578063dd62ed3e14610209578063e5a70ef714610204578063ec378808146101ff578063f38a02d0146101fa5763ff7bd55b146101f557600080fd5b6117a1565b61174a565b6116e8565b6116c7565b611638565b61161d565b6115ed565b6115b3565b61156e565b611553565b61152f565b6114b2565b611469565b61141f565b6113f8565b61137f565b6112bc565b611204565b6111dd565b61117e565b61112e565b61102b565b61100f565b610fe9565b610ed7565b610e61565b610e06565b610dea565b610c5d565b610bd7565b610b99565b610b7b565b610b54565b610a40565b61080c565b6105f4565b6105d1565b61058c565b61055f565b610526565b6104ac565b61046d565b61035c565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761030357604052565b6102cc565b919082519283825260005b848110610334575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610313565b906020610359928181520190610308565b90565b34610468576000806003193601126104655760405190806002549060019180831c9280821692831561045b575b602092838610851461044757858852602088019490811561042657506001146103cd575b6103c9876103bd818903826102e2565b60405191829182610348565b0390f35b600260005294509192917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b83861061041557505050910190506103bd826103c938806103ad565b8054858701529482019481016103f9565b60ff191685525050505090151560051b0190506103bd826103c938806103ad565b634e487b7160e01b82526022600452602482fd5b93607f1693610389565b80fd5b600080fd5b34610468576000366003190112610468576060610488612ca1565b9060405192835260208301526040820152f35b6001600160a01b0381160361046857565b346104685760403660031901126104685760206104d76004356104ce8161049b565b60243590611a8a565b6040519015158152f35b90815180825260208080930193019160005b828110610501575050505090565b8351855293810193928101926001016104f3565b9060206103599281815201906104e1565b34610468576020366003190112610468573060043503610468576103c961054b6134b7565b6040519182916020835260208301906104e1565b3461046857600036600319011261046857602061057a611d1c565b6040516001600160a01b039091168152f35b3461046857600036600319011261046857602060005260016020527f000000000000000000000000000000000000000000000000000000000000000060405260606000f35b346104685760003660031901126104685760206105ec611a6c565b604051908152f35b346104685760003660031901126104685761060d613352565b80511561067457600160208201528051600110156106745780600160406103c99301526103bd61065463ffffffff61064e60065463ffffffff9060201c1690565b16611dac565b6106666040519384926020840161350e565b03601f1981018352826102e2565b61338d565b6001600160401b0381116103035760051b60200190565b81601f82011215610468578035916106a783610679565b926106b560405194856102e2565b808452602092838086019260051b820101928311610468578301905b8282106106df575050505090565b813580600f0b81036104685781529083019083016106d1565b9181601f84011215610468578235916001600160401b038311610468576020838186019501011161046857565b60806003198201126104685760043561073d8161049b565b91602435916001600160401b0391828411610468578160238501121561046857836004013593838511610468578260248660051b83010111610468576024019392604435818111610468578361079591600401610690565b92606435918211610468576107ac916004016106f8565b9091565b90815180825260208080930193019160005b8281106107d0575050505090565b8351600f0b855293810193928101926001016107c2565b90916107fe610359936040845260408401906107b0565b9160208184039101526107b0565b34610468576109b061081d36610725565b5092949193919250610859337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614611aee565b61086284611bb2565b9361096c6108c661087283611bb2565b9761089e7f00000000000000000000000000000000000000000000000000000000000000008583611c1d565b937f000000000000000000000000000000000000000000000000000000000000000091611c1d565b61095f61095661095061094461093061090a6108e960005460018060801b031690565b6108fc6108f58d6118aa565b5460801c90565b90036001600160801b031690565b6109236109168c6118aa565b546001600160801b031690565b026001600160801b031690565b633b9aca006001600160801b039091160490565b6001600160801b031690565b600f0b90565b600003600f0b90565b90879060010160051b0152565b600181016109bf575b505060005461098d906001600160801b0316916118aa565b80546001600160801b031660809290921b6001600160801b031916919091179055565b6103c9604051928392836107e7565b610a3991610a2b610a036109fe6109f96109de6109446109168a6118aa565b946001870160051b01946109f38651600f0b90565b90611c01565b6137e2565b6137c9565b610a0c866118aa565b80546001600160801b0319166001600160801b03909216919091179055565b5190859060010160051b0152565b3880610975565b3461046857606036600319011261046857600435610a5d8161049b565b602435610a698161049b565b604435906000805160206139b3833981519152906001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082163303610af5575b610ab9856118c4565b610ac4858254611a5f565b9055610acf816118c4565b805485019055604051938452811693169180602081015b0390a360405160018152602090f35b8185166000526005602052610b0e3360406000206118de565b548460018201610b20575b5050610ab0565b610b2991611a5f565b6001600160a01b0386166000908152600560205260409020610b4c9033906118de565b553884610b19565b346104685760203660031901126104685760206105ec600435610b768161049b565b611cb6565b34610468576000366003190112610468576020600754604051908152f35b3461046857600036600319011261046857602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461046857600036600319011261046857610bf0611b88565b805115610674576103c9903060208201526040519182916020835260208301906104e1565b92610c416103599593610c33610c4f946080885260808801906104e1565b9086820360208801526107b0565b9084820360408601526107b0565b9160608184039101526107b0565b3461046857604036600319011261046857600435610c7a8161049b565b6001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690610cc190610cb6338414611aee565b6060931630146121e1565b30610cca6133a3565b52610cd3611b88565b91610cdc611b88565b9160046020610ce9611b88565b92604051928380926313c716cd60e21b82525afa908115610de557600091610db7575b50610d23575b6103c9919260405194859485610c15565b6103c99150610d83610d7d610d5c610d57602435610d52610d4960065463ffffffff1690565b63ffffffff1690565b611f9e565b611a4d565b610d78610d6f610d6a61356a565b611dc5565b60075490611b3d565b611de2565b60201c90565b92610daf610da8610da3610d9e610d98611b88565b97613841565b613831565b613552565b8260200152565b929150610d12565b610dd8915060203d8111610dde575b610dd081836102e2565b8101906120e0565b38610d0c565b503d610dc6565b611992565b34610468576000366003190112610468576103c961054b6133c4565b3461046857604036600319011261046857600435610e238161049b565b336000526005602052610e3a8160406000206118de565b546024358101809111610e5c57610e5091611a8a565b50602060405160018152f35b611a37565b346104685760003660031901126104685760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b6020604081830192828152606051809452019160809160005b828110610ec3575050505090565b835185529381019392810192600101610eb5565b346104685760008060031936011261046557610ef16133c4565b610efb8151611bb2565b7f0000000000000000000000000000000000000000000000000000000000000000927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690805b8451811015610fdc5780610f61610f8192876133b0565b5160405190633d44217960e21b8252818060209586938c60048401611977565b0381885afa908115610de557610faa938592610faf575b5050610fa482876133b0565b5261337e565b610f4a565b610fce9250803d10610fd5575b610fc681836102e2565b810190611968565b3880610f98565b503d610fbc565b604051806103c981610e9c565b3461046857600036600319011261046857602060065463ffffffff60405191831c168152f35b34610468576000366003190112610468576103c961054b6134b7565b34610468576040366003190112610468576110e76020611061611055611055611055611055612175565b6001600160a01b031690565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168382019081526000356001600160e01b0319166020820152906110b48160248401610666565b5190206040516326f8aa2160e21b8152600481019190915233602482015230604482015292839190829081906064820190565b03915afa8015610de55761110391600091611110575b506120f8565b61110e6004356121e8565b005b611128915060203d8111610dde57610dd081836102e2565b386110fd565b34610468576020366003190112610468576111586020611061611055611055611055611055612175565b03915afa8015610de5576111739160009161111057506120f8565b61110e600435612133565b34610468576000366003190112610468576111c3337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614611aee565b600680546fffffffffffffffff00000000ffffffff169055005b346104685760203660031901126104685760206105ec6004356111ff8161049b565b6118f5565b346104685760203660031901126104685760043561124c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614611aee565b8061125357005b61127c7f0000000000000000000000000000000000000000000000000000000000000000611b47565b908115801561128757005b6112b757633b9aca00906000549260018060801b0392839202041681831601169060018060801b03191617600055005b611b27565b34610468576000806003193601126104655760405190806003549060019180831c92808216928315611375575b6020928386108514610447578588526020880194908115610426575060011461131c576103c9876103bd818903826102e2565b600360005294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b83861061136457505050910190506103bd826103c938806103ad565b805485870152948201948101611348565b93607f16936112e9565b346104685760203660031901126104685760043561139c8161049b565b6000906001600160a01b031630036113f35750670de0b6b3a76400006113c061356a565b0260075480156112b75763ffffffff60065416600160201b0391040260201c5b6020600052600160205260405260606000f35b6113e0565b3461046857600036600319011261046857602060065463ffffffff6040519160401c168152f35b346104685760403660031901126104685760043561143c8161049b565b3360005260056020526114538160406000206118de565b546024358103908111610e5c57610e5091611a8a565b34610468576020366003190112610468576004356114868161049b565b60018060a01b0316600052600160205260018060801b0360406000205416602060005260405260606000f35b34610468576040366003190112610468576004356114cf8161049b565b602435903360005260046020526040600020805490838203918211610e5c575560018060a01b03169081600052600460205260406000208181540190556000805160206139b383398151915260405180610ae63394829190602083019252565b3461046857600036600319011261046857602063ffffffff60065416604051908152f35b346104685760003660031901126104685760206105ec611ed2565b34610468576000366003190112610468576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610468576000366003190112610468576113e07f0000000000000000000000000000000000000000000000000000000000000000611b47565b346104685760203660031901126104685761160960043561049b565b602060005260016020523060405260606000f35b3461046857600036600319011261046857602061057a611d64565b34610468576040366003190112610468576004356116558161049b565b602435906116628261049b565b6000916001600160a01b03918282167f00000000000000000000000000000000000000000000000000000000000000008416036116aa57505050506020600019604051908152f35b6020936116c19360409216815260058552206118de565b546105ec565b3461046857600036600319011261046857602060065460801c604051908152f35b346104685761173a6116f936610725565b5090939192919050611735337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614611aee565b6122cc565b906103c9604051928392836107e7565b346104685760003660031901126104685760405160408101908082106001600160401b03831117610303576103c991604052600481526363706d6d60e01b6020820152604051918291602083526020830190610308565b34610468576000806003193601126104655760405163251eb5ed60e11b81529080826004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610de557809161180e575b604051806103c98482610515565b90503d8082843e61181f81846102e2565b820160209283818303126118a2578051906001600160401b0382116118a6570181601f820112156118a25780519061185682610679565b9361186460405195866102e2565b828552858086019360051b83010193841161046557508401905b828210611893575050506103c9915038611800565b8151815290840190840161187e565b8280fd5b8380fd5b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260046020526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633811415908161195c575b5061193f5761193b91506118c4565b5490565b1660005260046020526040600020546119573061199e565b900390565b9050828216143861192c565b90816020910312610468575190565b6001600160a01b039091168152602081019190915260400190565b6040513d6000823e3d90fd5b60206119df9160405180938192633d44217960e21b83527f000000000000000000000000000000000000000000000000000000000000000060048401611977565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610de557600091611a1f575090565b610359915060203d8111610fd557610fc681836102e2565b634e487b7160e01b600052601160045260246000fd5b90600160201b918203918211610e5c57565b91908203918211610e5c57565b611a753061199e565b6001600160701b03908103908111610e5c5790565b33600052600560205281611aa28260406000206118de565b556040519182526001600160a01b03169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590602090a3600190565b9060018201809211610e5c57565b15611af557565b60405162461bcd60e51b815260206004820152600a6024820152691bdb9b1e481d985d5b1d60b21b6044820152606490fd5b634e487b7160e01b600052601260045260246000fd5b81156112b7570490565b60206119df916040518093819263ebd8189f60e01b83527f000000000000000000000000000000000000000000000000000000000000000060048401611977565b60405190604082018281106001600160401b03821117610303576040526001825260203681840137565b90611bbc82610679565b611bc960405191826102e2565b8281528092611bda601f1991610679565b0190602036910137565b9060018201916000600184129112908015821691151617610e5c57565b91909160008382019384129112908015821691151617610e5c57565b90918215611cad5760009060001993848101908111610e5c5793929193905b81851115611c4c57505050905090565b6001858303811c860180968160051b860135848114600014611c7357505050505050505090565b87985093809596979192939410600014611c94575050015b93929190611c3c565b925093508015611ca5570191611c8b565b505050505090565b50505060001990565b611cdf7f0000000000000000000000000000000000000000000000000000000000000000611b47565b908115611d15576001600160a01b03166000908152600160205260409020546001600160801b0316670de0b6b3a7640000020490565b5050600090565b7f000000000000000000000000000000000000000000000000000000000000000073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee810361105557506004604360981b0190565b7f000000000000000000000000000000000000000000000000000000000000000073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee810361105557506004604360981b0190565b90633b9aca0091828102928184041490151715610e5c57565b90670de0b6b3a764000091828102928184041490151715610e5c57565b81810292918115918404141715610e5c57565b90676765c793fa10079d601b1b91828102928184051490151715610e5c57565b90670de0b6b3a764000091828102928184051490151715610e5c57565b818102929160008212600160ff1b821416610e5c578184051490151715610e5c57565b90676765c793fa10079d601b1b60008382039312818412811691841390151617610e5c57565b90670de0b6b3a764000060008382039312818412811691841390151617610e5c57565b81810392916000138015828513169184121617610e5c57565b81156112b757600160ff1b8114600019831416610e5c570590565b611edd610d6a613460565b611ee5611a6c565b60028101809111610e5c5780156112b757611f009104613841565b60065460601c63ffffffff16428103611f1b57505060095490565b610359916109f3611f7383611f6d611f66611f52611f4d611f47611f42611f8d9a42611a5f565b61203a565b97611df5565b6138c7565b611f60611f4d600854611df5565b90611e9e565b9142611a5f565b90611eb7565b611f88611f8284600954611e32565b93611e55565b611e32565b676765c793fa10079d601b1b900590565b90919080156120265760018381161561201b5781935b811c805b611fc2575050505b565b82800292808404036104685763800000009283810190811061046857602090811c93838316611ff6575b5050811c80611fb8565b848793970292858404141585151516610468578201918210610468571c933880611fec565b600160201b93611fb4565b50901561203257600090565b600160201b90565b906b033b2ad6d379451d40331f576001808416156120ce5781935b811c805b61206257505050565b8280029280840403610468576b019d971e4fe8401e740000009283810190811061046857676765c793fa10079d601b1b809104938383166120a8575b5050811c80612059565b84879293970291858304141585151516610468578101908110610468570493388061209e565b676765c793fa10079d601b1b93612055565b90816020910312610468575180151581036104685790565b156120ff57565b60405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b602063ffffffff7f78e0b45656b8fb6065c79a36aeaf92fbf473dc06966bb96e5fe995247e88750392168063ffffffff196006541617600655604051908152a1565b631c99585960e21b60009081527f0ebf818546cf436ba3e823ca878b84c3d55a00f566d51f4b07ec1ab90533db4e6004526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa15610465575190565b1561046857565b600654906305f5e1009163ffffffff9183838360201c16116104685763ffffffff60201b9060201b169063ffffffff60201b1916178060065560201c16818102918183041490151715610e5c5760207f6bbc57480a46553fa4d156ce702beef5f3ad66303b0ed1a5d4cb44966c6584c391604051908152a1565b929161226d82610679565b9161227b60405193846102e2565b829481845260208094019160051b810192831161046857905b8282106122a15750505050565b81358152908301908301612294565b6001600160801b039182169082160290811691908203610e5c57565b939291612338906122dc81611bb2565b936122e682611bb2565b9661233e6122f2612ca1565b50604080516001600160701b03848116825283166020820152919792917f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad19190a1611be4565b94611be4565b9261235260065463ffffffff9060401c1690565b63ffffffff42911603612b99575b6040516313c716cd60e21b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610de557600091612b7a575b5015612aae575b6003810361276d5794612420612536966124176123d3368386612262565b917f0000000000000000000000000000000000000000000000000000000000000000946001860160051b809401513014918261270f575b826126b1575b50506121e1565b840151600f0b90565b92897f0000000000000000000000000000000000000000000000000000000000000000966124576001890160051b840151600f0b90565b9661248c7f0000000000000000000000000000000000000000000000000000000000000000946001860160051b0151600f0b90565b60016001607f1b038881146125bf5789811461253a57505061251b926124ee612531969593612505938b6124cb6124c68d60075490611e32565b612bc6565b916124e861094460065463ffffffff8160801c9160201c166122b0565b93612f20565b995b6124f98a613831565b919060010160051b0152565b61250e88613831565b908c9060010160051b0152565b61252484613831565b908a9060010160051b0152565b6130d4565b9190565b90999850891461258f5761251b92612589612531969593612505938c6125666124c68d60075490611e32565b9161258361094460065463ffffffff8160801c9160201c166122b0565b93612cff565b986124f0565b61251b9298506125b7612531959492612505926125b16124c66007548c611e32565b91613022565b9990986124f0565b819a9850808a92939a14808015906126a7575b6125db906121e1565b1561264557505061251b9261263f612636612631858561260c8e6126076125319d9c9a6125059a611e32565b611eb7565b809e5b61262b61094460065463ffffffff8160801c9160201c166122b0565b93612f2f565b611e15565b60075490612c33565b976124f0565b9098911461266c575b61251b9261263f6126366126316125319897958d8d6125059761260f565b87985061251b9261263f61263661263185856126956125319b9a988f6125059961260791611e32565b9e50955095979850505050925061264e565b50838214156125d2565b6126bd92503691612262565b60017f00000000000000000000000000000000000000000000000000000000000000000160051b01517f0000000000000000000000000000000000000000000000000000000000000000143880612410565b915061271c368383612262565b60017f00000000000000000000000000000000000000000000000000000000000000000160051b01517f0000000000000000000000000000000000000000000000000000000000000000149161240a565b9293919260028103612a7157602084015160408501516127a29160016001607f1b03600f91820b81149290910b1414156121e1565b6002906002966002926127c06127b9368585612262565b6020015190565b3081036129fc5750506127db6127e2916000935b3691612262565b6040015190565b308103612956575050612536956001935b60028503612943576000965b87600284036129315760005b976002860361291f57506000985b8960016001607f1b0382036128cd575050506126316128549289896126369461262b61094460065463ffffffff8160801c9160201c166122b0565b935b600281146128bd5761286b9061250e86613831565b600281146128ad5761288d9061288086613831565b908b9060010160051b0152565b600281146128a2576125319061252486613831565b5061253184156121e1565b506128b884156121e1565b61288d565b506128c884156121e1565b61286b565b9799919790919060016001607f1b03810361290057505090876124cb6124c66128fa959460075490611e32565b95612856565b909998506125666124c661291995949360075490611e32565b94612856565b6001860160051b0151600f0b98612819565b6001840160051b880151600f0b61280b565b6001850160051b860151600f0b966127ff565b9093907f0000000000000000000000000000000000000000000000000000000000000000810361298e575061253696506001906127f3565b9091507f0000000000000000000000000000000000000000000000000000000000000000036129c357612536956001916127f3565b60405162461bcd60e51b81526020600482015260116024820152703ab739bab83837b93a32b2103a37b5b2b760791b6044820152606490fd5b929890927f00000000000000000000000000000000000000000000000000000000000000008103612a385750506127db6127e2916000996127d4565b909893507f0000000000000000000000000000000000000000000000000000000000000000036129c3576127db6127e2916000946127d4565b60405162461bcd60e51b81526020600482015260156024820152743ab739bab83837b93a32b21037b832b930ba34b7b760591b6044820152606490fd5b612b07612add612ad8612ac2610d6a613460565b612ad2612acd611a6c565b611ae0565b90611b3d565b613841565b600654612af29060601c63ffffffff16610d49565b4281141580612b6e575b612b0c575b50600755565b6123b5565b612b3c611f8d826109f3611f73612b29611f42612b419742611a5f565b92611f6d611f66611f52611f4d8b611df5565b600955565b612b4a81600855565b6006805463ffffffff60601b19164260601b63ffffffff60601b1617905538612b01565b50816008541415612afc565b612b93915060203d602011610dde57610dd081836102e2565b386123ae565b600680546001600160801b0316621dcd6560891b179055612360565b600160ff1b8114610e5c5760000390565b60016000612bd3836138b6565b921303612bed57670de0b6b3a76400006103599104613841565b80612c055750610359612c006000613841565b612bb5565b6000198101908111610e5c57670de0b6b3a7640000900460018101809111610e5c57612c0061035991613841565b612c3c816138b6565b90600080612c49856138b6565b9413911314600014612c8d5780612c665750506103596000613841565b6000198101908111610e5c5781156112b7570460018101809111610e5c5761035990613841565b81156112b75761035991612c009104613841565b612ccd612ad87f000000000000000000000000000000000000000000000000000000000000000061199e565b90612cfa612ad87f000000000000000000000000000000000000000000000000000000000000000061199e565b904290565b90612d0f61035995949382611c01565b91612dcd565b8015612dc7576000811380600114612daf5715612d98575b80026001805b60018111612d695750600081136001600160ff1b03839004821116610e5c5760008112600160ff1b839005821216610e5c570290565b916001600160ff1b038190048111610e5c5760018316612d8f575b80029160011c612d33565b80910290612d84565b6001600160ff1b03819005811215612d2d57611a37565b506001600160ff1b03819004811115612d2d57611a37565b50600090565b9291938361035995612e05612dfe612ad8612df9612dea866137e2565b612df3896137e2565b90611de2565b613749565b9586611e9e565b90612e12600083136121e1565b612e6d8287139185831597858a8a600014612ee15792611f88612e4c611f6094612e47612e51956126078a612e5f9b9a611e32565b611e9e565b6138a8565b670de0b6b3a7640000900590565b612e6884612d15565b612c33565b9415612e9d5750612e9783611f88612e4c6109f39695612e47611f6d966126078b612e479d611e32565b91611e7b565b94929394612eaf575b50505050611e9e565b612e9784611f88612e4c612ed26109f397612607612ed89b9a98611f6d98611e32565b88611e9e565b38808381612ea6565b9190821215612ef3575b505050612e5f565b612f189392611f88612e4c612f12611f6095612607612e51968d611e32565b86611e9e565b858838612eeb565b612d0f61035995949382611c01565b929061035994612f4c612f45611f609587611c01565b9383611c01565b91612f60612ad8612df96109f9848a611e32565b9584612f6d85899761343f565b9182871380612fc05750612e4c611f6094612e47856126078a612fb488611f608f612fba9f9e611f88612e4c612e519f9d839f611f889f612607612e4792612e5198611e32565b9c611e32565b9061343f565b96929493919596612fd6575b505050505061343f565b612e4c612f128461260787956130116130179b611f60612e518d9f9d9c611f88612e4c611f609f612e519f612607611f889f612f1293611e32565b9b611e32565b903880858180612fcc565b9092916000808213156130ce57506001915b613049613040826137e2565b612df3876137e2565b613052816135fd565b9060038510156130b85761309e612e6893612e68612c00613096612c0096899660016103599c1490816130ac575b50600090156130a4575060ff60015b1601613841565b978893611e32565b96611e32565b60ff9061308f565b90508180021038613080565b634e487b7160e01b600052602160045260246000fd5b91613034565b9092909160008085131561319d57509261317892610944927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d8193649661312261311c611fc098612bb5565b92612bb5565b6040805193845260208401919091526001600160a01b0393909316928392a361314a81613308565b612ad261317261316261315b613460565b9384611a5f565b92610d7861094460065460801c90565b916135ec565b600680546001600160801b031660809290921b6001600160801b031916919091179055565b909290808512156131fc5750604080519384526020840192909252611fc0936131f79390926001600160a01b0392909216917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f91a2612bb5565b6132be565b9350839290918391829081808213156132ac5750925b82131561327457509061326f7fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822935b60018060a01b0316958695604051948594859094939260609260808301968352602083015260408201520152565b0390a3565b91907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229395506132a661326f91612bb5565b95613241565b9395506132b890612bb5565b94613212565b6040519081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906000906000805160206139b383398151915290602090a3565b6040519081526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906000805160206139b383398151915290602090a3565b60405190606082018281106001600160401b038211176103035760405260028252604082602036910137565b6000198114610e5c5760010190565b634e487b7160e01b600052603260045260246000fd5b6060511561067457608090565b80518210156106745760209160051b010190565b604051608081018181106001600160401b0382111761030357604052600381526020810160603682373090527f000000000000000000000000000000000000000000000000000000000000000060408201527f0000000000000000000000000000000000000000000000000000000000000000606082015290565b61345b61035992612df3613455612ad8946137e2565b916137e2565b6135fd565b613468612ca1565b509060018101906000600183129112908015821691151617610e5c5760018201916000600184129112908015821691151617610e5c57612ad861345b61035993612df36134556109f9956137e2565b6134bf613352565b7f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015290565b9060609160408101918152602092816040858094015285518094520193019160005b82811061353e575050505090565b835185529381019392810192600101613530565b600f0b60016001607f1b03198114610e5c5760000390565b613572611a6c565b60018101809111610e5c5761358c90612df36007546137e2565b806135c4575060005b61359d612ca1565b5050506135a8613460565b90808210156135b8575050600090565b8103908111610e5c5790565b6000198101908111610e5c57670de0b6b3a76400009004600181018091111561359557611a37565b806001116000146103595750600190565b8015612dc757806136d06136c96136bf6136b56136ab6136a161369761368d60016103599a6000908b60801c8061372b575b508060401c8061371e575b508060201c80613711575b508060101c80613704575b508060081c806136f7575b508060041c806136ea575b508060021c806136dd575b50821c6136d6575b811c1b613686818b611b3d565b0160011c90565b613686818a611b3d565b6136868189611b3d565b6136868188611b3d565b6136868187611b3d565b6136868186611b3d565b6136868185611b3d565b8092611b3d565b90613737565b8101613679565b6002915091019038613671565b6004915091019038613666565b600891509101903861365b565b6010915091019038613650565b6020915091019038613645565b604091509101903861363a565b9150506080903861362f565b9080821015613744575090565b905090565b613752816135fd565b906000908280021015613766575060010190565b60ff160190565b1561377457565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608490fd5b6001600160801b03906137de8282111561376d565b1690565b600081126137ed5790565b606460405162461bcd60e51b815260206004820152602060248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152fd5b90611fc082600f0b92831461376d565b6001600160ff1b0381116138525790565b60405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608490fd5b600080821315613744575090565b60008082126138c3575090565b0390565b90670de0b6b3a76400009182811061399a5782810460018060801b03811160071b90811c906001600160401b03821160061b91821c63ffffffff811160051b90811c61ffff811160041b90811c60ff811160031b90811c91600f831160021b92831c936001968760038711811b96871c11961717171717171791848302921c93808514613993576706f05b59d3b2000094855b61396657509193505050565b808291020494671bc16d674ec80000861015613986575b821c948561395a565b8095930192821c9461397d565b5090925050565b6024906040519063036d32ef60e41b82526004820152fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220eaac9e506e37c4bb32f1cd873b82632cd5213f90c7901120c31bfc7614bd465a64736f6c63430008130033405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace00000000000000000000000010f6b147d51f7578f760065df7f174c3bc95382c00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000430000000000000000000000000000000000000300000000000000000000000054e7780089aee73ef98b8238b0866a517914254e000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000ffffd3230000000000000000000000000000000000000000000000000000000000000018426c61646553776170204c503a2055534442202b2041534f0000000000000000000000000000000000000000000000000000000000000000000000000000000c555344422d41534f2d564c500000000000000000000000000000000000000000