github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/ABBToken.evm (about)

     1      /* "../contracts/token.sol":2930:3764  contract ABBToken is owned, TokenERC20 {... */
     2    mstore(0x40, 0x80)
     3      /* "../contracts/token.sol":1277:1279  18 */
     4    0x12
     5      /* "../contracts/token.sol":1253:1279  uint8 public decimals = 18 */
     6    0x3
     7    exp(0x100, 0x0)
     8    dup2
     9    sload
    10    dup2
    11    0xff
    12    mul
    13    not
    14    and
    15    swap1
    16    dup4
    17    0xff
    18    and
    19    mul
    20    or
    21    swap1
    22    sstore
    23    pop
    24      /* "../contracts/token.sol":3135:3273  function ABBToken(uint256 initialSupply, string tokenName, string tokenSymbol) TokenERC20(initialSupply, tokenName, tokenSymbol) public {} */
    25    callvalue
    26      /* "--CODEGEN--":8:17   */
    27    dup1
    28      /* "--CODEGEN--":5:7   */
    29    iszero
    30    tag_1
    31    jumpi
    32      /* "--CODEGEN--":30:31   */
    33    0x0
    34      /* "--CODEGEN--":27:28   */
    35    dup1
    36      /* "--CODEGEN--":20:32   */
    37    revert
    38      /* "--CODEGEN--":5:7   */
    39  tag_1:
    40      /* "../contracts/token.sol":3135:3273  function ABBToken(uint256 initialSupply, string tokenName, string tokenSymbol) TokenERC20(initialSupply, tokenName, tokenSymbol) public {} */
    41    pop
    42    mload(0x40)
    43    sub(codesize, bytecodeSize)
    44    dup1
    45    bytecodeSize
    46    dup4
    47    codecopy
    48    dup2
    49    add
    50    dup1
    51    0x40
    52    mstore
    53    dup2
    54    add
    55    swap1
    56    dup1
    57    dup1
    58    mload
    59    swap1
    60    0x20
    61    add
    62    swap1
    63    swap3
    64    swap2
    65    swap1
    66    dup1
    67    mload
    68    dup3
    69    add
    70    swap3
    71    swap2
    72    swap1
    73    0x20
    74    add
    75    dup1
    76    mload
    77    dup3
    78    add
    79    swap3
    80    swap2
    81    swap1
    82    pop
    83    pop
    84    pop
    85      /* "../contracts/token.sol":3225:3238  initialSupply */
    86    dup3
    87      /* "../contracts/token.sol":3240:3249  tokenName */
    88    dup3
    89      /* "../contracts/token.sol":3251:3262  tokenSymbol */
    90    dup3
    91      /* "../contracts/token.sol":873:883  msg.sender */
    92    caller
    93      /* "../contracts/token.sol":865:870  owner */
    94    0x0
    95    dup1
    96      /* "../contracts/token.sol":865:883  owner = msg.sender */
    97    0x100
    98    exp
    99    dup2
   100    sload
   101    dup2
   102    0xffffffffffffffffffffffffffffffffffffffff
   103    mul
   104    not
   105    and
   106    swap1
   107    dup4
   108    0xffffffffffffffffffffffffffffffffffffffff
   109    and
   110    mul
   111    or
   112    swap1
   113    sstore
   114    pop
   115      /* "../contracts/token.sol":1662:1670  decimals */
   116    0x3
   117    0x0
   118    swap1
   119    sload
   120    swap1
   121    0x100
   122    exp
   123    swap1
   124    div
   125    0xff
   126    and
   127      /* "../contracts/token.sol":1654:1671  uint256(decimals) */
   128    0xff
   129    and
   130      /* "../contracts/token.sol":1648:1650  10 */
   131    0xa
   132      /* "../contracts/token.sol":1648:1671  10 ** uint256(decimals) */
   133    exp
   134      /* "../contracts/token.sol":1632:1645  initialSupply */
   135    dup4
   136      /* "../contracts/token.sol":1632:1671  initialSupply * 10 ** uint256(decimals) */
   137    mul
   138      /* "../contracts/token.sol":1618:1629  totalSupply */
   139    0x4
   140      /* "../contracts/token.sol":1618:1671  totalSupply = initialSupply * 10 ** uint256(decimals) */
   141    dup2
   142    swap1
   143    sstore
   144    pop
   145      /* "../contracts/token.sol":1705:1716  totalSupply */
   146    sload(0x4)
   147      /* "../contracts/token.sol":1681:1690  balanceOf */
   148    0x5
   149      /* "../contracts/token.sol":1681:1702  balanceOf[msg.sender] */
   150    0x0
   151      /* "../contracts/token.sol":1691:1701  msg.sender */
   152    caller
   153      /* "../contracts/token.sol":1681:1702  balanceOf[msg.sender] */
   154    0xffffffffffffffffffffffffffffffffffffffff
   155    and
   156    0xffffffffffffffffffffffffffffffffffffffff
   157    and
   158    dup2
   159    mstore
   160    0x20
   161    add
   162    swap1
   163    dup2
   164    mstore
   165    0x20
   166    add
   167    0x0
   168    keccak256
   169      /* "../contracts/token.sol":1681:1716  balanceOf[msg.sender] = totalSupply */
   170    dup2
   171    swap1
   172    sstore
   173    pop
   174      /* "../contracts/token.sol":1733:1742  tokenName */
   175    dup2
   176      /* "../contracts/token.sol":1726:1730  name */
   177    0x1
   178      /* "../contracts/token.sol":1726:1742  name = tokenName */
   179    swap1
   180    dup1
   181    mload
   182    swap1
   183    0x20
   184    add
   185    swap1
   186    tag_7
   187    swap3
   188    swap2
   189    swap1
   190    jump	// in(tag_8)
   191  tag_7:
   192    pop
   193      /* "../contracts/token.sol":1761:1772  tokenSymbol */
   194    dup1
   195      /* "../contracts/token.sol":1752:1758  symbol */
   196    0x2
   197      /* "../contracts/token.sol":1752:1772  symbol = tokenSymbol */
   198    swap1
   199    dup1
   200    mload
   201    swap1
   202    0x20
   203    add
   204    swap1
   205    tag_9
   206    swap3
   207    swap2
   208    swap1
   209    jump	// in(tag_8)
   210  tag_9:
   211    pop
   212      /* "../contracts/token.sol":1520:1779  function TokenERC20(uint256 initialSupply, string tokenName, string tokenSymbol) public {... */
   213    pop
   214    pop
   215    pop
   216      /* "../contracts/token.sol":3135:3273  function ABBToken(uint256 initialSupply, string tokenName, string tokenSymbol) TokenERC20(initialSupply, tokenName, tokenSymbol) public {} */
   217    pop
   218    pop
   219    pop
   220      /* "../contracts/token.sol":2930:3764  contract ABBToken is owned, TokenERC20 {... */
   221    jump(tag_11)
   222  tag_8:
   223    dup3
   224    dup1
   225    sload
   226    0x1
   227    dup2
   228    0x1
   229    and
   230    iszero
   231    0x100
   232    mul
   233    sub
   234    and
   235    0x2
   236    swap1
   237    div
   238    swap1
   239    0x0
   240    mstore
   241    keccak256(0x0, 0x20)
   242    swap1
   243    0x1f
   244    add
   245    0x20
   246    swap1
   247    div
   248    dup2
   249    add
   250    swap3
   251    dup3
   252    0x1f
   253    lt
   254    tag_13
   255    jumpi
   256    dup1
   257    mload
   258    not(0xff)
   259    and
   260    dup4
   261    dup1
   262    add
   263    or
   264    dup6
   265    sstore
   266    jump(tag_12)
   267  tag_13:
   268    dup3
   269    dup1
   270    add
   271    0x1
   272    add
   273    dup6
   274    sstore
   275    dup3
   276    iszero
   277    tag_12
   278    jumpi
   279    swap2
   280    dup3
   281    add
   282  tag_14:
   283    dup3
   284    dup2
   285    gt
   286    iszero
   287    tag_15
   288    jumpi
   289    dup3
   290    mload
   291    dup3
   292    sstore
   293    swap2
   294    0x20
   295    add
   296    swap2
   297    swap1
   298    0x1
   299    add
   300    swap1
   301    jump(tag_14)
   302  tag_15:
   303  tag_12:
   304    pop
   305    swap1
   306    pop
   307    tag_16
   308    swap2
   309    swap1
   310    jump	// in(tag_17)
   311  tag_16:
   312    pop
   313    swap1
   314    jump	// out
   315  tag_17:
   316    tag_18
   317    swap2
   318    swap1
   319  tag_19:
   320    dup1
   321    dup3
   322    gt
   323    iszero
   324    tag_20
   325    jumpi
   326    0x0
   327    dup2
   328    0x0
   329    swap1
   330    sstore
   331    pop
   332    0x1
   333    add
   334    jump(tag_19)
   335  tag_20:
   336    pop
   337    swap1
   338    jump
   339  tag_18:
   340    swap1
   341    jump	// out
   342  tag_11:
   343    dataSize(sub_0)
   344    dup1
   345    dataOffset(sub_0)
   346    0x0
   347    codecopy
   348    0x0
   349    return
   350  stop
   351  
   352  sub_0: assembly {
   353          /* "../contracts/token.sol":2930:3764  contract ABBToken is owned, TokenERC20 {... */
   354        mstore(0x40, 0x80)
   355        jumpi(tag_1, lt(calldatasize, 0x4))
   356        calldataload(0x0)
   357        0x100000000000000000000000000000000000000000000000000000000
   358        swap1
   359        div
   360        0xffffffff
   361        and
   362        dup1
   363        0x6fdde03
   364        eq
   365        tag_2
   366        jumpi
   367        dup1
   368        0x95ea7b3
   369        eq
   370        tag_3
   371        jumpi
   372        dup1
   373        0x18160ddd
   374        eq
   375        tag_4
   376        jumpi
   377        dup1
   378        0x23b872dd
   379        eq
   380        tag_5
   381        jumpi
   382        dup1
   383        0x313ce567
   384        eq
   385        tag_6
   386        jumpi
   387        dup1
   388        0x42966c68
   389        eq
   390        tag_7
   391        jumpi
   392        dup1
   393        0x70a08231
   394        eq
   395        tag_8
   396        jumpi
   397        dup1
   398        0x8da5cb5b
   399        eq
   400        tag_9
   401        jumpi
   402        dup1
   403        0x95d89b41
   404        eq
   405        tag_10
   406        jumpi
   407        dup1
   408        0xa9059cbb
   409        eq
   410        tag_11
   411        jumpi
   412        dup1
   413        0xb414d4b6
   414        eq
   415        tag_12
   416        jumpi
   417        dup1
   418        0xdd62ed3e
   419        eq
   420        tag_13
   421        jumpi
   422        dup1
   423        0xe724529c
   424        eq
   425        tag_14
   426        jumpi
   427        dup1
   428        0xf2fde38b
   429        eq
   430        tag_15
   431        jumpi
   432      tag_1:
   433        0x0
   434        dup1
   435        revert
   436          /* "../contracts/token.sol":1203:1221  string public name */
   437      tag_2:
   438        callvalue
   439          /* "--CODEGEN--":8:17   */
   440        dup1
   441          /* "--CODEGEN--":5:7   */
   442        iszero
   443        tag_16
   444        jumpi
   445          /* "--CODEGEN--":30:31   */
   446        0x0
   447          /* "--CODEGEN--":27:28   */
   448        dup1
   449          /* "--CODEGEN--":20:32   */
   450        revert
   451          /* "--CODEGEN--":5:7   */
   452      tag_16:
   453          /* "../contracts/token.sol":1203:1221  string public name */
   454        pop
   455        tag_17
   456        jump(tag_18)
   457      tag_17:
   458        mload(0x40)
   459        dup1
   460        dup1
   461        0x20
   462        add
   463        dup3
   464        dup2
   465        sub
   466        dup3
   467        mstore
   468        dup4
   469        dup2
   470        dup2
   471        mload
   472        dup2
   473        mstore
   474        0x20
   475        add
   476        swap2
   477        pop
   478        dup1
   479        mload
   480        swap1
   481        0x20
   482        add
   483        swap1
   484        dup1
   485        dup4
   486        dup4
   487          /* "--CODEGEN--":23:24   */
   488        0x0
   489          /* "--CODEGEN--":8:108   */
   490      tag_19:
   491          /* "--CODEGEN--":33:36   */
   492        dup4
   493          /* "--CODEGEN--":30:31   */
   494        dup2
   495          /* "--CODEGEN--":27:37   */
   496        lt
   497          /* "--CODEGEN--":8:108   */
   498        iszero
   499        tag_20
   500        jumpi
   501          /* "--CODEGEN--":99:100   */
   502        dup1
   503          /* "--CODEGEN--":94:97   */
   504        dup3
   505          /* "--CODEGEN--":90:101   */
   506        add
   507          /* "--CODEGEN--":84:102   */
   508        mload
   509          /* "--CODEGEN--":80:81   */
   510        dup2
   511          /* "--CODEGEN--":75:78   */
   512        dup5
   513          /* "--CODEGEN--":71:82   */
   514        add
   515          /* "--CODEGEN--":64:103   */
   516        mstore
   517          /* "--CODEGEN--":52:54   */
   518        0x20
   519          /* "--CODEGEN--":49:50   */
   520        dup2
   521          /* "--CODEGEN--":45:55   */
   522        add
   523          /* "--CODEGEN--":40:55   */
   524        swap1
   525        pop
   526          /* "--CODEGEN--":8:108   */
   527        jump(tag_19)
   528      tag_20:
   529          /* "--CODEGEN--":12:26   */
   530        pop
   531          /* "../contracts/token.sol":1203:1221  string public name */
   532        pop
   533        pop
   534        pop
   535        swap1
   536        pop
   537        swap1
   538        dup2
   539        add
   540        swap1
   541        0x1f
   542        and
   543        dup1
   544        iszero
   545        tag_22
   546        jumpi
   547        dup1
   548        dup3
   549        sub
   550        dup1
   551        mload
   552        0x1
   553        dup4
   554        0x20
   555        sub
   556        0x100
   557        exp
   558        sub
   559        not
   560        and
   561        dup2
   562        mstore
   563        0x20
   564        add
   565        swap2
   566        pop
   567      tag_22:
   568        pop
   569        swap3
   570        pop
   571        pop
   572        pop
   573        mload(0x40)
   574        dup1
   575        swap2
   576        sub
   577        swap1
   578        return
   579          /* "../contracts/token.sol":2767:2926  function approve(address _spender, uint256 _value) public returns (bool success) {... */
   580      tag_3:
   581        callvalue
   582          /* "--CODEGEN--":8:17   */
   583        dup1
   584          /* "--CODEGEN--":5:7   */
   585        iszero
   586        tag_23
   587        jumpi
   588          /* "--CODEGEN--":30:31   */
   589        0x0
   590          /* "--CODEGEN--":27:28   */
   591        dup1
   592          /* "--CODEGEN--":20:32   */
   593        revert
   594          /* "--CODEGEN--":5:7   */
   595      tag_23:
   596          /* "../contracts/token.sol":2767:2926  function approve(address _spender, uint256 _value) public returns (bool success) {... */
   597        pop
   598        tag_24
   599        0x4
   600        dup1
   601        calldatasize
   602        sub
   603        dup2
   604        add
   605        swap1
   606        dup1
   607        dup1
   608        calldataload
   609        0xffffffffffffffffffffffffffffffffffffffff
   610        and
   611        swap1
   612        0x20
   613        add
   614        swap1
   615        swap3
   616        swap2
   617        swap1
   618        dup1
   619        calldataload
   620        swap1
   621        0x20
   622        add
   623        swap1
   624        swap3
   625        swap2
   626        swap1
   627        pop
   628        pop
   629        pop
   630        jump(tag_25)
   631      tag_24:
   632        mload(0x40)
   633        dup1
   634        dup3
   635        iszero
   636        iszero
   637        iszero
   638        iszero
   639        dup2
   640        mstore
   641        0x20
   642        add
   643        swap2
   644        pop
   645        pop
   646        mload(0x40)
   647        dup1
   648        swap2
   649        sub
   650        swap1
   651        return
   652          /* "../contracts/token.sol":1285:1311  uint256 public totalSupply */
   653      tag_4:
   654        callvalue
   655          /* "--CODEGEN--":8:17   */
   656        dup1
   657          /* "--CODEGEN--":5:7   */
   658        iszero
   659        tag_26
   660        jumpi
   661          /* "--CODEGEN--":30:31   */
   662        0x0
   663          /* "--CODEGEN--":27:28   */
   664        dup1
   665          /* "--CODEGEN--":20:32   */
   666        revert
   667          /* "--CODEGEN--":5:7   */
   668      tag_26:
   669          /* "../contracts/token.sol":1285:1311  uint256 public totalSupply */
   670        pop
   671        tag_27
   672        jump(tag_28)
   673      tag_27:
   674        mload(0x40)
   675        dup1
   676        dup3
   677        dup2
   678        mstore
   679        0x20
   680        add
   681        swap2
   682        pop
   683        pop
   684        mload(0x40)
   685        dup1
   686        swap2
   687        sub
   688        swap1
   689        return
   690          /* "../contracts/token.sol":2446:2761  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */
   691      tag_5:
   692        callvalue
   693          /* "--CODEGEN--":8:17   */
   694        dup1
   695          /* "--CODEGEN--":5:7   */
   696        iszero
   697        tag_29
   698        jumpi
   699          /* "--CODEGEN--":30:31   */
   700        0x0
   701          /* "--CODEGEN--":27:28   */
   702        dup1
   703          /* "--CODEGEN--":20:32   */
   704        revert
   705          /* "--CODEGEN--":5:7   */
   706      tag_29:
   707          /* "../contracts/token.sol":2446:2761  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */
   708        pop
   709        tag_30
   710        0x4
   711        dup1
   712        calldatasize
   713        sub
   714        dup2
   715        add
   716        swap1
   717        dup1
   718        dup1
   719        calldataload
   720        0xffffffffffffffffffffffffffffffffffffffff
   721        and
   722        swap1
   723        0x20
   724        add
   725        swap1
   726        swap3
   727        swap2
   728        swap1
   729        dup1
   730        calldataload
   731        0xffffffffffffffffffffffffffffffffffffffff
   732        and
   733        swap1
   734        0x20
   735        add
   736        swap1
   737        swap3
   738        swap2
   739        swap1
   740        dup1
   741        calldataload
   742        swap1
   743        0x20
   744        add
   745        swap1
   746        swap3
   747        swap2
   748        swap1
   749        pop
   750        pop
   751        pop
   752        jump(tag_31)
   753      tag_30:
   754        mload(0x40)
   755        dup1
   756        dup3
   757        iszero
   758        iszero
   759        iszero
   760        iszero
   761        dup2
   762        mstore
   763        0x20
   764        add
   765        swap2
   766        pop
   767        pop
   768        mload(0x40)
   769        dup1
   770        swap2
   771        sub
   772        swap1
   773        return
   774          /* "../contracts/token.sol":1253:1279  uint8 public decimals = 18 */
   775      tag_6:
   776        callvalue
   777          /* "--CODEGEN--":8:17   */
   778        dup1
   779          /* "--CODEGEN--":5:7   */
   780        iszero
   781        tag_32
   782        jumpi
   783          /* "--CODEGEN--":30:31   */
   784        0x0
   785          /* "--CODEGEN--":27:28   */
   786        dup1
   787          /* "--CODEGEN--":20:32   */
   788        revert
   789          /* "--CODEGEN--":5:7   */
   790      tag_32:
   791          /* "../contracts/token.sol":1253:1279  uint8 public decimals = 18 */
   792        pop
   793        tag_33
   794        jump(tag_34)
   795      tag_33:
   796        mload(0x40)
   797        dup1
   798        dup3
   799        0xff
   800        and
   801        0xff
   802        and
   803        dup2
   804        mstore
   805        0x20
   806        add
   807        swap2
   808        pop
   809        pop
   810        mload(0x40)
   811        dup1
   812        swap2
   813        sub
   814        swap1
   815        return
   816          /* "../contracts/token.sol":3279:3603  function burn(uint256 _value) onlyOwner public returns (bool success) {... */
   817      tag_7:
   818        callvalue
   819          /* "--CODEGEN--":8:17   */
   820        dup1
   821          /* "--CODEGEN--":5:7   */
   822        iszero
   823        tag_35
   824        jumpi
   825          /* "--CODEGEN--":30:31   */
   826        0x0
   827          /* "--CODEGEN--":27:28   */
   828        dup1
   829          /* "--CODEGEN--":20:32   */
   830        revert
   831          /* "--CODEGEN--":5:7   */
   832      tag_35:
   833          /* "../contracts/token.sol":3279:3603  function burn(uint256 _value) onlyOwner public returns (bool success) {... */
   834        pop
   835        tag_36
   836        0x4
   837        dup1
   838        calldatasize
   839        sub
   840        dup2
   841        add
   842        swap1
   843        dup1
   844        dup1
   845        calldataload
   846        swap1
   847        0x20
   848        add
   849        swap1
   850        swap3
   851        swap2
   852        swap1
   853        pop
   854        pop
   855        pop
   856        jump(tag_37)
   857      tag_36:
   858        mload(0x40)
   859        dup1
   860        dup3
   861        iszero
   862        iszero
   863        iszero
   864        iszero
   865        dup2
   866        mstore
   867        0x20
   868        add
   869        swap2
   870        pop
   871        pop
   872        mload(0x40)
   873        dup1
   874        swap2
   875        sub
   876        swap1
   877        return
   878          /* "../contracts/token.sol":1318:1363  mapping (address => uint256) public balanceOf */
   879      tag_8:
   880        callvalue
   881          /* "--CODEGEN--":8:17   */
   882        dup1
   883          /* "--CODEGEN--":5:7   */
   884        iszero
   885        tag_38
   886        jumpi
   887          /* "--CODEGEN--":30:31   */
   888        0x0
   889          /* "--CODEGEN--":27:28   */
   890        dup1
   891          /* "--CODEGEN--":20:32   */
   892        revert
   893          /* "--CODEGEN--":5:7   */
   894      tag_38:
   895          /* "../contracts/token.sol":1318:1363  mapping (address => uint256) public balanceOf */
   896        pop
   897        tag_39
   898        0x4
   899        dup1
   900        calldatasize
   901        sub
   902        dup2
   903        add
   904        swap1
   905        dup1
   906        dup1
   907        calldataload
   908        0xffffffffffffffffffffffffffffffffffffffff
   909        and
   910        swap1
   911        0x20
   912        add
   913        swap1
   914        swap3
   915        swap2
   916        swap1
   917        pop
   918        pop
   919        pop
   920        jump(tag_40)
   921      tag_39:
   922        mload(0x40)
   923        dup1
   924        dup3
   925        dup2
   926        mstore
   927        0x20
   928        add
   929        swap2
   930        pop
   931        pop
   932        mload(0x40)
   933        dup1
   934        swap2
   935        sub
   936        swap1
   937        return
   938          /* "../contracts/token.sol":714:734  address public owner */
   939      tag_9:
   940        callvalue
   941          /* "--CODEGEN--":8:17   */
   942        dup1
   943          /* "--CODEGEN--":5:7   */
   944        iszero
   945        tag_41
   946        jumpi
   947          /* "--CODEGEN--":30:31   */
   948        0x0
   949          /* "--CODEGEN--":27:28   */
   950        dup1
   951          /* "--CODEGEN--":20:32   */
   952        revert
   953          /* "--CODEGEN--":5:7   */
   954      tag_41:
   955          /* "../contracts/token.sol":714:734  address public owner */
   956        pop
   957        tag_42
   958        jump(tag_43)
   959      tag_42:
   960        mload(0x40)
   961        dup1
   962        dup3
   963        0xffffffffffffffffffffffffffffffffffffffff
   964        and
   965        0xffffffffffffffffffffffffffffffffffffffff
   966        and
   967        dup2
   968        mstore
   969        0x20
   970        add
   971        swap2
   972        pop
   973        pop
   974        mload(0x40)
   975        dup1
   976        swap2
   977        sub
   978        swap1
   979        return
   980          /* "../contracts/token.sol":1227:1247  string public symbol */
   981      tag_10:
   982        callvalue
   983          /* "--CODEGEN--":8:17   */
   984        dup1
   985          /* "--CODEGEN--":5:7   */
   986        iszero
   987        tag_44
   988        jumpi
   989          /* "--CODEGEN--":30:31   */
   990        0x0
   991          /* "--CODEGEN--":27:28   */
   992        dup1
   993          /* "--CODEGEN--":20:32   */
   994        revert
   995          /* "--CODEGEN--":5:7   */
   996      tag_44:
   997          /* "../contracts/token.sol":1227:1247  string public symbol */
   998        pop
   999        tag_45
  1000        jump(tag_46)
  1001      tag_45:
  1002        mload(0x40)
  1003        dup1
  1004        dup1
  1005        0x20
  1006        add
  1007        dup3
  1008        dup2
  1009        sub
  1010        dup3
  1011        mstore
  1012        dup4
  1013        dup2
  1014        dup2
  1015        mload
  1016        dup2
  1017        mstore
  1018        0x20
  1019        add
  1020        swap2
  1021        pop
  1022        dup1
  1023        mload
  1024        swap1
  1025        0x20
  1026        add
  1027        swap1
  1028        dup1
  1029        dup4
  1030        dup4
  1031          /* "--CODEGEN--":23:24   */
  1032        0x0
  1033          /* "--CODEGEN--":8:108   */
  1034      tag_47:
  1035          /* "--CODEGEN--":33:36   */
  1036        dup4
  1037          /* "--CODEGEN--":30:31   */
  1038        dup2
  1039          /* "--CODEGEN--":27:37   */
  1040        lt
  1041          /* "--CODEGEN--":8:108   */
  1042        iszero
  1043        tag_48
  1044        jumpi
  1045          /* "--CODEGEN--":99:100   */
  1046        dup1
  1047          /* "--CODEGEN--":94:97   */
  1048        dup3
  1049          /* "--CODEGEN--":90:101   */
  1050        add
  1051          /* "--CODEGEN--":84:102   */
  1052        mload
  1053          /* "--CODEGEN--":80:81   */
  1054        dup2
  1055          /* "--CODEGEN--":75:78   */
  1056        dup5
  1057          /* "--CODEGEN--":71:82   */
  1058        add
  1059          /* "--CODEGEN--":64:103   */
  1060        mstore
  1061          /* "--CODEGEN--":52:54   */
  1062        0x20
  1063          /* "--CODEGEN--":49:50   */
  1064        dup2
  1065          /* "--CODEGEN--":45:55   */
  1066        add
  1067          /* "--CODEGEN--":40:55   */
  1068        swap1
  1069        pop
  1070          /* "--CODEGEN--":8:108   */
  1071        jump(tag_47)
  1072      tag_48:
  1073          /* "--CODEGEN--":12:26   */
  1074        pop
  1075          /* "../contracts/token.sol":1227:1247  string public symbol */
  1076        pop
  1077        pop
  1078        pop
  1079        swap1
  1080        pop
  1081        swap1
  1082        dup2
  1083        add
  1084        swap1
  1085        0x1f
  1086        and
  1087        dup1
  1088        iszero
  1089        tag_50
  1090        jumpi
  1091        dup1
  1092        dup3
  1093        sub
  1094        dup1
  1095        mload
  1096        0x1
  1097        dup4
  1098        0x20
  1099        sub
  1100        0x100
  1101        exp
  1102        sub
  1103        not
  1104        and
  1105        dup2
  1106        mstore
  1107        0x20
  1108        add
  1109        swap2
  1110        pop
  1111      tag_50:
  1112        pop
  1113        swap3
  1114        pop
  1115        pop
  1116        pop
  1117        mload(0x40)
  1118        dup1
  1119        swap2
  1120        sub
  1121        swap1
  1122        return
  1123          /* "../contracts/token.sol":2335:2440  function transfer(address _to, uint256 _value) public {... */
  1124      tag_11:
  1125        callvalue
  1126          /* "--CODEGEN--":8:17   */
  1127        dup1
  1128          /* "--CODEGEN--":5:7   */
  1129        iszero
  1130        tag_51
  1131        jumpi
  1132          /* "--CODEGEN--":30:31   */
  1133        0x0
  1134          /* "--CODEGEN--":27:28   */
  1135        dup1
  1136          /* "--CODEGEN--":20:32   */
  1137        revert
  1138          /* "--CODEGEN--":5:7   */
  1139      tag_51:
  1140          /* "../contracts/token.sol":2335:2440  function transfer(address _to, uint256 _value) public {... */
  1141        pop
  1142        tag_52
  1143        0x4
  1144        dup1
  1145        calldatasize
  1146        sub
  1147        dup2
  1148        add
  1149        swap1
  1150        dup1
  1151        dup1
  1152        calldataload
  1153        0xffffffffffffffffffffffffffffffffffffffff
  1154        and
  1155        swap1
  1156        0x20
  1157        add
  1158        swap1
  1159        swap3
  1160        swap2
  1161        swap1
  1162        dup1
  1163        calldataload
  1164        swap1
  1165        0x20
  1166        add
  1167        swap1
  1168        swap3
  1169        swap2
  1170        swap1
  1171        pop
  1172        pop
  1173        pop
  1174        jump(tag_53)
  1175      tag_52:
  1176        stop
  1177          /* "../contracts/token.sol":2976:3022  mapping (address => bool) public frozenAccount */
  1178      tag_12:
  1179        callvalue
  1180          /* "--CODEGEN--":8:17   */
  1181        dup1
  1182          /* "--CODEGEN--":5:7   */
  1183        iszero
  1184        tag_54
  1185        jumpi
  1186          /* "--CODEGEN--":30:31   */
  1187        0x0
  1188          /* "--CODEGEN--":27:28   */
  1189        dup1
  1190          /* "--CODEGEN--":20:32   */
  1191        revert
  1192          /* "--CODEGEN--":5:7   */
  1193      tag_54:
  1194          /* "../contracts/token.sol":2976:3022  mapping (address => bool) public frozenAccount */
  1195        pop
  1196        tag_55
  1197        0x4
  1198        dup1
  1199        calldatasize
  1200        sub
  1201        dup2
  1202        add
  1203        swap1
  1204        dup1
  1205        dup1
  1206        calldataload
  1207        0xffffffffffffffffffffffffffffffffffffffff
  1208        and
  1209        swap1
  1210        0x20
  1211        add
  1212        swap1
  1213        swap3
  1214        swap2
  1215        swap1
  1216        pop
  1217        pop
  1218        pop
  1219        jump(tag_56)
  1220      tag_55:
  1221        mload(0x40)
  1222        dup1
  1223        dup3
  1224        iszero
  1225        iszero
  1226        iszero
  1227        iszero
  1228        dup2
  1229        mstore
  1230        0x20
  1231        add
  1232        swap2
  1233        pop
  1234        pop
  1235        mload(0x40)
  1236        dup1
  1237        swap2
  1238        sub
  1239        swap1
  1240        return
  1241          /* "../contracts/token.sol":1369:1435  mapping (address => mapping (address => uint256)) public allowance */
  1242      tag_13:
  1243        callvalue
  1244          /* "--CODEGEN--":8:17   */
  1245        dup1
  1246          /* "--CODEGEN--":5:7   */
  1247        iszero
  1248        tag_57
  1249        jumpi
  1250          /* "--CODEGEN--":30:31   */
  1251        0x0
  1252          /* "--CODEGEN--":27:28   */
  1253        dup1
  1254          /* "--CODEGEN--":20:32   */
  1255        revert
  1256          /* "--CODEGEN--":5:7   */
  1257      tag_57:
  1258          /* "../contracts/token.sol":1369:1435  mapping (address => mapping (address => uint256)) public allowance */
  1259        pop
  1260        tag_58
  1261        0x4
  1262        dup1
  1263        calldatasize
  1264        sub
  1265        dup2
  1266        add
  1267        swap1
  1268        dup1
  1269        dup1
  1270        calldataload
  1271        0xffffffffffffffffffffffffffffffffffffffff
  1272        and
  1273        swap1
  1274        0x20
  1275        add
  1276        swap1
  1277        swap3
  1278        swap2
  1279        swap1
  1280        dup1
  1281        calldataload
  1282        0xffffffffffffffffffffffffffffffffffffffff
  1283        and
  1284        swap1
  1285        0x20
  1286        add
  1287        swap1
  1288        swap3
  1289        swap2
  1290        swap1
  1291        pop
  1292        pop
  1293        pop
  1294        jump(tag_59)
  1295      tag_58:
  1296        mload(0x40)
  1297        dup1
  1298        dup3
  1299        dup2
  1300        mstore
  1301        0x20
  1302        add
  1303        swap2
  1304        pop
  1305        pop
  1306        mload(0x40)
  1307        dup1
  1308        swap2
  1309        sub
  1310        swap1
  1311        return
  1312          /* "../contracts/token.sol":3609:3762  function freezeAccount(address target, bool freeze) onlyOwner public {... */
  1313      tag_14:
  1314        callvalue
  1315          /* "--CODEGEN--":8:17   */
  1316        dup1
  1317          /* "--CODEGEN--":5:7   */
  1318        iszero
  1319        tag_60
  1320        jumpi
  1321          /* "--CODEGEN--":30:31   */
  1322        0x0
  1323          /* "--CODEGEN--":27:28   */
  1324        dup1
  1325          /* "--CODEGEN--":20:32   */
  1326        revert
  1327          /* "--CODEGEN--":5:7   */
  1328      tag_60:
  1329          /* "../contracts/token.sol":3609:3762  function freezeAccount(address target, bool freeze) onlyOwner public {... */
  1330        pop
  1331        tag_61
  1332        0x4
  1333        dup1
  1334        calldatasize
  1335        sub
  1336        dup2
  1337        add
  1338        swap1
  1339        dup1
  1340        dup1
  1341        calldataload
  1342        0xffffffffffffffffffffffffffffffffffffffff
  1343        and
  1344        swap1
  1345        0x20
  1346        add
  1347        swap1
  1348        swap3
  1349        swap2
  1350        swap1
  1351        dup1
  1352        calldataload
  1353        iszero
  1354        iszero
  1355        swap1
  1356        0x20
  1357        add
  1358        swap1
  1359        swap3
  1360        swap2
  1361        swap1
  1362        pop
  1363        pop
  1364        pop
  1365        jump(tag_62)
  1366      tag_61:
  1367        stop
  1368          /* "../contracts/token.sol":977:1160  function transferOwnership(address newOwner) onlyOwner public {... */
  1369      tag_15:
  1370        callvalue
  1371          /* "--CODEGEN--":8:17   */
  1372        dup1
  1373          /* "--CODEGEN--":5:7   */
  1374        iszero
  1375        tag_63
  1376        jumpi
  1377          /* "--CODEGEN--":30:31   */
  1378        0x0
  1379          /* "--CODEGEN--":27:28   */
  1380        dup1
  1381          /* "--CODEGEN--":20:32   */
  1382        revert
  1383          /* "--CODEGEN--":5:7   */
  1384      tag_63:
  1385          /* "../contracts/token.sol":977:1160  function transferOwnership(address newOwner) onlyOwner public {... */
  1386        pop
  1387        tag_64
  1388        0x4
  1389        dup1
  1390        calldatasize
  1391        sub
  1392        dup2
  1393        add
  1394        swap1
  1395        dup1
  1396        dup1
  1397        calldataload
  1398        0xffffffffffffffffffffffffffffffffffffffff
  1399        and
  1400        swap1
  1401        0x20
  1402        add
  1403        swap1
  1404        swap3
  1405        swap2
  1406        swap1
  1407        pop
  1408        pop
  1409        pop
  1410        jump(tag_65)
  1411      tag_64:
  1412        stop
  1413          /* "../contracts/token.sol":1203:1221  string public name */
  1414      tag_18:
  1415        0x1
  1416        dup1
  1417        sload
  1418        0x1
  1419        dup2
  1420        0x1
  1421        and
  1422        iszero
  1423        0x100
  1424        mul
  1425        sub
  1426        and
  1427        0x2
  1428        swap1
  1429        div
  1430        dup1
  1431        0x1f
  1432        add
  1433        0x20
  1434        dup1
  1435        swap2
  1436        div
  1437        mul
  1438        0x20
  1439        add
  1440        mload(0x40)
  1441        swap1
  1442        dup2
  1443        add
  1444        0x40
  1445        mstore
  1446        dup1
  1447        swap3
  1448        swap2
  1449        swap1
  1450        dup2
  1451        dup2
  1452        mstore
  1453        0x20
  1454        add
  1455        dup3
  1456        dup1
  1457        sload
  1458        0x1
  1459        dup2
  1460        0x1
  1461        and
  1462        iszero
  1463        0x100
  1464        mul
  1465        sub
  1466        and
  1467        0x2
  1468        swap1
  1469        div
  1470        dup1
  1471        iszero
  1472        tag_66
  1473        jumpi
  1474        dup1
  1475        0x1f
  1476        lt
  1477        tag_67
  1478        jumpi
  1479        0x100
  1480        dup1
  1481        dup4
  1482        sload
  1483        div
  1484        mul
  1485        dup4
  1486        mstore
  1487        swap2
  1488        0x20
  1489        add
  1490        swap2
  1491        jump(tag_66)
  1492      tag_67:
  1493        dup3
  1494        add
  1495        swap2
  1496        swap1
  1497        0x0
  1498        mstore
  1499        keccak256(0x0, 0x20)
  1500        swap1
  1501      tag_68:
  1502        dup2
  1503        sload
  1504        dup2
  1505        mstore
  1506        swap1
  1507        0x1
  1508        add
  1509        swap1
  1510        0x20
  1511        add
  1512        dup1
  1513        dup4
  1514        gt
  1515        tag_68
  1516        jumpi
  1517        dup3
  1518        swap1
  1519        sub
  1520        0x1f
  1521        and
  1522        dup3
  1523        add
  1524        swap2
  1525      tag_66:
  1526        pop
  1527        pop
  1528        pop
  1529        pop
  1530        pop
  1531        dup2
  1532        jump	// out
  1533          /* "../contracts/token.sol":2767:2926  function approve(address _spender, uint256 _value) public returns (bool success) {... */
  1534      tag_25:
  1535          /* "../contracts/token.sol":2834:2846  bool success */
  1536        0x0
  1537          /* "../contracts/token.sol":2892:2898  _value */
  1538        dup2
  1539          /* "../contracts/token.sol":2858:2867  allowance */
  1540        0x6
  1541          /* "../contracts/token.sol":2858:2879  allowance[msg.sender] */
  1542        0x0
  1543          /* "../contracts/token.sol":2868:2878  msg.sender */
  1544        caller
  1545          /* "../contracts/token.sol":2858:2879  allowance[msg.sender] */
  1546        0xffffffffffffffffffffffffffffffffffffffff
  1547        and
  1548        0xffffffffffffffffffffffffffffffffffffffff
  1549        and
  1550        dup2
  1551        mstore
  1552        0x20
  1553        add
  1554        swap1
  1555        dup2
  1556        mstore
  1557        0x20
  1558        add
  1559        0x0
  1560        keccak256
  1561          /* "../contracts/token.sol":2858:2889  allowance[msg.sender][_spender] */
  1562        0x0
  1563          /* "../contracts/token.sol":2880:2888  _spender */
  1564        dup6
  1565          /* "../contracts/token.sol":2858:2889  allowance[msg.sender][_spender] */
  1566        0xffffffffffffffffffffffffffffffffffffffff
  1567        and
  1568        0xffffffffffffffffffffffffffffffffffffffff
  1569        and
  1570        dup2
  1571        mstore
  1572        0x20
  1573        add
  1574        swap1
  1575        dup2
  1576        mstore
  1577        0x20
  1578        add
  1579        0x0
  1580        keccak256
  1581          /* "../contracts/token.sol":2858:2898  allowance[msg.sender][_spender] = _value */
  1582        dup2
  1583        swap1
  1584        sstore
  1585        pop
  1586          /* "../contracts/token.sol":2915:2919  true */
  1587        0x1
  1588          /* "../contracts/token.sol":2908:2919  return true */
  1589        swap1
  1590        pop
  1591          /* "../contracts/token.sol":2767:2926  function approve(address _spender, uint256 _value) public returns (bool success) {... */
  1592        swap3
  1593        swap2
  1594        pop
  1595        pop
  1596        jump	// out
  1597          /* "../contracts/token.sol":1285:1311  uint256 public totalSupply */
  1598      tag_28:
  1599        sload(0x4)
  1600        dup2
  1601        jump	// out
  1602          /* "../contracts/token.sol":2446:2761  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */
  1603      tag_31:
  1604          /* "../contracts/token.sol":2528:2540  bool success */
  1605        0x0
  1606          /* "../contracts/token.sol":2570:2579  allowance */
  1607        0x6
  1608          /* "../contracts/token.sol":2570:2586  allowance[_from] */
  1609        0x0
  1610          /* "../contracts/token.sol":2580:2585  _from */
  1611        dup6
  1612          /* "../contracts/token.sol":2570:2586  allowance[_from] */
  1613        0xffffffffffffffffffffffffffffffffffffffff
  1614        and
  1615        0xffffffffffffffffffffffffffffffffffffffff
  1616        and
  1617        dup2
  1618        mstore
  1619        0x20
  1620        add
  1621        swap1
  1622        dup2
  1623        mstore
  1624        0x20
  1625        add
  1626        0x0
  1627        keccak256
  1628          /* "../contracts/token.sol":2570:2598  allowance[_from][msg.sender] */
  1629        0x0
  1630          /* "../contracts/token.sol":2587:2597  msg.sender */
  1631        caller
  1632          /* "../contracts/token.sol":2570:2598  allowance[_from][msg.sender] */
  1633        0xffffffffffffffffffffffffffffffffffffffff
  1634        and
  1635        0xffffffffffffffffffffffffffffffffffffffff
  1636        and
  1637        dup2
  1638        mstore
  1639        0x20
  1640        add
  1641        swap1
  1642        dup2
  1643        mstore
  1644        0x20
  1645        add
  1646        0x0
  1647        keccak256
  1648        sload
  1649          /* "../contracts/token.sol":2560:2566  _value */
  1650        dup3
  1651          /* "../contracts/token.sol":2560:2598  _value <= allowance[_from][msg.sender] */
  1652        gt
  1653        iszero
  1654          /* "../contracts/token.sol":2552:2599  require(_value <= allowance[_from][msg.sender]) */
  1655        iszero
  1656        iszero
  1657        tag_71
  1658        jumpi
  1659        0x0
  1660        dup1
  1661        revert
  1662      tag_71:
  1663          /* "../contracts/token.sol":2640:2694  SafeMath.safeSub(allowance[_from][msg.sender], _value) */
  1664        tag_72
  1665          /* "../contracts/token.sol":2657:2666  allowance */
  1666        0x6
  1667          /* "../contracts/token.sol":2657:2673  allowance[_from] */
  1668        0x0
  1669          /* "../contracts/token.sol":2667:2672  _from */
  1670        dup7
  1671          /* "../contracts/token.sol":2657:2673  allowance[_from] */
  1672        0xffffffffffffffffffffffffffffffffffffffff
  1673        and
  1674        0xffffffffffffffffffffffffffffffffffffffff
  1675        and
  1676        dup2
  1677        mstore
  1678        0x20
  1679        add
  1680        swap1
  1681        dup2
  1682        mstore
  1683        0x20
  1684        add
  1685        0x0
  1686        keccak256
  1687          /* "../contracts/token.sol":2657:2685  allowance[_from][msg.sender] */
  1688        0x0
  1689          /* "../contracts/token.sol":2674:2684  msg.sender */
  1690        caller
  1691          /* "../contracts/token.sol":2657:2685  allowance[_from][msg.sender] */
  1692        0xffffffffffffffffffffffffffffffffffffffff
  1693        and
  1694        0xffffffffffffffffffffffffffffffffffffffff
  1695        and
  1696        dup2
  1697        mstore
  1698        0x20
  1699        add
  1700        swap1
  1701        dup2
  1702        mstore
  1703        0x20
  1704        add
  1705        0x0
  1706        keccak256
  1707        sload
  1708          /* "../contracts/token.sol":2687:2693  _value */
  1709        dup4
  1710          /* "../contracts/token.sol":2640:2656  SafeMath.safeSub */
  1711        tag_73
  1712          /* "../contracts/token.sol":2640:2694  SafeMath.safeSub(allowance[_from][msg.sender], _value) */
  1713        jump	// in
  1714      tag_72:
  1715          /* "../contracts/token.sol":2609:2618  allowance */
  1716        0x6
  1717          /* "../contracts/token.sol":2609:2625  allowance[_from] */
  1718        0x0
  1719          /* "../contracts/token.sol":2619:2624  _from */
  1720        dup7
  1721          /* "../contracts/token.sol":2609:2625  allowance[_from] */
  1722        0xffffffffffffffffffffffffffffffffffffffff
  1723        and
  1724        0xffffffffffffffffffffffffffffffffffffffff
  1725        and
  1726        dup2
  1727        mstore
  1728        0x20
  1729        add
  1730        swap1
  1731        dup2
  1732        mstore
  1733        0x20
  1734        add
  1735        0x0
  1736        keccak256
  1737          /* "../contracts/token.sol":2609:2637  allowance[_from][msg.sender] */
  1738        0x0
  1739          /* "../contracts/token.sol":2626:2636  msg.sender */
  1740        caller
  1741          /* "../contracts/token.sol":2609:2637  allowance[_from][msg.sender] */
  1742        0xffffffffffffffffffffffffffffffffffffffff
  1743        and
  1744        0xffffffffffffffffffffffffffffffffffffffff
  1745        and
  1746        dup2
  1747        mstore
  1748        0x20
  1749        add
  1750        swap1
  1751        dup2
  1752        mstore
  1753        0x20
  1754        add
  1755        0x0
  1756        keccak256
  1757          /* "../contracts/token.sol":2609:2694  allowance[_from][msg.sender] = SafeMath.safeSub(allowance[_from][msg.sender], _value) */
  1758        dup2
  1759        swap1
  1760        sstore
  1761        pop
  1762          /* "../contracts/token.sol":2704:2733  _transfer(_from, _to, _value) */
  1763        tag_74
  1764          /* "../contracts/token.sol":2714:2719  _from */
  1765        dup5
  1766          /* "../contracts/token.sol":2721:2724  _to */
  1767        dup5
  1768          /* "../contracts/token.sol":2726:2732  _value */
  1769        dup5
  1770          /* "../contracts/token.sol":2704:2713  _transfer */
  1771        tag_75
  1772          /* "../contracts/token.sol":2704:2733  _transfer(_from, _to, _value) */
  1773        jump	// in
  1774      tag_74:
  1775          /* "../contracts/token.sol":2750:2754  true */
  1776        0x1
  1777          /* "../contracts/token.sol":2743:2754  return true */
  1778        swap1
  1779        pop
  1780          /* "../contracts/token.sol":2446:2761  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */
  1781        swap4
  1782        swap3
  1783        pop
  1784        pop
  1785        pop
  1786        jump	// out
  1787          /* "../contracts/token.sol":1253:1279  uint8 public decimals = 18 */
  1788      tag_34:
  1789        0x3
  1790        0x0
  1791        swap1
  1792        sload
  1793        swap1
  1794        0x100
  1795        exp
  1796        swap1
  1797        div
  1798        0xff
  1799        and
  1800        dup2
  1801        jump	// out
  1802          /* "../contracts/token.sol":3279:3603  function burn(uint256 _value) onlyOwner public returns (bool success) {... */
  1803      tag_37:
  1804          /* "../contracts/token.sol":3335:3347  bool success */
  1805        0x0
  1806          /* "../contracts/token.sol":947:952  owner */
  1807        dup1
  1808        0x0
  1809        swap1
  1810        sload
  1811        swap1
  1812        0x100
  1813        exp
  1814        swap1
  1815        div
  1816        0xffffffffffffffffffffffffffffffffffffffff
  1817        and
  1818          /* "../contracts/token.sol":933:952  msg.sender == owner */
  1819        0xffffffffffffffffffffffffffffffffffffffff
  1820        and
  1821          /* "../contracts/token.sol":933:943  msg.sender */
  1822        caller
  1823          /* "../contracts/token.sol":933:952  msg.sender == owner */
  1824        0xffffffffffffffffffffffffffffffffffffffff
  1825        and
  1826        eq
  1827          /* "../contracts/token.sol":925:953  require(msg.sender == owner) */
  1828        iszero
  1829        iszero
  1830        tag_77
  1831        jumpi
  1832        0x0
  1833        dup1
  1834        revert
  1835      tag_77:
  1836          /* "../contracts/token.sol":3392:3398  _value */
  1837        dup2
  1838          /* "../contracts/token.sol":3367:3376  balanceOf */
  1839        0x5
  1840          /* "../contracts/token.sol":3367:3388  balanceOf[msg.sender] */
  1841        0x0
  1842          /* "../contracts/token.sol":3377:3387  msg.sender */
  1843        caller
  1844          /* "../contracts/token.sol":3367:3388  balanceOf[msg.sender] */
  1845        0xffffffffffffffffffffffffffffffffffffffff
  1846        and
  1847        0xffffffffffffffffffffffffffffffffffffffff
  1848        and
  1849        dup2
  1850        mstore
  1851        0x20
  1852        add
  1853        swap1
  1854        dup2
  1855        mstore
  1856        0x20
  1857        add
  1858        0x0
  1859        keccak256
  1860        sload
  1861          /* "../contracts/token.sol":3367:3398  balanceOf[msg.sender] >= _value */
  1862        lt
  1863        iszero
  1864          /* "../contracts/token.sol":3359:3399  require(balanceOf[msg.sender] >= _value) */
  1865        iszero
  1866        iszero
  1867        tag_79
  1868        jumpi
  1869        0x0
  1870        dup1
  1871        revert
  1872      tag_79:
  1873          /* "../contracts/token.sol":3433:3480  SafeMath.safeSub(balanceOf[msg.sender], _value) */
  1874        tag_80
  1875          /* "../contracts/token.sol":3450:3459  balanceOf */
  1876        0x5
  1877          /* "../contracts/token.sol":3450:3471  balanceOf[msg.sender] */
  1878        0x0
  1879          /* "../contracts/token.sol":3460:3470  msg.sender */
  1880        caller
  1881          /* "../contracts/token.sol":3450:3471  balanceOf[msg.sender] */
  1882        0xffffffffffffffffffffffffffffffffffffffff
  1883        and
  1884        0xffffffffffffffffffffffffffffffffffffffff
  1885        and
  1886        dup2
  1887        mstore
  1888        0x20
  1889        add
  1890        swap1
  1891        dup2
  1892        mstore
  1893        0x20
  1894        add
  1895        0x0
  1896        keccak256
  1897        sload
  1898          /* "../contracts/token.sol":3473:3479  _value */
  1899        dup4
  1900          /* "../contracts/token.sol":3433:3449  SafeMath.safeSub */
  1901        tag_73
  1902          /* "../contracts/token.sol":3433:3480  SafeMath.safeSub(balanceOf[msg.sender], _value) */
  1903        jump	// in
  1904      tag_80:
  1905          /* "../contracts/token.sol":3409:3418  balanceOf */
  1906        0x5
  1907          /* "../contracts/token.sol":3409:3430  balanceOf[msg.sender] */
  1908        0x0
  1909          /* "../contracts/token.sol":3419:3429  msg.sender */
  1910        caller
  1911          /* "../contracts/token.sol":3409:3430  balanceOf[msg.sender] */
  1912        0xffffffffffffffffffffffffffffffffffffffff
  1913        and
  1914        0xffffffffffffffffffffffffffffffffffffffff
  1915        and
  1916        dup2
  1917        mstore
  1918        0x20
  1919        add
  1920        swap1
  1921        dup2
  1922        mstore
  1923        0x20
  1924        add
  1925        0x0
  1926        keccak256
  1927          /* "../contracts/token.sol":3409:3480  balanceOf[msg.sender] = SafeMath.safeSub(balanceOf[msg.sender], _value) */
  1928        dup2
  1929        swap1
  1930        sstore
  1931        pop
  1932          /* "../contracts/token.sol":3504:3541  SafeMath.safeSub(totalSupply, _value) */
  1933        tag_81
  1934          /* "../contracts/token.sol":3521:3532  totalSupply */
  1935        sload(0x4)
  1936          /* "../contracts/token.sol":3534:3540  _value */
  1937        dup4
  1938          /* "../contracts/token.sol":3504:3520  SafeMath.safeSub */
  1939        tag_73
  1940          /* "../contracts/token.sol":3504:3541  SafeMath.safeSub(totalSupply, _value) */
  1941        jump	// in
  1942      tag_81:
  1943          /* "../contracts/token.sol":3490:3501  totalSupply */
  1944        0x4
  1945          /* "../contracts/token.sol":3490:3541  totalSupply = SafeMath.safeSub(totalSupply, _value) */
  1946        dup2
  1947        swap1
  1948        sstore
  1949        pop
  1950          /* "../contracts/token.sol":3556:3566  msg.sender */
  1951        caller
  1952          /* "../contracts/token.sol":3551:3575  Burn(msg.sender, _value) */
  1953        0xffffffffffffffffffffffffffffffffffffffff
  1954        and
  1955        0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5
  1956          /* "../contracts/token.sol":3568:3574  _value */
  1957        dup4
  1958          /* "../contracts/token.sol":3551:3575  Burn(msg.sender, _value) */
  1959        mload(0x40)
  1960        dup1
  1961        dup3
  1962        dup2
  1963        mstore
  1964        0x20
  1965        add
  1966        swap2
  1967        pop
  1968        pop
  1969        mload(0x40)
  1970        dup1
  1971        swap2
  1972        sub
  1973        swap1
  1974        log2
  1975          /* "../contracts/token.sol":3592:3596  true */
  1976        0x1
  1977          /* "../contracts/token.sol":3585:3596  return true */
  1978        swap1
  1979        pop
  1980          /* "../contracts/token.sol":3279:3603  function burn(uint256 _value) onlyOwner public returns (bool success) {... */
  1981        swap2
  1982        swap1
  1983        pop
  1984        jump	// out
  1985          /* "../contracts/token.sol":1318:1363  mapping (address => uint256) public balanceOf */
  1986      tag_40:
  1987        mstore(0x20, 0x5)
  1988        dup1
  1989        0x0
  1990        mstore
  1991        keccak256(0x0, 0x40)
  1992        0x0
  1993        swap2
  1994        pop
  1995        swap1
  1996        pop
  1997        sload
  1998        dup2
  1999        jump	// out
  2000          /* "../contracts/token.sol":714:734  address public owner */
  2001      tag_43:
  2002        0x0
  2003        dup1
  2004        swap1
  2005        sload
  2006        swap1
  2007        0x100
  2008        exp
  2009        swap1
  2010        div
  2011        0xffffffffffffffffffffffffffffffffffffffff
  2012        and
  2013        dup2
  2014        jump	// out
  2015          /* "../contracts/token.sol":1227:1247  string public symbol */
  2016      tag_46:
  2017        0x2
  2018        dup1
  2019        sload
  2020        0x1
  2021        dup2
  2022        0x1
  2023        and
  2024        iszero
  2025        0x100
  2026        mul
  2027        sub
  2028        and
  2029        0x2
  2030        swap1
  2031        div
  2032        dup1
  2033        0x1f
  2034        add
  2035        0x20
  2036        dup1
  2037        swap2
  2038        div
  2039        mul
  2040        0x20
  2041        add
  2042        mload(0x40)
  2043        swap1
  2044        dup2
  2045        add
  2046        0x40
  2047        mstore
  2048        dup1
  2049        swap3
  2050        swap2
  2051        swap1
  2052        dup2
  2053        dup2
  2054        mstore
  2055        0x20
  2056        add
  2057        dup3
  2058        dup1
  2059        sload
  2060        0x1
  2061        dup2
  2062        0x1
  2063        and
  2064        iszero
  2065        0x100
  2066        mul
  2067        sub
  2068        and
  2069        0x2
  2070        swap1
  2071        div
  2072        dup1
  2073        iszero
  2074        tag_82
  2075        jumpi
  2076        dup1
  2077        0x1f
  2078        lt
  2079        tag_83
  2080        jumpi
  2081        0x100
  2082        dup1
  2083        dup4
  2084        sload
  2085        div
  2086        mul
  2087        dup4
  2088        mstore
  2089        swap2
  2090        0x20
  2091        add
  2092        swap2
  2093        jump(tag_82)
  2094      tag_83:
  2095        dup3
  2096        add
  2097        swap2
  2098        swap1
  2099        0x0
  2100        mstore
  2101        keccak256(0x0, 0x20)
  2102        swap1
  2103      tag_84:
  2104        dup2
  2105        sload
  2106        dup2
  2107        mstore
  2108        swap1
  2109        0x1
  2110        add
  2111        swap1
  2112        0x20
  2113        add
  2114        dup1
  2115        dup4
  2116        gt
  2117        tag_84
  2118        jumpi
  2119        dup3
  2120        swap1
  2121        sub
  2122        0x1f
  2123        and
  2124        dup3
  2125        add
  2126        swap2
  2127      tag_82:
  2128        pop
  2129        pop
  2130        pop
  2131        pop
  2132        pop
  2133        dup2
  2134        jump	// out
  2135          /* "../contracts/token.sol":2335:2440  function transfer(address _to, uint256 _value) public {... */
  2136      tag_53:
  2137          /* "../contracts/token.sol":2399:2433  _transfer(msg.sender, _to, _value) */
  2138        tag_86
  2139          /* "../contracts/token.sol":2409:2419  msg.sender */
  2140        caller
  2141          /* "../contracts/token.sol":2421:2424  _to */
  2142        dup4
  2143          /* "../contracts/token.sol":2426:2432  _value */
  2144        dup4
  2145          /* "../contracts/token.sol":2399:2408  _transfer */
  2146        tag_75
  2147          /* "../contracts/token.sol":2399:2433  _transfer(msg.sender, _to, _value) */
  2148        jump	// in
  2149      tag_86:
  2150          /* "../contracts/token.sol":2335:2440  function transfer(address _to, uint256 _value) public {... */
  2151        pop
  2152        pop
  2153        jump	// out
  2154          /* "../contracts/token.sol":2976:3022  mapping (address => bool) public frozenAccount */
  2155      tag_56:
  2156        mstore(0x20, 0x7)
  2157        dup1
  2158        0x0
  2159        mstore
  2160        keccak256(0x0, 0x40)
  2161        0x0
  2162        swap2
  2163        pop
  2164        sload
  2165        swap1
  2166        0x100
  2167        exp
  2168        swap1
  2169        div
  2170        0xff
  2171        and
  2172        dup2
  2173        jump	// out
  2174          /* "../contracts/token.sol":1369:1435  mapping (address => mapping (address => uint256)) public allowance */
  2175      tag_59:
  2176        mstore(0x20, 0x6)
  2177        dup2
  2178        0x0
  2179        mstore
  2180        mstore(0x20, keccak256(0x0, 0x40))
  2181        dup1
  2182        0x0
  2183        mstore
  2184        keccak256(0x0, 0x40)
  2185        0x0
  2186        swap2
  2187        pop
  2188        swap2
  2189        pop
  2190        pop
  2191        sload
  2192        dup2
  2193        jump	// out
  2194          /* "../contracts/token.sol":3609:3762  function freezeAccount(address target, bool freeze) onlyOwner public {... */
  2195      tag_62:
  2196          /* "../contracts/token.sol":947:952  owner */
  2197        0x0
  2198        dup1
  2199        swap1
  2200        sload
  2201        swap1
  2202        0x100
  2203        exp
  2204        swap1
  2205        div
  2206        0xffffffffffffffffffffffffffffffffffffffff
  2207        and
  2208          /* "../contracts/token.sol":933:952  msg.sender == owner */
  2209        0xffffffffffffffffffffffffffffffffffffffff
  2210        and
  2211          /* "../contracts/token.sol":933:943  msg.sender */
  2212        caller
  2213          /* "../contracts/token.sol":933:952  msg.sender == owner */
  2214        0xffffffffffffffffffffffffffffffffffffffff
  2215        and
  2216        eq
  2217          /* "../contracts/token.sol":925:953  require(msg.sender == owner) */
  2218        iszero
  2219        iszero
  2220        tag_88
  2221        jumpi
  2222        0x0
  2223        dup1
  2224        revert
  2225      tag_88:
  2226          /* "../contracts/token.sol":3712:3718  freeze */
  2227        dup1
  2228          /* "../contracts/token.sol":3688:3701  frozenAccount */
  2229        0x7
  2230          /* "../contracts/token.sol":3688:3709  frozenAccount[target] */
  2231        0x0
  2232          /* "../contracts/token.sol":3702:3708  target */
  2233        dup5
  2234          /* "../contracts/token.sol":3688:3709  frozenAccount[target] */
  2235        0xffffffffffffffffffffffffffffffffffffffff
  2236        and
  2237        0xffffffffffffffffffffffffffffffffffffffff
  2238        and
  2239        dup2
  2240        mstore
  2241        0x20
  2242        add
  2243        swap1
  2244        dup2
  2245        mstore
  2246        0x20
  2247        add
  2248        0x0
  2249        keccak256
  2250        0x0
  2251          /* "../contracts/token.sol":3688:3718  frozenAccount[target] = freeze */
  2252        0x100
  2253        exp
  2254        dup2
  2255        sload
  2256        dup2
  2257        0xff
  2258        mul
  2259        not
  2260        and
  2261        swap1
  2262        dup4
  2263        iszero
  2264        iszero
  2265        mul
  2266        or
  2267        swap1
  2268        sstore
  2269        pop
  2270          /* "../contracts/token.sol":3728:3755  FrozenFunds(target, freeze) */
  2271        0x48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5
  2272          /* "../contracts/token.sol":3740:3746  target */
  2273        dup3
  2274          /* "../contracts/token.sol":3748:3754  freeze */
  2275        dup3
  2276          /* "../contracts/token.sol":3728:3755  FrozenFunds(target, freeze) */
  2277        mload(0x40)
  2278        dup1
  2279        dup4
  2280        0xffffffffffffffffffffffffffffffffffffffff
  2281        and
  2282        0xffffffffffffffffffffffffffffffffffffffff
  2283        and
  2284        dup2
  2285        mstore
  2286        0x20
  2287        add
  2288        dup3
  2289        iszero
  2290        iszero
  2291        iszero
  2292        iszero
  2293        dup2
  2294        mstore
  2295        0x20
  2296        add
  2297        swap3
  2298        pop
  2299        pop
  2300        pop
  2301        mload(0x40)
  2302        dup1
  2303        swap2
  2304        sub
  2305        swap1
  2306        log1
  2307          /* "../contracts/token.sol":3609:3762  function freezeAccount(address target, bool freeze) onlyOwner public {... */
  2308        pop
  2309        pop
  2310        jump	// out
  2311          /* "../contracts/token.sol":977:1160  function transferOwnership(address newOwner) onlyOwner public {... */
  2312      tag_65:
  2313          /* "../contracts/token.sol":947:952  owner */
  2314        0x0
  2315        dup1
  2316        swap1
  2317        sload
  2318        swap1
  2319        0x100
  2320        exp
  2321        swap1
  2322        div
  2323        0xffffffffffffffffffffffffffffffffffffffff
  2324        and
  2325          /* "../contracts/token.sol":933:952  msg.sender == owner */
  2326        0xffffffffffffffffffffffffffffffffffffffff
  2327        and
  2328          /* "../contracts/token.sol":933:943  msg.sender */
  2329        caller
  2330          /* "../contracts/token.sol":933:952  msg.sender == owner */
  2331        0xffffffffffffffffffffffffffffffffffffffff
  2332        and
  2333        eq
  2334          /* "../contracts/token.sol":925:953  require(msg.sender == owner) */
  2335        iszero
  2336        iszero
  2337        tag_91
  2338        jumpi
  2339        0x0
  2340        dup1
  2341        revert
  2342      tag_91:
  2343          /* "../contracts/token.sol":1077:1078  0 */
  2344        0x0
  2345          /* "../contracts/token.sol":1057:1079  newOwner != address(0) */
  2346        0xffffffffffffffffffffffffffffffffffffffff
  2347        and
  2348          /* "../contracts/token.sol":1057:1065  newOwner */
  2349        dup2
  2350          /* "../contracts/token.sol":1057:1079  newOwner != address(0) */
  2351        0xffffffffffffffffffffffffffffffffffffffff
  2352        and
  2353        eq
  2354        iszero
  2355          /* "../contracts/token.sol":1049:1080  require(newOwner != address(0)) */
  2356        iszero
  2357        iszero
  2358        tag_93
  2359        jumpi
  2360        0x0
  2361        dup1
  2362        revert
  2363      tag_93:
  2364          /* "../contracts/token.sol":1118:1126  newOwner */
  2365        dup1
  2366          /* "../contracts/token.sol":1090:1127  OwnershipTransferred(owner, newOwner) */
  2367        0xffffffffffffffffffffffffffffffffffffffff
  2368        and
  2369          /* "../contracts/token.sol":1111:1116  owner */
  2370        0x0
  2371        dup1
  2372        swap1
  2373        sload
  2374        swap1
  2375        0x100
  2376        exp
  2377        swap1
  2378        div
  2379        0xffffffffffffffffffffffffffffffffffffffff
  2380        and
  2381          /* "../contracts/token.sol":1090:1127  OwnershipTransferred(owner, newOwner) */
  2382        0xffffffffffffffffffffffffffffffffffffffff
  2383        and
  2384        0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
  2385        mload(0x40)
  2386        mload(0x40)
  2387        dup1
  2388        swap2
  2389        sub
  2390        swap1
  2391        log3
  2392          /* "../contracts/token.sol":1145:1153  newOwner */
  2393        dup1
  2394          /* "../contracts/token.sol":1137:1142  owner */
  2395        0x0
  2396        dup1
  2397          /* "../contracts/token.sol":1137:1153  owner = newOwner */
  2398        0x100
  2399        exp
  2400        dup2
  2401        sload
  2402        dup2
  2403        0xffffffffffffffffffffffffffffffffffffffff
  2404        mul
  2405        not
  2406        and
  2407        swap1
  2408        dup4
  2409        0xffffffffffffffffffffffffffffffffffffffff
  2410        and
  2411        mul
  2412        or
  2413        swap1
  2414        sstore
  2415        pop
  2416          /* "../contracts/token.sol":977:1160  function transferOwnership(address newOwner) onlyOwner public {... */
  2417        pop
  2418        jump	// out
  2419          /* "../contracts/token.sol":406:530  function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {... */
  2420      tag_73:
  2421          /* "../contracts/token.sol":468:475  uint256 */
  2422        0x0
  2423          /* "../contracts/token.sol":499:500  a */
  2424        dup3
  2425          /* "../contracts/token.sol":494:495  b */
  2426        dup3
  2427          /* "../contracts/token.sol":494:500  b <= a */
  2428        gt
  2429        iszero
  2430          /* "../contracts/token.sol":487:501  assert(b <= a) */
  2431        iszero
  2432        iszero
  2433        tag_95
  2434        jumpi
  2435        invalid
  2436      tag_95:
  2437          /* "../contracts/token.sol":522:523  b */
  2438        dup2
  2439          /* "../contracts/token.sol":518:519  a */
  2440        dup4
  2441          /* "../contracts/token.sol":518:523  a - b */
  2442        sub
  2443          /* "../contracts/token.sol":511:523  return a - b */
  2444        swap1
  2445        pop
  2446          /* "../contracts/token.sol":406:530  function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {... */
  2447        swap3
  2448        swap2
  2449        pop
  2450        pop
  2451        jump	// out
  2452          /* "../contracts/token.sol":1785:2329  function _transfer(address _from, address _to, uint256 _value) private {... */
  2453      tag_75:
  2454          /* "../contracts/token.sol":1999:2023  uint256 previousBalances */
  2455        0x0
  2456          /* "../contracts/token.sol":1881:1884  0x0 */
  2457        dup1
  2458          /* "../contracts/token.sol":1874:1877  _to */
  2459        dup4
  2460          /* "../contracts/token.sol":1874:1884  _to != 0x0 */
  2461        0xffffffffffffffffffffffffffffffffffffffff
  2462        and
  2463        eq
  2464        iszero
  2465          /* "../contracts/token.sol":1866:1885  require(_to != 0x0) */
  2466        iszero
  2467        iszero
  2468        tag_97
  2469        jumpi
  2470        0x0
  2471        dup1
  2472        revert
  2473      tag_97:
  2474          /* "../contracts/token.sol":1923:1929  _value */
  2475        dup2
  2476          /* "../contracts/token.sol":1903:1912  balanceOf */
  2477        0x5
  2478          /* "../contracts/token.sol":1903:1919  balanceOf[_from] */
  2479        0x0
  2480          /* "../contracts/token.sol":1913:1918  _from */
  2481        dup7
  2482          /* "../contracts/token.sol":1903:1919  balanceOf[_from] */
  2483        0xffffffffffffffffffffffffffffffffffffffff
  2484        and
  2485        0xffffffffffffffffffffffffffffffffffffffff
  2486        and
  2487        dup2
  2488        mstore
  2489        0x20
  2490        add
  2491        swap1
  2492        dup2
  2493        mstore
  2494        0x20
  2495        add
  2496        0x0
  2497        keccak256
  2498        sload
  2499          /* "../contracts/token.sol":1903:1929  balanceOf[_from] >= _value */
  2500        lt
  2501        iszero
  2502          /* "../contracts/token.sol":1895:1930  require(balanceOf[_from] >= _value) */
  2503        iszero
  2504        iszero
  2505        tag_98
  2506        jumpi
  2507        0x0
  2508        dup1
  2509        revert
  2510      tag_98:
  2511          /* "../contracts/token.sol":1974:1983  balanceOf */
  2512        0x5
  2513          /* "../contracts/token.sol":1974:1988  balanceOf[_to] */
  2514        0x0
  2515          /* "../contracts/token.sol":1984:1987  _to */
  2516        dup5
  2517          /* "../contracts/token.sol":1974:1988  balanceOf[_to] */
  2518        0xffffffffffffffffffffffffffffffffffffffff
  2519        and
  2520        0xffffffffffffffffffffffffffffffffffffffff
  2521        and
  2522        dup2
  2523        mstore
  2524        0x20
  2525        add
  2526        swap1
  2527        dup2
  2528        mstore
  2529        0x20
  2530        add
  2531        0x0
  2532        keccak256
  2533        sload
  2534          /* "../contracts/token.sol":1965:1971  _value */
  2535        dup3
  2536          /* "../contracts/token.sol":1948:1957  balanceOf */
  2537        0x5
  2538          /* "../contracts/token.sol":1948:1962  balanceOf[_to] */
  2539        0x0
  2540          /* "../contracts/token.sol":1958:1961  _to */
  2541        dup7
  2542          /* "../contracts/token.sol":1948:1962  balanceOf[_to] */
  2543        0xffffffffffffffffffffffffffffffffffffffff
  2544        and
  2545        0xffffffffffffffffffffffffffffffffffffffff
  2546        and
  2547        dup2
  2548        mstore
  2549        0x20
  2550        add
  2551        swap1
  2552        dup2
  2553        mstore
  2554        0x20
  2555        add
  2556        0x0
  2557        keccak256
  2558        sload
  2559          /* "../contracts/token.sol":1948:1971  balanceOf[_to] + _value */
  2560        add
  2561          /* "../contracts/token.sol":1948:1988  balanceOf[_to] + _value > balanceOf[_to] */
  2562        gt
  2563          /* "../contracts/token.sol":1940:1989  require(balanceOf[_to] + _value > balanceOf[_to]) */
  2564        iszero
  2565        iszero
  2566        tag_99
  2567        jumpi
  2568        0x0
  2569        dup1
  2570        revert
  2571      tag_99:
  2572          /* "../contracts/token.sol":2026:2075  SafeMath.safeAdd(balanceOf[_from],balanceOf[_to]) */
  2573        tag_100
  2574          /* "../contracts/token.sol":2043:2052  balanceOf */
  2575        0x5
  2576          /* "../contracts/token.sol":2043:2059  balanceOf[_from] */
  2577        0x0
  2578          /* "../contracts/token.sol":2053:2058  _from */
  2579        dup7
  2580          /* "../contracts/token.sol":2043:2059  balanceOf[_from] */
  2581        0xffffffffffffffffffffffffffffffffffffffff
  2582        and
  2583        0xffffffffffffffffffffffffffffffffffffffff
  2584        and
  2585        dup2
  2586        mstore
  2587        0x20
  2588        add
  2589        swap1
  2590        dup2
  2591        mstore
  2592        0x20
  2593        add
  2594        0x0
  2595        keccak256
  2596        sload
  2597          /* "../contracts/token.sol":2060:2069  balanceOf */
  2598        0x5
  2599          /* "../contracts/token.sol":2060:2074  balanceOf[_to] */
  2600        0x0
  2601          /* "../contracts/token.sol":2070:2073  _to */
  2602        dup7
  2603          /* "../contracts/token.sol":2060:2074  balanceOf[_to] */
  2604        0xffffffffffffffffffffffffffffffffffffffff
  2605        and
  2606        0xffffffffffffffffffffffffffffffffffffffff
  2607        and
  2608        dup2
  2609        mstore
  2610        0x20
  2611        add
  2612        swap1
  2613        dup2
  2614        mstore
  2615        0x20
  2616        add
  2617        0x0
  2618        keccak256
  2619        sload
  2620          /* "../contracts/token.sol":2026:2042  SafeMath.safeAdd */
  2621        tag_101
  2622          /* "../contracts/token.sol":2026:2075  SafeMath.safeAdd(balanceOf[_from],balanceOf[_to]) */
  2623        jump	// in
  2624      tag_100:
  2625          /* "../contracts/token.sol":1999:2075  uint256 previousBalances = SafeMath.safeAdd(balanceOf[_from],balanceOf[_to]) */
  2626        swap1
  2627        pop
  2628          /* "../contracts/token.sol":2104:2146  SafeMath.safeSub(balanceOf[_from], _value) */
  2629        tag_102
  2630          /* "../contracts/token.sol":2121:2130  balanceOf */
  2631        0x5
  2632          /* "../contracts/token.sol":2121:2137  balanceOf[_from] */
  2633        0x0
  2634          /* "../contracts/token.sol":2131:2136  _from */
  2635        dup7
  2636          /* "../contracts/token.sol":2121:2137  balanceOf[_from] */
  2637        0xffffffffffffffffffffffffffffffffffffffff
  2638        and
  2639        0xffffffffffffffffffffffffffffffffffffffff
  2640        and
  2641        dup2
  2642        mstore
  2643        0x20
  2644        add
  2645        swap1
  2646        dup2
  2647        mstore
  2648        0x20
  2649        add
  2650        0x0
  2651        keccak256
  2652        sload
  2653          /* "../contracts/token.sol":2139:2145  _value */
  2654        dup4
  2655          /* "../contracts/token.sol":2104:2120  SafeMath.safeSub */
  2656        tag_73
  2657          /* "../contracts/token.sol":2104:2146  SafeMath.safeSub(balanceOf[_from], _value) */
  2658        jump	// in
  2659      tag_102:
  2660          /* "../contracts/token.sol":2085:2094  balanceOf */
  2661        0x5
  2662          /* "../contracts/token.sol":2085:2101  balanceOf[_from] */
  2663        0x0
  2664          /* "../contracts/token.sol":2095:2100  _from */
  2665        dup7
  2666          /* "../contracts/token.sol":2085:2101  balanceOf[_from] */
  2667        0xffffffffffffffffffffffffffffffffffffffff
  2668        and
  2669        0xffffffffffffffffffffffffffffffffffffffff
  2670        and
  2671        dup2
  2672        mstore
  2673        0x20
  2674        add
  2675        swap1
  2676        dup2
  2677        mstore
  2678        0x20
  2679        add
  2680        0x0
  2681        keccak256
  2682          /* "../contracts/token.sol":2085:2146  balanceOf[_from] = SafeMath.safeSub(balanceOf[_from], _value) */
  2683        dup2
  2684        swap1
  2685        sstore
  2686        pop
  2687          /* "../contracts/token.sol":2173:2213  SafeMath.safeAdd(balanceOf[_to], _value) */
  2688        tag_103
  2689          /* "../contracts/token.sol":2190:2199  balanceOf */
  2690        0x5
  2691          /* "../contracts/token.sol":2190:2204  balanceOf[_to] */
  2692        0x0
  2693          /* "../contracts/token.sol":2200:2203  _to */
  2694        dup6
  2695          /* "../contracts/token.sol":2190:2204  balanceOf[_to] */
  2696        0xffffffffffffffffffffffffffffffffffffffff
  2697        and
  2698        0xffffffffffffffffffffffffffffffffffffffff
  2699        and
  2700        dup2
  2701        mstore
  2702        0x20
  2703        add
  2704        swap1
  2705        dup2
  2706        mstore
  2707        0x20
  2708        add
  2709        0x0
  2710        keccak256
  2711        sload
  2712          /* "../contracts/token.sol":2206:2212  _value */
  2713        dup4
  2714          /* "../contracts/token.sol":2173:2189  SafeMath.safeAdd */
  2715        tag_101
  2716          /* "../contracts/token.sol":2173:2213  SafeMath.safeAdd(balanceOf[_to], _value) */
  2717        jump	// in
  2718      tag_103:
  2719          /* "../contracts/token.sol":2156:2165  balanceOf */
  2720        0x5
  2721          /* "../contracts/token.sol":2156:2170  balanceOf[_to] */
  2722        0x0
  2723          /* "../contracts/token.sol":2166:2169  _to */
  2724        dup6
  2725          /* "../contracts/token.sol":2156:2170  balanceOf[_to] */
  2726        0xffffffffffffffffffffffffffffffffffffffff
  2727        and
  2728        0xffffffffffffffffffffffffffffffffffffffff
  2729        and
  2730        dup2
  2731        mstore
  2732        0x20
  2733        add
  2734        swap1
  2735        dup2
  2736        mstore
  2737        0x20
  2738        add
  2739        0x0
  2740        keccak256
  2741          /* "../contracts/token.sol":2156:2213  balanceOf[_to] = SafeMath.safeAdd(balanceOf[_to], _value) */
  2742        dup2
  2743        swap1
  2744        sstore
  2745        pop
  2746          /* "../contracts/token.sol":2239:2242  _to */
  2747        dup3
  2748          /* "../contracts/token.sol":2223:2251  Transfer(_from, _to, _value) */
  2749        0xffffffffffffffffffffffffffffffffffffffff
  2750        and
  2751          /* "../contracts/token.sol":2232:2237  _from */
  2752        dup5
  2753          /* "../contracts/token.sol":2223:2251  Transfer(_from, _to, _value) */
  2754        0xffffffffffffffffffffffffffffffffffffffff
  2755        and
  2756        0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
  2757          /* "../contracts/token.sol":2244:2250  _value */
  2758        dup5
  2759          /* "../contracts/token.sol":2223:2251  Transfer(_from, _to, _value) */
  2760        mload(0x40)
  2761        dup1
  2762        dup3
  2763        dup2
  2764        mstore
  2765        0x20
  2766        add
  2767        swap2
  2768        pop
  2769        pop
  2770        mload(0x40)
  2771        dup1
  2772        swap2
  2773        sub
  2774        swap1
  2775        log3
  2776          /* "../contracts/token.sol":2305:2321  previousBalances */
  2777        dup1
  2778          /* "../contracts/token.sol":2287:2296  balanceOf */
  2779        0x5
  2780          /* "../contracts/token.sol":2287:2301  balanceOf[_to] */
  2781        0x0
  2782          /* "../contracts/token.sol":2297:2300  _to */
  2783        dup6
  2784          /* "../contracts/token.sol":2287:2301  balanceOf[_to] */
  2785        0xffffffffffffffffffffffffffffffffffffffff
  2786        and
  2787        0xffffffffffffffffffffffffffffffffffffffff
  2788        and
  2789        dup2
  2790        mstore
  2791        0x20
  2792        add
  2793        swap1
  2794        dup2
  2795        mstore
  2796        0x20
  2797        add
  2798        0x0
  2799        keccak256
  2800        sload
  2801          /* "../contracts/token.sol":2268:2277  balanceOf */
  2802        0x5
  2803          /* "../contracts/token.sol":2268:2284  balanceOf[_from] */
  2804        0x0
  2805          /* "../contracts/token.sol":2278:2283  _from */
  2806        dup8
  2807          /* "../contracts/token.sol":2268:2284  balanceOf[_from] */
  2808        0xffffffffffffffffffffffffffffffffffffffff
  2809        and
  2810        0xffffffffffffffffffffffffffffffffffffffff
  2811        and
  2812        dup2
  2813        mstore
  2814        0x20
  2815        add
  2816        swap1
  2817        dup2
  2818        mstore
  2819        0x20
  2820        add
  2821        0x0
  2822        keccak256
  2823        sload
  2824          /* "../contracts/token.sol":2268:2301  balanceOf[_from] + balanceOf[_to] */
  2825        add
  2826          /* "../contracts/token.sol":2268:2321  balanceOf[_from] + balanceOf[_to] == previousBalances */
  2827        eq
  2828          /* "../contracts/token.sol":2261:2322  assert(balanceOf[_from] + balanceOf[_to] == previousBalances) */
  2829        iszero
  2830        iszero
  2831        tag_104
  2832        jumpi
  2833        invalid
  2834      tag_104:
  2835          /* "../contracts/token.sol":1785:2329  function _transfer(address _from, address _to, uint256 _value) private {... */
  2836        pop
  2837        pop
  2838        pop
  2839        pop
  2840        jump	// out
  2841          /* "../contracts/token.sol":536:689  function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {... */
  2842      tag_101:
  2843          /* "../contracts/token.sol":598:605  uint256 */
  2844        0x0
  2845          /* "../contracts/token.sol":617:626  uint256 c */
  2846        dup1
  2847          /* "../contracts/token.sol":633:634  b */
  2848        dup3
  2849          /* "../contracts/token.sol":629:630  a */
  2850        dup5
  2851          /* "../contracts/token.sol":629:634  a + b */
  2852        add
  2853          /* "../contracts/token.sol":617:634  uint256 c = a + b */
  2854        swap1
  2855        pop
  2856          /* "../contracts/token.sol":654:655  a */
  2857        dup4
  2858          /* "../contracts/token.sol":651:652  c */
  2859        dup2
  2860          /* "../contracts/token.sol":651:655  c>=a */
  2861        lt
  2862        iszero
  2863          /* "../contracts/token.sol":651:663  c>=a && c>=b */
  2864        dup1
  2865        iszero
  2866        tag_106
  2867        jumpi
  2868        pop
  2869          /* "../contracts/token.sol":662:663  b */
  2870        dup3
  2871          /* "../contracts/token.sol":659:660  c */
  2872        dup2
  2873          /* "../contracts/token.sol":659:663  c>=b */
  2874        lt
  2875        iszero
  2876          /* "../contracts/token.sol":651:663  c>=a && c>=b */
  2877      tag_106:
  2878          /* "../contracts/token.sol":644:664  assert(c>=a && c>=b) */
  2879        iszero
  2880        iszero
  2881        tag_107
  2882        jumpi
  2883        invalid
  2884      tag_107:
  2885          /* "../contracts/token.sol":681:682  c */
  2886        dup1
  2887          /* "../contracts/token.sol":674:682  return c */
  2888        swap2
  2889        pop
  2890          /* "../contracts/token.sol":536:689  function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {... */
  2891        pop
  2892        swap3
  2893        swap2
  2894        pop
  2895        pop
  2896        jump	// out
  2897  
  2898      auxdata: 0xa165627a7a72305820bf04f8fe232f2a5e04aef016185ac8e9d28dd720625582f0c40be40ee23af9f20029
  2899  }