34 txs
30 calls
constructor
constructor(address _registry, address _pluginSetupProcessor)
functions
daoBase
viewfunction daoBase() view returns (address)
daoRegistry
viewfunction daoRegistry() view returns (address)
pluginSetupProcessor
viewfunction pluginSetupProcessor() view returns (address)
protocolVersion
purefunction protocolVersion() pure returns (uint8[3])
supportsInterface
viewfunction supportsInterface(bytes4 _interfaceId) view returns (bool)
createDao
nonpayablefunction createDao(tuple _daoSettings, tuple[] _pluginSettings) returns (address createdDao, tuple[] installedPlugins)
events
No events.
errors
NoPluginProvided
error NoPluginProvided()
creation bytecode
0x6101c06040523480156200001257600080fd5b50604051620063d7380380620063d78339810160408190526200003591620003bc565b6001600160a01b0380831660a052811660c052604051600090620000599062000395565b604051809103906000f08015801562000076573d6000803e3d6000fd5b509050806001600160a01b03166080816001600160a01b031681525050806001600160a01b03166309e56b146040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f89190620003fb565b60e08181525050806001600160a01b03166324b4d73f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001649190620003fb565b6101008181525050806001600160a01b031663829331a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d19190620003fb565b6101208181525050806001600160a01b031663e306bee76040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000218573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023e9190620003fb565b6101408181525050806001600160a01b03166326875b1f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000285573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ab9190620003fb565b6101608181525050806001600160a01b0316630729d0546040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003189190620003fb565b610180818152505060c0516001600160a01b031663747e5ec16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000361573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003879190620003fb565b6101a0525062000415915050565b613ec9806200250e83390190565b6001600160a01b0381168114620003b957600080fd5b50565b60008060408385031215620003d057600080fd5b8251620003dd81620003a3565b6020840151909250620003f081620003a3565b809150509250929050565b6000602082840312156200040e57600080fd5b5051919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a05161203f620004cf6000396000818161041f01526108040152600061089601526000610ca701526000610c4001526000610bd901526000610b720152600081816103950152818161077d0152818161092b0152610b0b01526000818161010c0152818161036c01528181610496015261060a01526000818160b2015261025e01526000818161015b0152610a45015261203f6000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c8063a9445d9b1162000056578063a9445d9b1462000106578063b5568838146200012e578063d9f8bd23146200015557600080fd5b806301ffc9a714620000805780632a2b6ba014620000ac5780632ae9c60014620000ed575b600080fd5b620000976200009136600462000e19565b6200017d565b60405190151581526020015b60405180910390f35b620000d47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001620000a3565b620000f762000217565b604051620000a3919062000e64565b620000d47f000000000000000000000000000000000000000000000000000000000000000081565b620001456200013f36600462000e9a565b62000243565b604051620000a392919062000fe6565b620000d47f000000000000000000000000000000000000000000000000000000000000000081565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2ae9c6000000000000000000000000000000000000000000000000000000000014806200021157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6200022162000daf565b5060408051606081018252600181526004602082015260009181019190915290565b60006060620002528562000998565b91506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663ede4973983336200029460408a018a62001105565b6040518563ffffffff1660e01b8152600401620002b594939291906200119f565b600060405180830381600087803b158015620002d057600080fd5b505af1158015620002e5573d6000803e3d6000fd5b50849250508415905062000871578367ffffffffffffffff8111156200030f576200030f620011d8565b6040519080825280602002602001820160405280156200034c57816020015b6200033862000dcd565b8152602001906001900390816200032e5790505b506040516335a2eb4b60e21b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000081811660248401527f0000000000000000000000000000000000000000000000000000000000000000604484015292945085169063d68bad2c90606401600060405180830381600087803b158015620003e357600080fd5b505af1158015620003f8573d6000803e3d6000fd5b50506040516335a2eb4b60e21b81526001600160a01b0384811660048301523060248301527f000000000000000000000000000000000000000000000000000000000000000060448301528716925063d68bad2c9150606401600060405180830381600087803b1580156200046c57600080fd5b505af115801562000481573d6000803e3d6000fd5b5050505060005b8581101562000755576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633c8c01d18660405180604001604052808d8d89818110620004e457620004e4620011ee565b9050602002810190620004f8919062001204565b6200050a9036819003810190620012e2565b81526020018d8d89818110620005245762000524620011ee565b905060200281019062000538919062001204565b6200054890606081019062001105565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152620005ba929190600401620013b5565b6000604051808303816000875af1158015620005da573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000604919081019062001531565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fe6c34748660405180608001604052808d8d89818110620006585762000658620011ee565b90506020028101906200066c919062001204565b6200067e9036819003810190620012e2565b8152602001866001600160a01b0316815260200185602001518152602001620006ab866000015162000a6c565b8152506040518363ffffffff1660e01b8152600401620006cd92919062001648565b600060405180830381600087803b158015620006e857600080fd5b505af1158015620006fd573d6000803e3d6000fd5b505050506040518060400160405280836001600160a01b0316815260200182815250868481518110620007345762000734620011ee565b60200260200101819052505050806200074d90620016cf565b905062000488565b50604051633658153160e21b81526001600160a01b03838116600483015282811660248301527f0000000000000000000000000000000000000000000000000000000000000000604483015285169063d96054c490606401600060405180830381600087803b158015620007c857600080fd5b505af1158015620007dd573d6000803e3d6000fd5b5050604051633658153160e21b81526001600160a01b0384811660048301523060248301527f000000000000000000000000000000000000000000000000000000000000000060448301528716925063d96054c49150606401600060405180830381600087803b1580156200085157600080fd5b505af115801562000866573d6000803e3d6000fd5b5050505050620008fb565b6040516335a2eb4b60e21b81526001600160a01b0382811660048301523360248301527f0000000000000000000000000000000000000000000000000000000000000000604483015284169063d68bad2c90606401600060405180830381600087803b158015620008e157600080fd5b505af1158015620008f6573d6000803e3d6000fd5b505050505b620009068162000a9e565b604051633658153160e21b81526001600160a01b0382811660048301523060248301527f0000000000000000000000000000000000000000000000000000000000000000604483015284169063d96054c490606401600060405180830381600087803b1580156200097657600080fd5b505af11580156200098b573d6000803e3d6000fd5b5050505050935093915050565b600062000211620009ad606084018462001105565b30620009bd6020870187620016f8565b620009cc602088018862001105565b604051602401620009e39695949392919062001718565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167feafb8b06000000000000000000000000000000000000000000000000000000001790526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062000d6b565b60008160405160200162000a81919062001767565b604051602081830303815290604052805190602001209050919050565b60408051600580825260c08201909252600091816020015b604080516060810182526000808252602080830182905292820152825260001990920191018162000ab65790505060408051606081019091529091508060008152602001836001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152508160008151811062000b435762000b43620011ee565b602090810291909101015260408051606081019091528060008152602001836001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152508160018151811062000baa5762000baa620011ee565b602090810291909101015260408051606081019091528060008152602001836001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152508160028151811062000c115762000c11620011ee565b602090810291909101015260408051606081019091528060008152602001836001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152508160038151811062000c785762000c78620011ee565b602090810291909101015260408051606081019091528060008152602001836001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152508160048151811062000cdf5762000cdf620011ee565b60209081029190910101526040517f22844d040000000000000000000000000000000000000000000000000000000081526001600160a01b038316906322844d049062000d339085908590600401620017b6565b600060405180830381600087803b15801562000d4e57600080fd5b505af115801562000d63573d6000803e3d6000fd5b505050505050565b6000828260405162000d7d9062000e0b565b62000d8a92919062001830565b604051809103906000f08015801562000da7573d6000803e3d6000fd5b509392505050565b60405180606001604052806003906020820280368337509192915050565b604051806040016040528060006001600160a01b0316815260200162000e06604051806040016040528060608152602001606081525090565b905290565b6107ad806200185d83390190565b60006020828403121562000e2c57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811462000e5d57600080fd5b9392505050565b60608101818360005b600381101562000e9157815160ff1683526020928301929091019060010162000e6d565b50505092915050565b60008060006040848603121562000eb057600080fd5b833567ffffffffffffffff8082111562000ec957600080fd5b908501906080828803121562000ede57600080fd5b9093506020850135908082111562000ef557600080fd5b818601915086601f83011262000f0a57600080fd5b81358181111562000f1a57600080fd5b8760208260051b850101111562000f3057600080fd5b6020830194508093505050509250925092565b6003811062000f6257634e487b7160e01b600052602160045260246000fd5b9052565b600081518084526020808501945080840160005b8381101562000fdb57815162000f9288825162000f43565b808401516001600160a01b03908116898601526040808301518216908a0152606080830151909116908901526080908101519088015260a0909601959082019060010162000f7a565b509495945050505050565b600060408083016001600160a01b03808716855260208381870152828751808552606094508488019150848160051b890101838a016000805b84811015620010f3578b84037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa001865282518051891685528701518785018b905280518b86018c905280516080870181905290890190849060a08801905b80831015620010a15783518d168252928b019260019290920191908b01906200107d565b50928a01518784037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018d89015292620010dc818562000f66565b998b0199975050509388019350506001016200101f565b50919c9b505050505050505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126200113b57600080fd5b83018035915067ffffffffffffffff8211156200115757600080fd5b6020019150368190038213156200116d57600080fd5b9250929050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60006001600160a01b03808716835280861660208401525060606040830152620011ce60608301848662001174565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818336030181126200123957600080fd5b9190910192915050565b6040805190810167ffffffffffffffff81118282101715620012695762001269620011d8565b60405290565b60405160a0810167ffffffffffffffff81118282101715620012695762001269620011d8565b604051601f8201601f1916810167ffffffffffffffff81118282101715620012c157620012c1620011d8565b604052919050565b6001600160a01b0381168114620012df57600080fd5b50565b60008183036060811215620012f657600080fd5b6200130062001243565b60408212156200130f57600080fd5b6200131962001243565b9150833560ff811681146200132d57600080fd5b8252602084013561ffff811681146200134557600080fd5b60208301529081526040830135906200135e82620012c9565b60208101919091529392505050565b6000815180845260005b81811015620013955760208185018101518683018201520162001377565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038316815260406020820152620013fc6040820183518051805160ff16835260209081015161ffff168184015201516001600160a01b0316604090910152565b60006020830151608060a08401526200141960c08401826200136d565b95945050505050565b600067ffffffffffffffff8211156200143f576200143f620011d8565b5060051b60200190565b600082601f8301126200145b57600080fd5b81516020620014746200146e8362001422565b62001295565b82815260a092830285018201928282019190878511156200149457600080fd5b8387015b85811015620015245781818a031215620014b25760008081fd5b620014bc6200126f565b815160038110620014cd5760008081fd5b815281860151620014de81620012c9565b81870152604082810151620014f381620012c9565b908201526060828101516200150881620012c9565b9082015260808281015190820152845292840192810162001498565b5090979650505050505050565b600080604083850312156200154557600080fd5b82516200155281620012c9565b8092505060208084015167ffffffffffffffff808211156200157357600080fd5b90850190604082880312156200158857600080fd5b6200159262001243565b825182811115620015a257600080fd5b8301601f81018913620015b457600080fd5b8051620015c56200146e8262001422565b81815260059190911b8201860190868101908b831115620015e557600080fd5b928701925b82841015620016105783516200160081620012c9565b82529287019290870190620015ea565b845250505082840151828111156200162757600080fd5b620016358982860162001449565b8583015250809450505050509250929050565b60006001600160a01b03808516835260406020840152620016926040840185518051805160ff16835260209081015161ffff168184015201516001600160a01b0316604090910152565b60208401511660a0830152604083015160c080840152620016b861010084018262000f66565b9050606084015160e0840152809150509392505050565b60006000198203620016f157634e487b7160e01b600052601160045260246000fd5b5060010190565b6000602082840312156200170b57600080fd5b813562000e5d81620012c9565b6080815260006200172e60808301888a62001174565b6001600160a01b0387811660208501528616604084015282810360608401526200175a81858762001174565b9998505050505050505050565b6020808252825182820181905260009190848201906040850190845b81811015620017aa5783516001600160a01b03168352928401929184019160010162001783565b50909695505050505050565b600060408083016001600160a01b0380871685526020838187015282875180855260609450848801915082890160005b8281101562001820578151620017fe85825162000f43565b80860151871685870152880151888501529286019290840190600101620017e6565b50919a9950505050505050505050565b6001600160a01b03831681526040602082015260006200185460408301846200136d565b94935050505056fe60806040526040516107ad3803806107ad83398101604081905261002291610319565b61002e82826000610035565b5050610436565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d08383604051806060016040528060278152602001610786602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103e7565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b81526004016101489190610403565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b50506000910152565b6000806040838503121561032c57600080fd5b82516001600160a01b038116811461034357600080fd5b60208401519092506001600160401b038082111561036057600080fd5b818501915085601f83011261037457600080fd5b815181811115610386576103866102df565b604051601f8201601f19908116603f011681019083821181831017156103ae576103ae6102df565b816040528281528860208487010111156103c757600080fd5b6103d88360208301602088016102f5565b80955050505050509250929050565b600082516103f98184602087016102f5565b9190910192915050565b60208152600082518060208401526104228160408501602087016102f5565b601f01601f19169190910160400192915050565b610341806104456000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102e5602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610277565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed9190610293565b60005b8381101561026e578181015183820152602001610256565b50506000910152565b60008251610289818460208701610253565b9190910192915050565b60208152600082518060208401526102b2816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122015b2167515f4ace04b6d5f73baf181691326aab8bf1c62e731322916c13586ec64736f6c63430008110033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201fc4b38fba7f316c3bb8b5665a3f9761ddbe3a3df09b5fcb9c6d2e458673b84c64736f6c6343000811003360a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613daa6200011f60003960008181610c8a01528181610d20015281816110dc01528181611172015261126d0152613daa6000f3fe6080604052600436106101dc5760003560e01c806352d1902d11610102578063d68bad2c11610095578063e978afe511610064578063e978afe5146106d0578063eafb8b06146106f0578063ee57e36f14610710578063fdef9106146107305761021b565b8063d68bad2c1461063c578063d96054c41461065c578063da7422281461067c578063e306bee71461069c5761021b565b8063c4a50145116100d1578063c4a50145146105a5578063c71bf324146105c5578063c9dbc2a4146105f3578063ce1b815f146106135761021b565b806352d1902d146105275780637034731b1461053c578063829331a11461055e578063bfe07da6146105925761021b565b80632675fdd01161017a5780633e2ab0d9116101495780633e2ab0d9146104a057806342d8e99e146104c05780634ec7ac23146104e05780634f1ef286146105145761021b565b80632675fdd01461040a57806326875b1f1461042a5780632ae9c6001461045e5780633659cfe6146104805761021b565b80631080f99b116101b65780631080f99b1461035b5780631626ba7e1461037d57806322844d04146103b657806324b4d73f146103d65761021b565b806301ffc9a7146102b05780630729d054146102e557806309e56b14146103275761021b565b3661021b57604080513381523460208201527f62c2c8e34665db7c56b2cabd7f5fb9702ccd352ffa8150147e450797e9f8e8f3910160405180910390a1005b34801561022757600080fd5b506000366060600061027b6000356001600160e01b03191685858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061075092505050565b604080516001600160e01b03198316602082015291925001604051602081830303815290604052915050915050805190602001f35b3480156102bc57600080fd5b506102d06102cb36600461307f565b610827565b60405190151581526020015b60405180910390f35b3480156102f157600080fd5b506103197fbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d81565b6040519081526020016102dc565b34801561033357600080fd5b506103197f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3381565b34801561036757600080fd5b5061037b6103763660046130e3565b61087c565b005b34801561038957600080fd5b5061039d6103983660046131c8565b6108b5565b6040516001600160e01b031990911681526020016102dc565b3480156103c257600080fd5b5061037b6103d1366004613224565b610940565b3480156103e257600080fd5b506103197f1f53edd44352e5d15bad2b29233baa93bcd595e09457780bc7c5445bbbe751cc81565b34801561041657600080fd5b506102d06104253660046132ac565b610a5c565b34801561043657600080fd5b506103197ffaf505be9907aa6951c2ebe5b0312f4980e14f21912ed355372103cc8bd683bc81565b34801561046a57600080fd5b50610473610c56565b6040516102dc9190613318565b34801561048c57600080fd5b5061037b61049b36600461334c565b610c80565b3480156104ac57600080fd5b5061037b6104bb36600461334c565b610e1d565b3480156104cc57600080fd5b5061037b6104db366004613369565b610e4f565b3480156104ec57600080fd5b506103197f968c17ebf04aa1b7544168e69314cdab6b69ba813bb6080d49c0c40a65560f5881565b61037b6105223660046133c1565b6110d2565b34801561053357600080fd5b50610319611260565b34801561054857600080fd5b50610551611325565b6040516102dc919061344b565b34801561056a57600080fd5b506103197f06d294bc8cbad2e393408b20dd019a772661f60b8d633e56761157cb1ec85f8c81565b61037b6105a036600461345e565b6113b8565b3480156105b157600080fd5b5061037b6105c03660046134ba565b6114f2565b3480156105d157600080fd5b506105e56105e03660046134fd565b61159c565b6040516102dc9291906135d7565b3480156105ff57600080fd5b5061037b61060e3660046135f9565b6118c2565b34801561061f57600080fd5b5061012e546040516001600160a01b0390911681526020016102dc565b34801561064857600080fd5b5061037b61065736600461364c565b6118f8565b34801561066857600080fd5b5061037b61067736600461364c565b611933565b34801561068857600080fd5b5061037b61069736600461334c565b611968565b3480156106a857600080fd5b506103197f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b81565b3480156106dc57600080fd5b5061037b6106eb36600461368d565b61199b565b3480156106fc57600080fd5b5061037b61070b366004613702565b611ae7565b34801561071c57600080fd5b5061037b61072b3660046130e3565b611d40565b34801561073c57600080fd5b506102d061074b3660046132ac565b611d74565b6001600160e01b0319808316600090815260fb6020526040812054909160e09190911b9081166107c5576040517f4aa318c30000000000000000000000000000000000000000000000000000000081526001600160e01b03198086166004830152821660248201526044015b60405180910390fd5b837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f4792cb6e46e49876374bea490ba23274bacea6b84c216a64f47abab54027589b338560405161081692919061379b565b60405180910390a290505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b0319831614806108215750506001600160e01b03191660009081526033602052604090205460ff1690565b7f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b6108a681611d8b565b6108b08383611e13565b505050565b600061090430337f968c17ebf04aa1b7544168e69314cdab6b69ba813bb6080d49c0c40a65560f5886866040516020016108f09291906137bd565b604051602081830303815290604052610a5c565b1561093057507f1626ba7e00000000000000000000000000000000000000000000000000000000610821565b506001600160e01b031992915050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3361096a81611d8b565b60005b82811015610a55576000848483818110610989576109896137d6565b90506060020180360381019061099f91906137fb565b90506000815160028111156109b6576109b6613864565b036109d3576109ce8682602001518360400151611e5f565b610a4c565b6001815160028111156109e8576109e8613864565b03610a00576109ce868260200151836040015161202b565b600281516002811115610a1557610a15613864565b03610a4c576040517fd4d3bef700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161096d565b5050505050565b60008060c96000610ace888888604051692822a926a4a9a9a4a7a760b11b60208201526bffffffffffffffffffffffff19606084811b8216602a84015285901b16603e820152605281018290526000906072016040516020818303038152906040528051906020012090509392505050565b81526020810191909152604001600020546001600160a01b031690506001198101610afd576001915050610c4e565b6001600160a01b03811615610b2157610b19818787878761211f565b915050610c4e565b5060408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19602a8301819052606089901b16603e83015260528083018790528351808403909101815260729092018352815191810191909120600090815260c990915220546001600160a01b03166001198101610ba7576001915050610c4e565b6001600160a01b03811615610bc357610b19818787878761211f565b5060408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606088901b8116602a840152603e83015260528083018790528351808403909101815260729092018352815191810191909120600090815260c990915220546001600160a01b03168015610c4857610b19818787878761211f565b50600090505b949350505050565b610c5e613044565b5060408051606081018252600181526004602082015260009181019190915290565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d1e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107bc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610df55760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107bc565b610dfe816121c9565b60408051600080825260208201909252610e1a918391906121f3565b50565b6040517fb2728e9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054600390610100900460ff16158015610e71575060005460ff8083169116105b610ee35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107bc565b6000805461ffff191660ff831617610100179055610f04602085018561388b565b60ff16600114610f4257836040517f84833d670000000000000000000000000000000000000000000000000000000081526004016107bc91906138a6565b6040805160608082018352600182526003602083018190526000838501528351808301909452610f8b939188919083908390808284376000920191909152509192915050612393565b15610fbf57600161013055610fbf7f2ae9c6000000000000000000000000000000000000000000000000000000000061242e565b6040805160608082018352600182526004602083015260008284015282518082019093526110089290879060039083908390808284376000920191909152509192915050612393565b1561108a5761103830307f0dcbfb19b09fb8ff4e9af583d4b8e9c8127cc1b26529b4d96dd3b7e77808837261202b565b6110617f549ea75a0000000000000000000000000000000000000000000000000000000061242e565b61108a7fc71bf3240000000000000000000000000000000000000000000000000000000061242e565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111705760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107bc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111cb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146112475760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107bc565b611250826121c9565b61125c828260016121f3565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113005760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107bc565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b606061012f8054611335906138d9565b80601f0160208091040260200160405190810160405280929190818152602001828054611361906138d9565b80156113ae5780601f10611383576101008083540402835291602001916113ae565b820191906000526020600020905b81548152906001019060200180831161139157829003601f168201915b5050505050905090565b826000036113f2576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841661144757823414611442576040517f1abd5610000000000000000000000000000000000000000000000000000000008152600481018490523460248201526044016107bc565b61149d565b3415611488576040517f1abd5610000000000000000000000000000000000000000000000000000000008152600060048201523460248201526044016107bc565b61149d6001600160a01b0385163330866124cb565b836001600160a01b0316336001600160a01b03167f2bc500cf071be2d1c1458ed6ff484cd4db4345ada8943dee7ff29e7af3558f768585856040516114e49392919061393e565b60405180910390a350505050565b7ffaf505be9907aa6951c2ebe5b0312f4980e14f21912ed355372103cc8bd683bc61151c81611d8b565b6115258461242e565b6001600160e01b03198316600090815260fb60205260409020805463ffffffff191660e084901c179055604080516001600160e01b0319808716825280861660208301528416918101919091527ffc72fd547553f7a663e0048e590afc9c47b56a4242e960f31cf4c62e23d308b9906060016110c4565b60606000600261013054036115dd576040517f37ed32e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002610130557fbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d61160d81611d8b565b610100851115611649576040517f11c763d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8467ffffffffffffffff81111561166257611662613125565b60405190808252806020026020018201604052801561169557816020015b60608152602001906001900390816116805790505b50925060008060005b87811015611862575a92506000808a8a848181106116be576116be6137d6565b90506020028101906116d09190613958565b6116de90602081019061334c565b6001600160a01b03168b8b858181106116f9576116f96137d6565b905060200281019061170b9190613958565b602001358c8c86818110611721576117216137d6565b90506020028101906117339190613958565b611741906040810190613978565b60405161174f9291906139bf565b60006040518083038185875af1925050503d806000811461178c576040519150601f19603f3d011682016040523d82523d6000602084013e611791565b606091505b50915091505a9350600160ff84161b89166117e557816117e0576040517fa6a7dbbd000000000000000000000000000000000000000000000000000000008152600481018490526024016107bc565b61183a565b8161183a576117f56040866139cf565b84101561182e576040517f1c26714c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160ff84161b871896505b8088848151811061184d5761184d6137d6565b6020908102919091010152505060010161169e565b50336001600160a01b03167fd4e57c2049f004fb297ef78591cd409503ceb6b2c722d7ffed032fc99e5f3b588a8a8a8a898b6040516118a6969594939291906139f1565b60405180910390a2505060016101305550909590945092505050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada336118ec81611d8b565b610a5585858585612553565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3361192281611d8b565b61192d848484611e5f565b50505050565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3361195d81611d8b565b61192d84848461202b565b7f06d294bc8cbad2e393408b20dd019a772661f60b8d633e56761157cb1ec85f8c61199281611d8b565b61125c826128c9565b7f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada336119c581611d8b565b60005b8281101561192d5760008484838181106119e4576119e46137d6565b905060a002018036038101906119fa9190613b1d565b9050600081516002811115611a1157611a11613864565b03611a775760608101516001600160a01b031615611a5b576040517fd4d3bef700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a72816020015182604001518360800151611e5f565b611ade565b600181516002811115611a8c57611a8c613864565b03611aa857611a7281602001518260400151836080015161202b565b600281516002811115611abd57611abd613864565b03611ade57611ade8160200151826040015183608001518460600151612553565b506001016119c8565b60005460ff1615611b24576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054600390610100900460ff16158015611b46575060005460ff8083169116105b611bb85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107bc565b6000805461ffff191660ff831617610100179055600161013055611bfb7f9385547e0000000000000000000000000000000000000000000000000000000061242e565b611c247f549ea75a0000000000000000000000000000000000000000000000000000000061242e565b611c4d7fc71bf3240000000000000000000000000000000000000000000000000000000061242e565b611c767f1626ba7e0000000000000000000000000000000000000000000000000000000061242e565b611c9f7f7034731b0000000000000000000000000000000000000000000000000000000061242e565b611cc87f2ae9c6000000000000000000000000000000000000000000000000000000000061242e565b611cd061292b565b611cda8787612a38565b611ce3846128c9565b611ced8383611e13565b611cf685612a69565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050505050565b7f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b611d6a81611d8b565b6108b08383612a38565b6000611d8285858585610a5c565b95945050505050565b611dce3033836000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a5c92505050565b610e1a576040517f1e09743f000000000000000000000000000000000000000000000000000000008152306004820152336024820152604481018290526064016107bc565b61012f611e21828483613bfa565b507fe9b617ecb5f63f6a9ccd8d4d5fa0d7b2ef9b17ce3f48e6b135808d6a40e677428282604051611e53929190613cba565b60405180910390a15050565b7fffffffffffffffffffffffff00000000000000000000000000000000000000016001600160a01b03841601611ea8576040516324159e5b60e01b815260040160405180910390fd5b7fffffffffffffffffffffffff00000000000000000000000000000000000000016001600160a01b03831601611f28577f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33811480611f0a5750611f0a81612aef565b15611f28576040516324159e5b60e01b815260040160405180910390fd5b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606086811b8216602a85015287901b16603e83015260528083018590528351808403909101815260729092019092528051910120600090600081815260c960205260409020549091506001600160a01b031680610a5557600082815260c96020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600290811790915582516001600160a01b0389811682529281019190915290861691339186917f0f579ad49235a8c1fd9041427e7067b1eb10926bbed380bf6fabc73e0e807644910160405180910390a45050505050565b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606086811b8216602a85015287901b16603e83015260528083018590528351808403909101815260729092019092528051910120600090600081815260c960205260409020549091506001600160a01b03161561192d57600081815260c96020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916905590516001600160a01b038681168252851691339185917f3ca48185ec3f6e47e24db18b13f1c65b1ce05da1659f9c1c4fe717dda5f67524910160405180910390a450505050565b6040517f2675fdd00000000000000000000000000000000000000000000000000000000081526000906001600160a01b03871690632675fdd09061216d908890889088908890600401613cce565b602060405180830381865afa9250505080156121a6575060408051601f3d908101601f191682019092526121a391810190613d00565b60015b156121bd5780156121bb576001915050611d82565b505b50600095945050505050565b7f1f53edd44352e5d15bad2b29233baa93bcd595e09457780bc7c5445bbbe751cc61125c81611d8b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612226576108b083612bbe565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612280575060408051601f3d908101601f1916820190925261227d91810190613d22565b60015b6122f25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016107bc565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146123875760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016107bc565b506108b0838383612c89565b8051825160009160ff908116911610156123af57506001610821565b8151835160ff918216911611156123c857506000610821565b6020808301519084015160ff918216911610156123e757506001610821565b6020808301519084015160ff9182169116111561240657506000610821565b6040808301519084015160ff9182169116101561242557506001610821565b50600092915050565b6001600160e01b031980821690036124885760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064016107bc565b6001600160e01b031916600090815260336020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261192d908590612cae565b806001600160a01b0381163b6125a0576040517f48359af60000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016107bc565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f2675fdd00000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190613d00565b612682576040517fdbb048620000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016107bc565b6001600160a01b038581161480156126a257506001600160a01b03848116145b156126d9576040517f85f1ba9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0385811614806126f857506001600160a01b03848116145b1561274d577f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada3383148061272f575061272f83612aef565b1561274d576040516324159e5b60e01b815260040160405180910390fd5b60408051692822a926a4a9a9a4a7a760b11b6020808301919091526bffffffffffffffffffffffff19606088811b8216602a85015289901b16603e83015260528083018790528351808403909101815260729092019092528051910120600090600081815260c960205260409020549091506001600160a01b03168061284b57600082815260c96020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387811691821790925583518b8316815292830152881691339188917f0f579ad49235a8c1fd9041427e7067b1eb10926bbed380bf6fabc73e0e807644910160405180910390a46128c0565b826001600160a01b0316816001600160a01b0316146128c0576040517f0b98789e0000000000000000000000000000000000000000000000000000000081526001600160a01b03808916600483015280881660248301526044820187905280831660648301528416608482015260a4016107bc565b50505050505050565b61012e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd91237492a9e30cd2faf361fc103998a382ff0ec2b1b07dc1cbebb76ae2f1ea29060200160405180910390a150565b6129547f150b7a020000000000000000000000000000000000000000000000000000000061242e565b61297d7f4e2312e00000000000000000000000000000000000000000000000000000000061242e565b60fb6020527f5a08f87af82de422c581ce019b2e54a9c17372e9cba575ae0470ba2482d63686805463ffffffff1990811663150b7a02179091557fe1cfe341950d56d8854f782066100d5ae1d5930cdb4949b973e554a343efc6c38054821663f23a6e611790557fbc197c81000000000000000000000000000000000000000000000000000000006000527f08ba3617671847c1c169da222a5bc01cfdefcc3c4f1e5525214a474479c89123805490911663bc197c81179055565b7fbb39ebb37e60fb5d606ffdb749d2336e56b88e6c88c4bd6513b308f643186eed8282604051611e53929190613cba565b600054610100900460ff16612ae65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b610e1a81612d96565b60007fbf04b4486c9663d805744005c3da000eda93de6e3308a4a7a812eb565327b78d821480612b3e57507f1f53edd44352e5d15bad2b29233baa93bcd595e09457780bc7c5445bbbe751cc82145b80612b6857507f4707e94b25cfce1a7c363508fbb838c35864388ad77284b248282b9746982b9b82145b80612b9257507f06d294bc8cbad2e393408b20dd019a772661f60b8d633e56761157cb1ec85f8c82145b806108215750507ffaf505be9907aa6951c2ebe5b0312f4980e14f21912ed355372103cc8bd683bc1490565b6001600160a01b0381163b612c3b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016107bc565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b612c9283612dc1565b600082511180612c9f5750805b156108b05761192d8383612e01565b6000612d03826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e2d9092919063ffffffff16565b9050805160001480612d24575080806020019051810190612d249190613d00565b6108b05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016107bc565b610e1a30827f815fe80e4b37c8582a3b773d1d7071f983eacfd56b5965db654f3087c25ada33611e5f565b612dca81612bbe565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612e268383604051806060016040528060278152602001613d4e60279139612e3c565b9392505050565b6060610c4e8484600085612eb4565b6060600080856001600160a01b031685604051612e599190613d3b565b600060405180830381855af49150503d8060008114612e94576040519150601f19603f3d011682016040523d82523d6000602084013e612e99565b606091505b5091509150612eaa86838387612fa6565b9695505050505050565b606082471015612f2c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016107bc565b600080866001600160a01b03168587604051612f489190613d3b565b60006040518083038185875af1925050503d8060008114612f85576040519150601f19603f3d011682016040523d82523d6000602084013e612f8a565b606091505b5091509150612f9b87838387612fa6565b979650505050505050565b6060831561301557825160000361300e576001600160a01b0385163b61300e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107bc565b5081610c4e565b610c4e838381511561302a5781518083602001fd5b8060405162461bcd60e51b81526004016107bc919061344b565b60405180606001604052806003906020820280368337509192915050565b80356001600160e01b03198116811461307a57600080fd5b919050565b60006020828403121561309157600080fd5b612e2682613062565b60008083601f8401126130ac57600080fd5b50813567ffffffffffffffff8111156130c457600080fd5b6020830191508360208285010111156130dc57600080fd5b9250929050565b600080602083850312156130f657600080fd5b823567ffffffffffffffff81111561310d57600080fd5b6131198582860161309a565b90969095509350505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261314c57600080fd5b813567ffffffffffffffff8082111561316757613167613125565b604051601f8301601f19908116603f0116810190828211818310171561318f5761318f613125565b816040528381528660208588010111156131a857600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156131db57600080fd5b82359150602083013567ffffffffffffffff8111156131f957600080fd5b6132058582860161313b565b9150509250929050565b6001600160a01b0381168114610e1a57600080fd5b60008060006040848603121561323957600080fd5b83356132448161320f565b9250602084013567ffffffffffffffff8082111561326157600080fd5b818601915086601f83011261327557600080fd5b81358181111561328457600080fd5b87602060608302850101111561329957600080fd5b6020830194508093505050509250925092565b600080600080608085870312156132c257600080fd5b84356132cd8161320f565b935060208501356132dd8161320f565b925060408501359150606085013567ffffffffffffffff81111561330057600080fd5b61330c8782880161313b565b91505092959194509250565b60608101818360005b600381101561334357815160ff16835260209283019290910190600101613321565b50505092915050565b60006020828403121561335e57600080fd5b8135612e268161320f565b60008060006080848603121561337e57600080fd5b606084018581111561338f57600080fd5b8493503567ffffffffffffffff8111156133a857600080fd5b6133b48682870161309a565b9497909650939450505050565b600080604083850312156133d457600080fd5b82356133df8161320f565b9150602083013567ffffffffffffffff8111156131f957600080fd5b60005b838110156134165781810151838201526020016133fe565b50506000910152565b600081518084526134378160208601602086016133fb565b601f01601f19169290920160200192915050565b602081526000612e26602083018461341f565b6000806000806060858703121561347457600080fd5b843561347f8161320f565b935060208501359250604085013567ffffffffffffffff8111156134a257600080fd5b6134ae8782880161309a565b95989497509550505050565b6000806000606084860312156134cf57600080fd5b6134d884613062565b92506134e660208501613062565b91506134f460408501613062565b90509250925092565b6000806000806060858703121561351357600080fd5b84359350602085013567ffffffffffffffff8082111561353257600080fd5b818701915087601f83011261354657600080fd5b81358181111561355557600080fd5b8860208260051b850101111561356a57600080fd5b95986020929092019750949560400135945092505050565b600081518084526020808501808196508360051b8101915082860160005b858110156135ca5782840389526135b884835161341f565b988501989350908401906001016135a0565b5091979650505050505050565b6040815260006135ea6040830185613582565b90508260208301529392505050565b6000806000806080858703121561360f57600080fd5b843561361a8161320f565b9350602085013561362a8161320f565b92506040850135915060608501356136418161320f565b939692955090935050565b60008060006060848603121561366157600080fd5b833561366c8161320f565b9250602084013561367c8161320f565b929592945050506040919091013590565b600080602083850312156136a057600080fd5b823567ffffffffffffffff808211156136b857600080fd5b818501915085601f8301126136cc57600080fd5b8135818111156136db57600080fd5b86602060a0830285010111156136f057600080fd5b60209290920196919550909350505050565b6000806000806000806080878903121561371b57600080fd5b863567ffffffffffffffff8082111561373357600080fd5b61373f8a838b0161309a565b9098509650602089013591506137548261320f565b9094506040880135906137668261320f565b9093506060880135908082111561377c57600080fd5b5061378989828a0161309a565b979a9699509497509295939492505050565b6001600160a01b0383168152604060208201526000610c4e604083018461341f565b828152604060208201526000610c4e604083018461341f565b634e487b7160e01b600052603260045260246000fd5b80356003811061307a57600080fd5b60006060828403121561380d57600080fd5b6040516060810181811067ffffffffffffffff8211171561383057613830613125565b60405261383c836137ec565b8152602083013561384c8161320f565b60208201526040928301359281019290925250919050565b634e487b7160e01b600052602160045260246000fd5b803560ff8116811461307a57600080fd5b60006020828403121561389d57600080fd5b612e268261387a565b60608101818360005b60038110156133435760ff6138c38361387a565b16835260209283019291909101906001016138af565b600181811c908216806138ed57607f821691505b60208210810361390d57634e487b7160e01b600052602260045260246000fd5b50919050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b838152604060208201526000611d82604083018486613913565b60008235605e1983360301811261396e57600080fd5b9190910192915050565b6000808335601e1984360301811261398f57600080fd5b83018035915067ffffffffffffffff8211156139aa57600080fd5b6020019150368190038213156130dc57600080fd5b8183823760009101908152919050565b6000826139ec57634e487b7160e01b600052601260045260246000fd5b500490565b600060a08201888352602060a0818501528188835260c08501905060c08960051b86010192508960005b8a811015613aee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408786030183528135605e198d3603018112613a5e57600080fd5b8c0160608135613a6d8161320f565b6001600160a01b03168752818601358688015260408083013536849003601e19018112613a9957600080fd5b90920186810192903567ffffffffffffffff811115613ab757600080fd5b803603841315613ac657600080fd5b82828a0152613ad8838a018286613913565b9850505093850193505090830190600101613a1b565b505050508560408401528460608401528281036080840152613b108185613582565b9998505050505050505050565b600060a08284031215613b2f57600080fd5b60405160a0810181811067ffffffffffffffff82111715613b5257613b52613125565b604052613b5e836137ec565b81526020830135613b6e8161320f565b60208201526040830135613b818161320f565b60408201526060830135613b948161320f565b60608201526080928301359281019290925250919050565b601f8211156108b057600081815260208120601f850160051c81016020861015613bd35750805b601f850160051c820191505b81811015613bf257828155600101613bdf565b505050505050565b67ffffffffffffffff831115613c1257613c12613125565b613c2683613c2083546138d9565b83613bac565b6000601f841160018114613c5a5760008515613c425750838201355b600019600387901b1c1916600186901b178355610a55565b600083815260209020601f19861690835b82811015613c8b5786850135825560209485019460019092019101613c6b565b5086821015613ca85760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602081526000610c4e602083018486613913565b60006001600160a01b03808716835280861660208401525083604083015260806060830152612eaa608083018461341f565b600060208284031215613d1257600080fd5b81518015158114612e2657600080fd5b600060208284031215613d3457600080fd5b5051919050565b6000825161396e8184602087016133fb56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220be00bc19f55d2accf4e3537127e0329186cb395bc1a6a7274c12c3580cfe305b64736f6c63430008110033000000000000000000000000eb98a71d69a1e12b62c10368d9da5364ce0f717800000000000000000000000091a851e9ed7f2c6d41b15f76e4a88f5a37067cc9