Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@openzeppelin/contracts

Package Overview
Dependencies
Maintainers
2
Versions
87
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openzeppelin/contracts - npm Package Compare versions

Comparing version 2.5.0 to 2.5.1

build/contracts/__unstable__ERC20Owned.json

234

build/contracts/Address.json

@@ -13,10 +13,10 @@ {

"Address": [
13372
13406
]
},
"id": 13373,
"id": 13407,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13299,
"id": 13333,
"literals": [

@@ -37,5 +37,5 @@ "solidity",

"fullyImplemented": true,
"id": 13372,
"id": 13406,
"linearizedBaseContracts": [
13372
13406
],

@@ -47,3 +47,3 @@ "name": "Address",

"body": {
"id": 13323,
"id": 13357,
"nodeType": "Block",

@@ -54,3 +54,3 @@ "src": "752:544:146",

"assignments": [
13307
13341
],

@@ -60,6 +60,6 @@ "declarations": [

"constant": false,
"id": 13307,
"id": 13341,
"name": "codehash",
"nodeType": "VariableDeclaration",
"scope": 13323,
"scope": 13357,
"src": "1004:16:146",

@@ -73,3 +73,3 @@ "stateVariable": false,

"typeName": {
"id": 13306,
"id": 13340,
"name": "bytes32",

@@ -87,3 +87,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 13308,
"id": 13342,
"initialValue": null,

@@ -95,3 +95,3 @@ "nodeType": "VariableDeclarationStatement",

"assignments": [
13310
13344
],

@@ -101,6 +101,6 @@ "declarations": [

"constant": false,
"id": 13310,
"id": 13344,
"name": "accountHash",
"nodeType": "VariableDeclaration",
"scope": 13323,
"scope": 13357,
"src": "1030:19:146",

@@ -114,3 +114,3 @@ "stateVariable": false,

"typeName": {
"id": 13309,
"id": 13343,
"name": "bytes32",

@@ -128,7 +128,7 @@ "nodeType": "ElementaryTypeName",

],
"id": 13312,
"id": 13346,
"initialValue": {
"argumentTypes": null,
"hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730",
"id": 13311,
"id": 13345,
"isConstant": false,

@@ -155,3 +155,3 @@ "isLValue": false,

"codehash": {
"declaration": 13307,
"declaration": 13341,
"isOffset": false,

@@ -165,3 +165,3 @@ "isSlot": false,

"account": {
"declaration": 13301,
"declaration": 13335,
"isOffset": false,

@@ -174,3 +174,3 @@ "isSlot": false,

],
"id": 13313,
"id": 13347,
"nodeType": "InlineAssembly",

@@ -190,3 +190,3 @@ "operations": "{\n codehash := extcodehash(account)\n}",

},
"id": 13320,
"id": 13354,
"isConstant": false,

@@ -202,3 +202,3 @@ "isLValue": false,

},
"id": 13316,
"id": 13350,
"isConstant": false,

@@ -210,7 +210,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13314,
"id": 13348,
"name": "codehash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13307,
"referencedDeclaration": 13341,
"src": "1246:8:146",

@@ -226,7 +226,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13315,
"id": 13349,
"name": "accountHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13310,
"referencedDeclaration": 13344,
"src": "1258:11:146",

@@ -252,3 +252,3 @@ "typeDescriptions": {

},
"id": 13319,
"id": 13353,
"isConstant": false,

@@ -260,7 +260,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13317,
"id": 13351,
"name": "codehash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13307,
"referencedDeclaration": 13341,
"src": "1273:8:146",

@@ -277,3 +277,3 @@ "typeDescriptions": {

"hexValue": "307830",
"id": 13318,
"id": 13352,
"isConstant": false,

@@ -306,3 +306,3 @@ "isLValue": false,

],
"id": 13321,
"id": 13355,
"isConstant": false,

@@ -320,4 +320,4 @@ "isInlineArray": false,

},
"functionReturnParameters": 13305,
"id": 13322,
"functionReturnParameters": 13339,
"id": 13356,
"nodeType": "Return",

@@ -329,3 +329,3 @@ "src": "1238:51:146"

"documentation": "@dev Returns true if `account` is a contract.\n * [IMPORTANT]\n====\nIt is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.\n * Among others, `isContract` will return false for the following \ntypes of addresses:\n * - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n====",
"id": 13324,
"id": 13358,
"implemented": true,

@@ -337,3 +337,3 @@ "kind": "function",

"parameters": {
"id": 13302,
"id": 13336,
"nodeType": "ParameterList",

@@ -343,6 +343,6 @@ "parameters": [

"constant": false,
"id": 13301,
"id": 13335,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 13324,
"scope": 13358,
"src": "706:15:146",

@@ -356,3 +356,3 @@ "stateVariable": false,

"typeName": {
"id": 13300,
"id": 13334,
"name": "address",

@@ -374,3 +374,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13305,
"id": 13339,
"nodeType": "ParameterList",

@@ -380,6 +380,6 @@ "parameters": [

"constant": false,
"id": 13304,
"id": 13338,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13324,
"scope": 13358,
"src": "746:4:146",

@@ -393,3 +393,3 @@ "stateVariable": false,

"typeName": {
"id": 13303,
"id": 13337,
"name": "bool",

@@ -409,3 +409,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 13372,
"scope": 13406,
"src": "686:610:146",

@@ -418,3 +418,3 @@ "stateMutability": "view",

"body": {
"id": 13337,
"id": 13371,
"nodeType": "Block",

@@ -432,7 +432,7 @@ "src": "1581:49:146",

"argumentTypes": null,
"id": 13333,
"id": 13367,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13326,
"referencedDeclaration": 13360,
"src": "1614:7:146",

@@ -452,3 +452,3 @@ "typeDescriptions": {

],
"id": 13332,
"id": 13366,
"isConstant": false,

@@ -466,3 +466,3 @@ "isLValue": false,

},
"id": 13334,
"id": 13368,
"isConstant": false,

@@ -489,3 +489,3 @@ "isLValue": false,

],
"id": 13331,
"id": 13365,
"isConstant": false,

@@ -503,3 +503,3 @@ "isLValue": false,

},
"id": 13335,
"id": 13369,
"isConstant": false,

@@ -518,4 +518,4 @@ "isLValue": false,

},
"functionReturnParameters": 13330,
"id": 13336,
"functionReturnParameters": 13364,
"id": 13370,
"nodeType": "Return",

@@ -527,3 +527,3 @@ "src": "1591:32:146"

"documentation": "@dev Converts an `address` into `address payable`. Note that this is\nsimply a type cast: the actual underlying value is not changed.\n * _Available since v2.4.0._",
"id": 13338,
"id": 13372,
"implemented": true,

@@ -535,3 +535,3 @@ "kind": "function",

"parameters": {
"id": 13327,
"id": 13361,
"nodeType": "ParameterList",

@@ -541,6 +541,6 @@ "parameters": [

"constant": false,
"id": 13326,
"id": 13360,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 13338,
"scope": 13372,
"src": "1524:15:146",

@@ -554,3 +554,3 @@ "stateVariable": false,

"typeName": {
"id": 13325,
"id": 13359,
"name": "address",

@@ -572,3 +572,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13330,
"id": 13364,
"nodeType": "ParameterList",

@@ -578,6 +578,6 @@ "parameters": [

"constant": false,
"id": 13329,
"id": 13363,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13338,
"scope": 13372,
"src": "1564:15:146",

@@ -591,3 +591,3 @@ "stateVariable": false,

"typeName": {
"id": 13328,
"id": 13362,
"name": "address",

@@ -608,3 +608,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 13372,
"scope": 13406,
"src": "1505:125:146",

@@ -617,3 +617,3 @@ "stateMutability": "pure",

"body": {
"id": 13370,
"id": 13404,
"nodeType": "Block",

@@ -632,3 +632,3 @@ "src": "2658:294:146",

},
"id": 13351,
"id": 13385,
"isConstant": false,

@@ -645,10 +645,10 @@ "isLValue": false,

"argumentTypes": null,
"id": 13347,
"id": 13381,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13937,
"referencedDeclaration": 13971,
"src": "2684:4:146",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Address_$13372",
"typeIdentifier": "t_contract$_Address_$13406",
"typeString": "library Address"

@@ -661,7 +661,7 @@ }

{
"typeIdentifier": "t_contract$_Address_$13372",
"typeIdentifier": "t_contract$_Address_$13406",
"typeString": "library Address"
}
],
"id": 13346,
"id": 13380,
"isConstant": false,

@@ -679,3 +679,3 @@ "isLValue": false,

},
"id": 13348,
"id": 13382,
"isConstant": false,

@@ -694,3 +694,3 @@ "isLValue": false,

},
"id": 13349,
"id": 13383,
"isConstant": false,

@@ -713,7 +713,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13350,
"id": 13384,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13342,
"referencedDeclaration": 13376,
"src": "2701:6:146",

@@ -734,3 +734,3 @@ "typeDescriptions": {

"hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365",
"id": 13352,
"id": 13386,
"isConstant": false,

@@ -762,10 +762,10 @@ "isLValue": false,

],
"id": 13345,
"id": 13379,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "2668:7:146",

@@ -777,3 +777,3 @@ "typeDescriptions": {

},
"id": 13353,
"id": 13387,
"isConstant": false,

@@ -792,3 +792,3 @@ "isLValue": false,

},
"id": 13354,
"id": 13388,
"nodeType": "ExpressionStatement",

@@ -799,3 +799,3 @@ "src": "2668:73:146"

"assignments": [
13356,
13390,
null

@@ -806,6 +806,6 @@ ],

"constant": false,
"id": 13356,
"id": 13390,
"name": "success",
"nodeType": "VariableDeclaration",
"scope": 13370,
"scope": 13404,
"src": "2807:12:146",

@@ -819,3 +819,3 @@ "stateVariable": false,

"typeName": {
"id": 13355,
"id": 13389,
"name": "bool",

@@ -834,3 +834,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 13364,
"id": 13398,
"initialValue": {

@@ -842,3 +842,3 @@ "argumentTypes": null,

"hexValue": "",
"id": 13362,
"id": 13396,
"isConstant": false,

@@ -869,7 +869,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13360,
"id": 13394,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13342,
"referencedDeclaration": 13376,
"src": "2846:6:146",

@@ -893,7 +893,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13357,
"id": 13391,
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13340,
"referencedDeclaration": 13374,
"src": "2825:9:146",

@@ -905,3 +905,3 @@ "typeDescriptions": {

},
"id": 13358,
"id": 13392,
"isConstant": false,

@@ -920,3 +920,3 @@ "isLValue": false,

},
"id": 13359,
"id": 13393,
"isConstant": false,

@@ -935,3 +935,3 @@ "isLValue": false,

},
"id": 13361,
"id": 13395,
"isConstant": false,

@@ -950,3 +950,3 @@ "isLValue": false,

},
"id": 13363,
"id": 13397,
"isConstant": false,

@@ -974,7 +974,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13366,
"id": 13400,
"name": "success",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13356,
"referencedDeclaration": 13390,
"src": "2875:7:146",

@@ -989,3 +989,3 @@ "typeDescriptions": {

"hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564",
"id": 13367,
"id": 13401,
"isConstant": false,

@@ -1017,10 +1017,10 @@ "isLValue": false,

],
"id": 13365,
"id": 13399,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "2867:7:146",

@@ -1032,3 +1032,3 @@ "typeDescriptions": {

},
"id": 13368,
"id": 13402,
"isConstant": false,

@@ -1047,3 +1047,3 @@ "isLValue": false,

},
"id": 13369,
"id": 13403,
"nodeType": "ExpressionStatement",

@@ -1055,3 +1055,3 @@ "src": "2867:78:146"

"documentation": "@dev Replacement for Solidity's `transfer`: sends `amount` wei to\n`recipient`, forwarding all available gas and reverting on errors.\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\nof certain opcodes, possibly making contracts go over the 2300 gas limit\nimposed by `transfer`, making them unable to receive funds via\n`transfer`. {sendValue} removes this limitation.\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n * IMPORTANT: because control is transferred to `recipient`, care must be\ntaken to not create reentrancy vulnerabilities. Consider using\n{ReentrancyGuard} or the\nhttps://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n * _Available since v2.4.0._",
"id": 13371,
"id": 13405,
"implemented": true,

@@ -1063,3 +1063,3 @@ "kind": "function",

"parameters": {
"id": 13343,
"id": 13377,
"nodeType": "ParameterList",

@@ -1069,6 +1069,6 @@ "parameters": [

"constant": false,
"id": 13340,
"id": 13374,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 13371,
"scope": 13405,
"src": "2606:25:146",

@@ -1082,3 +1082,3 @@ "stateVariable": false,

"typeName": {
"id": 13339,
"id": 13373,
"name": "address",

@@ -1098,6 +1098,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13342,
"id": 13376,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 13371,
"scope": 13405,
"src": "2633:14:146",

@@ -1111,3 +1111,3 @@ "stateVariable": false,

"typeName": {
"id": 13341,
"id": 13375,
"name": "uint256",

@@ -1128,3 +1128,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13344,
"id": 13378,
"nodeType": "ParameterList",

@@ -1134,3 +1134,3 @@ "parameters": [],

},
"scope": 13372,
"scope": 13406,
"src": "2587:365:146",

@@ -1142,3 +1142,3 @@ "stateMutability": "nonpayable",

],
"scope": 13373,
"scope": 13407,
"src": "93:2861:146"

@@ -1149,7 +1149,7 @@ }

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158200d2bb129cc158819afa89cea7cad30453b6037790f9e8c19576a03413e2ac24464736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158200d2bb129cc158819afa89cea7cad30453b6037790f9e8c19576a03413e2ac24464736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158207dac508a98555a70e50ecdaacf7b04e4526867182bfe965fdda80e3691b7ddb864736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158207dac508a98555a70e50ecdaacf7b04e4526867182bfe965fdda80e3691b7ddb864736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1156,0 +1156,0 @@ "enabled": false,

@@ -201,3 +201,3 @@ {

"scope": 2557,
"sourceUnit": 10201,
"sourceUnit": 10217,
"src": "52:38:18",

@@ -213,3 +213,3 @@ "symbolAliases": [],

"scope": 2557,
"sourceUnit": 10421,
"sourceUnit": 10437,
"src": "91:41:18",

@@ -265,3 +265,3 @@ "symbolAliases": [],

2119,
13786
13820
],

@@ -275,3 +275,3 @@ "contractKind": "contract",

2119,
13786,
13820,
26

@@ -316,6 +316,6 @@ ],

"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10420,
"referencedDeclaration": 10436,
"src": "432:9:18",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SafeERC20_$10420",
"typeIdentifier": "t_contract$_SafeERC20_$10436",
"typeString": "library SafeERC20"

@@ -331,6 +331,6 @@ }

"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10200,
"referencedDeclaration": 10216,
"src": "446:6:18",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10200",
"typeIdentifier": "t_contract$_IERC20_$10216",
"typeString": "contract IERC20"

@@ -499,6 +499,6 @@ }

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "715:7:18",

@@ -755,3 +755,3 @@ "typeDescriptions": {

"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10200_$",
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10216_$",
"typeString": "function () view returns (contract IERC20)"

@@ -770,3 +770,3 @@ }

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10200",
"typeIdentifier": "t_contract$_IERC20_$10216",
"typeString": "contract IERC20"

@@ -782,3 +782,3 @@ }

"nodeType": "MemberAccess",
"referencedDeclaration": 10145,
"referencedDeclaration": 10161,
"src": "1249:17:18",

@@ -829,3 +829,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13991,
"referencedDeclaration": 14025,
"src": "1322:4:18",

@@ -896,3 +896,3 @@ "typeDescriptions": {

"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10200_$",
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10216_$",
"typeString": "function () view returns (contract IERC20)"

@@ -911,3 +911,3 @@ }

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10200",
"typeIdentifier": "t_contract$_IERC20_$10216",
"typeString": "contract IERC20"

@@ -923,3 +923,3 @@ }

"nodeType": "MemberAccess",
"referencedDeclaration": 10163,
"referencedDeclaration": 10179,
"src": "1282:17:18",

@@ -1134,3 +1134,3 @@ "typeDescriptions": {

"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10200_$",
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10216_$",
"typeString": "function () view returns (contract IERC20)"

@@ -1149,3 +1149,3 @@ }

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10200",
"typeIdentifier": "t_contract$_IERC20_$10216",
"typeString": "contract IERC20"

@@ -1161,6 +1161,6 @@ }

"nodeType": "MemberAccess",
"referencedDeclaration": 10258,
"referencedDeclaration": 10274,
"src": "1612:24:18",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10200_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10200_$",
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10216_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10216_$",
"typeString": "function (contract IERC20,address,address,uint256)"

@@ -1279,3 +1279,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1282,0 +1282,0 @@ "enabled": false,

@@ -13,10 +13,10 @@ {

"Arrays": [
13455
13489
]
},
"id": 13456,
"id": 13490,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13374,
"id": 13408,
"literals": [

@@ -34,5 +34,5 @@ "solidity",

"file": "../math/Math.sol",
"id": 13375,
"id": 13409,
"nodeType": "ImportDirective",
"scope": 13456,
"scope": 13490,
"sourceUnit": 5113,

@@ -49,5 +49,5 @@ "src": "25:26:147",

"fullyImplemented": true,
"id": 13455,
"id": 13489,
"linearizedBaseContracts": [
13455
13489
],

@@ -59,3 +59,3 @@ "name": "Arrays",

"body": {
"id": 13453,
"id": 13487,
"nodeType": "Block",

@@ -71,3 +71,3 @@ "src": "647:794:147",

},
"id": 13388,
"id": 13422,
"isConstant": false,

@@ -81,7 +81,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13385,
"id": 13419,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13378,
"referencedDeclaration": 13412,
"src": "661:5:147",

@@ -93,3 +93,3 @@ "typeDescriptions": {

},
"id": 13386,
"id": 13420,
"isConstant": false,

@@ -113,3 +113,3 @@ "isLValue": true,

"hexValue": "30",
"id": 13387,
"id": 13421,
"isConstant": false,

@@ -136,7 +136,7 @@ "isLValue": false,

"falseBody": null,
"id": 13392,
"id": 13426,
"nodeType": "IfStatement",
"src": "657:56:147",
"trueBody": {
"id": 13391,
"id": 13425,
"nodeType": "Block",

@@ -149,3 +149,3 @@ "src": "680:33:147",

"hexValue": "30",
"id": 13389,
"id": 13423,
"isConstant": false,

@@ -165,4 +165,4 @@ "isLValue": false,

},
"functionReturnParameters": 13384,
"id": 13390,
"functionReturnParameters": 13418,
"id": 13424,
"nodeType": "Return",

@@ -176,3 +176,3 @@ "src": "694:8:147"

"assignments": [
13394
13428
],

@@ -182,6 +182,6 @@ "declarations": [

"constant": false,
"id": 13394,
"id": 13428,
"name": "low",
"nodeType": "VariableDeclaration",
"scope": 13453,
"scope": 13487,
"src": "723:11:147",

@@ -195,3 +195,3 @@ "stateVariable": false,

"typeName": {
"id": 13393,
"id": 13427,
"name": "uint256",

@@ -209,7 +209,7 @@ "nodeType": "ElementaryTypeName",

],
"id": 13396,
"id": 13430,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 13395,
"id": 13429,
"isConstant": false,

@@ -234,3 +234,3 @@ "isLValue": false,

"assignments": [
13398
13432
],

@@ -240,6 +240,6 @@ "declarations": [

"constant": false,
"id": 13398,
"id": 13432,
"name": "high",
"nodeType": "VariableDeclaration",
"scope": 13453,
"scope": 13487,
"src": "748:12:147",

@@ -253,3 +253,3 @@ "stateVariable": false,

"typeName": {
"id": 13397,
"id": 13431,
"name": "uint256",

@@ -267,3 +267,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 13401,
"id": 13435,
"initialValue": {

@@ -273,7 +273,7 @@ "argumentTypes": null,

"argumentTypes": null,
"id": 13399,
"id": 13433,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13378,
"referencedDeclaration": 13412,
"src": "763:5:147",

@@ -285,3 +285,3 @@ "typeDescriptions": {

},
"id": 13400,
"id": 13434,
"isConstant": false,

@@ -305,3 +305,3 @@ "isLValue": true,

"body": {
"id": 13431,
"id": 13465,
"nodeType": "Block",

@@ -312,3 +312,3 @@ "src": "805:395:147",

"assignments": [
13406
13440
],

@@ -318,6 +318,6 @@ "declarations": [

"constant": false,
"id": 13406,
"id": 13440,
"name": "mid",
"nodeType": "VariableDeclaration",
"scope": 13431,
"scope": 13465,
"src": "819:11:147",

@@ -331,3 +331,3 @@ "stateVariable": false,

"typeName": {
"id": 13405,
"id": 13439,
"name": "uint256",

@@ -345,3 +345,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 13412,
"id": 13446,
"initialValue": {

@@ -352,7 +352,7 @@ "argumentTypes": null,

"argumentTypes": null,
"id": 13409,
"id": 13443,
"name": "low",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13394,
"referencedDeclaration": 13428,
"src": "846:3:147",

@@ -366,7 +366,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13410,
"id": 13444,
"name": "high",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13398,
"referencedDeclaration": 13432,
"src": "851:4:147",

@@ -392,3 +392,3 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13407,
"id": 13441,
"name": "Math",

@@ -404,3 +404,3 @@ "nodeType": "Identifier",

},
"id": 13408,
"id": 13442,
"isConstant": false,

@@ -419,3 +419,3 @@ "isLValue": false,

},
"id": 13411,
"id": 13445,
"isConstant": false,

@@ -444,3 +444,3 @@ "isLValue": false,

},
"id": 13417,
"id": 13451,
"isConstant": false,

@@ -454,7 +454,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13413,
"id": 13447,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13378,
"referencedDeclaration": 13412,
"src": "1073:5:147",

@@ -466,10 +466,10 @@ "typeDescriptions": {

},
"id": 13415,
"id": 13449,
"indexExpression": {
"argumentTypes": null,
"id": 13414,
"id": 13448,
"name": "mid",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13406,
"referencedDeclaration": 13440,
"src": "1079:3:147",

@@ -496,7 +496,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13416,
"id": 13450,
"name": "element",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13380,
"referencedDeclaration": 13414,
"src": "1086:7:147",

@@ -515,3 +515,3 @@ "typeDescriptions": {

"falseBody": {
"id": 13429,
"id": 13463,
"nodeType": "Block",

@@ -523,3 +523,3 @@ "src": "1144:46:147",

"argumentTypes": null,
"id": 13427,
"id": 13461,
"isConstant": false,

@@ -531,7 +531,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13423,
"id": 13457,
"name": "low",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13394,
"referencedDeclaration": 13428,
"src": "1162:3:147",

@@ -551,3 +551,3 @@ "typeDescriptions": {

},
"id": 13426,
"id": 13460,
"isConstant": false,

@@ -559,7 +559,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13424,
"id": 13458,
"name": "mid",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13406,
"referencedDeclaration": 13440,
"src": "1168:3:147",

@@ -576,3 +576,3 @@ "typeDescriptions": {

"hexValue": "31",
"id": 13425,
"id": 13459,
"isConstant": false,

@@ -604,3 +604,3 @@ "isLValue": false,

},
"id": 13428,
"id": 13462,
"nodeType": "ExpressionStatement",

@@ -611,7 +611,7 @@ "src": "1162:13:147"

},
"id": 13430,
"id": 13464,
"nodeType": "IfStatement",
"src": "1069:121:147",
"trueBody": {
"id": 13422,
"id": 13456,
"nodeType": "Block",

@@ -623,3 +623,3 @@ "src": "1095:43:147",

"argumentTypes": null,
"id": 13420,
"id": 13454,
"isConstant": false,

@@ -631,7 +631,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13418,
"id": 13452,
"name": "high",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13398,
"referencedDeclaration": 13432,
"src": "1113:4:147",

@@ -647,7 +647,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13419,
"id": 13453,
"name": "mid",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13406,
"referencedDeclaration": 13440,
"src": "1120:3:147",

@@ -665,3 +665,3 @@ "typeDescriptions": {

},
"id": 13421,
"id": 13455,
"nodeType": "ExpressionStatement",

@@ -681,3 +681,3 @@ "src": "1113:10:147"

},
"id": 13404,
"id": 13438,
"isConstant": false,

@@ -689,7 +689,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13402,
"id": 13436,
"name": "low",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13394,
"referencedDeclaration": 13428,
"src": "793:3:147",

@@ -705,7 +705,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13403,
"id": 13437,
"name": "high",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13398,
"referencedDeclaration": 13432,
"src": "799:4:147",

@@ -723,3 +723,3 @@ "typeDescriptions": {

},
"id": 13432,
"id": 13466,
"nodeType": "WhileStatement",

@@ -735,3 +735,3 @@ "src": "786:414:147"

},
"id": 13443,
"id": 13477,
"isConstant": false,

@@ -747,3 +747,3 @@ "isLValue": false,

},
"id": 13435,
"id": 13469,
"isConstant": false,

@@ -755,7 +755,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13433,
"id": 13467,
"name": "low",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13394,
"referencedDeclaration": 13428,
"src": "1317:3:147",

@@ -772,3 +772,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 13434,
"id": 13468,
"isConstant": false,

@@ -802,3 +802,3 @@ "isLValue": false,

},
"id": 13442,
"id": 13476,
"isConstant": false,

@@ -812,7 +812,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13436,
"id": 13470,
"name": "array",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13378,
"referencedDeclaration": 13412,
"src": "1328:5:147",

@@ -824,3 +824,3 @@ "typeDescriptions": {

},
"id": 13440,
"id": 13474,
"indexExpression": {

@@ -832,3 +832,3 @@ "argumentTypes": null,

},
"id": 13439,
"id": 13473,
"isConstant": false,

@@ -840,7 +840,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13437,
"id": 13471,
"name": "low",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13394,
"referencedDeclaration": 13428,
"src": "1334:3:147",

@@ -857,3 +857,3 @@ "typeDescriptions": {

"hexValue": "31",
"id": 13438,
"id": 13472,
"isConstant": false,

@@ -894,7 +894,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13441,
"id": 13475,
"name": "element",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13380,
"referencedDeclaration": 13414,
"src": "1346:7:147",

@@ -919,3 +919,3 @@ "typeDescriptions": {

"falseBody": {
"id": 13451,
"id": 13485,
"nodeType": "Block",

@@ -927,7 +927,7 @@ "src": "1400:35:147",

"argumentTypes": null,
"id": 13449,
"id": 13483,
"name": "low",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13394,
"referencedDeclaration": 13428,
"src": "1421:3:147",

@@ -939,4 +939,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 13384,
"id": 13450,
"functionReturnParameters": 13418,
"id": 13484,
"nodeType": "Return",

@@ -947,7 +947,7 @@ "src": "1414:10:147"

},
"id": 13452,
"id": 13486,
"nodeType": "IfStatement",
"src": "1313:122:147",
"trueBody": {
"id": 13448,
"id": 13482,
"nodeType": "Block",

@@ -963,3 +963,3 @@ "src": "1355:39:147",

},
"id": 13446,
"id": 13480,
"isConstant": false,

@@ -971,7 +971,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13444,
"id": 13478,
"name": "low",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13394,
"referencedDeclaration": 13428,
"src": "1376:3:147",

@@ -988,3 +988,3 @@ "typeDescriptions": {

"hexValue": "31",
"id": 13445,
"id": 13479,
"isConstant": false,

@@ -1010,4 +1010,4 @@ "isLValue": false,

},
"functionReturnParameters": 13384,
"id": 13447,
"functionReturnParameters": 13418,
"id": 13481,
"nodeType": "Return",

@@ -1022,3 +1022,3 @@ "src": "1369:14:147"

"documentation": "@dev Searches a sorted `array` and returns the first index that contains\na value greater or equal to `element`. If no such index exists (i.e. all\nvalues in the array are strictly less than `element`), the array length is\nreturned. Time complexity O(log n).\n * `array` is expected to be sorted in ascending order, and to contain no\nrepeated elements.",
"id": 13454,
"id": 13488,
"implemented": true,

@@ -1030,3 +1030,3 @@ "kind": "function",

"parameters": {
"id": 13381,
"id": 13415,
"nodeType": "ParameterList",

@@ -1036,6 +1036,6 @@ "parameters": [

"constant": false,
"id": 13378,
"id": 13412,
"name": "array",
"nodeType": "VariableDeclaration",
"scope": 13454,
"scope": 13488,
"src": "573:23:147",

@@ -1050,3 +1050,3 @@ "stateVariable": false,

"baseType": {
"id": 13376,
"id": 13410,
"name": "uint256",

@@ -1060,3 +1060,3 @@ "nodeType": "ElementaryTypeName",

},
"id": 13377,
"id": 13411,
"length": null,

@@ -1075,6 +1075,6 @@ "nodeType": "ArrayTypeName",

"constant": false,
"id": 13380,
"id": 13414,
"name": "element",
"nodeType": "VariableDeclaration",
"scope": 13454,
"scope": 13488,
"src": "598:15:147",

@@ -1088,3 +1088,3 @@ "stateVariable": false,

"typeName": {
"id": 13379,
"id": 13413,
"name": "uint256",

@@ -1105,3 +1105,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13384,
"id": 13418,
"nodeType": "ParameterList",

@@ -1111,6 +1111,6 @@ "parameters": [

"constant": false,
"id": 13383,
"id": 13417,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13454,
"scope": 13488,
"src": "638:7:147",

@@ -1124,3 +1124,3 @@ "stateVariable": false,

"typeName": {
"id": 13382,
"id": 13416,
"name": "uint256",

@@ -1140,3 +1140,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 13455,
"scope": 13489,
"src": "549:892:147",

@@ -1148,3 +1148,3 @@ "stateMutability": "view",

],
"scope": 13456,
"scope": 13490,
"src": "117:1326:147"

@@ -1155,7 +1155,7 @@ }

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820416c5ce979f7815f8f381f9a1575b37d9973b8e3a80dfd4fd1e9a5af941ebce364736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820416c5ce979f7815f8f381f9a1575b37d9973b8e3a80dfd4fd1e9a5af941ebce364736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158201ae85433694e14a024686a8c11557dac68e0b04f456bd74290e15be2e37bb59f64736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158201ae85433694e14a024686a8c11557dac68e0b04f456bd74290e15be2e37bb59f64736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1162,0 +1162,0 @@ "enabled": false,

@@ -230,3 +230,3 @@ {

2119,
13786
13820
],

@@ -240,3 +240,3 @@ "contractKind": "contract",

2119,
13786,
13820,
26

@@ -394,6 +394,6 @@ ],

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "474:7:21",

@@ -784,3 +784,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 14000,
"referencedDeclaration": 14034,
"src": "1182:5:21",

@@ -976,6 +976,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1242:7:21",

@@ -1097,3 +1097,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1100,0 +1100,0 @@ "enabled": false,

@@ -522,6 +522,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "387:7:7",

@@ -1350,3 +1350,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1353,0 +1353,0 @@ "enabled": false,

@@ -182,10 +182,10 @@ {

"ConditionalEscrow": [
9156
9172
]
},
"id": 9157,
"id": 9173,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9126,
"id": 9142,
"literals": [

@@ -203,6 +203,6 @@ "solidity",

"file": "./Escrow.sol",
"id": 9127,
"id": 9143,
"nodeType": "ImportDirective",
"scope": 9157,
"sourceUnit": 9290,
"scope": 9173,
"sourceUnit": 9306,
"src": "25:22:116",

@@ -218,13 +218,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 9128,
"id": 9144,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9289,
"referencedDeclaration": 9305,
"src": "264:6:116",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"
}
},
"id": 9129,
"id": 9145,
"nodeType": "InheritanceSpecifier",

@@ -236,4 +236,4 @@ "src": "264:6:116"

26,
8763,
9289
8779,
9305
],

@@ -243,7 +243,7 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 9156,
"id": 9172,
"linearizedBaseContracts": [
9156,
9289,
8763,
9172,
9305,
8779,
26

@@ -257,3 +257,3 @@ ],

"documentation": "@dev Returns whether an address is allowed to withdraw their funds. To be\nimplemented by derived contracts.\n@param payee The destination address of the funds.",
"id": 9136,
"id": 9152,
"implemented": false,

@@ -265,3 +265,3 @@ "kind": "function",

"parameters": {
"id": 9132,
"id": 9148,
"nodeType": "ParameterList",

@@ -271,6 +271,6 @@ "parameters": [

"constant": false,
"id": 9131,
"id": 9147,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9136,
"scope": 9152,
"src": "500:13:116",

@@ -284,3 +284,3 @@ "stateVariable": false,

"typeName": {
"id": 9130,
"id": 9146,
"name": "address",

@@ -302,3 +302,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9135,
"id": 9151,
"nodeType": "ParameterList",

@@ -308,6 +308,6 @@ "parameters": [

"constant": false,
"id": 9134,
"id": 9150,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9136,
"scope": 9152,
"src": "536:4:116",

@@ -321,3 +321,3 @@ "stateVariable": false,

"typeName": {
"id": 9133,
"id": 9149,
"name": "bool",

@@ -337,3 +337,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 9156,
"scope": 9172,
"src": "473:69:116",

@@ -346,3 +346,3 @@ "stateMutability": "view",

"body": {
"id": 9154,
"id": 9170,
"nodeType": "Block",

@@ -360,7 +360,7 @@ "src": "596:136:116",

"argumentTypes": null,
"id": 9143,
"id": 9159,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9138,
"referencedDeclaration": 9154,
"src": "632:5:116",

@@ -380,7 +380,7 @@ "typeDescriptions": {

],
"id": 9142,
"id": 9158,
"name": "withdrawalAllowed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9136,
"referencedDeclaration": 9152,
"src": "614:17:116",

@@ -392,3 +392,3 @@ "typeDescriptions": {

},
"id": 9144,
"id": 9160,
"isConstant": false,

@@ -410,3 +410,3 @@ "isLValue": false,

"hexValue": "436f6e646974696f6e616c457363726f773a207061796565206973206e6f7420616c6c6f77656420746f207769746864726177",
"id": 9145,
"id": 9161,
"isConstant": false,

@@ -438,10 +438,10 @@ "isLValue": false,

],
"id": 9141,
"id": 9157,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "606:7:116",

@@ -453,3 +453,3 @@ "typeDescriptions": {

},
"id": 9146,
"id": 9162,
"isConstant": false,

@@ -468,3 +468,3 @@ "isLValue": false,

},
"id": 9147,
"id": 9163,
"nodeType": "ExpressionStatement",

@@ -479,7 +479,7 @@ "src": "606:88:116"

"argumentTypes": null,
"id": 9151,
"id": 9167,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9138,
"referencedDeclaration": 9154,
"src": "719:5:116",

@@ -501,14 +501,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9148,
"id": 9164,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13982,
"referencedDeclaration": 14016,
"src": "704:5:116",
"typeDescriptions": {
"typeIdentifier": "t_super$_ConditionalEscrow_$9156",
"typeIdentifier": "t_super$_ConditionalEscrow_$9172",
"typeString": "contract super ConditionalEscrow"
}
},
"id": 9150,
"id": 9166,
"isConstant": false,

@@ -520,3 +520,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9257,
"referencedDeclaration": 9273,
"src": "704:14:116",

@@ -528,3 +528,3 @@ "typeDescriptions": {

},
"id": 9152,
"id": 9168,
"isConstant": false,

@@ -543,3 +543,3 @@ "isLValue": false,

},
"id": 9153,
"id": 9169,
"nodeType": "ExpressionStatement",

@@ -551,3 +551,3 @@ "src": "704:21:116"

"documentation": null,
"id": 9155,
"id": 9171,
"implemented": true,

@@ -559,3 +559,3 @@ "kind": "function",

"parameters": {
"id": 9139,
"id": 9155,
"nodeType": "ParameterList",

@@ -565,6 +565,6 @@ "parameters": [

"constant": false,
"id": 9138,
"id": 9154,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9155,
"scope": 9171,
"src": "566:21:116",

@@ -578,3 +578,3 @@ "stateVariable": false,

"typeName": {
"id": 9137,
"id": 9153,
"name": "address",

@@ -596,3 +596,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9140,
"id": 9156,
"nodeType": "ParameterList",

@@ -602,10 +602,10 @@ "parameters": [],

},
"scope": 9156,
"scope": 9172,
"src": "548:184:116",
"stateMutability": "nonpayable",
"superFunction": 9257,
"superFunction": 9273,
"visibility": "public"
}
],
"scope": 9157,
"scope": 9173,
"src": "234:500:116"

@@ -620,3 +620,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -623,0 +623,0 @@ "enabled": false,

@@ -97,3 +97,3 @@ {

"overloadedDeclarations": [],
"referencedDeclaration": 13909,
"referencedDeclaration": 13943,
"src": "867:3:0",

@@ -192,3 +192,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13923,
"referencedDeclaration": 13957,
"src": "957:4:0",

@@ -213,3 +213,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13909,
"referencedDeclaration": 13943,
"src": "1097:3:0",

@@ -305,3 +305,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -308,0 +308,0 @@ "enabled": false,

@@ -575,7 +575,7 @@ {

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820d3197a6ad96afba284013f6ba140148cfdbea33efc5e97b242f73529c4c43c9a64736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820d3197a6ad96afba284013f6ba140148cfdbea33efc5e97b242f73529c4c43c9a64736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582072a764507ff9f89c3586f2d27e087e4afb8bd7fb4e99b6786e8c79842351399b64736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582072a764507ff9f89c3586f2d27e087e4afb8bd7fb4e99b6786e8c79842351399b64736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -582,0 +582,0 @@ "enabled": false,

@@ -13,10 +13,10 @@ {

"Create2": [
13541
13575
]
},
"id": 13542,
"id": 13576,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13457,
"id": 13491,
"literals": [

@@ -37,5 +37,5 @@ "solidity",

"fullyImplemented": true,
"id": 13541,
"id": 13575,
"linearizedBaseContracts": [
13541
13575
],

@@ -47,3 +47,3 @@ "name": "Create2",

"body": {
"id": 13481,
"id": 13515,
"nodeType": "Block",

@@ -54,3 +54,3 @@ "src": "766:276:148",

"assignments": [
13467
13501
],

@@ -60,6 +60,6 @@ "declarations": [

"constant": false,
"id": 13467,
"id": 13501,
"name": "addr",
"nodeType": "VariableDeclaration",
"scope": 13481,
"scope": 13515,
"src": "776:12:148",

@@ -73,3 +73,3 @@ "stateVariable": false,

"typeName": {
"id": 13466,
"id": 13500,
"name": "address",

@@ -88,3 +88,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 13468,
"id": 13502,
"initialValue": null,

@@ -98,3 +98,3 @@ "nodeType": "VariableDeclarationStatement",

"addr": {
"declaration": 13467,
"declaration": 13501,
"isOffset": false,

@@ -108,3 +108,3 @@ "isSlot": false,

"bytecode": {
"declaration": 13461,
"declaration": 13495,
"isOffset": false,

@@ -118,3 +118,3 @@ "isSlot": false,

"bytecode": {
"declaration": 13461,
"declaration": 13495,
"isOffset": false,

@@ -128,3 +128,3 @@ "isSlot": false,

"salt": {
"declaration": 13459,
"declaration": 13493,
"isOffset": false,

@@ -137,3 +137,3 @@ "isSlot": false,

],
"id": 13469,
"id": 13503,
"nodeType": "InlineAssembly",

@@ -153,3 +153,3 @@ "operations": "{\n addr := create2(0, add(bytecode, 0x20), mload(bytecode), salt)\n}",

},
"id": 13475,
"id": 13509,
"isConstant": false,

@@ -161,7 +161,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13471,
"id": 13505,
"name": "addr",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13467,
"referencedDeclaration": 13501,
"src": "966:4:148",

@@ -181,3 +181,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 13473,
"id": 13507,
"isConstant": false,

@@ -205,3 +205,3 @@ "isLValue": false,

],
"id": 13472,
"id": 13506,
"isConstant": false,

@@ -219,3 +219,3 @@ "isLValue": false,

},
"id": 13474,
"id": 13508,
"isConstant": false,

@@ -243,3 +243,3 @@ "isLValue": false,

"hexValue": "437265617465323a204661696c6564206f6e206465706c6f79",
"id": 13476,
"id": 13510,
"isConstant": false,

@@ -271,10 +271,10 @@ "isLValue": false,

],
"id": 13470,
"id": 13504,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "958:7:148",

@@ -286,3 +286,3 @@ "typeDescriptions": {

},
"id": 13477,
"id": 13511,
"isConstant": false,

@@ -301,3 +301,3 @@ "isLValue": false,

},
"id": 13478,
"id": 13512,
"nodeType": "ExpressionStatement",

@@ -309,7 +309,7 @@ "src": "958:56:148"

"argumentTypes": null,
"id": 13479,
"id": 13513,
"name": "addr",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13467,
"referencedDeclaration": 13501,
"src": "1031:4:148",

@@ -321,4 +321,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 13465,
"id": 13480,
"functionReturnParameters": 13499,
"id": 13514,
"nodeType": "Return",

@@ -330,3 +330,3 @@ "src": "1024:11:148"

"documentation": "@dev Deploys a contract using `CREATE2`. The address where the contract\nwill be deployed can be known in advance via {computeAddress}. Note that\na contract cannot be deployed twice using the same salt.",
"id": 13482,
"id": 13516,
"implemented": true,

@@ -338,3 +338,3 @@ "kind": "function",

"parameters": {
"id": 13462,
"id": 13496,
"nodeType": "ParameterList",

@@ -344,6 +344,6 @@ "parameters": [

"constant": false,
"id": 13459,
"id": 13493,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 13482,
"scope": 13516,
"src": "702:12:148",

@@ -357,3 +357,3 @@ "stateVariable": false,

"typeName": {
"id": 13458,
"id": 13492,
"name": "bytes32",

@@ -372,6 +372,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13461,
"id": 13495,
"name": "bytecode",
"nodeType": "VariableDeclaration",
"scope": 13482,
"scope": 13516,
"src": "716:21:148",

@@ -385,3 +385,3 @@ "stateVariable": false,

"typeName": {
"id": 13460,
"id": 13494,
"name": "bytes",

@@ -402,3 +402,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13465,
"id": 13499,
"nodeType": "ParameterList",

@@ -408,6 +408,6 @@ "parameters": [

"constant": false,
"id": 13464,
"id": 13498,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13482,
"scope": 13516,
"src": "757:7:148",

@@ -421,3 +421,3 @@ "stateVariable": false,

"typeName": {
"id": 13463,
"id": 13497,
"name": "address",

@@ -438,3 +438,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 13541,
"scope": 13575,
"src": "686:356:148",

@@ -447,3 +447,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 13499,
"id": 13533,
"nodeType": "Block",

@@ -458,7 +458,7 @@ "src": "1335:69:148",

"argumentTypes": null,
"id": 13492,
"id": 13526,
"name": "salt",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13484,
"referencedDeclaration": 13518,
"src": "1367:4:148",

@@ -472,7 +472,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13493,
"id": 13527,
"name": "bytecode",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13486,
"referencedDeclaration": 13520,
"src": "1373:8:148",

@@ -489,10 +489,10 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13495,
"id": 13529,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14065,
"referencedDeclaration": 14099,
"src": "1391:4:148",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Create2_$13541",
"typeIdentifier": "t_contract$_Create2_$13575",
"typeString": "library Create2"

@@ -505,7 +505,7 @@ }

{
"typeIdentifier": "t_contract$_Create2_$13541",
"typeIdentifier": "t_contract$_Create2_$13575",
"typeString": "library Create2"
}
],
"id": 13494,
"id": 13528,
"isConstant": false,

@@ -523,3 +523,3 @@ "isLValue": false,

},
"id": 13496,
"id": 13530,
"isConstant": false,

@@ -554,10 +554,10 @@ "isLValue": false,

],
"id": 13491,
"id": 13525,
"name": "computeAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [
13500,
13540
13534,
13574
],
"referencedDeclaration": 13540,
"referencedDeclaration": 13574,
"src": "1352:14:148",

@@ -569,3 +569,3 @@ "typeDescriptions": {

},
"id": 13497,
"id": 13531,
"isConstant": false,

@@ -584,4 +584,4 @@ "isLValue": false,

},
"functionReturnParameters": 13490,
"id": 13498,
"functionReturnParameters": 13524,
"id": 13532,
"nodeType": "Return",

@@ -593,3 +593,3 @@ "src": "1345:52:148"

"documentation": "@dev Returns the address where a contract will be stored if deployed via {deploy}. Any change in the `bytecode`\nor `salt` will result in a new destination address.",
"id": 13500,
"id": 13534,
"implemented": true,

@@ -601,3 +601,3 @@ "kind": "function",

"parameters": {
"id": 13487,
"id": 13521,
"nodeType": "ParameterList",

@@ -607,6 +607,6 @@ "parameters": [

"constant": false,
"id": 13484,
"id": 13518,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 13500,
"scope": 13534,
"src": "1266:12:148",

@@ -620,3 +620,3 @@ "stateVariable": false,

"typeName": {
"id": 13483,
"id": 13517,
"name": "bytes32",

@@ -635,6 +635,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13486,
"id": 13520,
"name": "bytecode",
"nodeType": "VariableDeclaration",
"scope": 13500,
"scope": 13534,
"src": "1280:21:148",

@@ -648,3 +648,3 @@ "stateVariable": false,

"typeName": {
"id": 13485,
"id": 13519,
"name": "bytes",

@@ -665,3 +665,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13490,
"id": 13524,
"nodeType": "ParameterList",

@@ -671,6 +671,6 @@ "parameters": [

"constant": false,
"id": 13489,
"id": 13523,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13500,
"scope": 13534,
"src": "1326:7:148",

@@ -684,3 +684,3 @@ "stateVariable": false,

"typeName": {
"id": 13488,
"id": 13522,
"name": "address",

@@ -701,3 +701,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 13541,
"scope": 13575,
"src": "1242:162:148",

@@ -710,3 +710,3 @@ "stateMutability": "view",

"body": {
"id": 13539,
"id": 13573,
"nodeType": "Block",

@@ -717,3 +717,3 @@ "src": "1762:236:148",

"assignments": [
13512
13546
],

@@ -723,6 +723,6 @@ "declarations": [

"constant": false,
"id": 13512,
"id": 13546,
"name": "bytecodeHashHash",
"nodeType": "VariableDeclaration",
"scope": 13539,
"scope": 13573,
"src": "1772:24:148",

@@ -736,3 +736,3 @@ "stateVariable": false,

"typeName": {
"id": 13511,
"id": 13545,
"name": "bytes32",

@@ -750,3 +750,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 13516,
"id": 13550,
"initialValue": {

@@ -757,7 +757,7 @@ "argumentTypes": null,

"argumentTypes": null,
"id": 13514,
"id": 13548,
"name": "bytecodeHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13504,
"referencedDeclaration": 13538,
"src": "1809:12:148",

@@ -777,7 +777,7 @@ "typeDescriptions": {

],
"id": 13513,
"id": 13547,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13903,
"referencedDeclaration": 13937,
"src": "1799:9:148",

@@ -789,3 +789,3 @@ "typeDescriptions": {

},
"id": 13515,
"id": 13549,
"isConstant": false,

@@ -809,3 +809,3 @@ "isLValue": false,

"assignments": [
13518
13552
],

@@ -815,6 +815,6 @@ "declarations": [

"constant": false,
"id": 13518,
"id": 13552,
"name": "_data",
"nodeType": "VariableDeclaration",
"scope": 13539,
"scope": 13573,
"src": "1832:13:148",

@@ -828,3 +828,3 @@ "stateVariable": false,

"typeName": {
"id": 13517,
"id": 13551,
"name": "bytes32",

@@ -842,3 +842,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 13530,
"id": 13564,
"initialValue": {

@@ -856,3 +856,3 @@ "argumentTypes": null,

"hexValue": "30786666",
"id": 13523,
"id": 13557,
"isConstant": false,

@@ -880,3 +880,3 @@ "isLValue": false,

],
"id": 13522,
"id": 13556,
"isConstant": false,

@@ -894,3 +894,3 @@ "isLValue": false,

},
"id": 13524,
"id": 13558,
"isConstant": false,

@@ -911,7 +911,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13525,
"id": 13559,
"name": "deployer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13506,
"referencedDeclaration": 13540,
"src": "1902:8:148",

@@ -925,7 +925,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13526,
"id": 13560,
"name": "salt",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13502,
"referencedDeclaration": 13536,
"src": "1912:4:148",

@@ -939,7 +939,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13527,
"id": 13561,
"name": "bytecodeHashHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13512,
"referencedDeclaration": 13546,
"src": "1918:16:148",

@@ -973,7 +973,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 13520,
"id": 13554,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13896,
"referencedDeclaration": 13930,
"src": "1871:3:148",

@@ -985,3 +985,3 @@ "typeDescriptions": {

},
"id": 13521,
"id": 13555,
"isConstant": false,

@@ -1000,3 +1000,3 @@ "isLValue": false,

},
"id": 13528,
"id": 13562,
"isConstant": false,

@@ -1023,7 +1023,7 @@ "isLValue": false,

],
"id": 13519,
"id": 13553,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13903,
"referencedDeclaration": 13937,
"src": "1848:9:148",

@@ -1035,3 +1035,3 @@ "typeDescriptions": {

},
"id": 13529,
"id": 13563,
"isConstant": false,

@@ -1066,3 +1066,3 @@ "isLValue": false,

},
"id": 13535,
"id": 13569,
"isConstant": false,

@@ -1074,7 +1074,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13533,
"id": 13567,
"name": "_data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13518,
"referencedDeclaration": 13552,
"src": "1978:5:148",

@@ -1091,3 +1091,3 @@ "typeDescriptions": {

"hexValue": "3936",
"id": 13534,
"id": 13568,
"isConstant": false,

@@ -1121,3 +1121,3 @@ "isLValue": false,

],
"id": 13532,
"id": 13566,
"isConstant": false,

@@ -1135,3 +1135,3 @@ "isLValue": false,

},
"id": 13536,
"id": 13570,
"isConstant": false,

@@ -1158,3 +1158,3 @@ "isLValue": false,

],
"id": 13531,
"id": 13565,
"isConstant": false,

@@ -1172,3 +1172,3 @@ "isLValue": false,

},
"id": 13537,
"id": 13571,
"isConstant": false,

@@ -1187,4 +1187,4 @@ "isLValue": false,

},
"functionReturnParameters": 13510,
"id": 13538,
"functionReturnParameters": 13544,
"id": 13572,
"nodeType": "Return",

@@ -1196,3 +1196,3 @@ "src": "1955:36:148"

"documentation": "@dev Returns the address where a contract will be stored if deployed via {deploy} from a contract located at\n`deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}.",
"id": 13540,
"id": 13574,
"implemented": true,

@@ -1204,3 +1204,3 @@ "kind": "function",

"parameters": {
"id": 13507,
"id": 13541,
"nodeType": "ParameterList",

@@ -1210,6 +1210,6 @@ "parameters": [

"constant": false,
"id": 13502,
"id": 13536,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 13540,
"scope": 13574,
"src": "1671:12:148",

@@ -1223,3 +1223,3 @@ "stateVariable": false,

"typeName": {
"id": 13501,
"id": 13535,
"name": "bytes32",

@@ -1238,6 +1238,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13504,
"id": 13538,
"name": "bytecodeHash",
"nodeType": "VariableDeclaration",
"scope": 13540,
"scope": 13574,
"src": "1685:25:148",

@@ -1251,3 +1251,3 @@ "stateVariable": false,

"typeName": {
"id": 13503,
"id": 13537,
"name": "bytes",

@@ -1266,6 +1266,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13506,
"id": 13540,
"name": "deployer",
"nodeType": "VariableDeclaration",
"scope": 13540,
"scope": 13574,
"src": "1712:16:148",

@@ -1279,3 +1279,3 @@ "stateVariable": false,

"typeName": {
"id": 13505,
"id": 13539,
"name": "address",

@@ -1297,3 +1297,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13510,
"id": 13544,
"nodeType": "ParameterList",

@@ -1303,6 +1303,6 @@ "parameters": [

"constant": false,
"id": 13509,
"id": 13543,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 13540,
"scope": 13574,
"src": "1753:7:148",

@@ -1316,3 +1316,3 @@ "stateVariable": false,

"typeName": {
"id": 13508,
"id": 13542,
"name": "address",

@@ -1333,3 +1333,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 13541,
"scope": 13575,
"src": "1647:351:148",

@@ -1341,3 +1341,3 @@ "stateMutability": "pure",

],
"scope": 13542,
"scope": 13576,
"src": "425:1575:148"

@@ -1348,7 +1348,7 @@ }

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820d3a7728b17be5fd6700abe3bb1e3c8684c46dabb2efedc7deb7eea2bc41b371b64736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820d3a7728b17be5fd6700abe3bb1e3c8684c46dabb2efedc7deb7eea2bc41b371b64736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ea47bfa9dd0237fe1b2ce0847180e8eca903dd98f8580ce2b230683dfde53e3164736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ea47bfa9dd0237fe1b2ce0847180e8eca903dd98f8580ce2b230683dfde53e3164736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1355,0 +1355,0 @@ "enabled": false,

@@ -817,3 +817,3 @@ {

"overloadedDeclarations": [],
"referencedDeclaration": 13901,
"referencedDeclaration": 13935,
"src": "3086:9:26",

@@ -1014,3 +1014,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13896,
"referencedDeclaration": 13930,
"src": "3580:3:26",

@@ -1062,3 +1062,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13903,
"referencedDeclaration": 13937,
"src": "3570:9:26",

@@ -1177,7 +1177,7 @@ "typeDescriptions": {

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158205a994fc436eacf1210e401ca105a7890a8e1078cca9b4ed6fce2cb28c610c7f064736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158205a994fc436eacf1210e401ca105a7890a8e1078cca9b4ed6fce2cb28c610c7f064736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820cfb5d7fc37695e29450e7e28181ab18e34e301660808e82269df7659aca72c9664736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820cfb5d7fc37695e29450e7e28181ab18e34e301660808e82269df7659aca72c9664736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1184,0 +1184,0 @@ "enabled": false,

@@ -506,6 +506,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1509:7:37",

@@ -678,3 +678,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -681,0 +681,0 @@ "enabled": false,

@@ -164,3 +164,3 @@ {

"overloadedDeclarations": [],
"referencedDeclaration": 13896,
"referencedDeclaration": 13930,
"src": "486:3:39",

@@ -212,3 +212,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13903,
"referencedDeclaration": 13937,
"src": "476:9:39",

@@ -769,7 +769,7 @@ "typeDescriptions": {

},
"bytecode": "0x608060405234801561001057600080fd5b50610183806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063249cb3fa14610030575b600080fd5b61007c6004803603604081101561004657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610092565b6040518082815260200191505060405180910390f35b600080600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166100fe576000801b610146565b60405160200180807f455243313832305f4143434550545f4d414749430000000000000000000000008152506014019050604051602081830303815290604052805190602001205b90509291505056fea265627a7a7231582060d0fb8d5fb4bdb9b3d217927b5f9e02752354de269da1c301909f4226a1f87864736f6c63430005100032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063249cb3fa14610030575b600080fd5b61007c6004803603604081101561004657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610092565b6040518082815260200191505060405180910390f35b600080600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166100fe576000801b610146565b60405160200180807f455243313832305f4143434550545f4d414749430000000000000000000000008152506014019050604051602081830303815290604052805190602001205b90509291505056fea265627a7a7231582060d0fb8d5fb4bdb9b3d217927b5f9e02752354de269da1c301909f4226a1f87864736f6c63430005100032",
"bytecode": "0x608060405234801561001057600080fd5b50610183806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063249cb3fa14610030575b600080fd5b61007c6004803603604081101561004657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610092565b6040518082815260200191505060405180910390f35b600080600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166100fe576000801b610146565b60405160200180807f455243313832305f4143434550545f4d414749430000000000000000000000008152506014019050604051602081830303815290604052805190602001205b90509291505056fea265627a7a723158209c92fe0d82750cf4e976831ffb0531ce8eff9cd963d58723a4acc88c8a67075164736f6c63430005110032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063249cb3fa14610030575b600080fd5b61007c6004803603604081101561004657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610092565b6040518082815260200191505060405180910390f35b600080600084815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166100fe576000801b610146565b60405160200180807f455243313832305f4143434550545f4d414749430000000000000000000000008152506014019050604051602081830303815290604052805190602001205b90509291505056fea265627a7a723158209c92fe0d82750cf4e976831ffb0531ce8eff9cd963d58723a4acc88c8a67075164736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -776,0 +776,0 @@ "enabled": false,

@@ -296,10 +296,10 @@ {

"ERC20Burnable": [
9884
9900
]
},
"id": 9885,
"id": 9901,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9852,
"id": 9868,
"literals": [

@@ -317,5 +317,5 @@ "solidity",

"file": "../../GSN/Context.sol",
"id": 9853,
"id": 9869,
"nodeType": "ImportDirective",
"scope": 9885,
"scope": 9901,
"sourceUnit": 27,

@@ -329,6 +329,6 @@ "src": "25:31:120",

"file": "./ERC20.sol",
"id": 9854,
"id": 9870,
"nodeType": "ImportDirective",
"scope": 9885,
"sourceUnit": 9851,
"scope": 9901,
"sourceUnit": 9867,
"src": "57:21:120",

@@ -344,3 +344,3 @@ "symbolAliases": [],

"contractScope": null,
"id": 9855,
"id": 9871,
"name": "Context",

@@ -355,3 +355,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 9856,
"id": 9872,
"nodeType": "InheritanceSpecifier",

@@ -364,13 +364,13 @@ "src": "315:7:120"

"contractScope": null,
"id": 9857,
"id": 9873,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9850,
"referencedDeclaration": 9866,
"src": "324:5:120",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9850",
"typeIdentifier": "t_contract$_ERC20_$9866",
"typeString": "contract ERC20"
}
},
"id": 9858,
"id": 9874,
"nodeType": "InheritanceSpecifier",

@@ -382,4 +382,4 @@ "src": "324:5:120"

26,
9850,
10200
9866,
10216
],

@@ -389,7 +389,7 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 9884,
"id": 9900,
"linearizedBaseContracts": [
9884,
9850,
10200,
9900,
9866,
10216,
26

@@ -402,3 +402,3 @@ ],

"body": {
"id": 9869,
"id": 9885,
"nodeType": "Block",

@@ -416,3 +416,3 @@ "src": "476:44:120",

"argumentTypes": [],
"id": 9864,
"id": 9880,
"name": "_msgSender",

@@ -428,3 +428,3 @@ "nodeType": "Identifier",

},
"id": 9865,
"id": 9881,
"isConstant": false,

@@ -445,7 +445,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 9866,
"id": 9882,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9860,
"referencedDeclaration": 9876,
"src": "506:6:120",

@@ -469,7 +469,7 @@ "typeDescriptions": {

],
"id": 9863,
"id": 9879,
"name": "_burn",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9778,
"referencedDeclaration": 9794,
"src": "486:5:120",

@@ -481,3 +481,3 @@ "typeDescriptions": {

},
"id": 9867,
"id": 9883,
"isConstant": false,

@@ -496,3 +496,3 @@ "isLValue": false,

},
"id": 9868,
"id": 9884,
"nodeType": "ExpressionStatement",

@@ -504,3 +504,3 @@ "src": "486:27:120"

"documentation": "@dev Destroys `amount` tokens from the caller.\n * See {ERC20-_burn}.",
"id": 9870,
"id": 9886,
"implemented": true,

@@ -512,3 +512,3 @@ "kind": "function",

"parameters": {
"id": 9861,
"id": 9877,
"nodeType": "ParameterList",

@@ -518,6 +518,6 @@ "parameters": [

"constant": false,
"id": 9860,
"id": 9876,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 9870,
"scope": 9886,
"src": "453:14:120",

@@ -531,3 +531,3 @@ "stateVariable": false,

"typeName": {
"id": 9859,
"id": 9875,
"name": "uint256",

@@ -548,3 +548,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9862,
"id": 9878,
"nodeType": "ParameterList",

@@ -554,3 +554,3 @@ "parameters": [],

},
"scope": 9884,
"scope": 9900,
"src": "439:81:120",

@@ -563,3 +563,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 9882,
"id": 9898,
"nodeType": "Block",

@@ -574,7 +574,7 @@ "src": "635:43:120",

"argumentTypes": null,
"id": 9878,
"id": 9894,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9872,
"referencedDeclaration": 9888,
"src": "655:7:120",

@@ -588,7 +588,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9879,
"id": 9895,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9874,
"referencedDeclaration": 9890,
"src": "664:6:120",

@@ -612,7 +612,7 @@ "typeDescriptions": {

],
"id": 9877,
"id": 9893,
"name": "_burnFrom",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9849,
"referencedDeclaration": 9865,
"src": "645:9:120",

@@ -624,3 +624,3 @@ "typeDescriptions": {

},
"id": 9880,
"id": 9896,
"isConstant": false,

@@ -639,3 +639,3 @@ "isLValue": false,

},
"id": 9881,
"id": 9897,
"nodeType": "ExpressionStatement",

@@ -647,3 +647,3 @@ "src": "645:26:120"

"documentation": "@dev See {ERC20-_burnFrom}.",
"id": 9883,
"id": 9899,
"implemented": true,

@@ -655,3 +655,3 @@ "kind": "function",

"parameters": {
"id": 9875,
"id": 9891,
"nodeType": "ParameterList",

@@ -661,6 +661,6 @@ "parameters": [

"constant": false,
"id": 9872,
"id": 9888,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 9883,
"scope": 9899,
"src": "595:15:120",

@@ -674,3 +674,3 @@ "stateVariable": false,

"typeName": {
"id": 9871,
"id": 9887,
"name": "address",

@@ -690,6 +690,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 9874,
"id": 9890,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 9883,
"scope": 9899,
"src": "612:14:120",

@@ -703,3 +703,3 @@ "stateVariable": false,

"typeName": {
"id": 9873,
"id": 9889,
"name": "uint256",

@@ -720,3 +720,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9876,
"id": 9892,
"nodeType": "ParameterList",

@@ -726,3 +726,3 @@ "parameters": [],

},
"scope": 9884,
"scope": 9900,
"src": "577:101:120",

@@ -734,3 +734,3 @@ "stateMutability": "nonpayable",

],
"scope": 9885,
"scope": 9901,
"src": "289:391:120"

@@ -741,7 +741,7 @@ }

},
"bytecode": "0x6080604052611226806100136000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582002089eaff40c4f8a0665b1691405d771724c5196760cfd2d9a6588fd34b4406c64736f6c63430005100032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582002089eaff40c4f8a0665b1691405d771724c5196760cfd2d9a6588fd34b4406c64736f6c63430005100032",
"bytecode": "0x6080604052611226806100136000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820cc986cecf4f0a09ab7d48d31d949cfd75ad5c39edbe31a90232f01a0cc5cb05a64736f6c63430005110032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461024157806379cc679014610299578063a457c2d7146102e7578063a9059cbb1461034d578063dd62ed3e146103b35761009e565b8063095ea7b3146100a357806318160ddd1461010957806323b872dd1461012757806339509351146101ad57806342966c6814610213575b600080fd5b6100ef600480360360408110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061042b565b604051808215151515815260200191505060405180910390f35b610111610449565b6040518082815260200191505060405180910390f35b6101936004803603606081101561013d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610453565b604051808215151515815260200191505060405180910390f35b6101f9600480360360408110156101c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061052c565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b81019080803590602001909291905050506105df565b005b6102836004803603602081101561025757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061063b565b005b610333600480360360408110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6103996004803603604081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610716565b604051808215151515815260200191505060405180910390f35b610415600480360360408110156103c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b600061043f6104386107bb565b84846107c3565b6001905092915050565b6000600254905090565b60006104608484846109ba565b6105218461046c6107bb565b61051c8560405180606001604052806028815260200161111760289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d26107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b600190509392505050565b60006105d56105396107bb565b846105d0856001600061054a6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6107c3565b6001905092915050565b6105f06105ea6107bb565b82610db8565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106458282610f70565b5050565b600061070c6106566107bb565b84610707856040518060600160405280602581526020016111cd60259139600160006106806107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b6001905092915050565b600061072a6107236107bb565b84846109ba565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806111a96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806110cf6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806111846025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061108a6023913960400191505060405180910390fd5b610b31816040518060600160405280602681526020016110f1602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bc4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d3090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610d1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578082015181840152602081019050610cc7565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610dae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806111636021913960400191505060405180910390fd5b610ea9816040518060600160405280602281526020016110ad602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f008160025461103f90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b610f7a8282610db8565b61103b82610f866107bb565b6110368460405180606001604052806024815260200161113f60249139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fec6107bb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c709092919063ffffffff16565b6107c3565b5050565b600061108183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c70565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820cc986cecf4f0a09ab7d48d31d949cfd75ad5c39edbe31a90232f01a0cc5cb05a64736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -748,0 +748,0 @@ "enabled": false,

@@ -276,10 +276,10 @@ {

"ERC20Detailed": [
10001
10017
]
},
"id": 10002,
"id": 10018,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9945,
"id": 9961,
"literals": [

@@ -297,6 +297,6 @@ "solidity",

"file": "./IERC20.sol",
"id": 9946,
"id": 9962,
"nodeType": "ImportDirective",
"scope": 10002,
"sourceUnit": 10201,
"scope": 10018,
"sourceUnit": 10217,
"src": "25:22:122",

@@ -312,13 +312,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 9947,
"id": 9963,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 10200,
"referencedDeclaration": 10216,
"src": "135:6:122",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10200",
"typeIdentifier": "t_contract$_IERC20_$10216",
"typeString": "contract IERC20"
}
},
"id": 9948,
"id": 9964,
"nodeType": "InheritanceSpecifier",

@@ -329,3 +329,3 @@ "src": "135:6:122"

"contractDependencies": [
10200
10216
],

@@ -335,6 +335,6 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 10001,
"id": 10017,
"linearizedBaseContracts": [
10001,
10200
10017,
10216
],

@@ -346,6 +346,6 @@ "name": "ERC20Detailed",

"constant": false,
"id": 9950,
"id": 9966,
"name": "_name",
"nodeType": "VariableDeclaration",
"scope": 10001,
"scope": 10017,
"src": "148:20:122",

@@ -359,3 +359,3 @@ "stateVariable": true,

"typeName": {
"id": 9949,
"id": 9965,
"name": "string",

@@ -374,6 +374,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 9952,
"id": 9968,
"name": "_symbol",
"nodeType": "VariableDeclaration",
"scope": 10001,
"scope": 10017,
"src": "174:22:122",

@@ -387,3 +387,3 @@ "stateVariable": true,

"typeName": {
"id": 9951,
"id": 9967,
"name": "string",

@@ -402,6 +402,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 9954,
"id": 9970,
"name": "_decimals",
"nodeType": "VariableDeclaration",
"scope": 10001,
"scope": 10017,
"src": "202:23:122",

@@ -415,3 +415,3 @@ "stateVariable": true,

"typeName": {
"id": 9953,
"id": 9969,
"name": "uint8",

@@ -430,3 +430,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 9975,
"id": 9991,
"nodeType": "Block",

@@ -438,3 +438,3 @@ "src": "494:85:122",

"argumentTypes": null,
"id": 9965,
"id": 9981,
"isConstant": false,

@@ -446,7 +446,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 9963,
"id": 9979,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9950,
"referencedDeclaration": 9966,
"src": "504:5:122",

@@ -462,7 +462,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9964,
"id": 9980,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9956,
"referencedDeclaration": 9972,
"src": "512:4:122",

@@ -480,3 +480,3 @@ "typeDescriptions": {

},
"id": 9966,
"id": 9982,
"nodeType": "ExpressionStatement",

@@ -488,3 +488,3 @@ "src": "504:12:122"

"argumentTypes": null,
"id": 9969,
"id": 9985,
"isConstant": false,

@@ -496,7 +496,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 9967,
"id": 9983,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9952,
"referencedDeclaration": 9968,
"src": "526:7:122",

@@ -512,7 +512,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9968,
"id": 9984,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9958,
"referencedDeclaration": 9974,
"src": "536:6:122",

@@ -530,3 +530,3 @@ "typeDescriptions": {

},
"id": 9970,
"id": 9986,
"nodeType": "ExpressionStatement",

@@ -538,3 +538,3 @@ "src": "526:16:122"

"argumentTypes": null,
"id": 9973,
"id": 9989,
"isConstant": false,

@@ -546,7 +546,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 9971,
"id": 9987,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9954,
"referencedDeclaration": 9970,
"src": "552:9:122",

@@ -562,7 +562,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9972,
"id": 9988,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9960,
"referencedDeclaration": 9976,
"src": "564:8:122",

@@ -580,3 +580,3 @@ "typeDescriptions": {

},
"id": 9974,
"id": 9990,
"nodeType": "ExpressionStatement",

@@ -588,3 +588,3 @@ "src": "552:20:122"

"documentation": "@dev Sets the values for `name`, `symbol`, and `decimals`. All three of\nthese values are immutable: they can only be set once during\nconstruction.",
"id": 9976,
"id": 9992,
"implemented": true,

@@ -596,3 +596,3 @@ "kind": "constructor",

"parameters": {
"id": 9961,
"id": 9977,
"nodeType": "ParameterList",

@@ -602,6 +602,6 @@ "parameters": [

"constant": false,
"id": 9956,
"id": 9972,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 9976,
"scope": 9992,
"src": "429:18:122",

@@ -615,3 +615,3 @@ "stateVariable": false,

"typeName": {
"id": 9955,
"id": 9971,
"name": "string",

@@ -630,6 +630,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 9958,
"id": 9974,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 9976,
"scope": 9992,
"src": "449:20:122",

@@ -643,3 +643,3 @@ "stateVariable": false,

"typeName": {
"id": 9957,
"id": 9973,
"name": "string",

@@ -658,6 +658,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 9960,
"id": 9976,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 9976,
"scope": 9992,
"src": "471:14:122",

@@ -671,3 +671,3 @@ "stateVariable": false,

"typeName": {
"id": 9959,
"id": 9975,
"name": "uint8",

@@ -688,3 +688,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9962,
"id": 9978,
"nodeType": "ParameterList",

@@ -694,3 +694,3 @@ "parameters": [],

},
"scope": 10001,
"scope": 10017,
"src": "416:163:122",

@@ -703,3 +703,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 9983,
"id": 9999,
"nodeType": "Block",

@@ -711,7 +711,7 @@ "src": "696:29:122",

"argumentTypes": null,
"id": 9981,
"id": 9997,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9950,
"referencedDeclaration": 9966,
"src": "713:5:122",

@@ -723,4 +723,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 9980,
"id": 9982,
"functionReturnParameters": 9996,
"id": 9998,
"nodeType": "Return",

@@ -732,3 +732,3 @@ "src": "706:12:122"

"documentation": "@dev Returns the name of the token.",
"id": 9984,
"id": 10000,
"implemented": true,

@@ -740,3 +740,3 @@ "kind": "function",

"parameters": {
"id": 9977,
"id": 9993,
"nodeType": "ParameterList",

@@ -747,3 +747,3 @@ "parameters": [],

"returnParameters": {
"id": 9980,
"id": 9996,
"nodeType": "ParameterList",

@@ -753,6 +753,6 @@ "parameters": [

"constant": false,
"id": 9979,
"id": 9995,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9984,
"scope": 10000,
"src": "681:13:122",

@@ -766,3 +766,3 @@ "stateVariable": false,

"typeName": {
"id": 9978,
"id": 9994,
"name": "string",

@@ -782,3 +782,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10001,
"scope": 10017,
"src": "644:81:122",

@@ -791,3 +791,3 @@ "stateMutability": "view",

"body": {
"id": 9991,
"id": 10007,
"nodeType": "Block",

@@ -799,7 +799,7 @@ "src": "892:31:122",

"argumentTypes": null,
"id": 9989,
"id": 10005,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9952,
"referencedDeclaration": 9968,
"src": "909:7:122",

@@ -811,4 +811,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 9988,
"id": 9990,
"functionReturnParameters": 10004,
"id": 10006,
"nodeType": "Return",

@@ -820,3 +820,3 @@ "src": "902:14:122"

"documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.",
"id": 9992,
"id": 10008,
"implemented": true,

@@ -828,3 +828,3 @@ "kind": "function",

"parameters": {
"id": 9985,
"id": 10001,
"nodeType": "ParameterList",

@@ -835,3 +835,3 @@ "parameters": [],

"returnParameters": {
"id": 9988,
"id": 10004,
"nodeType": "ParameterList",

@@ -841,6 +841,6 @@ "parameters": [

"constant": false,
"id": 9987,
"id": 10003,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9992,
"scope": 10008,
"src": "877:13:122",

@@ -854,3 +854,3 @@ "stateVariable": false,

"typeName": {
"id": 9986,
"id": 10002,
"name": "string",

@@ -870,3 +870,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10001,
"scope": 10017,
"src": "838:85:122",

@@ -879,3 +879,3 @@ "stateMutability": "view",

"body": {
"id": 9999,
"id": 10015,
"nodeType": "Block",

@@ -887,7 +887,7 @@ "src": "1520:33:122",

"argumentTypes": null,
"id": 9997,
"id": 10013,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9954,
"referencedDeclaration": 9970,
"src": "1537:9:122",

@@ -899,4 +899,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 9996,
"id": 9998,
"functionReturnParameters": 10012,
"id": 10014,
"nodeType": "Return",

@@ -908,3 +908,3 @@ "src": "1530:16:122"

"documentation": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}.",
"id": 10000,
"id": 10016,
"implemented": true,

@@ -916,3 +916,3 @@ "kind": "function",

"parameters": {
"id": 9993,
"id": 10009,
"nodeType": "ParameterList",

@@ -923,3 +923,3 @@ "parameters": [],

"returnParameters": {
"id": 9996,
"id": 10012,
"nodeType": "ParameterList",

@@ -929,6 +929,6 @@ "parameters": [

"constant": false,
"id": 9995,
"id": 10011,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10000,
"scope": 10016,
"src": "1513:5:122",

@@ -942,3 +942,3 @@ "stateVariable": false,

"typeName": {
"id": 9994,
"id": 10010,
"name": "uint8",

@@ -958,3 +958,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10001,
"scope": 10017,
"src": "1472:81:122",

@@ -966,3 +966,3 @@ "stateMutability": "view",

],
"scope": 10002,
"scope": 10018,
"src": "109:1446:122"

@@ -977,3 +977,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -980,0 +980,0 @@ "enabled": false,

@@ -64,3 +64,3 @@ {

"scope": 3352,
"sourceUnit": 10201,
"sourceUnit": 10217,
"src": "25:38:29",

@@ -415,7 +415,7 @@ "symbolAliases": [],

},
"bytecode": "0x608060405234801561001057600080fd5b5060405161035b38038061035b8339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186600182028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019080838360005b838110156100ba57808201518184015260208101905061009f565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b506040525050506100fd8161010360201b60201c565b506101c2565b806000908051906020019061011992919061011d565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061015e57805160ff191683800117855561018c565b8280016001018555821561018c579182015b8281111561018b578251825591602001919060010190610170565b5b509050610199919061019d565b5090565b6101bf91905b808211156101bb5760008160009055506001016101a3565b5090565b90565b61018a806101d16000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633c130d9014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561014b5780601f106101205761010080835404028352916020019161014b565b820191906000526020600020905b81548152906001019060200180831161012e57829003601f168201915b505050505090509056fea265627a7a723158209480386fadc495d68cbea70b35562aafd75fcacdb3eee738cf734a500abbd51364736f6c63430005100032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80633c130d9014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561014b5780601f106101205761010080835404028352916020019161014b565b820191906000526020600020905b81548152906001019060200180831161012e57829003601f168201915b505050505090509056fea265627a7a723158209480386fadc495d68cbea70b35562aafd75fcacdb3eee738cf734a500abbd51364736f6c63430005100032",
"bytecode": "0x608060405234801561001057600080fd5b5060405161035b38038061035b8339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186600182028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019080838360005b838110156100ba57808201518184015260208101905061009f565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b506040525050506100fd8161010360201b60201c565b506101c2565b806000908051906020019061011992919061011d565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061015e57805160ff191683800117855561018c565b8280016001018555821561018c579182015b8281111561018b578251825591602001919060010190610170565b5b509050610199919061019d565b5090565b6101bf91905b808211156101bb5760008160009055506001016101a3565b5090565b90565b61018a806101d16000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633c130d9014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561014b5780601f106101205761010080835404028352916020019161014b565b820191906000526020600020905b81548152906001019060200180831161012e57829003601f168201915b505050505090509056fea265627a7a723158200c4b1ce37702611ed963d98955565e3302e7b9f6302b5404fa238bfa5c91e3d364736f6c63430005110032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80633c130d9014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561014b5780601f106101205761010080835404028352916020019161014b565b820191906000526020600020905b81548152906001019060200180831161012e57829003601f168201915b505050505090509056fea265627a7a723158200c4b1ce37702611ed963d98955565e3302e7b9f6302b5404fa238bfa5c91e3d364736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -422,0 +422,0 @@ "enabled": false,

@@ -358,10 +358,10 @@ {

"ERC20Mintable": [
10029
10045
]
},
"id": 10030,
"id": 10046,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10003,
"id": 10019,
"literals": [

@@ -379,6 +379,6 @@ "solidity",

"file": "./ERC20.sol",
"id": 10004,
"id": 10020,
"nodeType": "ImportDirective",
"scope": 10030,
"sourceUnit": 9851,
"scope": 10046,
"sourceUnit": 9867,
"src": "25:21:123",

@@ -391,5 +391,5 @@ "symbolAliases": [],

"file": "../../access/roles/MinterRole.sol",
"id": 10005,
"id": 10021,
"nodeType": "ImportDirective",
"scope": 10030,
"scope": 10046,
"sourceUnit": 1409,

@@ -406,13 +406,13 @@ "src": "47:43:123",

"contractScope": null,
"id": 10006,
"id": 10022,
"name": "ERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9850,
"referencedDeclaration": 9866,
"src": "348:5:123",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20_$9850",
"typeIdentifier": "t_contract$_ERC20_$9866",
"typeString": "contract ERC20"
}
},
"id": 10007,
"id": 10023,
"nodeType": "InheritanceSpecifier",

@@ -425,3 +425,3 @@ "src": "348:5:123"

"contractScope": null,
"id": 10008,
"id": 10024,
"name": "MinterRole",

@@ -436,3 +436,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 10009,
"id": 10025,
"nodeType": "InheritanceSpecifier",

@@ -445,4 +445,4 @@ "src": "355:10:123"

1408,
9850,
10200
9866,
10216
],

@@ -452,8 +452,8 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 10029,
"id": 10045,
"linearizedBaseContracts": [
10029,
10045,
1408,
9850,
10200,
9866,
10216,
26

@@ -466,3 +466,3 @@ ],

"body": {
"id": 10027,
"id": 10043,
"nodeType": "Block",

@@ -477,7 +477,7 @@ "src": "582:60:123",

"argumentTypes": null,
"id": 10021,
"id": 10037,
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10011,
"referencedDeclaration": 10027,
"src": "598:7:123",

@@ -491,7 +491,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 10022,
"id": 10038,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10013,
"referencedDeclaration": 10029,
"src": "607:6:123",

@@ -515,7 +515,7 @@ "typeDescriptions": {

],
"id": 10020,
"id": 10036,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9734,
"referencedDeclaration": 9750,
"src": "592:5:123",

@@ -527,3 +527,3 @@ "typeDescriptions": {

},
"id": 10023,
"id": 10039,
"isConstant": false,

@@ -542,3 +542,3 @@ "isLValue": false,

},
"id": 10024,
"id": 10040,
"nodeType": "ExpressionStatement",

@@ -551,3 +551,3 @@ "src": "592:22:123"

"hexValue": "74727565",
"id": 10025,
"id": 10041,
"isConstant": false,

@@ -567,4 +567,4 @@ "isLValue": false,

},
"functionReturnParameters": 10019,
"id": 10026,
"functionReturnParameters": 10035,
"id": 10042,
"nodeType": "Return",

@@ -576,3 +576,3 @@ "src": "624:11:123"

"documentation": "@dev See {ERC20-_mint}.\n * Requirements:\n * - the caller must have the {MinterRole}.",
"id": 10028,
"id": 10044,
"implemented": true,

@@ -583,6 +583,6 @@ "kind": "function",

"arguments": null,
"id": 10016,
"id": 10032,
"modifierName": {
"argumentTypes": null,
"id": 10015,
"id": 10031,
"name": "onlyMinter",

@@ -605,3 +605,3 @@ "nodeType": "Identifier",

"parameters": {
"id": 10014,
"id": 10030,
"nodeType": "ParameterList",

@@ -611,6 +611,6 @@ "parameters": [

"constant": false,
"id": 10011,
"id": 10027,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 10028,
"scope": 10044,
"src": "516:15:123",

@@ -624,3 +624,3 @@ "stateVariable": false,

"typeName": {
"id": 10010,
"id": 10026,
"name": "address",

@@ -640,6 +640,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10013,
"id": 10029,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 10028,
"scope": 10044,
"src": "533:14:123",

@@ -653,3 +653,3 @@ "stateVariable": false,

"typeName": {
"id": 10012,
"id": 10028,
"name": "uint256",

@@ -670,3 +670,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 10019,
"id": 10035,
"nodeType": "ParameterList",

@@ -676,6 +676,6 @@ "parameters": [

"constant": false,
"id": 10018,
"id": 10034,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10028,
"scope": 10044,
"src": "576:4:123",

@@ -689,3 +689,3 @@ "stateVariable": false,

"typeName": {
"id": 10017,
"id": 10033,
"name": "bool",

@@ -705,3 +705,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10029,
"scope": 10045,
"src": "502:140:123",

@@ -713,3 +713,3 @@ "stateMutability": "nonpayable",

],
"scope": 10030,
"scope": 10046,
"src": "322:322:123"

@@ -720,7 +720,7 @@ }

},
"bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620012a81790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620018506022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115e980620002676000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582056e4b738cf76f0838e717d12794ecbbd6278399c81f9192ab9d5f01d5c4c3baf64736f6c63430005100032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582056e4b738cf76f0838e717d12794ecbbd6278399c81f9192ab9d5f01d5c4c3baf64736f6c63430005100032",
"bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620012a81790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620018506022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115e980620002676000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582056b457a9e99c067de7470a4315f2c66cf40386b2ff0ce025ab6bdb6e61eec68664736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582056b457a9e99c067de7470a4315f2c66cf40386b2ff0ce025ab6bdb6e61eec68664736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -727,0 +727,0 @@ "enabled": false,

@@ -334,10 +334,10 @@ {

"ERC721Burnable": [
11221
11237
]
},
"id": 11222,
"id": 11238,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11195,
"id": 11211,
"literals": [

@@ -355,5 +355,5 @@ "solidity",

"file": "../../GSN/Context.sol",
"id": 11196,
"id": 11212,
"nodeType": "ImportDirective",
"scope": 11222,
"scope": 11238,
"sourceUnit": 27,

@@ -367,6 +367,6 @@ "src": "25:31:129",

"file": "./ERC721.sol",
"id": 11197,
"id": 11213,
"nodeType": "ImportDirective",
"scope": 11222,
"sourceUnit": 11194,
"scope": 11238,
"sourceUnit": 11210,
"src": "57:22:129",

@@ -382,3 +382,3 @@ "symbolAliases": [],

"contractScope": null,
"id": 11198,
"id": 11214,
"name": "Context",

@@ -393,3 +393,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 11199,
"id": 11215,
"nodeType": "InheritanceSpecifier",

@@ -402,13 +402,13 @@ "src": "214:7:129"

"contractScope": null,
"id": 11200,
"id": 11216,
"name": "ERC721",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11193,
"referencedDeclaration": 11209,
"src": "223:6:129",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721_$11193",
"typeIdentifier": "t_contract$_ERC721_$11209",
"typeString": "contract ERC721"
}
},
"id": 11201,
"id": 11217,
"nodeType": "InheritanceSpecifier",

@@ -422,4 +422,4 @@ "src": "223:6:129"

4862,
11193,
12054
11209,
12070
],

@@ -429,7 +429,7 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 11221,
"id": 11237,
"linearizedBaseContracts": [
11221,
11193,
12054,
11237,
11209,
12070,
4629,

@@ -444,3 +444,3 @@ 4862,

"body": {
"id": 11219,
"id": 11235,
"nodeType": "Block",

@@ -461,3 +461,3 @@ "src": "400:195:129",

"argumentTypes": [],
"id": 11208,
"id": 11224,
"name": "_msgSender",

@@ -473,3 +473,3 @@ "nodeType": "Identifier",

},
"id": 11209,
"id": 11225,
"isConstant": false,

@@ -490,7 +490,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 11210,
"id": 11226,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11203,
"referencedDeclaration": 11219,
"src": "503:7:129",

@@ -514,7 +514,7 @@ "typeDescriptions": {

],
"id": 11207,
"id": 11223,
"name": "_isApprovedOrOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10897,
"referencedDeclaration": 10913,
"src": "470:18:129",

@@ -526,3 +526,3 @@ "typeDescriptions": {

},
"id": 11211,
"id": 11227,
"isConstant": false,

@@ -544,3 +544,3 @@ "isLValue": false,

"hexValue": "4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564",
"id": 11212,
"id": 11228,
"isConstant": false,

@@ -572,10 +572,10 @@ "isLValue": false,

],
"id": 11206,
"id": 11222,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "462:7:129",

@@ -587,3 +587,3 @@ "typeDescriptions": {

},
"id": 11213,
"id": 11229,
"isConstant": false,

@@ -602,3 +602,3 @@ "isLValue": false,

},
"id": 11214,
"id": 11230,
"nodeType": "ExpressionStatement",

@@ -613,7 +613,7 @@ "src": "462:102:129"

"argumentTypes": null,
"id": 11216,
"id": 11232,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11203,
"referencedDeclaration": 11219,
"src": "580:7:129",

@@ -633,10 +633,10 @@ "typeDescriptions": {

],
"id": 11215,
"id": 11231,
"name": "_burn",
"nodeType": "Identifier",
"overloadedDeclarations": [
11026,
11039
11042,
11055
],
"referencedDeclaration": 11039,
"referencedDeclaration": 11055,
"src": "574:5:129",

@@ -648,3 +648,3 @@ "typeDescriptions": {

},
"id": 11217,
"id": 11233,
"isConstant": false,

@@ -663,3 +663,3 @@ "isLValue": false,

},
"id": 11218,
"id": 11234,
"nodeType": "ExpressionStatement",

@@ -671,3 +671,3 @@ "src": "574:14:129"

"documentation": "@dev Burns a specific ERC721 token.\n@param tokenId uint256 id of the ERC721 token to be burned.",
"id": 11220,
"id": 11236,
"implemented": true,

@@ -679,3 +679,3 @@ "kind": "function",

"parameters": {
"id": 11204,
"id": 11220,
"nodeType": "ParameterList",

@@ -685,6 +685,6 @@ "parameters": [

"constant": false,
"id": 11203,
"id": 11219,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 11220,
"scope": 11236,
"src": "376:15:129",

@@ -698,3 +698,3 @@ "stateVariable": false,

"typeName": {
"id": 11202,
"id": 11218,
"name": "uint256",

@@ -715,3 +715,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 11205,
"id": 11221,
"nodeType": "ParameterList",

@@ -721,3 +721,3 @@ "parameters": [],

},
"scope": 11221,
"scope": 11237,
"src": "362:233:129",

@@ -729,3 +729,3 @@ "stateMutability": "nonpayable",

],
"scope": 11222,
"scope": 11238,
"src": "187:410:129"

@@ -736,7 +736,7 @@ }

},
"bytecode": "0x608060405261001a6301ffc9a760e01b61003560201b60201c565b6100306380ac58cd60e01b61003560201b60201c565b61013d565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156100d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611b758061014c6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146102ab5780636352211e146102d957806370a0823114610347578063a22cb4651461039f578063b88d4fde146103ef578063e985e9c5146104f4576100a9565b806301ffc9a7146100ae578063081812fc14610113578063095ea7b31461018157806323b872dd146101cf57806342842e0e1461023d575b600080fd5b6100f9600480360360208110156100c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610570565b604051808215151515815260200191505060405180910390f35b61013f6004803603602081101561012957600080fd5b81019080803590602001909291905050506105d7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cd6004803603604081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610672565b005b61023b600480360360608110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610859565b005b6102a96004803603606081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cf565b005b6102d7600480360360208110156102c157600080fd5b81019080803590602001909291905050506108ef565b005b610305600480360360208110156102ef57600080fd5b8101908080359060200190929190505050610961565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103896004803603602081101561035d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a29565b6040518082815260200191505060405180910390f35b6103ed600480360360408110156103b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610afe565b005b6104f26004803603608081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561046c57600080fd5b82018360208201111561047e57600080fd5b803590602001918460018302840111640100000000831117156104a057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cb6565b005b6105566004803603604081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2e565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60006105e282610dc2565b610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611a45602c913960400191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061067d82610961565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611a9a6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610723610e34565b73ffffffffffffffffffffffffffffffffffffffff16148061075257506107518161074c610e34565b610d2e565b5b6107a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806119ba6038913960400191505060405180910390fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b61086a610864610e34565b82610e3c565b6108bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b6108ca838383610f30565b505050565b6108ea83838360405180602001604052806000815250610cb6565b505050565b6109006108fa610e34565b82610e3c565b610955576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611b116030913960400191505060405180910390fd5b61095e8161118b565b50565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a1c6029913960400191505060405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806119f2602a913960400191505060405180910390fd5b610af7600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206111a0565b9050919050565b610b06610e34565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b8060046000610bb4610e34565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610c61610e34565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b610cc7610cc1610e34565b83610e3c565b610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b610d28848484846111ae565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600033905090565b6000610e4782610dc2565b610e9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061198e602c913960400191505060405180910390fd5b6000610ea783610961565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610f1657508373ffffffffffffffffffffffffffffffffffffffff16610efe846105d7565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f275750610f268185610d2e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610f5082610961565b73ffffffffffffffffffffffffffffffffffffffff1614610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a716029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061196a6024913960400191505060405180910390fd5b61104b81611220565b611092600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b6110d9600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611301565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61119d61119782610961565b82611317565b50565b600081600001549050919050565b6111b9848484610f30565b6111c5848484846114a6565b61121a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112db5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6112f6600182600001546117e290919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b8173ffffffffffffffffffffffffffffffffffffffff1661133782610961565b73ffffffffffffffffffffffffffffffffffffffff16146113a3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611aec6025913960400191505060405180910390fd5b6113ac81611220565b6113f3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006114c78473ffffffffffffffffffffffffffffffffffffffff1661182c565b6114d457600190506117da565b600060608573ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1663150b7a02905060e01b611518610e34565b898888604051602401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115c85780820151818401526020810190506115ad565b50505050905090810190601f1680156115f55780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061168d578051825260208201915060208101905060208303925061166a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146116ef576040519150601f19603f3d011682016040523d82523d6000602084013e6116f4565b606091505b509150915081611762576000815111156117115780518082602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b600081806020019051602081101561177957600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161493505050505b949350505050565b600061182483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611877565b905092915050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561186e57506000801b8214155b92505050919050565b6000838311158290611924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118e95780820151818401526020810190506118ce565b50505050905090810190601f1680156119165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a265627a7a723158207abe0abb52eb840d3967f2f147821794973ebed9e711cdb8e8dbdd8de63e623864736f6c63430005100032",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146102ab5780636352211e146102d957806370a0823114610347578063a22cb4651461039f578063b88d4fde146103ef578063e985e9c5146104f4576100a9565b806301ffc9a7146100ae578063081812fc14610113578063095ea7b31461018157806323b872dd146101cf57806342842e0e1461023d575b600080fd5b6100f9600480360360208110156100c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610570565b604051808215151515815260200191505060405180910390f35b61013f6004803603602081101561012957600080fd5b81019080803590602001909291905050506105d7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cd6004803603604081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610672565b005b61023b600480360360608110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610859565b005b6102a96004803603606081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cf565b005b6102d7600480360360208110156102c157600080fd5b81019080803590602001909291905050506108ef565b005b610305600480360360208110156102ef57600080fd5b8101908080359060200190929190505050610961565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103896004803603602081101561035d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a29565b6040518082815260200191505060405180910390f35b6103ed600480360360408110156103b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610afe565b005b6104f26004803603608081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561046c57600080fd5b82018360208201111561047e57600080fd5b803590602001918460018302840111640100000000831117156104a057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cb6565b005b6105566004803603604081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2e565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60006105e282610dc2565b610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611a45602c913960400191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061067d82610961565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611a9a6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610723610e34565b73ffffffffffffffffffffffffffffffffffffffff16148061075257506107518161074c610e34565b610d2e565b5b6107a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806119ba6038913960400191505060405180910390fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b61086a610864610e34565b82610e3c565b6108bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b6108ca838383610f30565b505050565b6108ea83838360405180602001604052806000815250610cb6565b505050565b6109006108fa610e34565b82610e3c565b610955576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611b116030913960400191505060405180910390fd5b61095e8161118b565b50565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a1c6029913960400191505060405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806119f2602a913960400191505060405180910390fd5b610af7600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206111a0565b9050919050565b610b06610e34565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b8060046000610bb4610e34565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610c61610e34565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b610cc7610cc1610e34565b83610e3c565b610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b610d28848484846111ae565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600033905090565b6000610e4782610dc2565b610e9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061198e602c913960400191505060405180910390fd5b6000610ea783610961565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610f1657508373ffffffffffffffffffffffffffffffffffffffff16610efe846105d7565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f275750610f268185610d2e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610f5082610961565b73ffffffffffffffffffffffffffffffffffffffff1614610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a716029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061196a6024913960400191505060405180910390fd5b61104b81611220565b611092600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b6110d9600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611301565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61119d61119782610961565b82611317565b50565b600081600001549050919050565b6111b9848484610f30565b6111c5848484846114a6565b61121a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112db5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6112f6600182600001546117e290919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b8173ffffffffffffffffffffffffffffffffffffffff1661133782610961565b73ffffffffffffffffffffffffffffffffffffffff16146113a3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611aec6025913960400191505060405180910390fd5b6113ac81611220565b6113f3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006114c78473ffffffffffffffffffffffffffffffffffffffff1661182c565b6114d457600190506117da565b600060608573ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1663150b7a02905060e01b611518610e34565b898888604051602401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115c85780820151818401526020810190506115ad565b50505050905090810190601f1680156115f55780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061168d578051825260208201915060208101905060208303925061166a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146116ef576040519150601f19603f3d011682016040523d82523d6000602084013e6116f4565b606091505b509150915081611762576000815111156117115780518082602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b600081806020019051602081101561177957600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161493505050505b949350505050565b600061182483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611877565b905092915050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561186e57506000801b8214155b92505050919050565b6000838311158290611924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118e95780820151818401526020810190506118ce565b50505050905090810190601f1680156119165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a265627a7a723158207abe0abb52eb840d3967f2f147821794973ebed9e711cdb8e8dbdd8de63e623864736f6c63430005100032",
"bytecode": "0x608060405261001a6301ffc9a760e01b61003560201b60201c565b6100306380ac58cd60e01b61003560201b60201c565b61013d565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156100d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611b758061014c6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146102ab5780636352211e146102d957806370a0823114610347578063a22cb4651461039f578063b88d4fde146103ef578063e985e9c5146104f4576100a9565b806301ffc9a7146100ae578063081812fc14610113578063095ea7b31461018157806323b872dd146101cf57806342842e0e1461023d575b600080fd5b6100f9600480360360208110156100c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610570565b604051808215151515815260200191505060405180910390f35b61013f6004803603602081101561012957600080fd5b81019080803590602001909291905050506105d7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cd6004803603604081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610672565b005b61023b600480360360608110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610859565b005b6102a96004803603606081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cf565b005b6102d7600480360360208110156102c157600080fd5b81019080803590602001909291905050506108ef565b005b610305600480360360208110156102ef57600080fd5b8101908080359060200190929190505050610961565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103896004803603602081101561035d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a29565b6040518082815260200191505060405180910390f35b6103ed600480360360408110156103b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610afe565b005b6104f26004803603608081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561046c57600080fd5b82018360208201111561047e57600080fd5b803590602001918460018302840111640100000000831117156104a057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cb6565b005b6105566004803603604081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2e565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60006105e282610dc2565b610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611a45602c913960400191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061067d82610961565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611a9a6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610723610e34565b73ffffffffffffffffffffffffffffffffffffffff16148061075257506107518161074c610e34565b610d2e565b5b6107a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806119ba6038913960400191505060405180910390fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b61086a610864610e34565b82610e3c565b6108bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b6108ca838383610f30565b505050565b6108ea83838360405180602001604052806000815250610cb6565b505050565b6109006108fa610e34565b82610e3c565b610955576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611b116030913960400191505060405180910390fd5b61095e8161118b565b50565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a1c6029913960400191505060405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806119f2602a913960400191505060405180910390fd5b610af7600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206111a0565b9050919050565b610b06610e34565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b8060046000610bb4610e34565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610c61610e34565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b610cc7610cc1610e34565b83610e3c565b610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b610d28848484846111ae565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600033905090565b6000610e4782610dc2565b610e9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061198e602c913960400191505060405180910390fd5b6000610ea783610961565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610f1657508373ffffffffffffffffffffffffffffffffffffffff16610efe846105d7565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f275750610f268185610d2e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610f5082610961565b73ffffffffffffffffffffffffffffffffffffffff1614610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a716029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061196a6024913960400191505060405180910390fd5b61104b81611220565b611092600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b6110d9600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611301565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61119d61119782610961565b82611317565b50565b600081600001549050919050565b6111b9848484610f30565b6111c5848484846114a6565b61121a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112db5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6112f6600182600001546117e290919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b8173ffffffffffffffffffffffffffffffffffffffff1661133782610961565b73ffffffffffffffffffffffffffffffffffffffff16146113a3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611aec6025913960400191505060405180910390fd5b6113ac81611220565b6113f3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006114c78473ffffffffffffffffffffffffffffffffffffffff1661182c565b6114d457600190506117da565b600060608573ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1663150b7a02905060e01b611518610e34565b898888604051602401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115c85780820151818401526020810190506115ad565b50505050905090810190601f1680156115f55780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061168d578051825260208201915060208101905060208303925061166a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146116ef576040519150601f19603f3d011682016040523d82523d6000602084013e6116f4565b606091505b509150915081611762576000815111156117115780518082602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b600081806020019051602081101561177957600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161493505050505b949350505050565b600061182483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611877565b905092915050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561186e57506000801b8214155b92505050919050565b6000838311158290611924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118e95780820151818401526020810190506118ce565b50505050905090810190601f1680156119165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a265627a7a7231582074b46b33416c80acea9808f2c883a8e657b211597ae000fa87cc4743a4a188fb64736f6c63430005110032",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146102ab5780636352211e146102d957806370a0823114610347578063a22cb4651461039f578063b88d4fde146103ef578063e985e9c5146104f4576100a9565b806301ffc9a7146100ae578063081812fc14610113578063095ea7b31461018157806323b872dd146101cf57806342842e0e1461023d575b600080fd5b6100f9600480360360208110156100c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610570565b604051808215151515815260200191505060405180910390f35b61013f6004803603602081101561012957600080fd5b81019080803590602001909291905050506105d7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101cd6004803603604081101561019757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610672565b005b61023b600480360360608110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610859565b005b6102a96004803603606081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cf565b005b6102d7600480360360208110156102c157600080fd5b81019080803590602001909291905050506108ef565b005b610305600480360360208110156102ef57600080fd5b8101908080359060200190929190505050610961565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103896004803603602081101561035d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a29565b6040518082815260200191505060405180910390f35b6103ed600480360360408110156103b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610afe565b005b6104f26004803603608081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561046c57600080fd5b82018360208201111561047e57600080fd5b803590602001918460018302840111640100000000831117156104a057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cb6565b005b6105566004803603604081101561050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2e565b604051808215151515815260200191505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60006105e282610dc2565b610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611a45602c913960400191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061067d82610961565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610704576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611a9a6021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610723610e34565b73ffffffffffffffffffffffffffffffffffffffff16148061075257506107518161074c610e34565b610d2e565b5b6107a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806119ba6038913960400191505060405180910390fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b61086a610864610e34565b82610e3c565b6108bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b6108ca838383610f30565b505050565b6108ea83838360405180602001604052806000815250610cb6565b505050565b6109006108fa610e34565b82610e3c565b610955576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611b116030913960400191505060405180910390fd5b61095e8161118b565b50565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a1c6029913960400191505060405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806119f2602a913960400191505060405180910390fd5b610af7600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206111a0565b9050919050565b610b06610e34565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b8060046000610bb4610e34565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610c61610e34565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b610cc7610cc1610e34565b83610e3c565b610d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611abb6031913960400191505060405180910390fd5b610d28848484846111ae565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600033905090565b6000610e4782610dc2565b610e9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061198e602c913960400191505060405180910390fd5b6000610ea783610961565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610f1657508373ffffffffffffffffffffffffffffffffffffffff16610efe846105d7565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f275750610f268185610d2e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610f5082610961565b73ffffffffffffffffffffffffffffffffffffffff1614610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611a716029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061196a6024913960400191505060405180910390fd5b61104b81611220565b611092600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b6110d9600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611301565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61119d61119782610961565b82611317565b50565b600081600001549050919050565b6111b9848484610f30565b6111c5848484846114a6565b61121a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112db5760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6112f6600182600001546117e290919063ffffffff16565b816000018190555050565b6001816000016000828254019250508190555050565b8173ffffffffffffffffffffffffffffffffffffffff1661133782610961565b73ffffffffffffffffffffffffffffffffffffffff16146113a3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611aec6025913960400191505060405180910390fd5b6113ac81611220565b6113f3600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206112de565b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60006114c78473ffffffffffffffffffffffffffffffffffffffff1661182c565b6114d457600190506117da565b600060608573ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1663150b7a02905060e01b611518610e34565b898888604051602401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115c85780820151818401526020810190506115ad565b50505050905090810190601f1680156115f55780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061168d578051825260208201915060208101905060208303925061166a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146116ef576040519150601f19603f3d011682016040523d82523d6000602084013e6116f4565b606091505b509150915081611762576000815111156117115780518082602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806119386032913960400191505060405180910390fd5b600081806020019051602081101561177957600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161493505050505b949350505050565b600061182483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611877565b905092915050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561186e57506000801b8214155b92505050919050565b6000838311158290611924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118e95780820151818401526020810190506118ce565b50505050905090810190601f1680156119165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a265627a7a7231582074b46b33416c80acea9808f2c883a8e657b211597ae000fa87cc4743a4a188fb64736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -743,0 +743,0 @@ "enabled": false,

@@ -50,10 +50,10 @@ {

"ERC721Holder": [
11609
11625
]
},
"id": 11610,
"id": 11626,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11587,
"id": 11603,
"literals": [

@@ -71,6 +71,6 @@ "solidity",

"file": "./IERC721Receiver.sol",
"id": 11588,
"id": 11604,
"nodeType": "ImportDirective",
"scope": 11610,
"sourceUnit": 12133,
"scope": 11626,
"sourceUnit": 12149,
"src": "25:31:132",

@@ -86,13 +86,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 11589,
"id": 11605,
"name": "IERC721Receiver",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 12132,
"referencedDeclaration": 12148,
"src": "83:15:132",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721Receiver_$12132",
"typeIdentifier": "t_contract$_IERC721Receiver_$12148",
"typeString": "contract IERC721Receiver"
}
},
"id": 11590,
"id": 11606,
"nodeType": "InheritanceSpecifier",

@@ -103,3 +103,3 @@ "src": "83:15:132"

"contractDependencies": [
12132
12148
],

@@ -109,6 +109,6 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 11609,
"id": 11625,
"linearizedBaseContracts": [
11609,
12132
11625,
12148
],

@@ -120,3 +120,3 @@ "name": "ERC721Holder",

"body": {
"id": 11607,
"id": 11623,
"nodeType": "Block",

@@ -132,14 +132,14 @@ "src": "196:54:132",

"argumentTypes": null,
"id": 11603,
"id": 11619,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14239,
"referencedDeclaration": 14273,
"src": "213:4:132",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721Holder_$11609",
"typeIdentifier": "t_contract$_ERC721Holder_$11625",
"typeString": "contract ERC721Holder"
}
},
"id": 11604,
"id": 11620,
"isConstant": false,

@@ -151,3 +151,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 11608,
"referencedDeclaration": 11624,
"src": "213:21:132",

@@ -159,3 +159,3 @@ "typeDescriptions": {

},
"id": 11605,
"id": 11621,
"isConstant": false,

@@ -174,4 +174,4 @@ "isLValue": false,

},
"functionReturnParameters": 11602,
"id": 11606,
"functionReturnParameters": 11618,
"id": 11622,
"nodeType": "Return",

@@ -183,3 +183,3 @@ "src": "206:37:132"

"documentation": null,
"id": 11608,
"id": 11624,
"implemented": true,

@@ -191,3 +191,3 @@ "kind": "function",

"parameters": {
"id": 11599,
"id": 11615,
"nodeType": "ParameterList",

@@ -197,6 +197,6 @@ "parameters": [

"constant": false,
"id": 11592,
"id": 11608,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11608,
"scope": 11624,
"src": "131:7:132",

@@ -210,3 +210,3 @@ "stateVariable": false,

"typeName": {
"id": 11591,
"id": 11607,
"name": "address",

@@ -226,6 +226,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11594,
"id": 11610,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11608,
"scope": 11624,
"src": "140:7:132",

@@ -239,3 +239,3 @@ "stateVariable": false,

"typeName": {
"id": 11593,
"id": 11609,
"name": "address",

@@ -255,6 +255,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11596,
"id": 11612,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11608,
"scope": 11624,
"src": "149:7:132",

@@ -268,3 +268,3 @@ "stateVariable": false,

"typeName": {
"id": 11595,
"id": 11611,
"name": "uint256",

@@ -283,6 +283,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11598,
"id": 11614,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11608,
"scope": 11624,
"src": "158:12:132",

@@ -296,3 +296,3 @@ "stateVariable": false,

"typeName": {
"id": 11597,
"id": 11613,
"name": "bytes",

@@ -313,3 +313,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 11602,
"id": 11618,
"nodeType": "ParameterList",

@@ -319,6 +319,6 @@ "parameters": [

"constant": false,
"id": 11601,
"id": 11617,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11608,
"scope": 11624,
"src": "188:6:132",

@@ -332,3 +332,3 @@ "stateVariable": false,

"typeName": {
"id": 11600,
"id": 11616,
"name": "bytes4",

@@ -348,10 +348,10 @@ "nodeType": "ElementaryTypeName",

},
"scope": 11609,
"scope": 11625,
"src": "105:145:132",
"stateMutability": "nonpayable",
"superFunction": 12131,
"superFunction": 12147,
"visibility": "public"
}
],
"scope": 11610,
"scope": 11626,
"src": "58:194:132"

@@ -362,7 +362,7 @@ }

},
"bytecode": "0x608060405234801561001057600080fd5b506101d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b6101336004803603608081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100ad57600080fd5b8201836020820111156100bf57600080fd5b803590602001918460018302840111640100000000831117156100e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610187565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063150b7a0260e01b905094935050505056fea265627a7a7231582051656a4841852bbe19d45dd41bb35d2f0c79e1b9ada9fd964928035aaf6fdf0164736f6c63430005100032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b6101336004803603608081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100ad57600080fd5b8201836020820111156100bf57600080fd5b803590602001918460018302840111640100000000831117156100e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610187565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063150b7a0260e01b905094935050505056fea265627a7a7231582051656a4841852bbe19d45dd41bb35d2f0c79e1b9ada9fd964928035aaf6fdf0164736f6c63430005100032",
"bytecode": "0x608060405234801561001057600080fd5b506101d0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b6101336004803603608081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100ad57600080fd5b8201836020820111156100bf57600080fd5b803590602001918460018302840111640100000000831117156100e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610187565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063150b7a0260e01b905094935050505056fea265627a7a723158206040fb4bd3118e7b238342271fd09a2ff25eb65a67eebaa820963e4f1820700764736f6c63430005110032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b6101336004803603608081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100ad57600080fd5b8201836020820111156100bf57600080fd5b803590602001918460018302840111640100000000831117156100e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610187565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b600063150b7a0260e01b905094935050505056fea265627a7a723158206040fb4bd3118e7b238342271fd09a2ff25eb65a67eebaa820963e4f1820700764736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -369,0 +369,0 @@ "enabled": false,

@@ -487,10 +487,10 @@ {

"ERC721MetadataMintable": [
11819
11835
]
},
"id": 11820,
"id": 11836,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11784,
"id": 11800,
"literals": [

@@ -508,6 +508,6 @@ "solidity",

"file": "./ERC721Metadata.sol",
"id": 11785,
"id": 11801,
"nodeType": "ImportDirective",
"scope": 11820,
"sourceUnit": 11783,
"scope": 11836,
"sourceUnit": 11799,
"src": "25:30:134",

@@ -520,5 +520,5 @@ "symbolAliases": [],

"file": "../../access/roles/MinterRole.sol",
"id": 11786,
"id": 11802,
"nodeType": "ImportDirective",
"scope": 11820,
"scope": 11836,
"sourceUnit": 1409,

@@ -535,13 +535,13 @@ "src": "56:43:134",

"contractScope": null,
"id": 11787,
"id": 11803,
"name": "ERC721",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11193,
"referencedDeclaration": 11209,
"src": "222:6:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721_$11193",
"typeIdentifier": "t_contract$_ERC721_$11209",
"typeString": "contract ERC721"
}
},
"id": 11788,
"id": 11804,
"nodeType": "InheritanceSpecifier",

@@ -554,13 +554,13 @@ "src": "222:6:134"

"contractScope": null,
"id": 11789,
"id": 11805,
"name": "ERC721Metadata",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11782,
"referencedDeclaration": 11798,
"src": "230:14:134",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721Metadata_$11782",
"typeIdentifier": "t_contract$_ERC721Metadata_$11798",
"typeString": "contract ERC721Metadata"
}
},
"id": 11790,
"id": 11806,
"nodeType": "InheritanceSpecifier",

@@ -573,3 +573,3 @@ "src": "230:14:134"

"contractScope": null,
"id": 11791,
"id": 11807,
"name": "MinterRole",

@@ -584,3 +584,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 11792,
"id": 11808,
"nodeType": "InheritanceSpecifier",

@@ -595,6 +595,6 @@ "src": "246:10:134"

4862,
11193,
11782,
12054,
12116
11209,
11798,
12070,
12132
],

@@ -604,10 +604,10 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 11819,
"id": 11835,
"linearizedBaseContracts": [
11819,
11835,
1408,
11782,
12116,
11193,
12054,
11798,
12132,
11209,
12070,
4629,

@@ -622,3 +622,3 @@ 4862,

"body": {
"id": 11817,
"id": 11833,
"nodeType": "Block",

@@ -633,7 +633,7 @@ "src": "669:97:134",

"argumentTypes": null,
"id": 11806,
"id": 11822,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11794,
"referencedDeclaration": 11810,
"src": "685:2:134",

@@ -647,7 +647,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 11807,
"id": 11823,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11796,
"referencedDeclaration": 11812,
"src": "689:7:134",

@@ -671,7 +671,7 @@ "typeDescriptions": {

],
"id": 11805,
"id": 11821,
"name": "_mint",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10983,
"referencedDeclaration": 10999,
"src": "679:5:134",

@@ -683,3 +683,3 @@ "typeDescriptions": {

},
"id": 11808,
"id": 11824,
"isConstant": false,

@@ -698,3 +698,3 @@ "isLValue": false,

},
"id": 11809,
"id": 11825,
"nodeType": "ExpressionStatement",

@@ -709,7 +709,7 @@ "src": "679:18:134"

"argumentTypes": null,
"id": 11811,
"id": 11827,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11796,
"referencedDeclaration": 11812,
"src": "720:7:134",

@@ -723,7 +723,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 11812,
"id": 11828,
"name": "tokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11798,
"referencedDeclaration": 11814,
"src": "729:8:134",

@@ -747,7 +747,7 @@ "typeDescriptions": {

],
"id": 11810,
"id": 11826,
"name": "_setTokenURI",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11733,
"referencedDeclaration": 11749,
"src": "707:12:134",

@@ -759,3 +759,3 @@ "typeDescriptions": {

},
"id": 11813,
"id": 11829,
"isConstant": false,

@@ -774,3 +774,3 @@ "isLValue": false,

},
"id": 11814,
"id": 11830,
"nodeType": "ExpressionStatement",

@@ -783,3 +783,3 @@ "src": "707:31:134"

"hexValue": "74727565",
"id": 11815,
"id": 11831,
"isConstant": false,

@@ -799,4 +799,4 @@ "isLValue": false,

},
"functionReturnParameters": 11804,
"id": 11816,
"functionReturnParameters": 11820,
"id": 11832,
"nodeType": "Return",

@@ -808,3 +808,3 @@ "src": "748:11:134"

"documentation": "@dev Function to mint tokens.\n@param to The address that will receive the minted tokens.\n@param tokenId The token id to mint.\n@param tokenURI The token URI of the minted token.\n@return A boolean that indicates if the operation was successful.",
"id": 11818,
"id": 11834,
"implemented": true,

@@ -815,6 +815,6 @@ "kind": "function",

"arguments": null,
"id": 11801,
"id": 11817,
"modifierName": {
"argumentTypes": null,
"id": 11800,
"id": 11816,
"name": "onlyMinter",

@@ -837,3 +837,3 @@ "nodeType": "Identifier",

"parameters": {
"id": 11799,
"id": 11815,
"nodeType": "ParameterList",

@@ -843,6 +843,6 @@ "parameters": [

"constant": false,
"id": 11794,
"id": 11810,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 11818,
"scope": 11834,
"src": "583:10:134",

@@ -856,3 +856,3 @@ "stateVariable": false,

"typeName": {
"id": 11793,
"id": 11809,
"name": "address",

@@ -872,6 +872,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11796,
"id": 11812,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 11818,
"scope": 11834,
"src": "595:15:134",

@@ -885,3 +885,3 @@ "stateVariable": false,

"typeName": {
"id": 11795,
"id": 11811,
"name": "uint256",

@@ -900,6 +900,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11798,
"id": 11814,
"name": "tokenURI",
"nodeType": "VariableDeclaration",
"scope": 11818,
"scope": 11834,
"src": "612:22:134",

@@ -913,3 +913,3 @@ "stateVariable": false,

"typeName": {
"id": 11797,
"id": 11813,
"name": "string",

@@ -930,3 +930,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 11804,
"id": 11820,
"nodeType": "ParameterList",

@@ -936,6 +936,6 @@ "parameters": [

"constant": false,
"id": 11803,
"id": 11819,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 11818,
"scope": 11834,
"src": "663:4:134",

@@ -949,3 +949,3 @@ "stateVariable": false,

"typeName": {
"id": 11802,
"id": 11818,
"name": "bool",

@@ -965,3 +965,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 11819,
"scope": 11835,
"src": "557:209:134",

@@ -973,3 +973,3 @@ "stateMutability": "nonpayable",

],
"scope": 11820,
"scope": 11836,
"src": "187:581:134"

@@ -984,3 +984,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -987,0 +987,0 @@ "enabled": false,

@@ -304,3 +304,3 @@ {

3087,
13786
13820
],

@@ -315,3 +315,3 @@ "contractKind": "contract",

2119,
13786,
13820,
26

@@ -625,6 +625,6 @@ ],

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "838:7:14",

@@ -722,6 +722,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "911:7:14",

@@ -942,3 +942,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -945,0 +945,0 @@ "enabled": false,

@@ -157,3 +157,3 @@ {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -160,0 +160,0 @@ "enabled": false,

@@ -189,3 +189,3 @@ {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -192,0 +192,0 @@ "enabled": false,

@@ -1213,3 +1213,3 @@ {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1216,0 +1216,0 @@ "enabled": false,

@@ -209,10 +209,10 @@ {

"IERC20": [
10200
10216
]
},
"id": 10201,
"id": 10217,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 10133,
"id": 10149,
"literals": [

@@ -233,5 +233,5 @@ "solidity",

"fullyImplemented": false,
"id": 10200,
"id": 10216,
"linearizedBaseContracts": [
10200
10216
],

@@ -244,3 +244,3 @@ "name": "IERC20",

"documentation": "@dev Returns the amount of tokens in existence.",
"id": 10138,
"id": 10154,
"implemented": false,

@@ -252,3 +252,3 @@ "kind": "function",

"parameters": {
"id": 10134,
"id": 10150,
"nodeType": "ParameterList",

@@ -259,3 +259,3 @@ "parameters": [],

"returnParameters": {
"id": 10137,
"id": 10153,
"nodeType": "ParameterList",

@@ -265,6 +265,6 @@ "parameters": [

"constant": false,
"id": 10136,
"id": 10152,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10138,
"scope": 10154,
"src": "316:7:125",

@@ -278,3 +278,3 @@ "stateVariable": false,

"typeName": {
"id": 10135,
"id": 10151,
"name": "uint256",

@@ -294,6 +294,6 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10200,
"scope": 10216,
"src": "270:55:125",
"stateMutability": "view",
"superFunction": 13138,
"superFunction": 13172,
"visibility": "external"

@@ -304,3 +304,3 @@ },

"documentation": "@dev Returns the amount of tokens owned by `account`.",
"id": 10145,
"id": 10161,
"implemented": false,

@@ -312,3 +312,3 @@ "kind": "function",

"parameters": {
"id": 10141,
"id": 10157,
"nodeType": "ParameterList",

@@ -318,6 +318,6 @@ "parameters": [

"constant": false,
"id": 10140,
"id": 10156,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 10145,
"scope": 10161,
"src": "427:15:125",

@@ -331,3 +331,3 @@ "stateVariable": false,

"typeName": {
"id": 10139,
"id": 10155,
"name": "address",

@@ -349,3 +349,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 10144,
"id": 10160,
"nodeType": "ParameterList",

@@ -355,6 +355,6 @@ "parameters": [

"constant": false,
"id": 10143,
"id": 10159,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10145,
"scope": 10161,
"src": "467:7:125",

@@ -368,3 +368,3 @@ "stateVariable": false,

"typeName": {
"id": 10142,
"id": 10158,
"name": "uint256",

@@ -384,6 +384,6 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10200,
"scope": 10216,
"src": "408:68:125",
"stateMutability": "view",
"superFunction": 13145,
"superFunction": 13179,
"visibility": "external"

@@ -394,3 +394,3 @@ },

"documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.",
"id": 10154,
"id": 10170,
"implemented": false,

@@ -402,3 +402,3 @@ "kind": "function",

"parameters": {
"id": 10150,
"id": 10166,
"nodeType": "ParameterList",

@@ -408,6 +408,6 @@ "parameters": [

"constant": false,
"id": 10147,
"id": 10163,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 10154,
"scope": 10170,
"src": "714:17:125",

@@ -421,3 +421,3 @@ "stateVariable": false,

"typeName": {
"id": 10146,
"id": 10162,
"name": "address",

@@ -437,6 +437,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10149,
"id": 10165,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 10154,
"scope": 10170,
"src": "733:14:125",

@@ -450,3 +450,3 @@ "stateVariable": false,

"typeName": {
"id": 10148,
"id": 10164,
"name": "uint256",

@@ -467,3 +467,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 10153,
"id": 10169,
"nodeType": "ParameterList",

@@ -473,6 +473,6 @@ "parameters": [

"constant": false,
"id": 10152,
"id": 10168,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10154,
"scope": 10170,
"src": "767:4:125",

@@ -486,3 +486,3 @@ "stateVariable": false,

"typeName": {
"id": 10151,
"id": 10167,
"name": "bool",

@@ -502,3 +502,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10200,
"scope": 10216,
"src": "696:77:125",

@@ -512,3 +512,3 @@ "stateMutability": "nonpayable",

"documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.",
"id": 10163,
"id": 10179,
"implemented": false,

@@ -520,3 +520,3 @@ "kind": "function",

"parameters": {
"id": 10159,
"id": 10175,
"nodeType": "ParameterList",

@@ -526,6 +526,6 @@ "parameters": [

"constant": false,
"id": 10156,
"id": 10172,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 10163,
"scope": 10179,
"src": "1067:13:125",

@@ -539,3 +539,3 @@ "stateVariable": false,

"typeName": {
"id": 10155,
"id": 10171,
"name": "address",

@@ -555,6 +555,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10158,
"id": 10174,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 10163,
"scope": 10179,
"src": "1082:15:125",

@@ -568,3 +568,3 @@ "stateVariable": false,

"typeName": {
"id": 10157,
"id": 10173,
"name": "address",

@@ -586,3 +586,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 10162,
"id": 10178,
"nodeType": "ParameterList",

@@ -592,6 +592,6 @@ "parameters": [

"constant": false,
"id": 10161,
"id": 10177,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10163,
"scope": 10179,
"src": "1122:7:125",

@@ -605,3 +605,3 @@ "stateVariable": false,

"typeName": {
"id": 10160,
"id": 10176,
"name": "uint256",

@@ -621,3 +621,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10200,
"scope": 10216,
"src": "1048:83:125",

@@ -631,3 +631,3 @@ "stateMutability": "view",

"documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.",
"id": 10172,
"id": 10188,
"implemented": false,

@@ -639,3 +639,3 @@ "kind": "function",

"parameters": {
"id": 10168,
"id": 10184,
"nodeType": "ParameterList",

@@ -645,6 +645,6 @@ "parameters": [

"constant": false,
"id": 10165,
"id": 10181,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 10172,
"scope": 10188,
"src": "1801:15:125",

@@ -658,3 +658,3 @@ "stateVariable": false,

"typeName": {
"id": 10164,
"id": 10180,
"name": "address",

@@ -674,6 +674,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10167,
"id": 10183,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 10172,
"scope": 10188,
"src": "1818:14:125",

@@ -687,3 +687,3 @@ "stateVariable": false,

"typeName": {
"id": 10166,
"id": 10182,
"name": "uint256",

@@ -704,3 +704,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 10171,
"id": 10187,
"nodeType": "ParameterList",

@@ -710,6 +710,6 @@ "parameters": [

"constant": false,
"id": 10170,
"id": 10186,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10172,
"scope": 10188,
"src": "1852:4:125",

@@ -723,3 +723,3 @@ "stateVariable": false,

"typeName": {
"id": 10169,
"id": 10185,
"name": "bool",

@@ -739,3 +739,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10200,
"scope": 10216,
"src": "1784:74:125",

@@ -749,3 +749,3 @@ "stateMutability": "nonpayable",

"documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.",
"id": 10183,
"id": 10199,
"implemented": false,

@@ -757,3 +757,3 @@ "kind": "function",

"parameters": {
"id": 10179,
"id": 10195,
"nodeType": "ParameterList",

@@ -763,6 +763,6 @@ "parameters": [

"constant": false,
"id": 10174,
"id": 10190,
"name": "sender",
"nodeType": "VariableDeclaration",
"scope": 10183,
"scope": 10199,
"src": "2187:14:125",

@@ -776,3 +776,3 @@ "stateVariable": false,

"typeName": {
"id": 10173,
"id": 10189,
"name": "address",

@@ -792,6 +792,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10176,
"id": 10192,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 10183,
"scope": 10199,
"src": "2203:17:125",

@@ -805,3 +805,3 @@ "stateVariable": false,

"typeName": {
"id": 10175,
"id": 10191,
"name": "address",

@@ -821,6 +821,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10178,
"id": 10194,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 10183,
"scope": 10199,
"src": "2222:14:125",

@@ -834,3 +834,3 @@ "stateVariable": false,

"typeName": {
"id": 10177,
"id": 10193,
"name": "uint256",

@@ -851,3 +851,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 10182,
"id": 10198,
"nodeType": "ParameterList",

@@ -857,6 +857,6 @@ "parameters": [

"constant": false,
"id": 10181,
"id": 10197,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 10183,
"scope": 10199,
"src": "2256:4:125",

@@ -870,3 +870,3 @@ "stateVariable": false,

"typeName": {
"id": 10180,
"id": 10196,
"name": "bool",

@@ -886,3 +886,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 10200,
"scope": 10216,
"src": "2165:97:125",

@@ -896,7 +896,7 @@ "stateMutability": "nonpayable",

"documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.",
"id": 10191,
"id": 10207,
"name": "Transfer",
"nodeType": "EventDefinition",
"parameters": {
"id": 10190,
"id": 10206,
"nodeType": "ParameterList",

@@ -906,7 +906,7 @@ "parameters": [

"constant": false,
"id": 10185,
"id": 10201,
"indexed": true,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 10191,
"scope": 10207,
"src": "2446:20:125",

@@ -920,3 +920,3 @@ "stateVariable": false,

"typeName": {
"id": 10184,
"id": 10200,
"name": "address",

@@ -936,7 +936,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10187,
"id": 10203,
"indexed": true,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 10191,
"scope": 10207,
"src": "2468:18:125",

@@ -950,3 +950,3 @@ "stateVariable": false,

"typeName": {
"id": 10186,
"id": 10202,
"name": "address",

@@ -966,7 +966,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10189,
"id": 10205,
"indexed": false,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 10191,
"scope": 10207,
"src": "2488:13:125",

@@ -980,3 +980,3 @@ "stateVariable": false,

"typeName": {
"id": 10188,
"id": 10204,
"name": "uint256",

@@ -1001,7 +1001,7 @@ "nodeType": "ElementaryTypeName",

"documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.",
"id": 10199,
"id": 10215,
"name": "Approval",
"nodeType": "EventDefinition",
"parameters": {
"id": 10198,
"id": 10214,
"nodeType": "ParameterList",

@@ -1011,7 +1011,7 @@ "parameters": [

"constant": false,
"id": 10193,
"id": 10209,
"indexed": true,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 10199,
"scope": 10215,
"src": "2677:21:125",

@@ -1025,3 +1025,3 @@ "stateVariable": false,

"typeName": {
"id": 10192,
"id": 10208,
"name": "address",

@@ -1041,7 +1041,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10195,
"id": 10211,
"indexed": true,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 10199,
"scope": 10215,
"src": "2700:23:125",

@@ -1055,3 +1055,3 @@ "stateVariable": false,

"typeName": {
"id": 10194,
"id": 10210,
"name": "address",

@@ -1071,7 +1071,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 10197,
"id": 10213,
"indexed": false,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 10199,
"scope": 10215,
"src": "2725:13:125",

@@ -1085,3 +1085,3 @@ "stateVariable": false,

"typeName": {
"id": 10196,
"id": 10212,
"name": "uint256",

@@ -1104,3 +1104,3 @@ "nodeType": "ElementaryTypeName",

],
"scope": 10201,
"scope": 10217,
"src": "176:2566:125"

@@ -1115,3 +1115,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1118,0 +1118,0 @@ "enabled": false,

@@ -319,10 +319,10 @@ {

"IERC721": [
12054
12070
]
},
"id": 12055,
"id": 12071,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11953,
"id": 11969,
"literals": [

@@ -340,5 +340,5 @@ "solidity",

"file": "../../introspection/IERC165.sol",
"id": 11954,
"id": 11970,
"nodeType": "ImportDirective",
"scope": 12055,
"scope": 12071,
"sourceUnit": 4863,

@@ -355,3 +355,3 @@ "src": "25:41:137",

"contractScope": null,
"id": 11955,
"id": 11971,
"name": "IERC165",

@@ -366,3 +366,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 11956,
"id": 11972,
"nodeType": "InheritanceSpecifier",

@@ -378,5 +378,5 @@ "src": "156:7:137"

"fullyImplemented": false,
"id": 12054,
"id": 12070,
"linearizedBaseContracts": [
12054,
12070,
4862

@@ -390,7 +390,7 @@ ],

"documentation": null,
"id": 11964,
"id": 11980,
"name": "Transfer",
"nodeType": "EventDefinition",
"parameters": {
"id": 11963,
"id": 11979,
"nodeType": "ParameterList",

@@ -400,7 +400,7 @@ "parameters": [

"constant": false,
"id": 11958,
"id": 11974,
"indexed": true,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 11964,
"scope": 11980,
"src": "185:20:137",

@@ -414,3 +414,3 @@ "stateVariable": false,

"typeName": {
"id": 11957,
"id": 11973,
"name": "address",

@@ -430,7 +430,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11960,
"id": 11976,
"indexed": true,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 11964,
"scope": 11980,
"src": "207:18:137",

@@ -444,3 +444,3 @@ "stateVariable": false,

"typeName": {
"id": 11959,
"id": 11975,
"name": "address",

@@ -460,7 +460,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11962,
"id": 11978,
"indexed": true,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 11964,
"scope": 11980,
"src": "227:23:137",

@@ -474,3 +474,3 @@ "stateVariable": false,

"typeName": {
"id": 11961,
"id": 11977,
"name": "uint256",

@@ -495,7 +495,7 @@ "nodeType": "ElementaryTypeName",

"documentation": null,
"id": 11972,
"id": 11988,
"name": "Approval",
"nodeType": "EventDefinition",
"parameters": {
"id": 11971,
"id": 11987,
"nodeType": "ParameterList",

@@ -505,7 +505,7 @@ "parameters": [

"constant": false,
"id": 11966,
"id": 11982,
"indexed": true,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 11972,
"scope": 11988,
"src": "272:21:137",

@@ -519,3 +519,3 @@ "stateVariable": false,

"typeName": {
"id": 11965,
"id": 11981,
"name": "address",

@@ -535,7 +535,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11968,
"id": 11984,
"indexed": true,
"name": "approved",
"nodeType": "VariableDeclaration",
"scope": 11972,
"scope": 11988,
"src": "295:24:137",

@@ -549,3 +549,3 @@ "stateVariable": false,

"typeName": {
"id": 11967,
"id": 11983,
"name": "address",

@@ -565,7 +565,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11970,
"id": 11986,
"indexed": true,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 11972,
"scope": 11988,
"src": "321:23:137",

@@ -579,3 +579,3 @@ "stateVariable": false,

"typeName": {
"id": 11969,
"id": 11985,
"name": "uint256",

@@ -600,7 +600,7 @@ "nodeType": "ElementaryTypeName",

"documentation": null,
"id": 11980,
"id": 11996,
"name": "ApprovalForAll",
"nodeType": "EventDefinition",
"parameters": {
"id": 11979,
"id": 11995,
"nodeType": "ParameterList",

@@ -610,7 +610,7 @@ "parameters": [

"constant": false,
"id": 11974,
"id": 11990,
"indexed": true,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 11980,
"scope": 11996,
"src": "372:21:137",

@@ -624,3 +624,3 @@ "stateVariable": false,

"typeName": {
"id": 11973,
"id": 11989,
"name": "address",

@@ -640,7 +640,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11976,
"id": 11992,
"indexed": true,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 11980,
"scope": 11996,
"src": "395:24:137",

@@ -654,3 +654,3 @@ "stateVariable": false,

"typeName": {
"id": 11975,
"id": 11991,
"name": "address",

@@ -670,7 +670,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11978,
"id": 11994,
"indexed": false,
"name": "approved",
"nodeType": "VariableDeclaration",
"scope": 11980,
"scope": 11996,
"src": "421:13:137",

@@ -684,3 +684,3 @@ "stateVariable": false,

"typeName": {
"id": 11977,
"id": 11993,
"name": "bool",

@@ -705,3 +705,3 @@ "nodeType": "ElementaryTypeName",

"documentation": "@dev Returns the number of NFTs in `owner`'s account.",
"id": 11987,
"id": 12003,
"implemented": false,

@@ -713,3 +713,3 @@ "kind": "function",

"parameters": {
"id": 11983,
"id": 11999,
"nodeType": "ParameterList",

@@ -719,6 +719,6 @@ "parameters": [

"constant": false,
"id": 11982,
"id": 11998,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 11987,
"scope": 12003,
"src": "538:13:137",

@@ -732,3 +732,3 @@ "stateVariable": false,

"typeName": {
"id": 11981,
"id": 11997,
"name": "address",

@@ -750,3 +750,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 11986,
"id": 12002,
"nodeType": "ParameterList",

@@ -756,6 +756,6 @@ "parameters": [

"constant": false,
"id": 11985,
"id": 12001,
"name": "balance",
"nodeType": "VariableDeclaration",
"scope": 11987,
"scope": 12003,
"src": "574:15:137",

@@ -769,3 +769,3 @@ "stateVariable": false,

"typeName": {
"id": 11984,
"id": 12000,
"name": "uint256",

@@ -785,3 +785,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12054,
"scope": 12070,
"src": "519:72:137",

@@ -795,3 +795,3 @@ "stateMutability": "view",

"documentation": "@dev Returns the owner of the NFT specified by `tokenId`.",
"id": 11994,
"id": 12010,
"implemented": false,

@@ -803,3 +803,3 @@ "kind": "function",

"parameters": {
"id": 11990,
"id": 12006,
"nodeType": "ParameterList",

@@ -809,6 +809,6 @@ "parameters": [

"constant": false,
"id": 11989,
"id": 12005,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 11994,
"scope": 12010,
"src": "695:15:137",

@@ -822,3 +822,3 @@ "stateVariable": false,

"typeName": {
"id": 11988,
"id": 12004,
"name": "uint256",

@@ -839,3 +839,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 11993,
"id": 12009,
"nodeType": "ParameterList",

@@ -845,6 +845,6 @@ "parameters": [

"constant": false,
"id": 11992,
"id": 12008,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 11994,
"scope": 12010,
"src": "733:13:137",

@@ -858,3 +858,3 @@ "stateVariable": false,

"typeName": {
"id": 11991,
"id": 12007,
"name": "address",

@@ -875,3 +875,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12054,
"scope": 12070,
"src": "678:70:137",

@@ -885,3 +885,3 @@ "stateMutability": "view",

"documentation": "@dev Transfers a specific NFT (`tokenId`) from one account (`from`) to\nanother (`to`).\n *\n * Requirements:\n- `from`, `to` cannot be zero.\n- `tokenId` must be owned by `from`.\n- If the caller is not `from`, it must be have been allowed to move this\nNFT by either {approve} or {setApprovalForAll}.",
"id": 12003,
"id": 12019,
"implemented": false,

@@ -893,3 +893,3 @@ "kind": "function",

"parameters": {
"id": 12001,
"id": 12017,
"nodeType": "ParameterList",

@@ -899,6 +899,6 @@ "parameters": [

"constant": false,
"id": 11996,
"id": 12012,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 12003,
"scope": 12019,
"src": "1156:12:137",

@@ -912,3 +912,3 @@ "stateVariable": false,

"typeName": {
"id": 11995,
"id": 12011,
"name": "address",

@@ -928,6 +928,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 11998,
"id": 12014,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 12003,
"scope": 12019,
"src": "1170:10:137",

@@ -941,3 +941,3 @@ "stateVariable": false,

"typeName": {
"id": 11997,
"id": 12013,
"name": "address",

@@ -957,6 +957,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12000,
"id": 12016,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12003,
"scope": 12019,
"src": "1182:15:137",

@@ -970,3 +970,3 @@ "stateVariable": false,

"typeName": {
"id": 11999,
"id": 12015,
"name": "uint256",

@@ -987,3 +987,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12002,
"id": 12018,
"nodeType": "ParameterList",

@@ -993,3 +993,3 @@ "parameters": [],

},
"scope": 12054,
"scope": 12070,
"src": "1130:76:137",

@@ -1003,3 +1003,3 @@ "stateMutability": "nonpayable",

"documentation": "@dev Transfers a specific NFT (`tokenId`) from one account (`from`) to\nanother (`to`).\n * Requirements:\n- If the caller is not `from`, it must be approved to move this NFT by\neither {approve} or {setApprovalForAll}.",
"id": 12012,
"id": 12028,
"implemented": false,

@@ -1011,3 +1011,3 @@ "kind": "function",

"parameters": {
"id": 12010,
"id": 12026,
"nodeType": "ParameterList",

@@ -1017,6 +1017,6 @@ "parameters": [

"constant": false,
"id": 12005,
"id": 12021,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 12012,
"scope": 12028,
"src": "1504:12:137",

@@ -1030,3 +1030,3 @@ "stateVariable": false,

"typeName": {
"id": 12004,
"id": 12020,
"name": "address",

@@ -1046,6 +1046,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12007,
"id": 12023,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 12012,
"scope": 12028,
"src": "1518:10:137",

@@ -1059,3 +1059,3 @@ "stateVariable": false,

"typeName": {
"id": 12006,
"id": 12022,
"name": "address",

@@ -1075,6 +1075,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12009,
"id": 12025,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12012,
"scope": 12028,
"src": "1530:15:137",

@@ -1088,3 +1088,3 @@ "stateVariable": false,

"typeName": {
"id": 12008,
"id": 12024,
"name": "uint256",

@@ -1105,3 +1105,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12011,
"id": 12027,
"nodeType": "ParameterList",

@@ -1111,3 +1111,3 @@ "parameters": [],

},
"scope": 12054,
"scope": 12070,
"src": "1482:72:137",

@@ -1121,3 +1121,3 @@ "stateMutability": "nonpayable",

"documentation": null,
"id": 12019,
"id": 12035,
"implemented": false,

@@ -1129,3 +1129,3 @@ "kind": "function",

"parameters": {
"id": 12017,
"id": 12033,
"nodeType": "ParameterList",

@@ -1135,6 +1135,6 @@ "parameters": [

"constant": false,
"id": 12014,
"id": 12030,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 12019,
"scope": 12035,
"src": "1576:10:137",

@@ -1148,3 +1148,3 @@ "stateVariable": false,

"typeName": {
"id": 12013,
"id": 12029,
"name": "address",

@@ -1164,6 +1164,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12016,
"id": 12032,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12019,
"scope": 12035,
"src": "1588:15:137",

@@ -1177,3 +1177,3 @@ "stateVariable": false,

"typeName": {
"id": 12015,
"id": 12031,
"name": "uint256",

@@ -1194,3 +1194,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12018,
"id": 12034,
"nodeType": "ParameterList",

@@ -1200,3 +1200,3 @@ "parameters": [],

},
"scope": 12054,
"scope": 12070,
"src": "1559:53:137",

@@ -1210,3 +1210,3 @@ "stateMutability": "nonpayable",

"documentation": null,
"id": 12026,
"id": 12042,
"implemented": false,

@@ -1218,3 +1218,3 @@ "kind": "function",

"parameters": {
"id": 12022,
"id": 12038,
"nodeType": "ParameterList",

@@ -1224,6 +1224,6 @@ "parameters": [

"constant": false,
"id": 12021,
"id": 12037,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12026,
"scope": 12042,
"src": "1638:15:137",

@@ -1237,3 +1237,3 @@ "stateVariable": false,

"typeName": {
"id": 12020,
"id": 12036,
"name": "uint256",

@@ -1254,3 +1254,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12025,
"id": 12041,
"nodeType": "ParameterList",

@@ -1260,6 +1260,6 @@ "parameters": [

"constant": false,
"id": 12024,
"id": 12040,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 12026,
"scope": 12042,
"src": "1676:16:137",

@@ -1273,3 +1273,3 @@ "stateVariable": false,

"typeName": {
"id": 12023,
"id": 12039,
"name": "address",

@@ -1290,3 +1290,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12054,
"scope": 12070,
"src": "1617:77:137",

@@ -1300,3 +1300,3 @@ "stateMutability": "view",

"documentation": null,
"id": 12033,
"id": 12049,
"implemented": false,

@@ -1308,3 +1308,3 @@ "kind": "function",

"parameters": {
"id": 12031,
"id": 12047,
"nodeType": "ParameterList",

@@ -1314,6 +1314,6 @@ "parameters": [

"constant": false,
"id": 12028,
"id": 12044,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 12033,
"scope": 12049,
"src": "1727:16:137",

@@ -1327,3 +1327,3 @@ "stateVariable": false,

"typeName": {
"id": 12027,
"id": 12043,
"name": "address",

@@ -1343,6 +1343,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12030,
"id": 12046,
"name": "_approved",
"nodeType": "VariableDeclaration",
"scope": 12033,
"scope": 12049,
"src": "1745:14:137",

@@ -1356,3 +1356,3 @@ "stateVariable": false,

"typeName": {
"id": 12029,
"id": 12045,
"name": "bool",

@@ -1373,3 +1373,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12032,
"id": 12048,
"nodeType": "ParameterList",

@@ -1379,3 +1379,3 @@ "parameters": [],

},
"scope": 12054,
"scope": 12070,
"src": "1700:68:137",

@@ -1389,3 +1389,3 @@ "stateMutability": "nonpayable",

"documentation": null,
"id": 12042,
"id": 12058,
"implemented": false,

@@ -1397,3 +1397,3 @@ "kind": "function",

"parameters": {
"id": 12038,
"id": 12054,
"nodeType": "ParameterList",

@@ -1403,6 +1403,6 @@ "parameters": [

"constant": false,
"id": 12035,
"id": 12051,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 12042,
"scope": 12058,
"src": "1799:13:137",

@@ -1416,3 +1416,3 @@ "stateVariable": false,

"typeName": {
"id": 12034,
"id": 12050,
"name": "address",

@@ -1432,6 +1432,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12037,
"id": 12053,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 12042,
"scope": 12058,
"src": "1814:16:137",

@@ -1445,3 +1445,3 @@ "stateVariable": false,

"typeName": {
"id": 12036,
"id": 12052,
"name": "address",

@@ -1463,3 +1463,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12041,
"id": 12057,
"nodeType": "ParameterList",

@@ -1469,6 +1469,6 @@ "parameters": [

"constant": false,
"id": 12040,
"id": 12056,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 12042,
"scope": 12058,
"src": "1853:4:137",

@@ -1482,3 +1482,3 @@ "stateVariable": false,

"typeName": {
"id": 12039,
"id": 12055,
"name": "bool",

@@ -1498,3 +1498,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12054,
"scope": 12070,
"src": "1773:86:137",

@@ -1508,3 +1508,3 @@ "stateMutability": "view",

"documentation": null,
"id": 12053,
"id": 12069,
"implemented": false,

@@ -1516,3 +1516,3 @@ "kind": "function",

"parameters": {
"id": 12051,
"id": 12067,
"nodeType": "ParameterList",

@@ -1522,6 +1522,6 @@ "parameters": [

"constant": false,
"id": 12044,
"id": 12060,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 12053,
"scope": 12069,
"src": "1892:12:137",

@@ -1535,3 +1535,3 @@ "stateVariable": false,

"typeName": {
"id": 12043,
"id": 12059,
"name": "address",

@@ -1551,6 +1551,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12046,
"id": 12062,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 12053,
"scope": 12069,
"src": "1906:10:137",

@@ -1564,3 +1564,3 @@ "stateVariable": false,

"typeName": {
"id": 12045,
"id": 12061,
"name": "address",

@@ -1580,6 +1580,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12048,
"id": 12064,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12053,
"scope": 12069,
"src": "1918:15:137",

@@ -1593,3 +1593,3 @@ "stateVariable": false,

"typeName": {
"id": 12047,
"id": 12063,
"name": "uint256",

@@ -1608,6 +1608,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12050,
"id": 12066,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 12053,
"scope": 12069,
"src": "1935:17:137",

@@ -1621,3 +1621,3 @@ "stateVariable": false,

"typeName": {
"id": 12049,
"id": 12065,
"name": "bytes",

@@ -1638,3 +1638,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12052,
"id": 12068,
"nodeType": "ParameterList",

@@ -1644,3 +1644,3 @@ "parameters": [],

},
"scope": 12054,
"scope": 12070,
"src": "1866:95:137",

@@ -1652,3 +1652,3 @@ "stateMutability": "nonpayable",

],
"scope": 12055,
"scope": 12071,
"src": "136:1827:137"

@@ -1663,3 +1663,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1666,0 +1666,0 @@ "enabled": false,

@@ -381,10 +381,10 @@ {

"IERC721Enumerable": [
12081
12097
]
},
"id": 12082,
"id": 12098,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 12056,
"id": 12072,
"literals": [

@@ -402,6 +402,6 @@ "solidity",

"file": "./IERC721.sol",
"id": 12057,
"id": 12073,
"nodeType": "ImportDirective",
"scope": 12082,
"sourceUnit": 12055,
"scope": 12098,
"sourceUnit": 12071,
"src": "25:23:138",

@@ -417,13 +417,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 12058,
"id": 12074,
"name": "IERC721",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 12054,
"referencedDeclaration": 12070,
"src": "217:7:138",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$12054",
"typeIdentifier": "t_contract$_IERC721_$12070",
"typeString": "contract IERC721"
}
},
"id": 12059,
"id": 12075,
"nodeType": "InheritanceSpecifier",

@@ -435,3 +435,3 @@ "src": "217:7:138"

4862,
12054
12070
],

@@ -441,6 +441,6 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 12081,
"id": 12097,
"linearizedBaseContracts": [
12081,
12054,
12097,
12070,
4862

@@ -454,3 +454,3 @@ ],

"documentation": null,
"id": 12064,
"id": 12080,
"implemented": false,

@@ -462,3 +462,3 @@ "kind": "function",

"parameters": {
"id": 12060,
"id": 12076,
"nodeType": "ParameterList",

@@ -469,3 +469,3 @@ "parameters": [],

"returnParameters": {
"id": 12063,
"id": 12079,
"nodeType": "ParameterList",

@@ -475,6 +475,6 @@ "parameters": [

"constant": false,
"id": 12062,
"id": 12078,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 12064,
"scope": 12080,
"src": "275:7:138",

@@ -488,3 +488,3 @@ "stateVariable": false,

"typeName": {
"id": 12061,
"id": 12077,
"name": "uint256",

@@ -504,3 +504,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12081,
"scope": 12097,
"src": "231:53:138",

@@ -514,3 +514,3 @@ "stateMutability": "view",

"documentation": null,
"id": 12073,
"id": 12089,
"implemented": false,

@@ -522,3 +522,3 @@ "kind": "function",

"parameters": {
"id": 12069,
"id": 12085,
"nodeType": "ParameterList",

@@ -528,6 +528,6 @@ "parameters": [

"constant": false,
"id": 12066,
"id": 12082,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 12073,
"scope": 12089,
"src": "318:13:138",

@@ -541,3 +541,3 @@ "stateVariable": false,

"typeName": {
"id": 12065,
"id": 12081,
"name": "address",

@@ -557,6 +557,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12068,
"id": 12084,
"name": "index",
"nodeType": "VariableDeclaration",
"scope": 12073,
"scope": 12089,
"src": "333:13:138",

@@ -570,3 +570,3 @@ "stateVariable": false,

"typeName": {
"id": 12067,
"id": 12083,
"name": "uint256",

@@ -587,3 +587,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12072,
"id": 12088,
"nodeType": "ParameterList",

@@ -593,6 +593,6 @@ "parameters": [

"constant": false,
"id": 12071,
"id": 12087,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12073,
"scope": 12089,
"src": "369:15:138",

@@ -606,3 +606,3 @@ "stateVariable": false,

"typeName": {
"id": 12070,
"id": 12086,
"name": "uint256",

@@ -622,3 +622,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12081,
"scope": 12097,
"src": "289:97:138",

@@ -632,3 +632,3 @@ "stateMutability": "view",

"documentation": null,
"id": 12080,
"id": 12096,
"implemented": false,

@@ -640,3 +640,3 @@ "kind": "function",

"parameters": {
"id": 12076,
"id": 12092,
"nodeType": "ParameterList",

@@ -646,6 +646,6 @@ "parameters": [

"constant": false,
"id": 12075,
"id": 12091,
"name": "index",
"nodeType": "VariableDeclaration",
"scope": 12080,
"scope": 12096,
"src": "414:13:138",

@@ -659,3 +659,3 @@ "stateVariable": false,

"typeName": {
"id": 12074,
"id": 12090,
"name": "uint256",

@@ -676,3 +676,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12079,
"id": 12095,
"nodeType": "ParameterList",

@@ -682,6 +682,6 @@ "parameters": [

"constant": false,
"id": 12078,
"id": 12094,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 12080,
"scope": 12096,
"src": "450:7:138",

@@ -695,3 +695,3 @@ "stateVariable": false,

"typeName": {
"id": 12077,
"id": 12093,
"name": "uint256",

@@ -711,3 +711,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12081,
"scope": 12097,
"src": "392:67:138",

@@ -719,3 +719,3 @@ "stateMutability": "view",

],
"scope": 12082,
"scope": 12098,
"src": "187:274:138"

@@ -730,3 +730,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -733,0 +733,0 @@ "enabled": false,

@@ -432,10 +432,10 @@ {

"IERC721Full": [
12093
12109
]
},
"id": 12094,
"id": 12110,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 12083,
"id": 12099,
"literals": [

@@ -453,6 +453,6 @@ "solidity",

"file": "./IERC721.sol",
"id": 12084,
"id": 12100,
"nodeType": "ImportDirective",
"scope": 12094,
"sourceUnit": 12055,
"scope": 12110,
"sourceUnit": 12071,
"src": "25:23:139",

@@ -465,6 +465,6 @@ "symbolAliases": [],

"file": "./IERC721Enumerable.sol",
"id": 12085,
"id": 12101,
"nodeType": "ImportDirective",
"scope": 12094,
"sourceUnit": 12082,
"scope": 12110,
"sourceUnit": 12098,
"src": "49:33:139",

@@ -477,6 +477,6 @@ "symbolAliases": [],

"file": "./IERC721Metadata.sol",
"id": 12086,
"id": 12102,
"nodeType": "ImportDirective",
"scope": 12094,
"sourceUnit": 12117,
"scope": 12110,
"sourceUnit": 12133,
"src": "83:31:139",

@@ -492,13 +492,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 12087,
"id": 12103,
"name": "IERC721",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 12054,
"referencedDeclaration": 12070,
"src": "276:7:139",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$12054",
"typeIdentifier": "t_contract$_IERC721_$12070",
"typeString": "contract IERC721"
}
},
"id": 12088,
"id": 12104,
"nodeType": "InheritanceSpecifier",

@@ -511,13 +511,13 @@ "src": "276:7:139"

"contractScope": null,
"id": 12089,
"id": 12105,
"name": "IERC721Enumerable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 12081,
"referencedDeclaration": 12097,
"src": "285:17:139",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721Enumerable_$12081",
"typeIdentifier": "t_contract$_IERC721Enumerable_$12097",
"typeString": "contract IERC721Enumerable"
}
},
"id": 12090,
"id": 12106,
"nodeType": "InheritanceSpecifier",

@@ -530,13 +530,13 @@ "src": "285:17:139"

"contractScope": null,
"id": 12091,
"id": 12107,
"name": "IERC721Metadata",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 12116,
"referencedDeclaration": 12132,
"src": "304:15:139",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721Metadata_$12116",
"typeIdentifier": "t_contract$_IERC721Metadata_$12132",
"typeString": "contract IERC721Metadata"
}
},
"id": 12092,
"id": 12108,
"nodeType": "InheritanceSpecifier",

@@ -548,5 +548,5 @@ "src": "304:15:139"

4862,
12054,
12081,
12116
12070,
12097,
12132
],

@@ -556,8 +556,8 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 12093,
"id": 12109,
"linearizedBaseContracts": [
12093,
12116,
12081,
12054,
12109,
12132,
12097,
12070,
4862

@@ -568,3 +568,3 @@ ],

"nodes": [],
"scope": 12094,
"scope": 12110,
"src": "252:124:139"

@@ -579,3 +579,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -582,0 +582,0 @@ "enabled": false,

@@ -370,10 +370,10 @@ {

"IERC721Metadata": [
12116
12132
]
},
"id": 12117,
"id": 12133,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 12095,
"id": 12111,
"literals": [

@@ -391,6 +391,6 @@ "solidity",

"file": "./IERC721.sol",
"id": 12096,
"id": 12112,
"nodeType": "ImportDirective",
"scope": 12117,
"sourceUnit": 12055,
"scope": 12133,
"sourceUnit": 12071,
"src": "25:23:140",

@@ -406,13 +406,13 @@ "symbolAliases": [],

"contractScope": null,
"id": 12097,
"id": 12113,
"name": "IERC721",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 12054,
"referencedDeclaration": 12070,
"src": "212:7:140",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$12054",
"typeIdentifier": "t_contract$_IERC721_$12070",
"typeString": "contract IERC721"
}
},
"id": 12098,
"id": 12114,
"nodeType": "InheritanceSpecifier",

@@ -424,3 +424,3 @@ "src": "212:7:140"

4862,
12054
12070
],

@@ -430,6 +430,6 @@ "contractKind": "contract",

"fullyImplemented": false,
"id": 12116,
"id": 12132,
"linearizedBaseContracts": [
12116,
12054,
12132,
12070,
4862

@@ -443,3 +443,3 @@ ],

"documentation": null,
"id": 12103,
"id": 12119,
"implemented": false,

@@ -451,3 +451,3 @@ "kind": "function",

"parameters": {
"id": 12099,
"id": 12115,
"nodeType": "ParameterList",

@@ -458,3 +458,3 @@ "parameters": [],

"returnParameters": {
"id": 12102,
"id": 12118,
"nodeType": "ParameterList",

@@ -464,6 +464,6 @@ "parameters": [

"constant": false,
"id": 12101,
"id": 12117,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 12103,
"scope": 12119,
"src": "265:13:140",

@@ -477,3 +477,3 @@ "stateVariable": false,

"typeName": {
"id": 12100,
"id": 12116,
"name": "string",

@@ -493,3 +493,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12116,
"scope": 12132,
"src": "226:54:140",

@@ -503,3 +503,3 @@ "stateMutability": "view",

"documentation": null,
"id": 12108,
"id": 12124,
"implemented": false,

@@ -511,3 +511,3 @@ "kind": "function",

"parameters": {
"id": 12104,
"id": 12120,
"nodeType": "ParameterList",

@@ -518,3 +518,3 @@ "parameters": [],

"returnParameters": {
"id": 12107,
"id": 12123,
"nodeType": "ParameterList",

@@ -524,6 +524,6 @@ "parameters": [

"constant": false,
"id": 12106,
"id": 12122,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 12108,
"scope": 12124,
"src": "326:13:140",

@@ -537,3 +537,3 @@ "stateVariable": false,

"typeName": {
"id": 12105,
"id": 12121,
"name": "string",

@@ -553,3 +553,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12116,
"scope": 12132,
"src": "285:56:140",

@@ -563,3 +563,3 @@ "stateMutability": "view",

"documentation": null,
"id": 12115,
"id": 12131,
"implemented": false,

@@ -571,3 +571,3 @@ "kind": "function",

"parameters": {
"id": 12111,
"id": 12127,
"nodeType": "ParameterList",

@@ -577,6 +577,6 @@ "parameters": [

"constant": false,
"id": 12110,
"id": 12126,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12115,
"scope": 12131,
"src": "364:15:140",

@@ -590,3 +590,3 @@ "stateVariable": false,

"typeName": {
"id": 12109,
"id": 12125,
"name": "uint256",

@@ -607,3 +607,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12114,
"id": 12130,
"nodeType": "ParameterList",

@@ -613,6 +613,6 @@ "parameters": [

"constant": false,
"id": 12113,
"id": 12129,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 12115,
"scope": 12131,
"src": "404:13:140",

@@ -626,3 +626,3 @@ "stateVariable": false,

"typeName": {
"id": 12112,
"id": 12128,
"name": "string",

@@ -642,3 +642,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12116,
"scope": 12132,
"src": "346:73:140",

@@ -650,3 +650,3 @@ "stateMutability": "view",

],
"scope": 12117,
"scope": 12133,
"src": "184:237:140"

@@ -661,3 +661,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -664,0 +664,0 @@ "enabled": false,

@@ -50,10 +50,10 @@ {

"IERC721Receiver": [
12132
12148
]
},
"id": 12133,
"id": 12149,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 12118,
"id": 12134,
"literals": [

@@ -74,5 +74,5 @@ "solidity",

"fullyImplemented": false,
"id": 12132,
"id": 12148,
"linearizedBaseContracts": [
12132
12148
],

@@ -85,3 +85,3 @@ "name": "IERC721Receiver",

"documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\nafter a {IERC721-safeTransferFrom}. This function MUST return the function selector,\notherwise the caller will revert the transaction. The selector to be\nreturned can be obtained as `this.onERC721Received.selector`. This\nfunction MAY throw to revert and reject the transfer.\nNote: the ERC721 contract address is always the message sender.\n@param operator The address which called `safeTransferFrom` function\n@param from The address which previously owned the token\n@param tokenId The NFT identifier which is being transferred\n@param data Additional data with no specified format\n@return bytes4 `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`",
"id": 12131,
"id": 12147,
"implemented": false,

@@ -93,3 +93,3 @@ "kind": "function",

"parameters": {
"id": 12127,
"id": 12143,
"nodeType": "ParameterList",

@@ -99,6 +99,6 @@ "parameters": [

"constant": false,
"id": 12120,
"id": 12136,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 12131,
"scope": 12147,
"src": "1105:16:141",

@@ -112,3 +112,3 @@ "stateVariable": false,

"typeName": {
"id": 12119,
"id": 12135,
"name": "address",

@@ -128,6 +128,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12122,
"id": 12138,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 12131,
"scope": 12147,
"src": "1123:12:141",

@@ -141,3 +141,3 @@ "stateVariable": false,

"typeName": {
"id": 12121,
"id": 12137,
"name": "address",

@@ -157,6 +157,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12124,
"id": 12140,
"name": "tokenId",
"nodeType": "VariableDeclaration",
"scope": 12131,
"scope": 12147,
"src": "1137:15:141",

@@ -170,3 +170,3 @@ "stateVariable": false,

"typeName": {
"id": 12123,
"id": 12139,
"name": "uint256",

@@ -185,6 +185,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 12126,
"id": 12142,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 12131,
"scope": 12147,
"src": "1154:17:141",

@@ -198,3 +198,3 @@ "stateVariable": false,

"typeName": {
"id": 12125,
"id": 12141,
"name": "bytes",

@@ -215,3 +215,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 12130,
"id": 12146,
"nodeType": "ParameterList",

@@ -221,6 +221,6 @@ "parameters": [

"constant": false,
"id": 12129,
"id": 12145,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 12131,
"scope": 12147,
"src": "1193:6:141",

@@ -234,3 +234,3 @@ "stateVariable": false,

"typeName": {
"id": 12128,
"id": 12144,
"name": "bytes4",

@@ -250,3 +250,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 12132,
"scope": 12148,
"src": "1079:122:141",

@@ -258,3 +258,3 @@ "stateMutability": "nonpayable",

],
"scope": 12133,
"scope": 12149,
"src": "178:1025:141"

@@ -269,3 +269,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -272,0 +272,0 @@ "enabled": false,

@@ -54,10 +54,10 @@ {

"IERC777Recipient": [
13279
13313
]
},
"id": 13280,
"id": 13314,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13263,
"id": 13297,
"literals": [

@@ -78,5 +78,5 @@ "solidity",

"fullyImplemented": false,
"id": 13279,
"id": 13313,
"linearizedBaseContracts": [
13279
13313
],

@@ -89,3 +89,3 @@ "name": "IERC777Recipient",

"documentation": "@dev Called by an {IERC777} token contract whenever tokens are being\nmoved or created into a registered account (`to`). The type of operation\nis conveyed by `from` being the zero address or not.\n * This call occurs _after_ the token contract's state is updated, so\n{IERC777-balanceOf}, etc., can be used to query the post-operation state.\n * This function may revert to prevent the operation from being executed.",
"id": 13278,
"id": 13312,
"implemented": false,

@@ -97,3 +97,3 @@ "kind": "function",

"parameters": {
"id": 13276,
"id": 13310,
"nodeType": "ParameterList",

@@ -103,6 +103,6 @@ "parameters": [

"constant": false,
"id": 13265,
"id": 13299,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 13278,
"scope": 13312,
"src": "977:16:144",

@@ -116,3 +116,3 @@ "stateVariable": false,

"typeName": {
"id": 13264,
"id": 13298,
"name": "address",

@@ -132,6 +132,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13267,
"id": 13301,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 13278,
"scope": 13312,
"src": "1003:12:144",

@@ -145,3 +145,3 @@ "stateVariable": false,

"typeName": {
"id": 13266,
"id": 13300,
"name": "address",

@@ -161,6 +161,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13269,
"id": 13303,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 13278,
"scope": 13312,
"src": "1025:10:144",

@@ -174,3 +174,3 @@ "stateVariable": false,

"typeName": {
"id": 13268,
"id": 13302,
"name": "address",

@@ -190,6 +190,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13271,
"id": 13305,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 13278,
"scope": 13312,
"src": "1045:14:144",

@@ -203,3 +203,3 @@ "stateVariable": false,

"typeName": {
"id": 13270,
"id": 13304,
"name": "uint256",

@@ -218,6 +218,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13273,
"id": 13307,
"name": "userData",
"nodeType": "VariableDeclaration",
"scope": 13278,
"scope": 13312,
"src": "1069:23:144",

@@ -231,3 +231,3 @@ "stateVariable": false,

"typeName": {
"id": 13272,
"id": 13306,
"name": "bytes",

@@ -246,6 +246,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13275,
"id": 13309,
"name": "operatorData",
"nodeType": "VariableDeclaration",
"scope": 13278,
"scope": 13312,
"src": "1102:27:144",

@@ -259,3 +259,3 @@ "stateVariable": false,

"typeName": {
"id": 13274,
"id": 13308,
"name": "bytes",

@@ -276,3 +276,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13277,
"id": 13311,
"nodeType": "ParameterList",

@@ -282,3 +282,3 @@ "parameters": [],

},
"scope": 13279,
"scope": 13313,
"src": "944:201:144",

@@ -290,3 +290,3 @@ "stateMutability": "nonpayable",

],
"scope": 13280,
"scope": 13314,
"src": "432:715:144"

@@ -301,3 +301,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -304,0 +304,0 @@ "enabled": false,

@@ -54,10 +54,10 @@ {

"IERC777Sender": [
13297
13331
]
},
"id": 13298,
"id": 13332,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13281,
"id": 13315,
"literals": [

@@ -78,5 +78,5 @@ "solidity",

"fullyImplemented": false,
"id": 13297,
"id": 13331,
"linearizedBaseContracts": [
13297
13331
],

@@ -89,3 +89,3 @@ "name": "IERC777Sender",

"documentation": "@dev Called by an {IERC777} token contract whenever a registered holder's\n(`from`) tokens are about to be moved or destroyed. The type of operation\nis conveyed by `to` being the zero address or not.\n * This call occurs _before_ the token contract's state is updated, so\n{IERC777-balanceOf}, etc., can be used to query the pre-operation state.\n * This function may revert to prevent the operation from being executed.",
"id": 13296,
"id": 13330,
"implemented": false,

@@ -97,3 +97,3 @@ "kind": "function",

"parameters": {
"id": 13294,
"id": 13328,
"nodeType": "ParameterList",

@@ -103,6 +103,6 @@ "parameters": [

"constant": false,
"id": 13283,
"id": 13317,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 13296,
"scope": 13330,
"src": "990:16:145",

@@ -116,3 +116,3 @@ "stateVariable": false,

"typeName": {
"id": 13282,
"id": 13316,
"name": "address",

@@ -132,6 +132,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13285,
"id": 13319,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 13296,
"scope": 13330,
"src": "1016:12:145",

@@ -145,3 +145,3 @@ "stateVariable": false,

"typeName": {
"id": 13284,
"id": 13318,
"name": "address",

@@ -161,6 +161,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13287,
"id": 13321,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 13296,
"scope": 13330,
"src": "1038:10:145",

@@ -174,3 +174,3 @@ "stateVariable": false,

"typeName": {
"id": 13286,
"id": 13320,
"name": "address",

@@ -190,6 +190,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13289,
"id": 13323,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 13296,
"scope": 13330,
"src": "1058:14:145",

@@ -203,3 +203,3 @@ "stateVariable": false,

"typeName": {
"id": 13288,
"id": 13322,
"name": "uint256",

@@ -218,6 +218,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13291,
"id": 13325,
"name": "userData",
"nodeType": "VariableDeclaration",
"scope": 13296,
"scope": 13330,
"src": "1082:23:145",

@@ -231,3 +231,3 @@ "stateVariable": false,

"typeName": {
"id": 13290,
"id": 13324,
"name": "bytes",

@@ -246,6 +246,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 13293,
"id": 13327,
"name": "operatorData",
"nodeType": "VariableDeclaration",
"scope": 13296,
"scope": 13330,
"src": "1115:27:145",

@@ -259,3 +259,3 @@ "stateVariable": false,

"typeName": {
"id": 13292,
"id": 13326,
"name": "bytes",

@@ -276,3 +276,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 13295,
"id": 13329,
"nodeType": "ParameterList",

@@ -282,3 +282,3 @@ "parameters": [],

},
"scope": 13297,
"scope": 13331,
"src": "959:199:145",

@@ -290,3 +290,3 @@ "stateMutability": "nonpayable",

],
"scope": 13298,
"scope": 13332,
"src": "446:714:145"

@@ -301,3 +301,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -304,0 +304,0 @@ "enabled": false,

@@ -351,3 +351,3 @@ {

2119,
13786
13820
],

@@ -362,3 +362,3 @@ "contractKind": "contract",

2119,
13786,
13820,
26

@@ -988,3 +988,3 @@ ],

"overloadedDeclarations": [],
"referencedDeclaration": 14002,
"referencedDeclaration": 14036,
"src": "1648:5:22",

@@ -1217,6 +1217,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1761:7:22",

@@ -1381,3 +1381,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 14002,
"referencedDeclaration": 14036,
"src": "2177:5:22",

@@ -1665,3 +1665,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1668,0 +1668,0 @@ "enabled": false,

@@ -772,3 +772,3 @@ {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -775,0 +775,0 @@ "enabled": false,

@@ -939,7 +939,7 @@ {

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820105d8a950696c81856292bcd7c3472133a46c3923cdab2d38d41731b8213ea2864736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820105d8a950696c81856292bcd7c3472133a46c3923cdab2d38d41731b8213ea2864736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820a5d1b2681ad133607a22f4c57b65503ad61d6ee6be9f642a3ab0fb1fd839099964736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820a5d1b2681ad133607a22f4c57b65503ad61d6ee6be9f642a3ab0fb1fd839099964736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -946,0 +946,0 @@ "enabled": false,

@@ -304,3 +304,3 @@ {

"overloadedDeclarations": [],
"referencedDeclaration": 13896,
"referencedDeclaration": 13930,
"src": "1054:3:27",

@@ -352,3 +352,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13903,
"referencedDeclaration": 13937,
"src": "1044:9:27",

@@ -467,3 +467,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13896,
"referencedDeclaration": 13930,
"src": "867:3:27",

@@ -515,3 +515,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13903,
"referencedDeclaration": 13937,
"src": "857:9:27",

@@ -906,7 +906,7 @@ "typeDescriptions": {

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820dde01472c41fad6f96c27d443d22752739f6f41890dabbd556c600821239186364736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820dde01472c41fad6f96c27d443d22752739f6f41890dabbd556c600821239186364736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582025e6cd65fa1cf990f16ef108a3136d2204fe940f942fba23ea94b35b61e2288064736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582025e6cd65fa1cf990f16ef108a3136d2204fe940f942fba23ea94b35b61e2288064736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -913,0 +913,0 @@ "enabled": false,

@@ -159,3 +159,3 @@ {

"scope": 2586,
"sourceUnit": 10030,
"sourceUnit": 10046,
"src": "52:45:19",

@@ -189,3 +189,3 @@ "symbolAliases": [],

2119,
13786
13820
],

@@ -199,3 +199,3 @@ "contractKind": "contract",

2119,
13786,
13820,
26

@@ -275,3 +275,3 @@ ],

"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10200_$",
"typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IERC20_$10216_$",
"typeString": "function () view returns (contract IERC20)"

@@ -290,3 +290,3 @@ }

"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$10200",
"typeIdentifier": "t_contract$_IERC20_$10216",
"typeString": "contract IERC20"

@@ -299,3 +299,3 @@ }

{
"typeIdentifier": "t_contract$_IERC20_$10200",
"typeIdentifier": "t_contract$_IERC20_$10216",
"typeString": "contract IERC20"

@@ -343,6 +343,6 @@ }

"overloadedDeclarations": [],
"referencedDeclaration": 10029,
"referencedDeclaration": 10045,
"src": "689:13:19",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC20Mintable_$10029_$",
"typeIdentifier": "t_type$_t_contract$_ERC20Mintable_$10045_$",
"typeString": "type(contract ERC20Mintable)"

@@ -361,3 +361,3 @@ }

"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20Mintable_$10029",
"typeIdentifier": "t_contract$_ERC20Mintable_$10045",
"typeString": "contract ERC20Mintable"

@@ -373,3 +373,3 @@ }

"nodeType": "MemberAccess",
"referencedDeclaration": 10028,
"referencedDeclaration": 10044,
"src": "689:36:19",

@@ -429,6 +429,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "668:7:19",

@@ -550,3 +550,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -553,0 +553,0 @@ "enabled": false,

@@ -522,6 +522,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "387:7:8",

@@ -1350,3 +1350,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1353,0 +1353,0 @@ "enabled": false,

@@ -93,10 +93,10 @@ {

"Ownable": [
8689
8705
]
},
"id": 8690,
"id": 8706,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8573,
"id": 8589,
"literals": [

@@ -114,5 +114,5 @@ "solidity",

"file": "../GSN/Context.sol",
"id": 8574,
"id": 8590,
"nodeType": "ImportDirective",
"scope": 8690,
"scope": 8706,
"sourceUnit": 27,

@@ -129,3 +129,3 @@ "src": "25:28:112",

"contractScope": null,
"id": 8575,
"id": 8591,
"name": "Context",

@@ -140,3 +140,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 8576,
"id": 8592,
"nodeType": "InheritanceSpecifier",

@@ -152,5 +152,5 @@ "src": "435:7:112"

"fullyImplemented": true,
"id": 8689,
"id": 8705,
"linearizedBaseContracts": [
8689,
8705,
26

@@ -163,6 +163,6 @@ ],

"constant": false,
"id": 8578,
"id": 8594,
"name": "_owner",
"nodeType": "VariableDeclaration",
"scope": 8689,
"scope": 8705,
"src": "449:22:112",

@@ -176,3 +176,3 @@ "stateVariable": true,

"typeName": {
"id": 8577,
"id": 8593,
"name": "address",

@@ -193,7 +193,7 @@ "nodeType": "ElementaryTypeName",

"documentation": null,
"id": 8584,
"id": 8600,
"name": "OwnershipTransferred",
"nodeType": "EventDefinition",
"parameters": {
"id": 8583,
"id": 8599,
"nodeType": "ParameterList",

@@ -203,7 +203,7 @@ "parameters": [

"constant": false,
"id": 8580,
"id": 8596,
"indexed": true,
"name": "previousOwner",
"nodeType": "VariableDeclaration",
"scope": 8584,
"scope": 8600,
"src": "505:29:112",

@@ -217,3 +217,3 @@ "stateVariable": false,

"typeName": {
"id": 8579,
"id": 8595,
"name": "address",

@@ -233,7 +233,7 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 8582,
"id": 8598,
"indexed": true,
"name": "newOwner",
"nodeType": "VariableDeclaration",
"scope": 8584,
"scope": 8600,
"src": "536:24:112",

@@ -247,3 +247,3 @@ "stateVariable": false,

"typeName": {
"id": 8581,
"id": 8597,
"name": "address",

@@ -268,3 +268,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 8603,
"id": 8619,
"nodeType": "Block",

@@ -275,3 +275,3 @@ "src": "688:135:112",

"assignments": [
8588
8604
],

@@ -281,6 +281,6 @@ "declarations": [

"constant": false,
"id": 8588,
"id": 8604,
"name": "msgSender",
"nodeType": "VariableDeclaration",
"scope": 8603,
"scope": 8619,
"src": "698:17:112",

@@ -294,3 +294,3 @@ "stateVariable": false,

"typeName": {
"id": 8587,
"id": 8603,
"name": "address",

@@ -309,3 +309,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 8591,
"id": 8607,
"initialValue": {

@@ -316,3 +316,3 @@ "argumentTypes": null,

"argumentTypes": [],
"id": 8589,
"id": 8605,
"name": "_msgSender",

@@ -328,3 +328,3 @@ "nodeType": "Identifier",

},
"id": 8590,
"id": 8606,
"isConstant": false,

@@ -349,3 +349,3 @@ "isLValue": false,

"argumentTypes": null,
"id": 8594,
"id": 8610,
"isConstant": false,

@@ -357,7 +357,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8592,
"id": 8608,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8578,
"referencedDeclaration": 8594,
"src": "740:6:112",

@@ -373,7 +373,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 8593,
"id": 8609,
"name": "msgSender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8588,
"referencedDeclaration": 8604,
"src": "749:9:112",

@@ -391,3 +391,3 @@ "typeDescriptions": {

},
"id": 8595,
"id": 8611,
"nodeType": "ExpressionStatement",

@@ -406,3 +406,3 @@ "src": "740:18:112"

"hexValue": "30",
"id": 8598,
"id": 8614,
"isConstant": false,

@@ -430,3 +430,3 @@ "isLValue": false,

],
"id": 8597,
"id": 8613,
"isConstant": false,

@@ -444,3 +444,3 @@ "isLValue": false,

},
"id": 8599,
"id": 8615,
"isConstant": false,

@@ -461,7 +461,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8600,
"id": 8616,
"name": "msgSender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8588,
"referencedDeclaration": 8604,
"src": "806:9:112",

@@ -485,7 +485,7 @@ "typeDescriptions": {

],
"id": 8596,
"id": 8612,
"name": "OwnershipTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8584,
"referencedDeclaration": 8600,
"src": "773:20:112",

@@ -497,3 +497,3 @@ "typeDescriptions": {

},
"id": 8601,
"id": 8617,
"isConstant": false,

@@ -512,3 +512,3 @@ "isLValue": false,

},
"id": 8602,
"id": 8618,
"nodeType": "EmitStatement",

@@ -520,3 +520,3 @@ "src": "768:48:112"

"documentation": "@dev Initializes the contract setting the deployer as the initial owner.",
"id": 8604,
"id": 8620,
"implemented": true,

@@ -528,3 +528,3 @@ "kind": "constructor",

"parameters": {
"id": 8585,
"id": 8601,
"nodeType": "ParameterList",

@@ -535,3 +535,3 @@ "parameters": [],

"returnParameters": {
"id": 8586,
"id": 8602,
"nodeType": "ParameterList",

@@ -541,3 +541,3 @@ "parameters": [],

},
"scope": 8689,
"scope": 8705,
"src": "664:159:112",

@@ -550,3 +550,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 8611,
"id": 8627,
"nodeType": "Block",

@@ -558,7 +558,7 @@ "src": "946:30:112",

"argumentTypes": null,
"id": 8609,
"id": 8625,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8578,
"referencedDeclaration": 8594,
"src": "963:6:112",

@@ -570,4 +570,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 8608,
"id": 8610,
"functionReturnParameters": 8624,
"id": 8626,
"nodeType": "Return",

@@ -579,3 +579,3 @@ "src": "956:13:112"

"documentation": "@dev Returns the address of the current owner.",
"id": 8612,
"id": 8628,
"implemented": true,

@@ -587,3 +587,3 @@ "kind": "function",

"parameters": {
"id": 8605,
"id": 8621,
"nodeType": "ParameterList",

@@ -594,3 +594,3 @@ "parameters": [],

"returnParameters": {
"id": 8608,
"id": 8624,
"nodeType": "ParameterList",

@@ -600,6 +600,6 @@ "parameters": [

"constant": false,
"id": 8607,
"id": 8623,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 8612,
"scope": 8628,
"src": "937:7:112",

@@ -613,3 +613,3 @@ "stateVariable": false,

"typeName": {
"id": 8606,
"id": 8622,
"name": "address",

@@ -630,3 +630,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 8689,
"scope": 8705,
"src": "899:77:112",

@@ -639,3 +639,3 @@ "stateMutability": "view",

"body": {
"id": 8621,
"id": 8637,
"nodeType": "Block",

@@ -653,7 +653,7 @@ "src": "1085:82:112",

"argumentTypes": [],
"id": 8615,
"id": 8631,
"name": "isOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8633,
"referencedDeclaration": 8649,
"src": "1103:7:112",

@@ -665,3 +665,3 @@ "typeDescriptions": {

},
"id": 8616,
"id": 8632,
"isConstant": false,

@@ -683,3 +683,3 @@ "isLValue": false,

"hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572",
"id": 8617,
"id": 8633,
"isConstant": false,

@@ -711,10 +711,10 @@ "isLValue": false,

],
"id": 8614,
"id": 8630,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1095:7:112",

@@ -726,3 +726,3 @@ "typeDescriptions": {

},
"id": 8618,
"id": 8634,
"isConstant": false,

@@ -741,3 +741,3 @@ "isLValue": false,

},
"id": 8619,
"id": 8635,
"nodeType": "ExpressionStatement",

@@ -747,3 +747,3 @@ "src": "1095:54:112"

{
"id": 8620,
"id": 8636,
"nodeType": "PlaceholderStatement",

@@ -755,7 +755,7 @@ "src": "1159:1:112"

"documentation": "@dev Throws if called by any account other than the owner.",
"id": 8622,
"id": 8638,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 8613,
"id": 8629,
"nodeType": "ParameterList",

@@ -770,3 +770,3 @@ "parameters": [],

"body": {
"id": 8632,
"id": 8648,
"nodeType": "Block",

@@ -782,3 +782,3 @@ "src": "1296:46:112",

},
"id": 8630,
"id": 8646,
"isConstant": false,

@@ -793,3 +793,3 @@ "isLValue": false,

"argumentTypes": [],
"id": 8627,
"id": 8643,
"name": "_msgSender",

@@ -805,3 +805,3 @@ "nodeType": "Identifier",

},
"id": 8628,
"id": 8644,
"isConstant": false,

@@ -824,7 +824,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8629,
"id": 8645,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8578,
"referencedDeclaration": 8594,
"src": "1329:6:112",

@@ -842,4 +842,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 8626,
"id": 8631,
"functionReturnParameters": 8642,
"id": 8647,
"nodeType": "Return",

@@ -851,3 +851,3 @@ "src": "1306:29:112"

"documentation": "@dev Returns true if the caller is the current owner.",
"id": 8633,
"id": 8649,
"implemented": true,

@@ -859,3 +859,3 @@ "kind": "function",

"parameters": {
"id": 8623,
"id": 8639,
"nodeType": "ParameterList",

@@ -866,3 +866,3 @@ "parameters": [],

"returnParameters": {
"id": 8626,
"id": 8642,
"nodeType": "ParameterList",

@@ -872,6 +872,6 @@ "parameters": [

"constant": false,
"id": 8625,
"id": 8641,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 8633,
"scope": 8649,
"src": "1290:4:112",

@@ -885,3 +885,3 @@ "stateVariable": false,

"typeName": {
"id": 8624,
"id": 8640,
"name": "bool",

@@ -901,3 +901,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 8689,
"scope": 8705,
"src": "1250:92:112",

@@ -910,3 +910,3 @@ "stateMutability": "view",

"body": {
"id": 8651,
"id": 8667,
"nodeType": "Block",

@@ -921,7 +921,7 @@ "src": "1730:91:112",

"argumentTypes": null,
"id": 8639,
"id": 8655,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8578,
"referencedDeclaration": 8594,
"src": "1766:6:112",

@@ -939,3 +939,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 8641,
"id": 8657,
"isConstant": false,

@@ -963,3 +963,3 @@ "isLValue": false,

],
"id": 8640,
"id": 8656,
"isConstant": false,

@@ -977,3 +977,3 @@ "isLValue": false,

},
"id": 8642,
"id": 8658,
"isConstant": false,

@@ -1004,7 +1004,7 @@ "isLValue": false,

],
"id": 8638,
"id": 8654,
"name": "OwnershipTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8584,
"referencedDeclaration": 8600,
"src": "1745:20:112",

@@ -1016,3 +1016,3 @@ "typeDescriptions": {

},
"id": 8643,
"id": 8659,
"isConstant": false,

@@ -1031,3 +1031,3 @@ "isLValue": false,

},
"id": 8644,
"id": 8660,
"nodeType": "EmitStatement",

@@ -1039,3 +1039,3 @@ "src": "1740:45:112"

"argumentTypes": null,
"id": 8649,
"id": 8665,
"isConstant": false,

@@ -1047,7 +1047,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8645,
"id": 8661,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8578,
"referencedDeclaration": 8594,
"src": "1795:6:112",

@@ -1067,3 +1067,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 8647,
"id": 8663,
"isConstant": false,

@@ -1091,3 +1091,3 @@ "isLValue": false,

],
"id": 8646,
"id": 8662,
"isConstant": false,

@@ -1105,3 +1105,3 @@ "isLValue": false,

},
"id": 8648,
"id": 8664,
"isConstant": false,

@@ -1126,3 +1126,3 @@ "isLValue": false,

},
"id": 8650,
"id": 8666,
"nodeType": "ExpressionStatement",

@@ -1134,3 +1134,3 @@ "src": "1795:19:112"

"documentation": "@dev Leaves the contract without owner. It will not be possible to call\n`onlyOwner` functions anymore. Can only be called by the current owner.\n * NOTE: Renouncing ownership will leave the contract without an owner,\nthereby removing any functionality that is only available to the owner.",
"id": 8652,
"id": 8668,
"implemented": true,

@@ -1141,10 +1141,10 @@ "kind": "function",

"arguments": null,
"id": 8636,
"id": 8652,
"modifierName": {
"argumentTypes": null,
"id": 8635,
"id": 8651,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8622,
"referencedDeclaration": 8638,
"src": "1720:9:112",

@@ -1163,3 +1163,3 @@ "typeDescriptions": {

"parameters": {
"id": 8634,
"id": 8650,
"nodeType": "ParameterList",

@@ -1170,3 +1170,3 @@ "parameters": [],

"returnParameters": {
"id": 8637,
"id": 8653,
"nodeType": "ParameterList",

@@ -1176,3 +1176,3 @@ "parameters": [],

},
"scope": 8689,
"scope": 8705,
"src": "1684:137:112",

@@ -1185,3 +1185,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 8663,
"id": 8679,
"nodeType": "Block",

@@ -1196,7 +1196,7 @@ "src": "2032:45:112",

"argumentTypes": null,
"id": 8660,
"id": 8676,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8654,
"referencedDeclaration": 8670,
"src": "2061:8:112",

@@ -1216,7 +1216,7 @@ "typeDescriptions": {

],
"id": 8659,
"id": 8675,
"name": "_transferOwnership",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8688,
"referencedDeclaration": 8704,
"src": "2042:18:112",

@@ -1228,3 +1228,3 @@ "typeDescriptions": {

},
"id": 8661,
"id": 8677,
"isConstant": false,

@@ -1243,3 +1243,3 @@ "isLValue": false,

},
"id": 8662,
"id": 8678,
"nodeType": "ExpressionStatement",

@@ -1251,3 +1251,3 @@ "src": "2042:28:112"

"documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).\nCan only be called by the current owner.",
"id": 8664,
"id": 8680,
"implemented": true,

@@ -1258,10 +1258,10 @@ "kind": "function",

"arguments": null,
"id": 8657,
"id": 8673,
"modifierName": {
"argumentTypes": null,
"id": 8656,
"id": 8672,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8622,
"referencedDeclaration": 8638,
"src": "2022:9:112",

@@ -1280,3 +1280,3 @@ "typeDescriptions": {

"parameters": {
"id": 8655,
"id": 8671,
"nodeType": "ParameterList",

@@ -1286,6 +1286,6 @@ "parameters": [

"constant": false,
"id": 8654,
"id": 8670,
"name": "newOwner",
"nodeType": "VariableDeclaration",
"scope": 8664,
"scope": 8680,
"src": "1997:16:112",

@@ -1299,3 +1299,3 @@ "stateVariable": false,

"typeName": {
"id": 8653,
"id": 8669,
"name": "address",

@@ -1317,3 +1317,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 8658,
"id": 8674,
"nodeType": "ParameterList",

@@ -1323,3 +1323,3 @@ "parameters": [],

},
"scope": 8689,
"scope": 8705,
"src": "1970:107:112",

@@ -1332,3 +1332,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 8687,
"id": 8703,
"nodeType": "Block",

@@ -1347,3 +1347,3 @@ "src": "2233:170:112",

},
"id": 8674,
"id": 8690,
"isConstant": false,

@@ -1355,7 +1355,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8670,
"id": 8686,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8666,
"referencedDeclaration": 8682,
"src": "2251:8:112",

@@ -1375,3 +1375,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 8672,
"id": 8688,
"isConstant": false,

@@ -1399,3 +1399,3 @@ "isLValue": false,

],
"id": 8671,
"id": 8687,
"isConstant": false,

@@ -1413,3 +1413,3 @@ "isLValue": false,

},
"id": 8673,
"id": 8689,
"isConstant": false,

@@ -1437,3 +1437,3 @@ "isLValue": false,

"hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373",
"id": 8675,
"id": 8691,
"isConstant": false,

@@ -1465,10 +1465,10 @@ "isLValue": false,

],
"id": 8669,
"id": 8685,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "2243:7:112",

@@ -1480,3 +1480,3 @@ "typeDescriptions": {

},
"id": 8676,
"id": 8692,
"isConstant": false,

@@ -1495,3 +1495,3 @@ "isLValue": false,

},
"id": 8677,
"id": 8693,
"nodeType": "ExpressionStatement",

@@ -1506,7 +1506,7 @@ "src": "2243:73:112"

"argumentTypes": null,
"id": 8679,
"id": 8695,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8578,
"referencedDeclaration": 8594,
"src": "2352:6:112",

@@ -1520,7 +1520,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 8680,
"id": 8696,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8666,
"referencedDeclaration": 8682,
"src": "2360:8:112",

@@ -1544,7 +1544,7 @@ "typeDescriptions": {

],
"id": 8678,
"id": 8694,
"name": "OwnershipTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8584,
"referencedDeclaration": 8600,
"src": "2331:20:112",

@@ -1556,3 +1556,3 @@ "typeDescriptions": {

},
"id": 8681,
"id": 8697,
"isConstant": false,

@@ -1571,3 +1571,3 @@ "isLValue": false,

},
"id": 8682,
"id": 8698,
"nodeType": "EmitStatement",

@@ -1579,3 +1579,3 @@ "src": "2326:43:112"

"argumentTypes": null,
"id": 8685,
"id": 8701,
"isConstant": false,

@@ -1587,7 +1587,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8683,
"id": 8699,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8578,
"referencedDeclaration": 8594,
"src": "2379:6:112",

@@ -1603,7 +1603,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 8684,
"id": 8700,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8666,
"referencedDeclaration": 8682,
"src": "2388:8:112",

@@ -1621,3 +1621,3 @@ "typeDescriptions": {

},
"id": 8686,
"id": 8702,
"nodeType": "ExpressionStatement",

@@ -1629,3 +1629,3 @@ "src": "2379:17:112"

"documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).",
"id": 8688,
"id": 8704,
"implemented": true,

@@ -1637,3 +1637,3 @@ "kind": "function",

"parameters": {
"id": 8667,
"id": 8683,
"nodeType": "ParameterList",

@@ -1643,6 +1643,6 @@ "parameters": [

"constant": false,
"id": 8666,
"id": 8682,
"name": "newOwner",
"nodeType": "VariableDeclaration",
"scope": 8688,
"scope": 8704,
"src": "2206:16:112",

@@ -1656,3 +1656,3 @@ "stateVariable": false,

"typeName": {
"id": 8665,
"id": 8681,
"name": "address",

@@ -1674,3 +1674,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 8668,
"id": 8684,
"nodeType": "ParameterList",

@@ -1680,3 +1680,3 @@ "parameters": [],

},
"scope": 8689,
"scope": 8705,
"src": "2178:225:112",

@@ -1688,3 +1688,3 @@ "stateMutability": "nonpayable",

],
"scope": 8690,
"scope": 8706,
"src": "415:1990:112"

@@ -1699,3 +1699,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1702,0 +1702,0 @@ "enabled": false,

@@ -592,6 +592,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1350:7:43",

@@ -698,6 +698,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1542:7:43",

@@ -1146,3 +1146,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1149,0 +1149,0 @@ "enabled": false,

@@ -338,3 +338,3 @@ {

5043,
13786
13820
],

@@ -350,3 +350,3 @@ "contractKind": "contract",

2119,
13786,
13820,
26

@@ -411,3 +411,3 @@ ],

"overloadedDeclarations": [],
"referencedDeclaration": 14006,
"referencedDeclaration": 14040,
"src": "775:5:23",

@@ -564,3 +564,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -567,0 +567,0 @@ "enabled": false,

@@ -522,6 +522,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "387:7:9",

@@ -1350,3 +1350,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1353,0 +1353,0 @@ "enabled": false,

@@ -71,10 +71,10 @@ {

"PullPayment": [
9124
9140
]
},
"id": 9125,
"id": 9141,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 9055,
"id": 9071,
"literals": [

@@ -92,6 +92,6 @@ "solidity",

"file": "./escrow/Escrow.sol",
"id": 9056,
"id": 9072,
"nodeType": "ImportDirective",
"scope": 9125,
"sourceUnit": 9290,
"scope": 9141,
"sourceUnit": 9306,
"src": "25:29:115",

@@ -104,3 +104,3 @@ "symbolAliases": [],

"contractDependencies": [
9289
9305
],

@@ -110,5 +110,5 @@ "contractKind": "contract",

"fullyImplemented": true,
"id": 9124,
"id": 9140,
"linearizedBaseContracts": [
9124
9140
],

@@ -120,6 +120,6 @@ "name": "PullPayment",

"constant": false,
"id": 9058,
"id": 9074,
"name": "_escrow",
"nodeType": "VariableDeclaration",
"scope": 9124,
"scope": 9140,
"src": "1033:22:115",

@@ -129,3 +129,3 @@ "stateVariable": true,

"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"

@@ -135,9 +135,9 @@ },

"contractScope": null,
"id": 9057,
"id": 9073,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9289,
"referencedDeclaration": 9305,
"src": "1033:6:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"

@@ -151,3 +151,3 @@ }

"body": {
"id": 9067,
"id": 9083,
"nodeType": "Block",

@@ -159,3 +159,3 @@ "src": "1086:39:115",

"argumentTypes": null,
"id": 9065,
"id": 9081,
"isConstant": false,

@@ -167,10 +167,10 @@ "isLValue": false,

"argumentTypes": null,
"id": 9061,
"id": 9077,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9058,
"referencedDeclaration": 9074,
"src": "1096:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"

@@ -186,3 +186,3 @@ }

"argumentTypes": [],
"id": 9063,
"id": 9079,
"isConstant": false,

@@ -195,3 +195,3 @@ "isLValue": false,

"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Escrow_$9289_$",
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Escrow_$9305_$",
"typeString": "function () returns (contract Escrow)"

@@ -201,9 +201,9 @@ },

"contractScope": null,
"id": 9062,
"id": 9078,
"name": "Escrow",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 9289,
"referencedDeclaration": 9305,
"src": "1110:6:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"

@@ -213,3 +213,3 @@ }

},
"id": 9064,
"id": 9080,
"isConstant": false,

@@ -224,3 +224,3 @@ "isLValue": false,

"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"

@@ -231,7 +231,7 @@ }

"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"
}
},
"id": 9066,
"id": 9082,
"nodeType": "ExpressionStatement",

@@ -243,3 +243,3 @@ "src": "1096:22:115"

"documentation": null,
"id": 9068,
"id": 9084,
"implemented": true,

@@ -251,3 +251,3 @@ "kind": "constructor",

"parameters": {
"id": 9059,
"id": 9075,
"nodeType": "ParameterList",

@@ -258,3 +258,3 @@ "parameters": [],

"returnParameters": {
"id": 9060,
"id": 9076,
"nodeType": "ParameterList",

@@ -264,3 +264,3 @@ "parameters": [],

},
"scope": 9124,
"scope": 9140,
"src": "1062:63:115",

@@ -273,3 +273,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 9079,
"id": 9095,
"nodeType": "Block",

@@ -284,7 +284,7 @@ "src": "1900:40:115",

"argumentTypes": null,
"id": 9076,
"id": 9092,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9070,
"referencedDeclaration": 9086,
"src": "1927:5:115",

@@ -306,14 +306,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9073,
"id": 9089,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9058,
"referencedDeclaration": 9074,
"src": "1910:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"
}
},
"id": 9075,
"id": 9091,
"isConstant": false,

@@ -325,3 +325,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9257,
"referencedDeclaration": 9273,
"src": "1910:16:115",

@@ -333,3 +333,3 @@ "typeDescriptions": {

},
"id": 9077,
"id": 9093,
"isConstant": false,

@@ -348,3 +348,3 @@ "isLValue": false,

},
"id": 9078,
"id": 9094,
"nodeType": "ExpressionStatement",

@@ -356,3 +356,3 @@ "src": "1910:23:115"

"documentation": "@dev Withdraw accumulated payments.\n * Note that _any_ account can call this function, not just the `payee`.\nThis means that contracts unaware of the `PullPayment` protocol can still\nreceive funds this way, by having a separate account call\n{withdrawPayments}.\n * NOTE: This function has been deprecated, use {withdrawPaymentsWithGas}\ninstead. Calling contracts with fixed gas limits is an anti-pattern and\nmay break contract interactions in network upgrades (hardforks).\nhttps://diligence.consensys.net/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more.]\n * @param payee Whose payments will be withdrawn.",
"id": 9080,
"id": 9096,
"implemented": true,

@@ -364,3 +364,3 @@ "kind": "function",

"parameters": {
"id": 9071,
"id": 9087,
"nodeType": "ParameterList",

@@ -370,6 +370,6 @@ "parameters": [

"constant": false,
"id": 9070,
"id": 9086,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9080,
"scope": 9096,
"src": "1870:21:115",

@@ -383,3 +383,3 @@ "stateVariable": false,

"typeName": {
"id": 9069,
"id": 9085,
"name": "address",

@@ -401,3 +401,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9072,
"id": 9088,
"nodeType": "ParameterList",

@@ -407,3 +407,3 @@ "parameters": [],

},
"scope": 9124,
"scope": 9140,
"src": "1844:96:115",

@@ -416,3 +416,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 9091,
"id": 9107,
"nodeType": "Block",

@@ -427,7 +427,7 @@ "src": "2377:47:115",

"argumentTypes": null,
"id": 9088,
"id": 9104,
"name": "payee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9082,
"referencedDeclaration": 9098,
"src": "2411:5:115",

@@ -449,14 +449,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9085,
"id": 9101,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9058,
"referencedDeclaration": 9074,
"src": "2387:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"
}
},
"id": 9087,
"id": 9103,
"isConstant": false,

@@ -468,3 +468,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9288,
"referencedDeclaration": 9304,
"src": "2387:23:115",

@@ -476,3 +476,3 @@ "typeDescriptions": {

},
"id": 9089,
"id": 9105,
"isConstant": false,

@@ -491,3 +491,3 @@ "isLValue": false,

},
"id": 9090,
"id": 9106,
"nodeType": "ExpressionStatement",

@@ -499,3 +499,3 @@ "src": "2387:30:115"

"documentation": "@dev Same as {withdrawPayments}, but forwarding all gas to the recipient.\n * WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities.\nMake sure you trust the recipient, or are either following the\nchecks-effects-interactions pattern or using {ReentrancyGuard}.\n * _Available since v2.4.0._",
"id": 9092,
"id": 9108,
"implemented": true,

@@ -507,3 +507,3 @@ "kind": "function",

"parameters": {
"id": 9083,
"id": 9099,
"nodeType": "ParameterList",

@@ -513,6 +513,6 @@ "parameters": [

"constant": false,
"id": 9082,
"id": 9098,
"name": "payee",
"nodeType": "VariableDeclaration",
"scope": 9092,
"scope": 9108,
"src": "2345:21:115",

@@ -526,3 +526,3 @@ "stateVariable": false,

"typeName": {
"id": 9081,
"id": 9097,
"name": "address",

@@ -544,3 +544,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9084,
"id": 9100,
"nodeType": "ParameterList",

@@ -550,3 +550,3 @@ "parameters": [],

},
"scope": 9124,
"scope": 9140,
"src": "2312:112:115",

@@ -559,3 +559,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 9104,
"id": 9120,
"nodeType": "Block",

@@ -570,7 +570,7 @@ "src": "2604:48:115",

"argumentTypes": null,
"id": 9101,
"id": 9117,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9094,
"referencedDeclaration": 9110,
"src": "2640:4:115",

@@ -592,14 +592,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9099,
"id": 9115,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9058,
"referencedDeclaration": 9074,
"src": "2621:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"
}
},
"id": 9100,
"id": 9116,
"isConstant": false,

@@ -611,3 +611,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9197,
"referencedDeclaration": 9213,
"src": "2621:18:115",

@@ -619,3 +619,3 @@ "typeDescriptions": {

},
"id": 9102,
"id": 9118,
"isConstant": false,

@@ -634,4 +634,4 @@ "isLValue": false,

},
"functionReturnParameters": 9098,
"id": 9103,
"functionReturnParameters": 9114,
"id": 9119,
"nodeType": "Return",

@@ -643,3 +643,3 @@ "src": "2614:31:115"

"documentation": "@dev Returns the payments owed to an address.\n@param dest The creditor's address.",
"id": 9105,
"id": 9121,
"implemented": true,

@@ -651,3 +651,3 @@ "kind": "function",

"parameters": {
"id": 9095,
"id": 9111,
"nodeType": "ParameterList",

@@ -657,6 +657,6 @@ "parameters": [

"constant": false,
"id": 9094,
"id": 9110,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 9105,
"scope": 9121,
"src": "2560:12:115",

@@ -670,3 +670,3 @@ "stateVariable": false,

"typeName": {
"id": 9093,
"id": 9109,
"name": "address",

@@ -688,3 +688,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9098,
"id": 9114,
"nodeType": "ParameterList",

@@ -694,6 +694,6 @@ "parameters": [

"constant": false,
"id": 9097,
"id": 9113,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 9105,
"scope": 9121,
"src": "2595:7:115",

@@ -707,3 +707,3 @@ "stateVariable": false,

"typeName": {
"id": 9096,
"id": 9112,
"name": "uint256",

@@ -723,3 +723,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 9124,
"scope": 9140,
"src": "2542:110:115",

@@ -732,3 +732,3 @@ "stateMutability": "view",

"body": {
"id": 9122,
"id": 9138,
"nodeType": "Block",

@@ -743,7 +743,7 @@ "src": "3074:52:115",

"argumentTypes": null,
"id": 9119,
"id": 9135,
"name": "dest",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9107,
"referencedDeclaration": 9123,
"src": "3114:4:115",

@@ -766,7 +766,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9117,
"id": 9133,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9109,
"referencedDeclaration": 9125,
"src": "3106:6:115",

@@ -790,14 +790,14 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 9112,
"id": 9128,
"name": "_escrow",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9058,
"referencedDeclaration": 9074,
"src": "3084:7:115",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Escrow_$9289",
"typeIdentifier": "t_contract$_Escrow_$9305",
"typeString": "contract Escrow"
}
},
"id": 9115,
"id": 9131,
"isConstant": false,

@@ -809,3 +809,3 @@ "isLValue": false,

"nodeType": "MemberAccess",
"referencedDeclaration": 9226,
"referencedDeclaration": 9242,
"src": "3084:15:115",

@@ -817,3 +817,3 @@ "typeDescriptions": {

},
"id": 9116,
"id": 9132,
"isConstant": false,

@@ -832,3 +832,3 @@ "isLValue": false,

},
"id": 9118,
"id": 9134,
"isConstant": false,

@@ -847,3 +847,3 @@ "isLValue": false,

},
"id": 9120,
"id": 9136,
"isConstant": false,

@@ -862,3 +862,3 @@ "isLValue": false,

},
"id": 9121,
"id": 9137,
"nodeType": "ExpressionStatement",

@@ -870,3 +870,3 @@ "src": "3084:35:115"

"documentation": "@dev Called by the payer to store the sent amount as credit to be pulled.\nFunds sent in this way are stored in an intermediate {Escrow} contract, so\nthere is no danger of them being spent before withdrawal.\n * @param dest The destination address of the funds.\n@param amount The amount to transfer.",
"id": 9123,
"id": 9139,
"implemented": true,

@@ -878,3 +878,3 @@ "kind": "function",

"parameters": {
"id": 9110,
"id": 9126,
"nodeType": "ParameterList",

@@ -884,6 +884,6 @@ "parameters": [

"constant": false,
"id": 9107,
"id": 9123,
"name": "dest",
"nodeType": "VariableDeclaration",
"scope": 9123,
"scope": 9139,
"src": "3035:12:115",

@@ -897,3 +897,3 @@ "stateVariable": false,

"typeName": {
"id": 9106,
"id": 9122,
"name": "address",

@@ -913,6 +913,6 @@ "nodeType": "ElementaryTypeName",

"constant": false,
"id": 9109,
"id": 9125,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 9123,
"scope": 9139,
"src": "3049:14:115",

@@ -926,3 +926,3 @@ "stateVariable": false,

"typeName": {
"id": 9108,
"id": 9124,
"name": "uint256",

@@ -943,3 +943,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 9111,
"id": 9127,
"nodeType": "ParameterList",

@@ -949,3 +949,3 @@ "parameters": [],

},
"scope": 9124,
"scope": 9140,
"src": "3011:115:115",

@@ -957,3 +957,3 @@ "stateMutability": "nonpayable",

],
"scope": 9125,
"scope": 9141,
"src": "1006:2122:115"

@@ -968,3 +968,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -971,0 +971,0 @@ "enabled": false,

@@ -20,10 +20,10 @@ {

"ReentrancyGuard": [
13786
13820
]
},
"id": 13787,
"id": 13821,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13758,
"id": 13792,
"literals": [

@@ -44,5 +44,5 @@ "solidity",

"fullyImplemented": true,
"id": 13786,
"id": 13820,
"linearizedBaseContracts": [
13786
13820
],

@@ -54,6 +54,6 @@ "name": "ReentrancyGuard",

"constant": false,
"id": 13760,
"id": 13794,
"name": "_notEntered",
"nodeType": "VariableDeclaration",
"scope": 13786,
"scope": 13820,
"src": "944:24:150",

@@ -67,3 +67,3 @@ "stateVariable": true,

"typeName": {
"id": 13759,
"id": 13793,
"name": "bool",

@@ -82,3 +82,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 13767,
"id": 13801,
"nodeType": "Block",

@@ -90,3 +90,3 @@ "src": "999:447:150",

"argumentTypes": null,
"id": 13765,
"id": 13799,
"isConstant": false,

@@ -98,7 +98,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13763,
"id": 13797,
"name": "_notEntered",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13760,
"referencedDeclaration": 13794,
"src": "1421:11:150",

@@ -115,3 +115,3 @@ "typeDescriptions": {

"hexValue": "74727565",
"id": 13764,
"id": 13798,
"isConstant": false,

@@ -137,3 +137,3 @@ "isLValue": false,

},
"id": 13766,
"id": 13800,
"nodeType": "ExpressionStatement",

@@ -145,3 +145,3 @@ "src": "1421:18:150"

"documentation": null,
"id": 13768,
"id": 13802,
"implemented": true,

@@ -153,3 +153,3 @@ "kind": "constructor",

"parameters": {
"id": 13761,
"id": 13795,
"nodeType": "ParameterList",

@@ -160,3 +160,3 @@ "parameters": [],

"returnParameters": {
"id": 13762,
"id": 13796,
"nodeType": "ParameterList",

@@ -166,3 +166,3 @@ "parameters": [],

},
"scope": 13786,
"scope": 13820,
"src": "975:471:150",

@@ -175,3 +175,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 13784,
"id": 13818,
"nodeType": "Block",

@@ -186,7 +186,7 @@ "src": "1845:410:150",

"argumentTypes": null,
"id": 13771,
"id": 13805,
"name": "_notEntered",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13760,
"referencedDeclaration": 13794,
"src": "1934:11:150",

@@ -201,3 +201,3 @@ "typeDescriptions": {

"hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c",
"id": 13772,
"id": 13806,
"isConstant": false,

@@ -229,10 +229,10 @@ "isLValue": false,

],
"id": 13770,
"id": 13804,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1926:7:150",

@@ -244,3 +244,3 @@ "typeDescriptions": {

},
"id": 13773,
"id": 13807,
"isConstant": false,

@@ -259,3 +259,3 @@ "isLValue": false,

},
"id": 13774,
"id": 13808,
"nodeType": "ExpressionStatement",

@@ -267,3 +267,3 @@ "src": "1926:55:150"

"argumentTypes": null,
"id": 13777,
"id": 13811,
"isConstant": false,

@@ -275,7 +275,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13775,
"id": 13809,
"name": "_notEntered",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13760,
"referencedDeclaration": 13794,
"src": "2056:11:150",

@@ -292,3 +292,3 @@ "typeDescriptions": {

"hexValue": "66616c7365",
"id": 13776,
"id": 13810,
"isConstant": false,

@@ -314,3 +314,3 @@ "isLValue": false,

},
"id": 13778,
"id": 13812,
"nodeType": "ExpressionStatement",

@@ -320,3 +320,3 @@ "src": "2056:19:150"

{
"id": 13779,
"id": 13813,
"nodeType": "PlaceholderStatement",

@@ -328,3 +328,3 @@ "src": "2086:1:150"

"argumentTypes": null,
"id": 13782,
"id": 13816,
"isConstant": false,

@@ -336,7 +336,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 13780,
"id": 13814,
"name": "_notEntered",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13760,
"referencedDeclaration": 13794,
"src": "2230:11:150",

@@ -353,3 +353,3 @@ "typeDescriptions": {

"hexValue": "74727565",
"id": 13781,
"id": 13815,
"isConstant": false,

@@ -375,3 +375,3 @@ "isLValue": false,

},
"id": 13783,
"id": 13817,
"nodeType": "ExpressionStatement",

@@ -383,7 +383,7 @@ "src": "2230:18:150"

"documentation": "@dev Prevents a contract from calling itself, directly or indirectly.\nCalling a `nonReentrant` function from another `nonReentrant`\nfunction is not supported. It is possible to prevent this from happening\nby making the `nonReentrant` function external, and make it call a\n`private` function that does the actual work.",
"id": 13785,
"id": 13819,
"name": "nonReentrant",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 13769,
"id": 13803,
"nodeType": "ParameterList",

@@ -397,3 +397,3 @@ "parameters": [],

],
"scope": 13787,
"scope": 13821,
"src": "913:1344:150"

@@ -408,3 +408,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -411,0 +411,0 @@ "enabled": false,

@@ -400,3 +400,3 @@ {

3087,
13786
13820
],

@@ -414,3 +414,3 @@ "contractKind": "contract",

2119,
13786,
13820,
26

@@ -495,6 +495,6 @@ ],

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "490:7:17",

@@ -592,6 +592,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "570:7:17",

@@ -652,3 +652,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 13988,
"referencedDeclaration": 14022,
"src": "656:5:17",

@@ -758,3 +758,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -761,0 +761,0 @@ "enabled": false,

@@ -225,6 +225,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "328:7:6",

@@ -541,6 +541,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "581:7:6",

@@ -879,6 +879,6 @@ "typeDescriptions": {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "867:7:6",

@@ -1087,7 +1087,7 @@ "typeDescriptions": {

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820dfdefebd0190bf6c836b69e4c1c10a2fde94b5cf45b36e1adcac0d9e8457cde364736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820dfdefebd0190bf6c836b69e4c1c10a2fde94b5cf45b36e1adcac0d9e8457cde364736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820227d3a93f91007eee5756c17a4201afa9e61a12046e0bf4509202b46579a881064736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820227d3a93f91007eee5756c17a4201afa9e61a12046e0bf4509202b46579a881064736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1094,0 +1094,0 @@ "enabled": false,

@@ -63,10 +63,10 @@ {

"Secondary": [
8763
8779
]
},
"id": 8764,
"id": 8780,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 8691,
"id": 8707,
"literals": [

@@ -84,5 +84,5 @@ "solidity",

"file": "../GSN/Context.sol",
"id": 8692,
"id": 8708,
"nodeType": "ImportDirective",
"scope": 8764,
"scope": 8780,
"sourceUnit": 27,

@@ -99,3 +99,3 @@ "src": "25:28:113",

"contractScope": null,
"id": 8693,
"id": 8709,
"name": "Context",

@@ -110,3 +110,3 @@ "nodeType": "UserDefinedTypeName",

},
"id": 8694,
"id": 8710,
"nodeType": "InheritanceSpecifier",

@@ -122,5 +122,5 @@ "src": "180:7:113"

"fullyImplemented": true,
"id": 8763,
"id": 8779,
"linearizedBaseContracts": [
8763,
8779,
26

@@ -133,6 +133,6 @@ ],

"constant": false,
"id": 8696,
"id": 8712,
"name": "_primary",
"nodeType": "VariableDeclaration",
"scope": 8763,
"scope": 8779,
"src": "194:24:113",

@@ -146,3 +146,3 @@ "stateVariable": true,

"typeName": {
"id": 8695,
"id": 8711,
"name": "address",

@@ -163,7 +163,7 @@ "nodeType": "ElementaryTypeName",

"documentation": "@dev Emitted when the primary contract changes.",
"id": 8700,
"id": 8716,
"name": "PrimaryTransferred",
"nodeType": "EventDefinition",
"parameters": {
"id": 8699,
"id": 8715,
"nodeType": "ParameterList",

@@ -173,7 +173,7 @@ "parameters": [

"constant": false,
"id": 8698,
"id": 8714,
"indexed": false,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 8700,
"scope": 8716,
"src": "330:17:113",

@@ -187,3 +187,3 @@ "stateVariable": false,

"typeName": {
"id": 8697,
"id": 8713,
"name": "address",

@@ -208,3 +208,3 @@ "nodeType": "ElementaryTypeName",

"body": {
"id": 8716,
"id": 8732,
"nodeType": "Block",

@@ -215,3 +215,3 @@ "src": "489:123:113",

"assignments": [
8704
8720
],

@@ -221,6 +221,6 @@ "declarations": [

"constant": false,
"id": 8704,
"id": 8720,
"name": "msgSender",
"nodeType": "VariableDeclaration",
"scope": 8716,
"scope": 8732,
"src": "499:17:113",

@@ -234,3 +234,3 @@ "stateVariable": false,

"typeName": {
"id": 8703,
"id": 8719,
"name": "address",

@@ -249,3 +249,3 @@ "nodeType": "ElementaryTypeName",

],
"id": 8707,
"id": 8723,
"initialValue": {

@@ -256,3 +256,3 @@ "argumentTypes": null,

"argumentTypes": [],
"id": 8705,
"id": 8721,
"name": "_msgSender",

@@ -268,3 +268,3 @@ "nodeType": "Identifier",

},
"id": 8706,
"id": 8722,
"isConstant": false,

@@ -289,3 +289,3 @@ "isLValue": false,

"argumentTypes": null,
"id": 8710,
"id": 8726,
"isConstant": false,

@@ -297,7 +297,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8708,
"id": 8724,
"name": "_primary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8696,
"referencedDeclaration": 8712,
"src": "541:8:113",

@@ -313,7 +313,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 8709,
"id": 8725,
"name": "msgSender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8704,
"referencedDeclaration": 8720,
"src": "552:9:113",

@@ -331,3 +331,3 @@ "typeDescriptions": {

},
"id": 8711,
"id": 8727,
"nodeType": "ExpressionStatement",

@@ -342,7 +342,7 @@ "src": "541:20:113"

"argumentTypes": null,
"id": 8713,
"id": 8729,
"name": "msgSender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8704,
"referencedDeclaration": 8720,
"src": "595:9:113",

@@ -362,7 +362,7 @@ "typeDescriptions": {

],
"id": 8712,
"id": 8728,
"name": "PrimaryTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8700,
"referencedDeclaration": 8716,
"src": "576:18:113",

@@ -374,3 +374,3 @@ "typeDescriptions": {

},
"id": 8714,
"id": 8730,
"isConstant": false,

@@ -389,3 +389,3 @@ "isLValue": false,

},
"id": 8715,
"id": 8731,
"nodeType": "EmitStatement",

@@ -397,3 +397,3 @@ "src": "571:34:113"

"documentation": "@dev Sets the primary account to the one that is creating the Secondary contract.",
"id": 8717,
"id": 8733,
"implemented": true,

@@ -405,3 +405,3 @@ "kind": "constructor",

"parameters": {
"id": 8701,
"id": 8717,
"nodeType": "ParameterList",

@@ -412,3 +412,3 @@ "parameters": [],

"returnParameters": {
"id": 8702,
"id": 8718,
"nodeType": "ParameterList",

@@ -418,3 +418,3 @@ "parameters": [],

},
"scope": 8763,
"scope": 8779,
"src": "465:147:113",

@@ -427,3 +427,3 @@ "stateMutability": "nonpayable",

"body": {
"id": 8728,
"id": 8744,
"nodeType": "Block",

@@ -442,3 +442,3 @@ "src": "728:109:113",

},
"id": 8723,
"id": 8739,
"isConstant": false,

@@ -453,3 +453,3 @@ "isLValue": false,

"argumentTypes": [],
"id": 8720,
"id": 8736,
"name": "_msgSender",

@@ -465,3 +465,3 @@ "nodeType": "Identifier",

},
"id": 8721,
"id": 8737,
"isConstant": false,

@@ -484,7 +484,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8722,
"id": 8738,
"name": "_primary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8696,
"referencedDeclaration": 8712,
"src": "762:8:113",

@@ -505,3 +505,3 @@ "typeDescriptions": {

"hexValue": "5365636f6e646172793a2063616c6c6572206973206e6f7420746865207072696d617279206163636f756e74",
"id": 8724,
"id": 8740,
"isConstant": false,

@@ -533,10 +533,10 @@ "isLValue": false,

],
"id": 8719,
"id": 8735,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "738:7:113",

@@ -548,3 +548,3 @@ "typeDescriptions": {

},
"id": 8725,
"id": 8741,
"isConstant": false,

@@ -563,3 +563,3 @@ "isLValue": false,

},
"id": 8726,
"id": 8742,
"nodeType": "ExpressionStatement",

@@ -569,3 +569,3 @@ "src": "738:81:113"

{
"id": 8727,
"id": 8743,
"nodeType": "PlaceholderStatement",

@@ -577,7 +577,7 @@ "src": "829:1:113"

"documentation": "@dev Reverts if called from any account other than the primary.",
"id": 8729,
"id": 8745,
"name": "onlyPrimary",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 8718,
"id": 8734,
"nodeType": "ParameterList",

@@ -592,3 +592,3 @@ "parameters": [],

"body": {
"id": 8736,
"id": 8752,
"nodeType": "Block",

@@ -600,7 +600,7 @@ "src": "951:32:113",

"argumentTypes": null,
"id": 8734,
"id": 8750,
"name": "_primary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8696,
"referencedDeclaration": 8712,
"src": "968:8:113",

@@ -612,4 +612,4 @@ "typeDescriptions": {

},
"functionReturnParameters": 8733,
"id": 8735,
"functionReturnParameters": 8749,
"id": 8751,
"nodeType": "Return",

@@ -621,3 +621,3 @@ "src": "961:15:113"

"documentation": "@return the address of the primary.",
"id": 8737,
"id": 8753,
"implemented": true,

@@ -629,3 +629,3 @@ "kind": "function",

"parameters": {
"id": 8730,
"id": 8746,
"nodeType": "ParameterList",

@@ -636,3 +636,3 @@ "parameters": [],

"returnParameters": {
"id": 8733,
"id": 8749,
"nodeType": "ParameterList",

@@ -642,6 +642,6 @@ "parameters": [

"constant": false,
"id": 8732,
"id": 8748,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 8737,
"scope": 8753,
"src": "942:7:113",

@@ -655,3 +655,3 @@ "stateVariable": false,

"typeName": {
"id": 8731,
"id": 8747,
"name": "address",

@@ -672,3 +672,3 @@ "nodeType": "ElementaryTypeName",

},
"scope": 8763,
"scope": 8779,
"src": "902:81:113",

@@ -681,3 +681,3 @@ "stateMutability": "view",

"body": {
"id": 8761,
"id": 8777,
"nodeType": "Block",

@@ -696,3 +696,3 @@ "src": "1169:169:113",

},
"id": 8749,
"id": 8765,
"isConstant": false,

@@ -704,7 +704,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8745,
"id": 8761,
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8739,
"referencedDeclaration": 8755,
"src": "1187:9:113",

@@ -724,3 +724,3 @@ "typeDescriptions": {

"hexValue": "30",
"id": 8747,
"id": 8763,
"isConstant": false,

@@ -748,3 +748,3 @@ "isLValue": false,

],
"id": 8746,
"id": 8762,
"isConstant": false,

@@ -762,3 +762,3 @@ "isLValue": false,

},
"id": 8748,
"id": 8764,
"isConstant": false,

@@ -786,3 +786,3 @@ "isLValue": false,

"hexValue": "5365636f6e646172793a206e6577207072696d61727920697320746865207a65726f2061646472657373",
"id": 8750,
"id": 8766,
"isConstant": false,

@@ -814,10 +814,10 @@ "isLValue": false,

],
"id": 8744,
"id": 8760,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "1179:7:113",

@@ -829,3 +829,3 @@ "typeDescriptions": {

},
"id": 8751,
"id": 8767,
"isConstant": false,

@@ -844,3 +844,3 @@ "isLValue": false,

},
"id": 8752,
"id": 8768,
"nodeType": "ExpressionStatement",

@@ -852,3 +852,3 @@ "src": "1179:78:113"

"argumentTypes": null,
"id": 8755,
"id": 8771,
"isConstant": false,

@@ -860,7 +860,7 @@ "isLValue": false,

"argumentTypes": null,
"id": 8753,
"id": 8769,
"name": "_primary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8696,
"referencedDeclaration": 8712,
"src": "1267:8:113",

@@ -876,7 +876,7 @@ "typeDescriptions": {

"argumentTypes": null,
"id": 8754,
"id": 8770,
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8739,
"referencedDeclaration": 8755,
"src": "1278:9:113",

@@ -894,3 +894,3 @@ "typeDescriptions": {

},
"id": 8756,
"id": 8772,
"nodeType": "ExpressionStatement",

@@ -905,7 +905,7 @@ "src": "1267:20:113"

"argumentTypes": null,
"id": 8758,
"id": 8774,
"name": "recipient",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8739,
"referencedDeclaration": 8755,
"src": "1321:9:113",

@@ -925,7 +925,7 @@ "typeDescriptions": {

],
"id": 8757,
"id": 8773,
"name": "PrimaryTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8700,
"referencedDeclaration": 8716,
"src": "1302:18:113",

@@ -937,3 +937,3 @@ "typeDescriptions": {

},
"id": 8759,
"id": 8775,
"isConstant": false,

@@ -952,3 +952,3 @@ "isLValue": false,

},
"id": 8760,
"id": 8776,
"nodeType": "EmitStatement",

@@ -960,3 +960,3 @@ "src": "1297:34:113"

"documentation": "@dev Transfers contract to a new primary.\n@param recipient The address of new primary.",
"id": 8762,
"id": 8778,
"implemented": true,

@@ -967,10 +967,10 @@ "kind": "function",

"arguments": null,
"id": 8742,
"id": 8758,
"modifierName": {
"argumentTypes": null,
"id": 8741,
"id": 8757,
"name": "onlyPrimary",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8729,
"referencedDeclaration": 8745,
"src": "1157:11:113",

@@ -989,3 +989,3 @@ "typeDescriptions": {

"parameters": {
"id": 8740,
"id": 8756,
"nodeType": "ParameterList",

@@ -995,6 +995,6 @@ "parameters": [

"constant": false,
"id": 8739,
"id": 8755,
"name": "recipient",
"nodeType": "VariableDeclaration",
"scope": 8762,
"scope": 8778,
"src": "1131:17:113",

@@ -1008,3 +1008,3 @@ "stateVariable": false,

"typeName": {
"id": 8738,
"id": 8754,
"name": "address",

@@ -1026,3 +1026,3 @@ "nodeType": "ElementaryTypeName",

"returnParameters": {
"id": 8743,
"id": 8759,
"nodeType": "ParameterList",

@@ -1032,3 +1032,3 @@ "parameters": [],

},
"scope": 8763,
"scope": 8779,
"src": "1106:232:113",

@@ -1040,3 +1040,3 @@ "stateMutability": "nonpayable",

],
"scope": 8764,
"scope": 8780,
"src": "158:1182:113"

@@ -1051,3 +1051,3 @@ }

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1054,0 +1054,0 @@ "enabled": false,

@@ -522,6 +522,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "387:7:10",

@@ -1350,3 +1350,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1353,0 +1353,0 @@ "enabled": false,

@@ -1094,7 +1094,7 @@ {

},
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158200456349625f2661124998ddf387b35137b2eaa406a35115c4439b936a9e4e00a64736f6c63430005100032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158200456349625f2661124998ddf387b35137b2eaa406a35115c4439b936a9e4e00a64736f6c63430005100032",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ec7fdfc682244cb0e736a5c6557824341759a69377bba94169a4cc5db563e6eb64736f6c63430005110032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ec7fdfc682244cb0e736a5c6557824341759a69377bba94169a4cc5db563e6eb64736f6c63430005110032",
"compiler": {
"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1101,0 +1101,0 @@ "enabled": false,

@@ -522,6 +522,6 @@ {

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "561:7:11",

@@ -1350,3 +1350,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -1353,0 +1353,0 @@ "enabled": false,

@@ -365,3 +365,3 @@ {

2119,
13786
13820
],

@@ -375,3 +375,3 @@ "contractKind": "contract",

2119,
13786,
13820,
1842,

@@ -477,6 +477,6 @@ 1729,

"overloadedDeclarations": [
13912,
13913
13946,
13947
],
"referencedDeclaration": 13913,
"referencedDeclaration": 13947,
"src": "636:7:25",

@@ -554,3 +554,3 @@ "typeDescriptions": {

"overloadedDeclarations": [],
"referencedDeclaration": 14008,
"referencedDeclaration": 14042,
"src": "751:5:25",

@@ -686,3 +686,3 @@ "typeDescriptions": {

"name": "solc",
"version": "0.5.16+commit.9c3226ce.Emscripten.clang",
"version": "0.5.17+commit.d19bba13.Emscripten.clang",
"optimizer": {

@@ -689,0 +689,0 @@ "enabled": false,

{
"name": "@openzeppelin/contracts",
"version": "2.5.0",
"version": "2.5.1",
"description": "Secure Smart Contract library for Solidity",

@@ -5,0 +5,0 @@ "files": [

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc