Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
UniswapV2Factory
Compiler Version
v0.8.20+commit.a1b79de6
ZkSolc Version
v1.5.4
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.20;import "lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol";import "lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol";import "./interfaces/IUniswapV2Factory.sol";import "./UniswapV2Pair.sol";contract UniswapV2Factory is IUniswapV2Factory, Ownable2Step {using EnumerableSet for EnumerableSet.AddressSet;/// @dev Fee is denominated in basis points so 5000 / 10000 = 50%uint256 public constant MAX_FEE = 5000;address public protocolFeeBeneficiary;mapping(address => mapping(address => address)) public getPair;EnumerableSet.AddressSet private _allPairs;DefaultFees public defaultFees;mapping(address => Fees) public pairFees;constructor(uint256 _defaultProtocolFee, uint256 _defaultLpFee, address _protocolFeeBeneficiary) {DefaultFees memory startFees = DefaultFees({protocolFee: _defaultProtocolFee, lpFee: _defaultLpFee});
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.20;import "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";import "./interfaces/IUniswapV2Pair.sol";import "./interfaces/IUniswapV2Factory.sol";import "./libraries/UniswapV2Math.sol";import "./libraries/Oracle.sol";import "./UniswapV2ERC20.sol";contract UniswapV2Pair is IUniswapV2Pair, UniswapV2ERC20 {using SafeMath for uint256;using Oracle for Oracle.Observation[65535];uint256 public constant MINIMUM_LIQUIDITY = 10 ** 3;uint256 public constant BASIS_POINTS = 10000;bytes4 private constant SELECTOR = bytes4(keccak256(bytes("transfer(address,uint256)")));// decimal points of token0uint256 public TOKEN0_DECIMALS;address public factory;address public token0;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (access/Ownable2Step.sol)pragma solidity ^0.8.0;import "./Ownable.sol";/*** @dev Contract module which provides access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership} and {acceptOwnership}.** This module is used through inheritance. It will make available all functions* from parent (Ownable).*/abstract contract Ownable2Step is Ownable {address private _pendingOwner;event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner);/*** @dev Returns the address of the pending owner.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.20;interface IUniswapV2Factory {struct DefaultFees {/// @dev in basis point, denominated by 10000uint256 protocolFee;/// @dev in basis point, denominated by 10000uint256 lpFee;}struct Fees {address royaltiesBeneficiary;/// @dev in basis point, denominated by 10000uint256 royaltiesFee;/// @dev in basis point, denominated by 10000uint256 protocolFee;/// @dev in basis point, denominated by 10000uint256 lpFee;/// @dev if true, Fees.protocolFee is used even if set to 0bool protocolFeeOverride;/// @dev if true, Fees.lpFee is used even if set to 0bool lpFeeOverride;}event PairCreated(address indexed token0, address indexed token1, address pair, uint256);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/structs/EnumerableSet.sol)// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.pragma solidity ^0.8.0;/*** @dev Library for managing* https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive* types.** Sets have the following properties:** - Elements are added, removed, and checked for existence in constant time* (O(1)).* - Elements are enumerated in O(n). No guarantees are made on the ordering.** ```* contract Example {* // Add the library methods* using EnumerableSet for EnumerableSet.AddressSet;** // Declare a set state variable* EnumerableSet.AddressSet private mySet;* }* ```
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.20;import "./interfaces/IUniswapV2ERC20.sol";import "./libraries/SafeMath.sol";contract UniswapV2ERC20 is IUniswapV2ERC20 {using SafeMath for uint256;string public constant name = "Magicswap V2";string public constant symbol = "MAGIC-V2";uint8 public constant decimals = 18;uint256 public totalSupply;mapping(address => uint256) public balanceOf;mapping(address => mapping(address => uint256)) public allowance;bytes32 public override DOMAIN_SEPARATOR;// keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");bytes32 public constant override PERMIT_TYPEHASH =0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;mapping(address => uint256) public nonces;constructor() {uint256 chainId;assembly {chainId := chainid()
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.20;/// @title Oracle (modifier version of Oracle.sol from UniswapV3)/// @notice Provides price data useful for a wide variety of system designs/// @dev Instances of stored oracle data, "observations", are collected in the oracle array/// Every pool is initialized with an oracle array length of 1. Anyone can pay the SSTOREs to increase the/// maximum length of the oracle array. New slots will be added when the array is fully populated./// Observations are overwritten when the full length of the oracle array is populated./// The most recent observation is available, independent of the length of the oracle array, by passing 0 to observe()library Oracle {struct Observation {// the block timestamp of the observationuint32 blockTimestamp;// the price accumulator, i.e. price * time elapsed since the pool was first initializeduint256 priceCumulative;// whether or not the observation is initializedbool initialized;}/// @notice Transforms a previous observation into a new observation, given the passage of time and the current price values/// @dev blockTimestamp _must_ be chronologically equal to or greater than last.blockTimestamp, safe for 0 or 1 overflows/// @param last The specified observation to be transformed/// @param blockTimestamp The timestamp of the new observation/// @param lastPrice The active price at the time of the new observation/// @return Observation The newly populated observation
123456789101112131415161718192021222324// SPDX-License-Identifier: MITpragma solidity 0.8.20;// a library for performing various math operationslibrary UniswapV2Math {function min(uint256 x, uint256 y) internal pure returns (uint256 z) {z = x < y ? x : y;}// babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)function sqrt(uint256 y) internal pure returns (uint256 z) {if (y > 3) {z = y;uint256 x = y / 2 + 1;while (x < z) {z = x;x = (y / x + x) / 2;}} else if (y != 0) {z = 1;}}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.20;interface IUniswapV2Pair {event Mint(address indexed sender, uint256 amount0, uint256 amount1);event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);event Swap(address indexed sender,uint256 amount0In,uint256 amount1In,uint256 amount0Out,uint256 amount1Out,address indexed to);event Sync(uint112 reserve0, uint112 reserve1);/// @notice Emitted by the pool for increases to the number of observations that can be stored/// @dev observationCardinalityNext is not the observation cardinality until an observation is written at the index/// just before a mint/swap/burn./// @param observationCardinalityNextOld The previous value of the next observation cardinality/// @param observationCardinalityNextNew The updated value of the next observation cardinalityevent IncreaseObservationCardinalityNext(uint16 observationCardinalityNextOld, uint16 observationCardinalityNextNew);function MINIMUM_LIQUIDITY() external pure returns (uint256);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Emitted when `value` tokens are moved from one account (`from`) to* another (`to`).** Note that `value` may be zero.*/event Transfer(address indexed from, address indexed to, uint256 value);/*** @dev Emitted when the allowance of a `spender` for an `owner` is set by* a call to {approve}. `value` is the new allowance.*/event Approval(address indexed owner, address indexed spender, uint256 value);/*** @dev Returns the amount of tokens in existence.*/
123456789101112131415161718192021222324// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)pragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}}
123456789101112131415161718// SPDX-License-Identifier: MITpragma solidity 0.8.20;// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)library SafeMath {function add(uint256 x, uint256 y) internal pure returns (uint256 z) {require((z = x + y) >= x, "ds-math-add-overflow");}function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {require((z = x - y) <= x, "ds-math-sub-underflow");}function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow");}}
12345678910111213141516171819202122232425// SPDX-License-Identifier: MITpragma solidity 0.8.20;interface IUniswapV2ERC20 {event Approval(address indexed owner, address indexed spender, uint256 value);event Transfer(address indexed from, address indexed to, uint256 value);function name() external pure returns (string memory);function symbol() external pure returns (string memory);function decimals() external pure returns (uint8);function totalSupply() external view returns (uint256);function balanceOf(address owner) external view returns (uint256);function allowance(address owner, address spender) external view returns (uint256);function approve(address spender, uint256 value) external returns (bool);function transfer(address to, uint256 value) external returns (bool);function transferFrom(address from, address to, uint256 value) external returns (bool);function DOMAIN_SEPARATOR() external view returns (bytes32);function PERMIT_TYPEHASH() external pure returns (bytes32);function nonces(address owner) external view returns (uint256);function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)external;}
123456789101112131415161718{"evmVersion": "paris","optimizer": {"enabled": true,"mode": "3"},"outputSelection": {"*": {"*": ["abi"]}},"detectMissingLibraries": false,"forceEVMLA": false,"enableEraVMExtensions": false,"libraries": {}}
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"_defaultProtocolFee","type":"uint256"},{"internalType":"uint256","name":"_defaultLpFee","type":"uint256"},{"internalType":"address","name":"_protocolFeeBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"}],"indexed":false,"internalType":"struct IUniswapV2Factory.DefaultFees","name":"fees","type":"tuple"}],"name":"DefaultFeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"lpFee","type":"uint256"},{"indexed":false,"internalType":"bool","name":"overrideFee","type":"bool"}],"name":"LpFeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"PairCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"beneficiary","type":"address"}],"name":"ProtocolFeeBeneficiarySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"protocolFee","type":"uint256"},{"indexed":false,"internalType":"bool","name":"overrideFee","type":"bool"}],"name":"ProtocolFeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"royaltiesFee","type":"uint256"}],"name":"RoyaltiesFeesSet","type":"event"},{"inputs":[],"name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"allPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allPairs","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allPairsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"}],"name":"createPair","outputs":[{"internalType":"address","name":"pair","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"defaultFees","outputs":[{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"getFees","outputs":[{"internalType":"uint256","name":"lpFee","type":"uint256"},{"internalType":"uint256","name":"royaltiesFee","type":"uint256"},{"internalType":"uint256","name":"protocolFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"getFeesAndRecipients","outputs":[{"internalType":"uint256","name":"lpFee","type":"uint256"},{"internalType":"address","name":"royaltiesBeneficiary","type":"address"},{"internalType":"uint256","name":"royaltiesFee","type":"uint256"},{"internalType":"address","name":"protocolBeneficiary","type":"address"},{"internalType":"uint256","name":"protocolFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairFees","outputs":[{"internalType":"address","name":"royaltiesBeneficiary","type":"address"},{"internalType":"uint256","name":"royaltiesFee","type":"uint256"},{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"},{"internalType":"bool","name":"protocolFeeOverride","type":"bool"},{"internalType":"bool","name":"lpFeeOverride","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"}],"internalType":"struct IUniswapV2Factory.DefaultFees","name":"_fees","type":"tuple"}],"name":"setDefaultFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"uint256","name":"_lpFee","type":"uint256"},{"internalType":"bool","name":"_overrideFee","type":"bool"}],"name":"setLpFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"uint256","name":"_protocolFee","type":"uint256"},{"internalType":"bool","name":"_overrideFee","type":"bool"}],"name":"setProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"}],"name":"setProtocolFeeBeneficiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_royaltiesFee","type":"uint256"}],"name":"setRoyaltiesFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b000000000000000000000000000000000000000000000000000000000000000001000215c679199dcb92c87dfc356cf6aa5198d06dcdd9b73412e2d32c2b0bd000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000005a25839b49eec2d4c173b42668a84f5988599929
Deployed Bytecode
0x000400000000000200000000030100190000006003300270000001b1033001970000000100200190000000300000c13d0000008002000039000000400020043f000000040030008c000006190000413d000000000201043b000000e002200270000001c80020009c000000760000213d000001d70020009c000000850000a13d000001d80020009c000000a40000213d000001dc0020009c0000011d0000613d000001dd0020009c000001420000613d000001de0020009c000006190000c13d0000000001000416000000000001004b000006190000c13d000000000100041a000001b4021001970000000005000411000000000052004b000002bf0000c13d0000000102000039000000000302041a000001b503300197000000000032041b000001b501100197000000000010041b0000000001000414000001b10010009c000001b101008041000000c001100210000001b6011001c70000800d020000390000000303000039000001b7040000410000000006000019000005a80000013d0000000002000416000000000002004b000006190000c13d0000001f02300039000001b2022001970000008002200039000000400020043f0000001f0430018f000001b3053001980000008002500039000000410000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b0000003d0000c13d000000000004004b0000004e0000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000600030008c000006190000413d000000c00100043d000400000001001d000001b40010009c000006190000213d000000a00100043d000200000001001d000000800100043d000300000001001d0000000101000039000000000201041a000001b502200197000000000021041b000000000100041a000001b5021001970000000006000411000000000262019f000000000020041b0000000002000414000001b405100197000001b10020009c000001b102008041000000c001200210000001b6011001c70000800d020000390000000303000039000001b70400004106c006b60000040f0000000100200190000006190000613d000000400100043d000001b80010009c000000fc0000a13d000001f901000041000000000010043f0000004101000039000000040010043f000001fa01000041000006c200010430000001c90020009c000000950000a13d000001ca0020009c000000af0000213d000001ce0020009c000001690000613d000001cf0020009c000001760000613d000001d00020009c000006190000c13d0000000001000416000000000001004b000006190000c13d0000000201000039000002760000013d000001df0020009c000000d10000a13d000001e00020009c0000018f0000613d000001e10020009c000001b60000613d000001e20020009c000006190000c13d0000000001000416000000000001004b000006190000c13d0000000401000039000000000101041a000000800010043f000001e701000041000006c10001042e000001d10020009c000000e30000a13d000001d20020009c000001da0000613d000001d30020009c000002070000613d000001d40020009c000006190000c13d0000000001000416000000000001004b000006190000c13d0000138801000039000000800010043f000001e701000041000006c10001042e000001d90020009c000002270000613d000001da0020009c000002400000613d000001db0020009c000006190000c13d0000000001000416000000000001004b000006190000c13d000000000100041a000002770000013d000001cb0020009c000002720000613d000001cc0020009c0000027b0000613d000001cd0020009c000006190000c13d000000240030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000401100370000000000601043b000001b40060009c000006190000213d000000000100041a000001b4011001970000000005000411000000000051004b000002bf0000c13d0000000101000039000000000201041a000001b502200197000000000262019f000000000021041b0000000001000414000001b10010009c000001b101008041000000c001100210000001b6011001c70000800d020000390000000303000039000001e504000041000005a80000013d000001e30020009c0000029a0000613d000001e40020009c000006190000c13d000000240030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000401100370000000000101043b0000000402000039000000000302041a000000000031004b000002d50000813d000000000020043f000001f20110009a000002760000013d000001d50020009c000002a50000613d000001d60020009c000006190000c13d000000240030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000401100370000000000101043b000001b40010009c000006190000213d06c0064d0000040f000000400400043d00000020054000390000000000250435000000400240003900000000003204350000000000140435000001b10040009c000001b1040080410000004001400210000001ff011001c7000006c10001042e0000004002100039000000400020043f0000000304000029000000000241043600000002050000290000000000520435000000000100041a000001b4011001970000000003000411000000000031004b000003550000c13d000000400100043d000013890040008c000002c80000413d0000006402100039000001c60300004100000000003204350000004402100039000001c7030000410000000000320435000000240210003900000022030000390000000000320435000001bc020000410000000000210435000000040210003900000020030000390000000000320435000001b10010009c000001b1010080410000004001100210000001c4011001c7000006c200010430000000640030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000402100370000000000202043b000400000002001d000001b40020009c000006190000213d0000004402100370000000000302043b000000000003004b0000000002000039000000010200c039000300000003001d000000000023004b000006190000c13d0000002401100370000000000301043b000000000100041a000001b4011001970000000002000411000000000021004b000002bf0000c13d000013890030008c000003c50000413d000001bc01000041000000800010043f0000002001000039000000840010043f0000001d01000039000000a40010043f0000020601000041000000c40010043f000001f501000041000006c200010430000000240030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000401100370000000000101043b000001b40010009c000006190000213d000000000010043f0000000801000039000000200010043f0000004002000039000000000100001906c006a10000040f0000000402100039000000000202041a0000000303100039000000000303041a0000000204100039000000000404041a0000000105100039000000000505041a000000000101041a000001b401100197000000800010043f000000a00050043f000000c00040043f000000e00030043f000000ff002001900000000001000039000000010100c039000001000010043f0000ff00002001900000000001000039000000010100c039000001200010043f0000020401000041000006c10001042e0000000001000416000000000001004b000006190000c13d0000000402000039000000000102041a000000800010043f000000000020043f0000002002000039000000000001004b000002db0000c13d000000a0010000390000000004020019000002ea0000013d000000440030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000402100370000000000302043b0000000002030019000001b40030009c000006190000213d0000002401100370000000000101043b000001b40010009c000006190000213d000000000012004b000003650000c13d000001bc01000041000000800010043f0000002001000039000000840010043f000000a40010043f000001f601000041000000c40010043f000001f501000041000006c200010430000000640030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000402100370000000000202043b000400000002001d000001b40020009c000006190000213d0000004402100370000000000302043b000000000003004b0000000002000039000000010200c039000300000003001d000000000023004b000006190000c13d0000002401100370000000000301043b000000000100041a000001b4011001970000000002000411000000000021004b000002bf0000c13d000013890030008c0000040f0000413d000001bc01000041000000800010043f0000002001000039000000840010043f0000002301000039000000a40010043f0000020e01000041000000c40010043f0000020f01000041000000e40010043f0000020301000041000006c200010430000000640030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000402100370000000000202043b000400000002001d000001b40020009c000006190000213d0000002402100370000000000202043b000300000002001d000001b40020009c000006190000213d0000004401100370000000000301043b000000000100041a000001b4011001970000000002000411000000000021004b000002bf0000c13d000013890030008c000004580000413d000001bc01000041000000800010043f0000002001000039000000840010043f0000002401000039000000a40010043f0000020a01000041000000c40010043f0000020b01000041000000e40010043f0000020301000041000006c200010430000000240030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000401100370000000000201043b0000000001020019000001b40020009c000006190000213d000400000001001d06c0064d0000040f0000000404000029000000000040043f0000000804000039000000200040043f000400000001001d000200000002001d000300000003001d0000004002000039000000000100001906c006a10000040f000000000101041a0000000202000039000000000202041a000001b402200197000000400300043d00000060043000390000000000240435000001b4011001970000002002300039000000000012043500000040013000390000000202000029000000000021043500000080013000390000000302000029000000000021043500000004010000290000000000130435000001b10030009c000001b1030080410000004001300210000001fe011001c7000006c10001042e000000440030008c000006190000413d0000000002000416000000000002004b000006190000c13d000000c002000039000000400020043f0000000402100370000000000202043b000000800020043f0000002401100370000000000101043b000000a00010043f000000000300041a000001b4033001970000000004000411000000000043004b000003030000c13d000013890020008c000003240000413d000001bc01000041000000c00010043f0000002001000039000000c40010043f0000002201000039000000e40010043f000001c701000041000001040010043f000001c601000041000001240010043f000001fd01000041000006c2000104300000000001000416000000000001004b000006190000c13d0000000101000039000000000201041a000001b4032001970000000006000411000000000063004b0000030c0000c13d000001b502200197000000000021041b000000000100041a000001b502100197000000000262019f000000000020041b0000000002000414000001b405100197000001b10020009c000001b102008041000000c001200210000001b6011001c70000800d020000390000000303000039000001b704000041000005a80000013d000000240030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000401100370000000000101043b000400000001001d000001b40010009c000006190000213d0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000402100039000000000202041a0000ff0000200190000000030110c0390000000701006039000000000101041a000013870010008c000003740000a13d000013880300003900000000020000190000000004000019000000000032001a0000026c0000413d00000000023200190000000001420019000000000021004b00000000020000390000000102004039000000010020008c000002930000c13d000001f901000041000000000010043f0000001101000039000000040010043f000001fa01000041000006c2000104300000000001000416000000000001004b000006190000c13d0000000101000039000000000101041a000001b401100197000000800010043f000001e701000041000006c10001042e000000440030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000402100370000000000202043b000001b40020009c000006190000213d0000002401100370000000000101043b000400000001001d000001b40010009c000006190000213d000000000020043f0000000301000039000000200010043f0000004002000039000000000100001906c006a10000040f000000040200002906c0063d0000040f000000000101041a000001b401100197000000400200043d0000000000120435000001b10020009c000001b1020080410000004001200210000001e6011001c7000006c10001042e0000000001000416000000000001004b000006190000c13d0000000701000039000000000101041a0000000602000039000000000202041a000000800020043f000000a00010043f0000021001000041000006c10001042e000000240030008c000006190000413d0000000002000416000000000002004b000006190000c13d0000000401100370000000000101043b000001b40010009c000006190000213d000000000200041a000001b4022001970000000003000411000000000032004b000002bf0000c13d000000000001004b000003a70000c13d000001bc01000041000000800010043f0000002001000039000000840010043f0000001801000039000000a40010043f000001c101000041000000c40010043f000001f501000041000006c200010430000001bc01000041000000800010043f0000002001000039000000840010043f000000a40010043f000001bb01000041000000c40010043f000001f501000041000006c200010430000013890050008c000003180000413d0000004402100039000001c503000041000000000032043500000024021000390000001c030000390000000000320435000001bc020000410000000000210435000000040210003900000020030000390000035f0000013d000001f901000041000000000010043f0000003201000039000000040010043f000001fa01000041000006c200010430000000a005000039000001f70300004100000000040000190000000006050019000000000503041a000000000556043600000001033000390000000104400039000000000014004b000002de0000413d000000410160008a0000021104100197000001f80040009c000000700000213d0000008001400039000000400010043f0000000000210435000000a002400039000000800300043d0000000000320435000000c002400039000000000003004b000002fa0000613d000000a00400003900000000050000190000000046040434000001b40660019700000000026204360000000105500039000000000035004b000002f40000413d0000000002120049000001b10020009c000001b1020080410000006002200210000001b10010009c000001b1010080410000004001100210000000000112019f000006c10001042e000001bc01000041000000c00010043f0000002001000039000000c40010043f000000e40010043f000001bb01000041000001040010043f000001fb01000041000006c200010430000001bc01000041000000800010043f0000002001000039000000840010043f0000002901000039000000a40010043f0000020101000041000000c40010043f0000020201000041000000e40010043f0000020301000041000006c2000104300000000003450019000013890030008c000003300000413d0000006402100039000001c20300004100000000003204350000004402100039000001c303000041000000000032043500000024021000390000002a03000039000001120000013d000013890010008c000003b60000413d000001bc01000041000000c00010043f0000002001000039000000c40010043f0000001c01000039000000e40010043f000001c501000041000001040010043f000001fb01000041000006c2000104300000000603000039000000000043041b0000000703000039000000000053041b000000000341043600000000020204330000000000230435000001b10010009c000001b10100804100000040011002100000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001b9011001c70000800d020000390000000103000039000001ba0400004106c006b60000040f0000000100200190000006190000613d000000000100041a000001b4011001970000000002000411000000000021004b000003550000c13d0000000401000029000001b402100198000000400100043d000005ad0000c13d0000004402100039000001c103000041000000000032043500000024021000390000001803000039000002cf0000013d000000400100043d0000004402100039000001bb030000410000000000320435000001bc02000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000001b10010009c000001b1010080410000004001100210000001bd011001c7000006c200010430000000000301001900000000030220190000000002018019000000000002004b000004710000c13d000001bc01000041000000800010043f0000002001000039000000840010043f0000001901000039000000a40010043f000001f401000041000000c40010043f000001f501000041000006c200010430000300000001001d0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d00000003030000290000138802300089000000000101043b0000000101100039000000000101041a000000000412004b000002620000a13d000200000004001d000100000001001d0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000402100039000000000202041a000000ff00200190000000020110c0390000000601006039000000000101041a0000000204000029000000000041004b000000000401a01900000003030000290000000102000029000000000032001a0000026c0000413d000002650000013d0000000202000039000000000302041a000001b503300197000000000313019f000000000032041b000000800010043f0000000001000414000001b10010009c000001b101008041000000c00110021000000200011001c70000800d020000390000000103000039000001bf04000041000005a80000013d0000000003210019000013890030008c0000059a0000413d000001bc01000041000000c00010043f0000002001000039000000c40010043f0000002a01000039000000e40010043f000001c301000041000001040010043f000001c201000041000001240010043f000001fd01000041000006c200010430000200000003001d0000000401000029000000000010043f0000000501000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000000101041a000000000001004b0000046a0000613d0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b00000003011000390000000202000029000000000021041b0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000401100039000000000201041a00000212022001970000000303000029000000000003004b000001000220c1bf000000000021041b000000400100043d0000002002100039000000000032043500000002020000290000000000210435000001b10010009c000001b10100804100000040011002100000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001b9011001c70000800d0200003900000002030000390000020504000041000006170000013d000200000003001d0000000401000029000000000010043f0000000501000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000000101041a000000000001004b0000046a0000613d0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b00000002011000390000000202000029000000000021041b0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000401100039000000000201041a00000213022001970000000303000029000000000232019f000000000021041b000000400100043d0000002002100039000000000032043500000002020000290000000000210435000001b10010009c000001b10100804100000040011002100000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001b9011001c70000800d0200003900000002030000390000020c04000041000006170000013d000200000003001d0000000401000029000000000010043f0000000501000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000000101041a000000000001004b000005c70000c13d000000400100043d00000044021000390000020d03000041000000000032043500000024021000390000001a03000039000002cf0000013d000400000003001d000300000002001d000000000020043f0000000301000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000402000029000000000020043f000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000400300043d000000000101043b000000000101041a000001b400100198000005d30000c13d000200000003001d000001e90030009c000000700000213d0000000203000029000000c001300039000000400010043f0000004401300039000001ea02000041000000000021043500000084010000390000000001130436000100000001001d00000003010000290000006003100210000000400100043d00000020021000390000000000320435000000040300002900000060033002100000003404100039000000000034043500000028030000390000000000310435000001eb0010009c000000700000213d0000006003100039000000400030043f000001b10020009c000001b10200804100000040022002100000000001010433000001b10010009c000001b1010080410000006001100210000000000121019f0000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001b6011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000020600002900000000020604330000000003000414000001ec04000041000000010700002900000000004704350000008404600039000000840520008a000000000054043500000064046000390000006005000039000000000054043500000024046000390000000000140435000001b10070009c000001b1070080410000004001700210000001b10020009c000001b1020080410000006002200210000000000112019f000001b10030009c000001b103008041000000c002300210000000000112019f000001b6011001c7000080060200003906c006b60000040f0000000100200190000200000000001d000004e00000613d000000000101043b000201b40010019b000001ed010000410000000000100443000000020100002900000004001004430000000001000414000001b10010009c000001b101008041000000c001100210000001ee011001c7000080020200003906c006bb0000040f00000001002001900000061b0000613d000000000101043b000000000001004b000006190000613d000000400300043d000000240130003900000004020000290000000000210435000001ef010000410000000000130435000100000003001d00000004013000390000000302000029000000000021043500000000010004140000000202000029000000040020008c0000050b0000613d0000000102000029000001b10020009c000001b1020080410000004002200210000001b10010009c000001b101008041000000c001100210000000000121019f000001f0011001c7000000020200002906c006b60000040f00000001002001900000061c0000613d0000000101000029000001f10010009c000000700000213d0000000101000029000000400010043f0000000301000029000000000010043f0000000301000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000402000029000000000020043f000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000000201041a000001b50220019700000002022001af000000000021041b0000000401000029000000000010043f0000000301000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000302000029000000000020043f000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000000201041a000001b5022001970000000203000029000000000232019f000000000021041b000000000030043f0000000501000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000000101041a000000000001004b0000057a0000c13d0000000401000039000000000101041a000001f10010009c000000700000213d00000001021000390000000403000039000000000023041b000001f20110009a0000000202000029000000000021041b000000000103041a000100000001001d000000000020043f0000000501000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b0000000102000029000000000021041b0000000401000039000000000101041a000000400200043d0000002003200039000000000013043500000002010000290000000000120435000001b10020009c000001b10200804100000040012002100000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001b9011001c70000800d020000390000000303000039000001f3040000410000000305000029000000040600002906c006b60000040f0000000100200190000006190000613d000000400100043d00000002020000290000000000210435000001b10010009c000001b1010080410000004001100210000001e6011001c7000006c10001042e0000000603000039000000000023041b0000000703000039000000000013041b000000c00020043f000000e00010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001fc011001c70000800d020000390000000103000039000001ba0400004106c006b60000040f0000000100200190000006190000613d0000000001000019000006c10001042e0000000203000039000000000403041a000001b504400197000000000424019f000000000043041b0000000000210435000001b10010009c000001b10100804100000040011002100000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001be011001c70000800d020000390000000103000039000001bf0400004106c006b60000040f0000000100200190000006190000613d000000200100003900000100001004430000012000000443000001c001000041000006c10001042e000000030000006b000005e30000c13d000000400100043d00000064021000390000020803000041000000000032043500000044021000390000020903000041000000000032043500000024021000390000002103000039000001120000013d0000004401300039000001e8020000410000000000210435000000240130003900000018020000390000000000210435000001bc010000410000000000130435000000040130003900000020020000390000000000210435000001b10030009c000001b1030080410000004001300210000001bd011001c7000006c2000104300000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b000000000201041a000001b50220019700000003022001af000000000021041b0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f0000000100200190000006190000613d000000000101043b00000001011000390000000203000029000000000031041b000000400100043d0000002002100039000000000032043500000003020000290000000000210435000001b10010009c000001b10100804100000040011002100000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001b9011001c70000800d02000039000000020300003900000207040000410000000405000029000005a80000013d0000000001000019000006c200010430000000000001042f000000000201001900000060062002700000001f0460018f000001b305600198000000400200043d0000000003520019000006290000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b000006250000c13d000001b106600197000000000004004b000006370000613d000000000151034f0000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001304350000006001600210000001b10020009c000001b1020080410000004002200210000000000112019f000006c200010430000001b402200197000000000020043f000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f00000001002001900000064b0000613d000000000101043b000000000001042d0000000001000019000006c2000104300004000000000002000001b401100197000400000001001d000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f00000001002001900000069e0000613d000000000101043b0000000402100039000000000202041a0000ff0000200190000000030110c0390000000701006039000000000101041a000013880010008c000006680000413d000013880400003900000000020000190000069b0000013d000300000001001d0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f00000001002001900000069e0000613d00000003040000290000138802400089000000000101043b0000000101100039000000000101041a000000000312004b0000069b0000a13d000100000003001d000200000001001d0000000401000029000000000010043f0000000801000039000000200010043f0000000001000414000001b10010009c000001b101008041000000c001100210000001b9011001c7000080100200003906c006bb0000040f00000001002001900000069e0000613d000000000101043b0000000402100039000000000202041a000000ff002001900000000304000029000000020110c039000000060100603900000002020000290000000103000029000000000101041a000000000031004b0000069c0000213d00000000030100190000000001040019000000000001042d00000000030000190000000001040019000000000001042d0000000001000019000006c200010430000000000001042f000001b10010009c000001b1010080410000004001100210000001b10020009c000001b1020080410000006002200210000000000112019f0000000002000414000001b10020009c000001b102008041000000c002200210000000000112019f000001b6011001c7000080100200003906c006bb0000040f0000000100200190000006b40000613d000000000101043b000000000001042d0000000001000019000006c200010430000006b9002104210000000102000039000000000001042d0000000002000019000000000001042d000006be002104230000000102000039000000000001042d0000000002000019000000000001042d000006c000000432000006c10001042e000006c200010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000000000000000000000000000000000000000000000ffffffffffffffbf0200000000000000000000000000000000000040000000000000000000000000ddf8083b55465587b48c2695a2ae37f430a30a016f339945497267abadf235b74f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657208c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000200000000000000000000000000000000000020000000000000000000000000867c1344c5717824d9f22c4ee0800bee4e221458de6fdf3f3769bd2c87b58c0300000002000000000000000000000000000000400000010000000000000000004d616769637377617056323a2042454e45464943494152590000000000000000203e204d41585f464545000000000000000000000000000000000000000000004d616769637377617056323a2070726f746f636f6c466565202b206c7046656500000000000000000000000000000000000000840000000000000000000000004d616769637377617056323a206c70466565203e204d41585f4645450000000045450000000000000000000000000000000000000000000000000000000000004d616769637377617056323a2070726f746f636f6c466565203e204d41585f46000000000000000000000000000000000000000000000000000000009585b0bd00000000000000000000000000000000000000000000000000000000c97682f700000000000000000000000000000000000000000000000000000000e30c397700000000000000000000000000000000000000000000000000000000e30c397800000000000000000000000000000000000000000000000000000000e6a4390500000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000c97682f800000000000000000000000000000000000000000000000000000000c9c6539600000000000000000000000000000000000000000000000000000000ceb80df2000000000000000000000000000000000000000000000000000000009d836a6d000000000000000000000000000000000000000000000000000000009d836a6e00000000000000000000000000000000000000000000000000000000b8f5421000000000000000000000000000000000000000000000000000000000bc063e1a000000000000000000000000000000000000000000000000000000009585b0be000000000000000000000000000000000000000000000000000000009af608c9000000000000000000000000000000000000000000000000000000006d587a3c0000000000000000000000000000000000000000000000000000000079ba50960000000000000000000000000000000000000000000000000000000079ba5097000000000000000000000000000000000000000000000000000000008c232838000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000006d587a3d000000000000000000000000000000000000000000000000000000006d771c5400000000000000000000000000000000000000000000000000000000715018a6000000000000000000000000000000000000000000000000000000003e158b90000000000000000000000000000000000000000000000000000000003e158b91000000000000000000000000000000000000000000000000000000004cc25b8800000000000000000000000000000000000000000000000000000000574f2ba300000000000000000000000000000000000000000000000000000000118b48e5000000000000000000000000000000000000000000000000000000001e3dd18b38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000008000000000000000004d616769637377617056323a20504149525f4558495354530000000000000000000000000000000000000000000000000000000000000000ffffffffffffff3f010004df694643e2d7e17535f16c21e9d1698b06c2ef330166830639b23b7f43000000000000000000000000000000000000000000000000ffffffffffffff9f3cda33511d41a8a5431b1770c5bc0ddd62e1cd30555d16659b89c0d60f4f9f571806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000485cc955000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff75ca53043ea007e5c65182cbb028f60d7179ff4b55739a3949b401801c942e650d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e94d616769637377617056323a205a45524f5f414444524553530000000000000000000000000000000000000000000000000000640000008000000000000000004d616769637377617056323a204944454e544943414c5f4144445245535345538a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b000000000000000000000000000000000000000000000000ffffffffffffff7f4e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000064000000c000000000000000000200000000000000000000000000000000000040000000c000000000000000000000000000000000000000000000000000000084000000c0000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000002000000000000000000000000000000000000200000008000000000000000004f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e65720000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000080000000000000000000000000000000000000000000000000000000c0000000800000000000000000ceba5185d0d459a90b443835ac388283f704e04596669f81310b9cfb4ad476fe4d616769637377617056323a205f6c70466565203e204d41585f4645450000003ca180d6c1ab216bb10fa647672355a43d0e0b12b035777f92e6fe7bf246a44264000000000000000000000000000000000000000000000000000000000000004d616769637377617056323a205f62656e656669636961727920696e76616c694d616769637377617056323a205f726f79616c74696573466565203e204d41585f4645450000000000000000000000000000000000000000000000000000000034d0d465daa88a90f6160d083195007eeca7c820e34e112d635e8281adb3321f4d616769637377617056323a205f7061697220696e76616c69640000000000004d616769637377617056323a205f70726f746f636f6c466565203e204d41585f46454500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00c0934eab6d0c4ffa4ae85b441d953cd8bf6dabcd278dba29fb1fa83c9c865498
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000005a25839b49eec2d4c173b42668a84f5988599929
-----Decoded View---------------
Arg [0] : _defaultProtocolFee (uint256): 30
Arg [1] : _defaultLpFee (uint256): 30
Arg [2] : _protocolFeeBeneficiary (address): 0x5A25839b49EEc2D4C173B42668a84f5988599929
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [1] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [2] : 0000000000000000000000005a25839b49eec2d4c173b42668a84f5988599929
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.