957 txs
942 calls
constructor
constructor(address _nativeUsdAggregator, address _eas)
functions
admins
viewfunction admins(address) view returns (bool)
getPaymentFee
viewfunction getPaymentFee(uint256 _value, uint8 _assetType) view returns (uint256)
MINIMAL_PAYMENT_FEE_DENOMINATOR
viewfunction MINIMAL_PAYMENT_FEE_DENOMINATOR() view returns (uint256)
MINIMAL_PAYMENT_FEE
viewfunction MINIMAL_PAYMENT_FEE() view returns (uint256)
owner
viewfunction owner() view returns (address)
PAYMENT_FEE_PERCENTAGE_DENOMINATOR
viewfunction PAYMENT_FEE_PERCENTAGE_DENOMINATOR() view returns (uint256)
PAYMENT_FEE_PERCENTAGE
viewfunction PAYMENT_FEE_PERCENTAGE() view returns (uint256)
PAYMENT_FEE_SLIPPAGE_PERCENT
viewfunction PAYMENT_FEE_SLIPPAGE_PERCENT() view returns (uint256)
publicGoods
viewfunction publicGoods(address) view returns (bool)
renounceOwnership
viewfunction renounceOwnership() view
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
addAdmin
nonpayablefunction addAdmin(address _adminAddress)
addPublicGood
nonpayablefunction addPublicGood(address publicGoodAddress)
batch
payablefunction batch(bytes[] _calls) payable
changeMinimalPaymentFee
nonpayablefunction changeMinimalPaymentFee(uint256 _minimalPaymentFee, uint256 _paymentFeeDenominator)
changePaymentFeePercentage
nonpayablefunction changePaymentFeePercentage(uint256 _paymentFeePercentage, uint256 _paymentFeeDenominator)
deleteAdmin
nonpayablefunction deleteAdmin(address _adminAddress)
deletePublicGood
nonpayablefunction deletePublicGood(address publicGoodAddress)
sendERC1155To
payablefunction sendERC1155To(address _recipient, uint256 _assetId, uint256 _amount, address _assetContractAddress, string _message) payable
sendERC721To
payablefunction sendERC721To(address _recipient, uint256 _tokenId, address _nftContractAddress, string _message) payable
sendTo
payablefunction sendTo(address _recipient, uint256, string _message) payable
sendTokenTo
payablefunction sendTokenTo(address _recipient, uint256 _amount, address _tokenContractAddr, string _message) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw()
withdrawToken
nonpayablefunction withdrawToken(address _tokenContract)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TipMessage
event TipMessage(address indexed recipientAddress, string message, address indexed sender, address indexed tokenAddress, uint256 amount, uint256 fee)
errors
BatchError
error BatchError(bytes innerError)
InvalidEAS
error InvalidEAS()
tipping__withdraw__OnlyAdminCanWithdraw
error tipping__withdraw__OnlyAdminCanWithdraw()
unknown_function_selector
error unknown_function_selector()
creation bytecode
0x60c0604052600a6001556103e8600255600160035560016004553480156200002657600080fd5b5060405162003e3f38038062003e3f83398181016040528101906200004c9190620004f5565b80826200006e62000062620003bf60201b60201c565b620003c760201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d7906200059d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200017c576040517f83780ffe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505060016007819055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600560008060038111156200022d576200022c620005bf565b5b6003811115620002425762000241620005bf565b5b815260200190815260200160002060006101000a81548160ff02191690836002811115620002755762000274620005bf565b5b021790555060006005600060016003811115620002975762000296620005bf565b5b6003811115620002ac57620002ab620005bf565b5b815260200190815260200160002060006101000a81548160ff02191690836002811115620002df57620002de620005bf565b5b021790555060026005600060026003811115620003015762000300620005bf565b5b6003811115620003165762000315620005bf565b5b815260200190815260200160002060006101000a81548160ff02191690836002811115620003495762000348620005bf565b5b02179055506002600560006003808111156200036a5762000369620005bf565b5b60038111156200037f576200037e620005bf565b5b815260200190815260200160002060006101000a81548160ff02191690836002811115620003b257620003b1620005bf565b5b02179055505050620005ee565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004bd8262000490565b9050919050565b620004cf81620004b0565b8114620004db57600080fd5b50565b600081519050620004ef81620004c4565b92915050565b600080604083850312156200050f576200050e6200048b565b5b60006200051f85828601620004de565b92505060206200053285828601620004de565b9150509250929050565b600082825260208201905092915050565b7f416464726573732063616e6e6f74206265203000000000000000000000000000600082015250565b6000620005856013836200053c565b915062000592826200054d565b602082019050919050565b60006020820190508181036000830152620005b88162000576565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60805160a0516138246200061b600039600061124d015260008181611f2d015261200701526138246000f3fe6080604052600436106101665760003560e01c80635cfdb086116100d157806383a4c7e11161008a5780638da5cb5b116100645780638da5cb5b146104a95780639cd6aa4c146104d4578063b20d0bff14610511578063f2fde38b1461053a57610166565b806383a4c7e11461043957806389476069146104645780638d157db81461048d57610166565b80635cfdb0861461034e57806370480275146103775780637129607a146103a0578063715018a6146103bc57806380fa375f146103d357806382313032146103fc57610166565b806327cb0ba11161012357806327cb0ba11461025f57806327e1f7df1461028a5780633ccfd60b146102b357806341dfeca5146102ca578063429b62e5146102e65780635c73f1631461032357610166565b806301ffc9a71461016b57806303f613dc146101a85780630728c7d2146101d35780630f7f630a146101fc57806316e49145146102275780631e897afb14610243575b600080fd5b34801561017757600080fd5b50610192600480360381019061018d9190612134565b610563565b60405161019f919061217c565b60405180910390f35b3480156101b457600080fd5b506101bd610635565b6040516101ca91906121b0565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f591906121f7565b61063b565b005b34801561020857600080fd5b506102116106db565b60405161021e91906121b0565b60405180910390f35b610241600480360381019061023c91906123db565b6106e1565b005b61025d600480360381019061025891906124aa565b61080d565b005b34801561026b57600080fd5b5061027461081b565b60405161028191906121b0565b60405180910390f35b34801561029657600080fd5b506102b160048036038101906102ac91906124f7565b610821565b005b3480156102bf57600080fd5b506102c8610884565b005b6102e460048036038101906102df9190612524565b6109bd565b005b3480156102f257600080fd5b5061030d600480360381019061030891906124f7565b610ade565b60405161031a919061217c565b60405180910390f35b34801561032f57600080fd5b50610338610afe565b60405161034591906121b0565b60405180910390f35b34801561035a57600080fd5b50610375600480360381019061037091906124f7565b610b04565b005b34801561038357600080fd5b5061039e600480360381019061039991906124f7565b610b67565b005b6103ba60048036038101906103b591906125a7565b610bca565b005b3480156103c857600080fd5b506103d1610c87565b005b3480156103df57600080fd5b506103fa60048036038101906103f591906121f7565b610cca565b005b34801561040857600080fd5b50610423600480360381019061041e91906124f7565b610d6a565b604051610430919061217c565b60405180910390f35b34801561044557600080fd5b5061044e610d8a565b60405161045b91906121b0565b60405180910390f35b34801561047057600080fd5b5061048b600480360381019061048691906124f7565b610d8f565b005b6104a760048036038101906104a29190612524565b610f1a565b005b3480156104b557600080fd5b506104be610fd5565b6040516104cb919061264d565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f6919061268d565b610ffe565b60405161050891906121b0565b60405180910390f35b34801561051d57600080fd5b50610538600480360381019061053391906124f7565b6110ee565b005b34801561054657600080fd5b50610561600480360381019061055c91906124f7565b611148565b005b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061062e57507fa7d69893000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60025481565b6106436111cb565b60008211610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067d90612750565b60405180910390fd5b600081116106c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c0906127e2565b60405180910390fd5b81600181905550806002819055505050565b60035481565b600080600654116106f257346106f6565b6006545b90506000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561075e5781905061075885611249565b50610770565b610769826000611398565b9050809150505b61077a85826114c9565b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f06961b35a44f36e67b4d43a3b991e1f866c108a1417c6a986d4ba271b32cefe7868586886107ef9190612831565b6040516107fe939291906128d3565b60405180910390a45050505050565b610817828261157a565b5050565b60045481565b6108296111cb565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60011515600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461090e576040517f3db4b39200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161093490612942565b60006040518083038185875af1925050503d8060008114610971576040519150601f19603f3d011682016040523d82523d6000602084013e610976565b606091505b50509050806109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b1906129a3565b60405180910390fd5b50565b6000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a2357839050610a1d85611249565b50610a35565b610a2e846001611398565b9050809150505b610a41843330866117e5565b610a4c8186856118b6565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f06961b35a44f36e67b4d43a3b991e1f866c108a1417c6a986d4ba271b32cefe78585868a610ac09190612831565b604051610acf939291906128d3565b60405180910390a45050505050565b60086020528060005260406000206000915054906101000a900460ff1681565b60015481565b610b0c6111cb565b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610b6f6111cb565b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060065411610bdb5734610bdf565b6006545b90506000610bee826003611398565b509050610bfe8686338a88611984565b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f06961b35a44f36e67b4d43a3b991e1f866c108a1417c6a986d4ba271b32cefe7868686604051610c76939291906128d3565b60405180910390a450505050505050565b610c8f6111cb565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190612a0f565b60405180910390fd5b610cd26111cb565b60008211610d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0c90612750565b60405180910390fd5b60008111610d58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4f906127e2565b60405180910390fd5b81600381905550806004819055505050565b60096020528060005260406000206000915054906101000a900460ff1681565b600581565b60011515600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610e19576040517f3db4b39200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e74919061264d565b602060405180830381865afa158015610e91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb59190612a44565b6040518363ffffffff1660e01b8152600401610ed2929190612a71565b6020604051808303816000875af1158015610ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f159190612ac6565b505050565b60008060065411610f2b5734610f2f565b6006545b90506000610f3e826002611398565b509050610f4d85338887611a02565b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f06961b35a44f36e67b4d43a3b991e1f866c108a1417c6a986d4ba271b32cefe7868686604051610fc5939291906128d3565b60405180910390a4505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080611009611a7d565b9050600061101685611aa6565b905060006005600086600381111561103157611030612af3565b5b600381111561104357611042612af3565b5b815260200190815260200160002060009054906101000a900460ff16905060028081111561107457611073612af3565b5b81600281111561108757611086612af3565b5b03611097578293505050506110e8565b600060028111156110ab576110aa612af3565b5b8160028111156110be576110bd612af3565b5b036110ce578193505050506110e8565b828211156110e1578193505050506110e8565b8293505050505b92915050565b6110f66111cb565b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b6111506111cb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b690612b94565b60405180910390fd5b6111c881611aca565b50565b6111d3611b8e565b73ffffffffffffffffffffffffffffffffffffffff166111f1610fd5565b73ffffffffffffffffffffffffffffffffffffffff1614611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e90612c00565b60405180910390fd5b565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f17325e760405180604001604052807f28b73429cc730191053ba7fe21e17253be25dbab480f0c3a369de5217657d92560001b81526020016040518060c001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581526020016000801b815260200187604051602001611316919061264d565b604051602081830303815290604052815260200160008152508152506040518263ffffffff1660e01b815260040161134e9190612da4565b6020604051808303816000875af115801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190612df2565b9050919050565b60008060006113a5611a7d565b905060006113b38686610ffe565b9050600060028111156113c9576113c8612af3565b5b600560008760038111156113e0576113df612af3565b5b60038111156113f2576113f1612af3565b5b815260200190815260200160002060009054906101000a900460ff1660028111156114205761141f612af3565b5b1415801561145257506064600560646114399190612831565b836114449190612e1f565b61144e9190612e90565b8610155b801561145e5750818611155b1561146b5785935061146f565b8093505b838610156114b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a990612f33565b60405180910390fd5b83866114be9190612831565b925050509250929050565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516114ef90612942565b60006040518083038185875af1925050503d806000811461152c576040519150601f19603f3d011682016040523d82523d6000602084013e611531565b606091505b5050905080611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156c90612f9f565b60405180910390fd5b505050565b6002600754036115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b69061300b565b60405180910390fd5b6000600260078190555060005b838390508110156117d7576000606060008686858181106115f0576115ef61302b565b5b90506020028101906116029190613069565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080602001820151905061165b81611b96565b1561174257600061166c8284611cd4565b905080600681905550808761168191906130cc565b9650348711156116c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bd9061314c565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16836040516116eb919061319d565b600060405180830381855af49150503d8060008114611726576040519150601f19603f3d011682016040523d82523d6000602084013e61172b565b606091505b5080955081965050506000600681905550506117b1565b3073ffffffffffffffffffffffffffffffffffffffff1682604051611767919061319d565b600060405180830381855af49150503d80600081146117a2576040519150601f19603f3d011682016040523d82523d6000602084013e6117a7565b606091505b5080945081955050505b836117c0576117bf83611e8b565b5b5050505080806117cf906131b4565b9150506115cc565b506001600781905550505050565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166323b872dd8686896040518463ffffffff1660e01b8152600401611829939291906131fc565b6020604051808303816000875af1158015611848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186c9190612ac6565b9050806118ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a59061327f565b60405180910390fd5b505050505050565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85876040518363ffffffff1660e01b81526004016118f8929190612a71565b6020604051808303816000875af1158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190612ac6565b90508061197d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119749061327f565b60405180910390fd5b5050505050565b60008190508073ffffffffffffffffffffffffffffffffffffffff1663f242432a858589896040518563ffffffff1660e01b81526004016119c894939291906132d3565b600060405180830381600087803b1580156119e257600080fd5b505af11580156119f6573d6000803e3d6000fd5b50505050505050505050565b60008190508073ffffffffffffffffffffffffffffffffffffffff1663b88d4fde8585886040518463ffffffff1660e01b8152600401611a449392919061332b565b600060405180830381600087803b158015611a5e57600080fd5b505af1158015611a72573d6000803e3d6000fd5b505050505050505050565b6000600454600354611a8d611f28565b611a979190612e1f565b611aa19190612e90565b905090565b600060025460015483611ab99190612e1f565b611ac39190612e90565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b60006316e4914560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611c2f57506341dfeca560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611c7e5750638d157db860e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611ccd5750637129607a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000806316e4914560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611d2f5760448301519050611e81565b6341dfeca560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611d8e57611d8760006001610ffe565b9050611e80565b638d157db860e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611ded57611de660006002610ffe565b9050611e7f565b637129607a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611e4c57611e4560006003610ffe565b9050611e7e565b6040517f2f4aeaf500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5b5b8091505092915050565b604481511015611ed257806040517fd9354485000000000000000000000000000000000000000000000000000000008152600401611ec991906133ae565b60405180910390fd5b60048101905080806020019051810190611eec9190613440565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1f9190613489565b60405180910390fd5b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fba9190613523565b50505091505060008113612003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffa906135ea565b60405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120949190613643565b600a6120a091906137a3565b90508181670de0b6b3a76400006120b79190612e1f565b6120c19190612e90565b9250505090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612111816120dc565b811461211c57600080fd5b50565b60008135905061212e81612108565b92915050565b60006020828403121561214a576121496120d2565b5b60006121588482850161211f565b91505092915050565b60008115159050919050565b61217681612161565b82525050565b6000602082019050612191600083018461216d565b92915050565b6000819050919050565b6121aa81612197565b82525050565b60006020820190506121c560008301846121a1565b92915050565b6121d481612197565b81146121df57600080fd5b50565b6000813590506121f1816121cb565b92915050565b6000806040838503121561220e5761220d6120d2565b5b600061221c858286016121e2565b925050602061222d858286016121e2565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061226282612237565b9050919050565b61227281612257565b811461227d57600080fd5b50565b60008135905061228f81612269565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6122e88261229f565b810181811067ffffffffffffffff82111715612307576123066122b0565b5b80604052505050565b600061231a6120c8565b905061232682826122df565b919050565b600067ffffffffffffffff821115612346576123456122b0565b5b61234f8261229f565b9050602081019050919050565b82818337600083830152505050565b600061237e6123798461232b565b612310565b90508281526020810184848401111561239a5761239961229a565b5b6123a584828561235c565b509392505050565b600082601f8301126123c2576123c1612295565b5b81356123d284826020860161236b565b91505092915050565b6000806000606084860312156123f4576123f36120d2565b5b600061240286828701612280565b9350506020612413868287016121e2565b925050604084013567ffffffffffffffff811115612434576124336120d7565b5b612440868287016123ad565b9150509250925092565b600080fd5b600080fd5b60008083601f84011261246a57612469612295565b5b8235905067ffffffffffffffff8111156124875761248661244a565b5b6020830191508360208202830111156124a3576124a261244f565b5b9250929050565b600080602083850312156124c1576124c06120d2565b5b600083013567ffffffffffffffff8111156124df576124de6120d7565b5b6124eb85828601612454565b92509250509250929050565b60006020828403121561250d5761250c6120d2565b5b600061251b84828501612280565b91505092915050565b6000806000806080858703121561253e5761253d6120d2565b5b600061254c87828801612280565b945050602061255d878288016121e2565b935050604061256e87828801612280565b925050606085013567ffffffffffffffff81111561258f5761258e6120d7565b5b61259b878288016123ad565b91505092959194509250565b600080600080600060a086880312156125c3576125c26120d2565b5b60006125d188828901612280565b95505060206125e2888289016121e2565b94505060406125f3888289016121e2565b935050606061260488828901612280565b925050608086013567ffffffffffffffff811115612625576126246120d7565b5b612631888289016123ad565b9150509295509295909350565b61264781612257565b82525050565b6000602082019050612662600083018461263e565b92915050565b6004811061267557600080fd5b50565b60008135905061268781612668565b92915050565b600080604083850312156126a4576126a36120d2565b5b60006126b2858286016121e2565b92505060206126c385828601612678565b9150509250929050565b600082825260208201905092915050565b7f5061796d656e74206665652068617320746f206265206269676765722074686160008201527f6e20300000000000000000000000000000000000000000000000000000000000602082015250565b600061273a6023836126cd565b9150612745826126de565b604082019050919050565b600060208201905081810360008301526127698161272d565b9050919050565b7f5061796d656e74206665652064656e6f6d696e61746f722068617320746f206260008201527f6520626967676572207468616e20300000000000000000000000000000000000602082015250565b60006127cc602f836126cd565b91506127d782612770565b604082019050919050565b600060208201905081810360008301526127fb816127bf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061283c82612197565b915061284783612197565b925082820390508181111561285f5761285e612802565b5b92915050565b600081519050919050565b60005b8381101561288e578082015181840152602081019050612873565b60008484015250505050565b60006128a582612865565b6128af81856126cd565b93506128bf818560208601612870565b6128c88161229f565b840191505092915050565b600060608201905081810360008301526128ed818661289a565b90506128fc60208301856121a1565b61290960408301846121a1565b949350505050565b600081905092915050565b50565b600061292c600083612911565b91506129378261291c565b600082019050919050565b600061294d8261291f565b9150819050919050565b7f4661696c656420746f2077697468647261772e00000000000000000000000000600082015250565b600061298d6013836126cd565b915061299882612957565b602082019050919050565b600060208201905081810360008301526129bc81612980565b9050919050565b7f4f7065726174696f6e206e6f7420737570706f72746564000000000000000000600082015250565b60006129f96017836126cd565b9150612a04826129c3565b602082019050919050565b60006020820190508181036000830152612a28816129ec565b9050919050565b600081519050612a3e816121cb565b92915050565b600060208284031215612a5a57612a596120d2565b5b6000612a6884828501612a2f565b91505092915050565b6000604082019050612a86600083018561263e565b612a9360208301846121a1565b9392505050565b612aa381612161565b8114612aae57600080fd5b50565b600081519050612ac081612a9a565b92915050565b600060208284031215612adc57612adb6120d2565b5b6000612aea84828501612ab1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b7e6026836126cd565b9150612b8982612b22565b604082019050919050565b60006020820190508181036000830152612bad81612b71565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612bea6020836126cd565b9150612bf582612bb4565b602082019050919050565b60006020820190508181036000830152612c1981612bdd565b9050919050565b6000819050919050565b612c3381612c20565b82525050565b612c4281612257565b82525050565b600067ffffffffffffffff82169050919050565b612c6581612c48565b82525050565b612c7481612161565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612ca182612c7a565b612cab8185612c85565b9350612cbb818560208601612870565b612cc48161229f565b840191505092915050565b612cd881612197565b82525050565b600060c083016000830151612cf66000860182612c39565b506020830151612d096020860182612c5c565b506040830151612d1c6040860182612c6b565b506060830151612d2f6060860182612c2a565b5060808301518482036080860152612d478282612c96565b91505060a0830151612d5c60a0860182612ccf565b508091505092915050565b6000604083016000830151612d7f6000860182612c2a565b5060208301518482036020860152612d978282612cde565b9150508091505092915050565b60006020820190508181036000830152612dbe8184612d67565b905092915050565b612dcf81612c20565b8114612dda57600080fd5b50565b600081519050612dec81612dc6565b92915050565b600060208284031215612e0857612e076120d2565b5b6000612e1684828501612ddd565b91505092915050565b6000612e2a82612197565b9150612e3583612197565b9250828202612e4381612197565b91508282048414831517612e5a57612e59612802565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e9b82612197565b9150612ea683612197565b925082612eb657612eb5612e61565b5b828204905092915050565b7f56616c75652073656e7420697320736d616c6c6572207468616e206d696e696d60008201527f616c206665652e00000000000000000000000000000000000000000000000000602082015250565b6000612f1d6027836126cd565b9150612f2882612ec1565b604082019050919050565b60006020820190508181036000830152612f4c81612f10565b9050919050565b7f4661696c656420746f2073656e64000000000000000000000000000000000000600082015250565b6000612f89600e836126cd565b9150612f9482612f53565b602082019050919050565b60006020820190508181036000830152612fb881612f7c565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612ff5601f836126cd565b915061300082612fbf565b602082019050919050565b6000602082019050818103600083015261302481612fe8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126130865761308561305a565b5b80840192508235915067ffffffffffffffff8211156130a8576130a761305f565b5b6020830192506001820236038313156130c4576130c3613064565b5b509250929050565b60006130d782612197565b91506130e283612197565b92508282019050808211156130fa576130f9612802565b5b92915050565b7f43616e27742073656e64206d6f7265207468616e206d73672e76616c75650000600082015250565b6000613136601e836126cd565b915061314182613100565b602082019050919050565b6000602082019050818103600083015261316581613129565b9050919050565b600061317782612c7a565b6131818185612911565b9350613191818560208601612870565b80840191505092915050565b60006131a9828461316c565b915081905092915050565b60006131bf82612197565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131f1576131f0612802565b5b600182019050919050565b6000606082019050613211600083018661263e565b61321e602083018561263e565b61322b60408301846121a1565b949350505050565b7f4661696c656420746f207472616e7366657220746f6b656e0000000000000000600082015250565b60006132696018836126cd565b915061327482613233565b602082019050919050565b600060208201905081810360008301526132988161325c565b9050919050565b600082825260208201905092915050565b60006132bd60008361329f565b91506132c88261291c565b600082019050919050565b600060a0820190506132e8600083018761263e565b6132f5602083018661263e565b61330260408301856121a1565b61330f60608301846121a1565b8181036080830152613320816132b0565b905095945050505050565b6000608082019050613340600083018661263e565b61334d602083018561263e565b61335a60408301846121a1565b818103606083015261336b816132b0565b9050949350505050565b600061338082612c7a565b61338a818561329f565b935061339a818560208601612870565b6133a38161229f565b840191505092915050565b600060208201905081810360008301526133c88184613375565b905092915050565b60006133e36133de8461232b565b612310565b9050828152602081018484840111156133ff576133fe61229a565b5b61340a848285612870565b509392505050565b600082601f83011261342757613426612295565b5b81516134378482602086016133d0565b91505092915050565b600060208284031215613456576134556120d2565b5b600082015167ffffffffffffffff811115613474576134736120d7565b5b61348084828501613412565b91505092915050565b600060208201905081810360008301526134a3818461289a565b905092915050565b600069ffffffffffffffffffff82169050919050565b6134ca816134ab565b81146134d557600080fd5b50565b6000815190506134e7816134c1565b92915050565b6000819050919050565b613500816134ed565b811461350b57600080fd5b50565b60008151905061351d816134f7565b92915050565b600080600080600060a0868803121561353f5761353e6120d2565b5b600061354d888289016134d8565b955050602061355e8882890161350e565b945050604061356f88828901612a2f565b935050606061358088828901612a2f565b9250506080613591888289016134d8565b9150509295509295909350565b7f556e61626c6520746f207265747269657665204e41544956452070726963652e600082015250565b60006135d46020836126cd565b91506135df8261359e565b602082019050919050565b60006020820190508181036000830152613603816135c7565b9050919050565b600060ff82169050919050565b6136208161360a565b811461362b57600080fd5b50565b60008151905061363d81613617565b92915050565b600060208284031215613659576136586120d2565b5b60006136678482850161362e565b91505092915050565b60008160011c9050919050565b6000808291508390505b60018511156136c7578086048111156136a3576136a2612802565b5b60018516156136b25780820291505b80810290506136c085613670565b9450613687565b94509492505050565b6000826136e0576001905061379c565b816136ee576000905061379c565b8160018114613704576002811461370e5761373d565b600191505061379c565b60ff8411156137205761371f612802565b5b8360020a91508482111561373757613736612802565b5b5061379c565b5060208310610133831016604e8410600b84101617156137725782820a90508381111561376d5761376c612802565b5b61379c565b61377f848484600161367d565b9250905081840481111561379657613795612802565b5b81810290505b9392505050565b60006137ae82612197565b91506137b98361360a565b92506137e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846136d0565b90509291505056fea264697066735822122053ab149845c08ae460e453eba80394b0ade437329cbe6174e1c60a4d9a495cc764736f6c6343000811003300000000000000000000000071041dddad3595f9ced3dccfbe3d1f4b0a16bb700000000000000000000000004200000000000000000000000000000000000021