ERC-20
Overview
Max Total Supply
100,000,000 BWS
Holders
66
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 12 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BWS_GAME
Compiler Version
v0.5.1+commit.c8a2cb62
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-07-27 */ pragma solidity >=0.4.22 <0.6.0; contract BWS_GAME { address payable constant Operate_Team=0x7d0E7BaEBb4010c839F3E0f36373e7941792AdEa; address payable constant Technical_Team=0xd8D8dEf8B1584a2B35c6243d2CC04d851e534E37; uint8 is_frozen; string public standard = 'http://leeks.cc'; string public name="Bretton Woods system-2.0"; string public symbol="BWS"; uint8 public decimals = 12; uint256 public totalSupply=100000000 szabo; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) public allowance; event Transfer(address indexed from, address indexed to, uint256 value); event Burn(address indexed from, uint256 value); uint256 public st_outer_disc; uint256 public st_pool_bws; uint256 public st_pool_eth; uint256 public st_pool_a_bonus; uint256 public st_core_value=0.0001 ether; uint256 public st_trading_volume; uint256 public st_in_circulation; bool private st_frozen=false; struct USER_MESSAGE { address payable addr; uint32 ID; uint32 faNode; uint32 brNode; uint32 chNode; uint32 Subordinate; uint256 Income; uint256 A_bonus; uint256 BWS; uint256 MaxBWS; uint64 LastSellTime; uint256 ThisDaySellBWS; uint64 LastOutToInTime; uint256 ThisDayOutToInBWS; uint256 ETH; } mapping (uint32 => address) st_user_id; mapping (address => USER_MESSAGE) st_user_ad; mapping (address => bool) st_black_list; uint32 public st_user_index; event ev_luck4(address ad1,address ad2,address ad3,address ad4,uint8 luck,uint8 flags,uint256 pool_bws,uint256 a_bonus); event ev_luck1000(address luck_ad,uint32 luck_id,uint8 flags,uint256 pool_bws,uint256 a_bonus); event ev_buy_bws(address buy_ad,uint256 bws,uint256 pool_bws,uint256 a_bonus,uint256 pool_eth); event ev_sell_bws(address sell_ad,uint256 bws,uint256 pool_bws,uint256 pool_eth); event ev_inside_to_outside(address ad,uint256 bws,uint256 in_circulation); event ev_outside_to_inside(address ad,uint256 bws,uint256 in_circulation); event ev_game_give_bws(address ad,uint32 luck_id,uint8 flags,uint256 bws,uint256 pool_bws,uint256 in_circulation); event ev_register(address ad,uint32 Recommender); event ev_buy_of_first_send(address ad,uint256 bws,uint256 unit_price); event ev_a_bonus(uint64 ThisTime,uint256 trading_volume,uint256 bonus,uint256 a_bonus); event ev_eth_to_outside(address ad,uint256 eth); event ev_recharge(address ad,uint256 eth); constructor () public payable { st_user_index=0; st_user_id[0]=msg.sender; //st_user_ad[msg.sender]=USER_MESSAGE(msg.sender,0,0,0,1,1,0,0,0,0,0,0,0,0,0); st_user_ad[msg.sender].addr=msg.sender; st_user_ad[msg.sender].chNode=1; st_user_ad[msg.sender].Subordinate=1; st_user_id[1]=Operate_Team; //st_user_ad[Operate_Team]=USER_MESSAGE(address(uint160(Operate_Team)),1,0,0,0,0,0,0,0,0,0,0,0,0,0); st_user_ad[Operate_Team].addr=Operate_Team; st_user_ad[Operate_Team].ID=1; st_user_index=1; st_pool_bws = 60000000 szabo; st_user_ad[msg.sender].BWS=5000000 szabo; st_user_ad[Operate_Team].BWS=5000000 szabo; st_outer_disc=20000000 szabo; balanceOf[msg.sender]=10000 szabo; balanceOf[Operate_Team]=9990000 szabo; st_random=uint160(msg.sender); //内测数据迁移 st_core_value= 271446900000000; st_pool_a_bonus=70870859883000000; st_pool_bws=59982851522121212122; st_pool_eth=msg.value-396472651224613000-st_pool_a_bonus; st_trading_volume=17594074590000000; st_in_circulation=17338694590000000; st_frozen=true;//冻结整个系统,直到内测数据迁移完毕解冻,同时冻结数据迁移接口 } uint8 stop_count=2; function move_data(address addr, uint32 faNode, uint32 Subordinate, uint256 A_bonus, uint256 BWS, uint256 ETH ) public //首期内测数据迁移,之后永久关闭本接口 {require(stop_count<=15); st_user_id[stop_count]=addr; st_user_ad[addr]=USER_MESSAGE(address(uint160(addr)), stop_count, faNode, 0, 0, Subordinate, 0, A_bonus, BWS, BWS, 0,0,0,0, ETH ); if(stop_count ==15) { //解冻整个系统,同时本数据迁移接口冻结 st_frozen=false; st_user_index = 15; } stop_count++; } function Recharge(uint32 Recommender) public payable { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); register(Recommender); //require(st_user_ad[msg.sender].addr !=address(0),"You haven't registered yet."); st_user_ad[msg.sender].ETH=safe_add(st_user_ad[msg.sender].ETH,msg.value); emit ev_recharge(msg.sender,msg.value); } function ()external payable { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); uint256 unit_price; if(msg.value>0) { if(st_outer_disc > 17000000 szabo) { unit_price = 0.0001 ether; } else { unit_price = st_core_value /5 *4; } uint256 bws=msg.value / (unit_price /1 szabo); if(st_outer_disc >= bws) { st_outer_disc = safe_sub(st_outer_disc,bws); balanceOf[msg.sender] = safe_add(balanceOf[msg.sender],bws); st_user_ad[st_user_id[0]].ETH=safe_add(st_user_ad[st_user_id[0]].ETH,msg.value/2); st_user_ad[st_user_id[1]].ETH=safe_add(st_user_ad[st_user_id[1]].ETH,msg.value/2); emit ev_buy_of_first_send(msg.sender,bws,unit_price); } else if(st_outer_disc >0) { uint256 eth=safe_multiply(unit_price / 1000000000000,st_outer_disc); st_user_ad[st_user_id[0]].ETH=safe_add(st_user_ad[st_user_id[0]].ETH,eth/2); st_user_ad[st_user_id[1]].ETH=safe_add(st_user_ad[st_user_id[1]].ETH,eth/2); msg.sender.transfer(msg.value-eth); balanceOf[msg.sender]=safe_add(balanceOf[msg.sender],st_outer_disc); st_outer_disc=0; } else { msg.sender.transfer(msg.value); } } } function fpr_Recommender_eth(address my_ad,uint256 eth)internal { uint32 index; index=st_user_ad[my_ad].faNode; uint256 percentile=eth/9; st_user_ad[st_user_id[index]].ETH=safe_add(st_user_ad[st_user_id[index]].ETH,percentile*5); st_user_ad[st_user_id[index]].Income=safe_add(st_user_ad[st_user_id[index]].Income,percentile*5); for(uint32 i=0;i<4;i++) { index = st_user_ad[st_user_id[index]].faNode; st_user_ad[st_user_id[index]].ETH=safe_add(st_user_ad[st_user_id[index]].ETH,percentile); st_user_ad[st_user_id[index]].Income=safe_add(st_user_ad[st_user_id[index]].Income,percentile); } } function fpr_modify_max_bws(address ad)internal { assert(ad != address(0)); if(st_user_ad[ad].BWS > st_user_ad[ad].MaxBWS) st_user_ad[ad].MaxBWS=st_user_ad[ad].BWS; } function safe_total_price(uint256 par_bws_count) internal view returns(uint256 ret) { assert(par_bws_count>0); uint256 unit_price=st_core_value/1000000000000; uint256 total_price=unit_price*par_bws_count*105/100; assert(total_price /105*100/par_bws_count == unit_price); return total_price; } function safe_multiply(uint256 a,uint256 b)internal pure returns(uint256) { uint256 m=a*b; assert(m/a==b); return m; } function safe_add(uint256 a,uint256 b) internal pure returns(uint256) { assert(a+b>=a); return a+b; } function safe_sub(uint256 a,uint256 b) internal pure returns(uint256) { assert(b<a); return a-b; } function fp_get_core_value()internal { uint256 ret=0; uint256 num=st_trading_volume; uint256[10] memory trad=[uint256(100000 szabo),1000000 szabo,10000000 szabo,100000000 szabo,1000000000 szabo,10000000000 szabo,100000000000 szabo,1000000000000 szabo,10000000000000 szabo,100000000000000 szabo]; uint32[10] memory tra=[uint32(10000),20000,62500,100000,200000,1000000,2000000,10000000,20000000,100000000]; uint256 [10] memory t=[uint256(1 szabo),6 szabo,40 szabo,100 szabo,600 szabo,4600 szabo,9600 szabo,49600 szabo,99600 szabo,499960 szabo]; for(uint32 i=0 ;i< 10;i++) { if(num < trad[i]) { ret=num / tra[i] + t[i]; break; } } if (ret==0) { ret=num/200000000 + 1199960 szabo; } ret=safe_multiply(ret,100); st_core_value=ret; } function register(uint32 par_Recommender)internal { if(st_user_ad[msg.sender].addr != address(0x0)) return; require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); uint32 index; uint32 Recommender=unEncryption(par_Recommender); require(Recommender>=0 && Recommender<=st_user_index,"Recommenders do not exist"); st_user_index+=1; st_user_id[st_user_index]=msg.sender; st_user_ad[msg.sender].addr=msg.sender; st_user_ad[msg.sender].ID=st_user_index; st_user_ad[msg.sender].faNode = Recommender; if(st_user_ad[st_user_id[Recommender]].chNode==0) { st_user_ad[st_user_id[Recommender]].chNode=st_user_index; } else { index=st_user_ad[st_user_id[Recommender]].chNode; while (st_user_ad[st_user_id[index]].brNode>0) { index=st_user_ad[st_user_id[index]].brNode; } st_user_ad[st_user_id[index]].brNode=st_user_index; } index=Recommender; for(uint32 i=0;i<5;i++) { st_user_ad[st_user_id[index]].Subordinate++; if(index==0) break; index=st_user_ad[st_user_id[index]].faNode; } emit ev_register(msg.sender,par_Recommender); } function GetMyRecommendNumber(address par_addr)public view returns(uint32 pople_number) { uint32 index; uint32 Number; require(par_addr!=address(0x0)); require(st_user_ad[par_addr].addr!=address(0x0),"You haven't registered yet."); index=st_user_ad[par_addr].chNode; if(index>0) { Number=1; while (st_user_ad[st_user_id[index]].brNode>0) { Number++; index=st_user_ad[st_user_id[index]].brNode; } } return Number; } /////////////////////////////////////////////////////////// function Encryption(uint32 num) private pure returns(uint32 com_num) { require(num<=8388607,"Maximum ID should not exceed 8388607"); uint32 flags; uint32 p=num; uint32 ret; if(num<4) { flags=2; } else { if(num<=15)flags=7; else if(num<=255)flags=6; else if(num<=4095)flags=5; else if(num<=65535)flags=4; else if(num<=1048575)flags=3; else flags=2; } ret=flags<<23; if(flags==2) { p=num; } else { p=num<<((flags-2)*4-1); } ret=ret | p; return (ret); } function unEncryption(uint32 num)private pure returns(uint32 number) { uint32 p; uint32 flags; flags=num>>23; p=num<<9; if(flags==2) { if(num==16777216)return(0); else if(num==16777217)return(1); else if(num==16777218)return(2); else if(num==16777219)return(3); else { require(num>= 25690112 && num<66584576 ,"Illegal parameter, parameter position must be greater than 10 bits"); p=p>>9; } } else { p=p>>(9+(flags-2)*4-1); } return (p); } function _transfer(address _from, address _to, uint256 _value) internal { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); require(_to != address(0x0)); require(balanceOf[_from] >= _value); require(balanceOf[_to] + _value > balanceOf[_to]); uint previousBalances = balanceOf[_from] + balanceOf[_to]; balanceOf[_from] -= _value; balanceOf[_to] += _value; emit Transfer(_from, _to, _value); assert(balanceOf[_from] + balanceOf[_to] == previousBalances); } function transfer(address _to, uint256 _value) public { require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); _transfer(msg.sender, _to, _value); fpr_set_random(msg.sender); } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success){ require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); require(_value <= allowance[_from][msg.sender]); allowance[_from][msg.sender] -= _value; _transfer(_from, _to, _value); fpr_set_random(msg.sender); return true; } function approve(address _spender, uint256 _value) public returns (bool success) { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); allowance[msg.sender][_spender] = _value; fpr_set_random(msg.sender); return true; } function fp_buy_bws(uint32 Recommender,uint256 par_count)public payable { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); require(par_count>0 && par_count<=10000 szabo,"Buy up to 10,000 BWS at a time"); register(Recommender); require(st_pool_bws>=par_count,"Insufficient pool_BWS"); if(msg.value>0) st_user_ad[msg.sender].ETH=safe_add(st_user_ad[msg.sender].ETH,msg.value); uint256 money=safe_total_price(par_count); require(st_user_ad[msg.sender].ETH>=money,"Your ETH is insufficient"); st_user_ad[msg.sender].ETH = safe_sub(st_user_ad[msg.sender].ETH,money); st_pool_bws = safe_sub(st_pool_bws, par_count); st_user_ad[msg.sender].BWS = safe_add(st_user_ad[msg.sender].BWS, par_count); fpr_modify_max_bws(msg.sender); uint256 percentile=money/105; st_pool_eth=safe_add(st_pool_eth,percentile*90); st_pool_a_bonus=safe_add(st_pool_a_bonus,percentile*5); fpr_Recommender_eth(msg.sender,percentile*10); st_trading_volume=safe_add(st_trading_volume,par_count); st_in_circulation=safe_add(st_in_circulation,par_count); emit ev_buy_bws(msg.sender,par_count,st_pool_bws,st_pool_a_bonus,st_pool_eth); st_core_value = st_core_value+par_count; fp_get_core_value(); fpr_set_random(msg.sender); } function fp_sell_bws(uint32 Recommender,uint256 par_count)public { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); register(Recommender); require(st_user_ad[msg.sender].BWS >= par_count,"Your BWS is insufficient"); if(now-st_user_ad[msg.sender].LastSellTime > 86400) st_user_ad[msg.sender].ThisDaySellBWS=0; uint256 SellPermit=st_user_ad[msg.sender].MaxBWS/10; require(safe_add(par_count , st_user_ad[msg.sender].ThisDaySellBWS) <= SellPermit,"You didn't sell enough on that day."); uint256 money=safe_total_price(par_count); money=money/105*100; require(st_pool_eth >= money,"The system does not have enough ETH"); st_user_ad[msg.sender].BWS = safe_sub(st_user_ad[msg.sender].BWS,par_count); st_user_ad[msg.sender].ETH=safe_add(st_user_ad[msg.sender].ETH,money/100*95); st_pool_eth=safe_sub(st_pool_eth,money); st_pool_bws=safe_add(st_pool_bws,par_count); st_user_ad[msg.sender].LastSellTime=uint64(now); st_user_ad[msg.sender].ThisDaySellBWS=safe_add(st_user_ad[msg.sender].ThisDaySellBWS,par_count); uint256 percentile = money/100; st_pool_a_bonus=safe_add(st_pool_a_bonus,percentile*5); if(st_in_circulation>=par_count) st_in_circulation-=par_count; else st_in_circulation=0; st_trading_volume=safe_add(st_trading_volume,par_count); emit ev_sell_bws(msg.sender,par_count,st_pool_bws,st_pool_eth); st_core_value = st_core_value+par_count; fp_get_core_value(); fpr_set_random(msg.sender); } function fp_inside_to_outside(uint32 Recommender,uint256 par_bws_count) public { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); register(Recommender); require(st_user_ad[msg.sender].BWS >= par_bws_count,"Your BWS is insufficient"); st_user_ad[msg.sender].BWS = safe_sub(st_user_ad[msg.sender].BWS,par_bws_count); balanceOf[msg.sender]=safe_add(balanceOf[msg.sender],par_bws_count); if(st_in_circulation>=par_bws_count) st_in_circulation-=par_bws_count; else st_in_circulation=0; emit ev_inside_to_outside(msg.sender,par_bws_count,st_in_circulation); fpr_set_random(msg.sender); } function fp_outside_to_inside(uint32 Recommender,uint256 par_bws_count)public { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); register(Recommender); require(balanceOf[msg.sender] >= par_bws_count,"Your BWS is insufficient"); if(st_user_ad[msg.sender].MaxBWS ==0 ) { require(par_bws_count > balanceOf[msg.sender]/10); } else { require(st_pool_bws< 60000000 ether,"Fission funds are inadequate to postpone foreign exchange transfer"); uint256 temp=60000000 ether - st_pool_bws; temp=safe_add(temp/7*4,60000000 ether); require(temp>safe_add(st_in_circulation,st_pool_bws)); temp=safe_sub(temp,safe_add(st_in_circulation,st_pool_bws)); require(temp> par_bws_count,"Inadequate transferable amount" ); if(now-st_user_ad[msg.sender].LastOutToInTime >=86400)st_user_ad[msg.sender].ThisDayOutToInBWS=0; require(st_user_ad[msg.sender].MaxBWS/10 >= safe_add(st_user_ad[msg.sender].ThisDayOutToInBWS,par_bws_count),"You have insufficient transfer authority today"); } balanceOf[msg.sender]=safe_sub(balanceOf[msg.sender],par_bws_count); st_user_ad[msg.sender].BWS=safe_add(st_user_ad[msg.sender].BWS,par_bws_count); fpr_modify_max_bws(msg.sender); st_in_circulation=safe_add(st_in_circulation,par_bws_count); emit ev_outside_to_inside(msg.sender,par_bws_count,st_in_circulation); fpr_set_random(msg.sender); } uint160 private st_random; uint32 private st_add_rnd=0; function fpr_set_random(address ad)internal { uint256 m_block=uint256(blockhash(block.number)); st_random=uint160(ripemd160(abi.encode(st_random,ad,m_block,st_add_rnd++))); } function fpr_get_random(uint32 par_rnd)internal view returns(uint32 rnd) { return uint32(st_random % par_rnd); } function give_bws_to_gamer(address ad,uint256 par_eth)internal returns(uint256 r_bws) { require(ad!=address(0)); require(par_eth > 0); uint256 eth=par_eth/10; uint256 bws=eth/(st_core_value /1 szabo); if(st_pool_bws>=bws) { st_pool_bws=st_pool_bws-bws; st_user_ad[ad].BWS=safe_add(st_user_ad[ad].BWS,bws); fpr_modify_max_bws(ad); st_in_circulation=safe_add(st_in_circulation,bws); return bws; } return 0; } mapping (uint8 => mapping (uint16 => address)) st_luck1000; uint16[5] public st_Luck_count1000=[0,0,0,0,0]; function fpu_luck_draw1000(uint32 Recommender,uint8 par_type)public payable { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); register(Recommender); require (par_type <5); require(st_user_ad[msg.sender].addr !=address(0),"You haven't registered yet."); uint256[5] memory price=[uint256(0.01 ether),0.05 ether,0.1 ether,0.5 ether,1 ether]; if(msg.value>0) st_user_ad[msg.sender].ETH=safe_add(st_user_ad[msg.sender].ETH,msg.value); require(st_user_ad[msg.sender].ETH >= price[par_type],"Your ETH is insufficient"); st_user_ad[msg.sender].ETH = st_user_ad[msg.sender].ETH-price[par_type]; uint256 value=price[par_type]/10; fpr_Recommender_eth(msg.sender,value); st_pool_a_bonus=safe_add(st_pool_a_bonus,value); fpr_set_random(msg.sender); st_luck1000[par_type][st_Luck_count1000[par_type]]=msg.sender; emit ev_game_give_bws(msg.sender,st_Luck_count1000[par_type],par_type+5,give_bws_to_gamer(msg.sender,price[par_type]),st_pool_bws,st_in_circulation); st_Luck_count1000[par_type]++; if(st_Luck_count1000[par_type] %10 ==0 && st_Luck_count1000[par_type] !=0) { st_user_ad[msg.sender].ETH =safe_add( st_user_ad[msg.sender].ETH,price[par_type]*2); emit ev_luck1000(msg.sender,st_Luck_count1000[par_type]-1,par_type+5,st_pool_bws,st_pool_a_bonus); } if(st_Luck_count1000[par_type]==1000) { st_Luck_count1000[par_type]=0; uint16 rnd=uint16(fpr_get_random(1000)); st_user_ad[st_luck1000[par_type][rnd]].ETH += (price[par_type]*600); emit ev_luck1000(st_luck1000[par_type][rnd],st_Luck_count1000[par_type]-1,par_type+10,st_pool_bws,st_pool_a_bonus); } } mapping (uint8 => mapping (uint8 => address)) st_luck4; uint8[5] public st_Luck_count4=[0,0,0,0,0]; function fpu_luck_draw4(uint32 Recommender,uint8 par_type)public payable { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); register(Recommender); require (par_type <5); require(st_user_ad[msg.sender].addr !=address(0),"You haven't registered yet."); uint256[5] memory price=[uint256(0.01 ether),0.05 ether,0.1 ether,0.5 ether,1 ether]; if(msg.value>0) st_user_ad[msg.sender].ETH=safe_add(st_user_ad[msg.sender].ETH,msg.value); require(st_user_ad[msg.sender].ETH > price[par_type],"Your ETH is insufficient"); st_user_ad[msg.sender].ETH = st_user_ad[msg.sender].ETH-price[par_type]; uint256 value=price[par_type]/10; fpr_Recommender_eth(msg.sender,value); st_pool_a_bonus=safe_add(st_pool_a_bonus,value); fpr_set_random(msg.sender); st_luck4[par_type][st_Luck_count4[par_type]]=msg.sender; emit ev_game_give_bws(msg.sender,st_Luck_count4[par_type],par_type,give_bws_to_gamer(msg.sender,price[par_type]),st_pool_bws,st_in_circulation); st_Luck_count4[par_type]++; if(st_Luck_count4[par_type]==4) { st_Luck_count4[par_type]=0; uint8 rnd=uint8(fpr_get_random(4)); st_user_ad[st_luck4[par_type][rnd]].ETH += (value*32); emit ev_luck4(st_luck4[par_type][0], st_luck4[par_type][1], st_luck4[par_type][2], st_luck4[par_type][3], rnd, par_type, st_pool_bws, st_pool_a_bonus ); } } function fpu_a_bonus()public { require(msg.sender == st_user_ad[st_user_id[0]].addr || msg.sender == st_user_ad[st_user_id[1]].addr,"Only Administrators Allow Operations"); uint256 bonus=st_pool_a_bonus /2; uint256 add_bonus; uint256 curr_bonus; add_bonus=bonus / 5; curr_bonus=bonus / 10; st_user_ad[st_user_id[0]].ETH=safe_add(st_user_ad[st_user_id[0]].ETH,curr_bonus); st_user_ad[st_user_id[0]].A_bonus=safe_add(st_user_ad[st_user_id[0]].A_bonus,curr_bonus); st_user_ad[st_user_id[1]].ETH=safe_add(st_user_ad[st_user_id[1]].ETH,curr_bonus); st_user_ad[st_user_id[1]].A_bonus=safe_add(st_user_ad[st_user_id[1]].A_bonus,curr_bonus); bonus = bonus /5 * 4; uint256 circulation=st_in_circulation + 10000000 szabo; circulation = circulation - st_user_ad[st_user_id[0]].BWS - st_user_ad[st_user_id[1]].BWS; require(circulation>0); bonus =bonus/( circulation/1000000); for(uint32 i =2;i<=st_user_index;i++) { curr_bonus=safe_multiply(bonus,st_user_ad[st_user_id[i]].BWS/1000000); st_user_ad[st_user_id[i]].ETH =safe_add(st_user_ad[st_user_id[i]].ETH,curr_bonus); st_user_ad[st_user_id[i]].A_bonus =st_user_ad[st_user_id[i]].A_bonus +curr_bonus; add_bonus += curr_bonus; } st_pool_a_bonus=st_pool_a_bonus-add_bonus; emit ev_a_bonus(uint64(now),st_in_circulation,bonus,st_pool_a_bonus); } function fpu_eth_to_outside(uint32 Recommender, uint256 par_eth)public { require(!st_frozen,"The system has been frozen"); require(st_black_list[msg.sender] ==false ,"You have been blacklisted"); register(Recommender); require(st_user_ad[msg.sender].ETH >= par_eth,"Your ETH is insufficient"); require(par_eth >0,"Please enter the number of ETHs to withdraw"); st_user_ad[msg.sender].ETH -= par_eth; msg.sender.transfer(par_eth); emit ev_eth_to_outside(msg.sender,par_eth); } function fpu_set_black_list(address par_ad,bool par_black_list)public { if(par_black_list==true &&(msg.sender==Operate_Team || msg.sender ==Technical_Team)) { st_black_list[par_ad]=true; return; } if(msg.sender==Operate_Team) { if(is_frozen==0) { is_frozen=2; } else if(is_frozen==3) { st_black_list[par_ad] = false; is_frozen=0; } } else if(msg.sender == Technical_Team) { if(is_frozen==0) { is_frozen=3; } else if(is_frozen==2) { st_black_list[par_ad] = false; is_frozen=0; } } } function fpu_set_frozen(bool par_isfrozen)public { if(par_isfrozen==true &&(msg.sender==Operate_Team || msg.sender ==Technical_Team)) { st_frozen =true; return; } if(msg.sender==Operate_Team) { if(is_frozen==0) { is_frozen=2; } else if(is_frozen==3) { st_frozen = false; is_frozen=0; } } else if(msg.sender == Technical_Team) { if(is_frozen==0) { is_frozen=3; } else if(is_frozen==2) { st_frozen = false; is_frozen=0; } } } function fpu_take_out_of_outer_disc(address par_target,uint256 par_bws_count)public { if(msg.sender==Operate_Team) { if(is_frozen==0) { is_frozen=2; return; } else if(is_frozen==3) { is_frozen=0; } } else if(msg.sender == Technical_Team) { if(is_frozen==0) { is_frozen=3; return; } else if(is_frozen==2) { is_frozen=0; } } st_outer_disc=safe_sub(st_outer_disc,par_bws_count); balanceOf[par_target]=safe_add(balanceOf[par_target],par_bws_count); } function fpu_get_my_message(address ad)public view returns( uint32 ID, uint32 faNode, uint32 Subordinate, uint256 Income, uint256 A_bonus ) { return ( Encryption(st_user_ad[ad].ID), Encryption(st_user_ad[ad].faNode), st_user_ad[ad].Subordinate, st_user_ad[ad].Income, st_user_ad[ad].A_bonus ); } function fpu_get_my_message1(address ad)public view returns( uint256 BWS, uint256 MaxBWS, uint256 ThisDaySellBWS, uint256 ThisDayOutToInBWS, uint256 ETH ) { return ( st_user_ad[ad].BWS, st_user_ad[ad].MaxBWS, (now-st_user_ad[ad].LastSellTime >86400)?0:st_user_ad[ad].ThisDaySellBWS, (now-st_user_ad[ad].LastOutToInTime >86400)?0:st_user_ad[ad].ThisDayOutToInBWS, st_user_ad[ad].ETH ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"},{"name":"par_bws_count","type":"uint256"}],"name":"fp_inside_to_outside","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"},{"name":"par_type","type":"uint8"}],"name":"fpu_luck_draw4","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"},{"name":"par_eth","type":"uint256"}],"name":"fpu_eth_to_outside","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"par_ad","type":"address"},{"name":"par_black_list","type":"bool"}],"name":"fpu_set_black_list","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"},{"name":"par_bws_count","type":"uint256"}],"name":"fp_outside_to_inside","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"par_target","type":"address"},{"name":"par_bws_count","type":"uint256"}],"name":"fpu_take_out_of_outer_disc","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"st_core_value","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"},{"name":"par_count","type":"uint256"}],"name":"fp_sell_bws","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"st_Luck_count1000","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"st_trading_volume","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"ad","type":"address"}],"name":"fpu_get_my_message1","outputs":[{"name":"BWS","type":"uint256"},{"name":"MaxBWS","type":"uint256"},{"name":"ThisDaySellBWS","type":"uint256"},{"name":"ThisDayOutToInBWS","type":"uint256"},{"name":"ETH","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"st_outer_disc","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"},{"name":"par_count","type":"uint256"}],"name":"fp_buy_bws","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"st_pool_bws","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"st_pool_a_bonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"},{"name":"par_type","type":"uint8"}],"name":"fpu_luck_draw1000","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"Recommender","type":"uint32"}],"name":"Recharge","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"st_in_circulation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"par_isfrozen","type":"bool"}],"name":"fpu_set_frozen","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"fpu_a_bonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"par_addr","type":"address"}],"name":"GetMyRecommendNumber","outputs":[{"name":"pople_number","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"st_Luck_count4","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"st_pool_eth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"st_user_index","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"ad","type":"address"}],"name":"fpu_get_my_message","outputs":[{"name":"ID","type":"uint32"},{"name":"faNode","type":"uint32"},{"name":"Subordinate","type":"uint32"},{"name":"Income","type":"uint256"},{"name":"A_bonus","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"faNode","type":"uint32"},{"name":"Subordinate","type":"uint32"},{"name":"A_bonus","type":"uint256"},{"name":"BWS","type":"uint256"},{"name":"ETH","type":"uint256"}],"name":"move_data","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad1","type":"address"},{"indexed":false,"name":"ad2","type":"address"},{"indexed":false,"name":"ad3","type":"address"},{"indexed":false,"name":"ad4","type":"address"},{"indexed":false,"name":"luck","type":"uint8"},{"indexed":false,"name":"flags","type":"uint8"},{"indexed":false,"name":"pool_bws","type":"uint256"},{"indexed":false,"name":"a_bonus","type":"uint256"}],"name":"ev_luck4","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"luck_ad","type":"address"},{"indexed":false,"name":"luck_id","type":"uint32"},{"indexed":false,"name":"flags","type":"uint8"},{"indexed":false,"name":"pool_bws","type":"uint256"},{"indexed":false,"name":"a_bonus","type":"uint256"}],"name":"ev_luck1000","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buy_ad","type":"address"},{"indexed":false,"name":"bws","type":"uint256"},{"indexed":false,"name":"pool_bws","type":"uint256"},{"indexed":false,"name":"a_bonus","type":"uint256"},{"indexed":false,"name":"pool_eth","type":"uint256"}],"name":"ev_buy_bws","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sell_ad","type":"address"},{"indexed":false,"name":"bws","type":"uint256"},{"indexed":false,"name":"pool_bws","type":"uint256"},{"indexed":false,"name":"pool_eth","type":"uint256"}],"name":"ev_sell_bws","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad","type":"address"},{"indexed":false,"name":"bws","type":"uint256"},{"indexed":false,"name":"in_circulation","type":"uint256"}],"name":"ev_inside_to_outside","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad","type":"address"},{"indexed":false,"name":"bws","type":"uint256"},{"indexed":false,"name":"in_circulation","type":"uint256"}],"name":"ev_outside_to_inside","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad","type":"address"},{"indexed":false,"name":"luck_id","type":"uint32"},{"indexed":false,"name":"flags","type":"uint8"},{"indexed":false,"name":"bws","type":"uint256"},{"indexed":false,"name":"pool_bws","type":"uint256"},{"indexed":false,"name":"in_circulation","type":"uint256"}],"name":"ev_game_give_bws","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad","type":"address"},{"indexed":false,"name":"Recommender","type":"uint32"}],"name":"ev_register","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad","type":"address"},{"indexed":false,"name":"bws","type":"uint256"},{"indexed":false,"name":"unit_price","type":"uint256"}],"name":"ev_buy_of_first_send","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ThisTime","type":"uint64"},{"indexed":false,"name":"trading_volume","type":"uint256"},{"indexed":false,"name":"bonus","type":"uint256"},{"indexed":false,"name":"a_bonus","type":"uint256"}],"name":"ev_a_bonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad","type":"address"},{"indexed":false,"name":"eth","type":"uint256"}],"name":"ev_eth_to_outside","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ad","type":"address"},{"indexed":false,"name":"eth","type":"uint256"}],"name":"ev_recharge","type":"event"}]
Contract Creation Code
60c0604052600f60808190527f687474703a2f2f6c65656b732e6363000000000000000000000000000000000060a0908152620000409160019190620003b9565b506040805180820190915260188082527f42726574746f6e20576f6f64732073797374656d2d322e30000000000000000060209092019182526200008791600291620003b9565b506040805180820190915260038082527f42575300000000000000000000000000000000000000000000000000000000006020909201918252620000cc9181620003b9565b5060048054600c60ff19918216811790925568056bc75e2d631000006005908155655af3107a4000909255600f805490911690556013805464ff0000000019166402000000001760c860020a63ffffffff02191690556040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526200015c91601591906200043e565b506040805160a08101825260008082526020820181905291810182905260608101829052608081019190915262000198906017906005620004d6565b506013805463ffffffff1990811682557f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb01805433600160a060020a031991821681179092556000828152601160209081526040808320805485168617815560018181018054640100000000908a16831767ffffffff0000000019161790557f8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b5f8054737d0e7baebb4010c839f3e0f36373e7941792adea90881681179091557fe182c40af39ea0cd8880b11121a1575d2b6df4f740e113535afa828e0ab46c928054740100000000000000000000000000000000000000009816821760a060020a63ffffffff02191697909717909655885490971687178855674563918244f4000060049091018190557fe182c40af39ea0cd8880b11121a1575d2b6df4f740e113535afa828e0ab46c96556801158e460913d0000060085560069091528120662386f26fc10000905552678aa39c121a2700007f0acf6c210e65cd9375f983a8fd65ca979f29bbc093b3202ee9bbd4d03b5e3f915582547fffffffffffffff0000000000000000000000000000000000000000ffffffffff16650100000000009091021790915565f6e1280cc500600c5566fbc8abec40b0c0600b556803406de5a81708a0da6009553467067c56727fa731471901600a55663e81b7b616b380600d55663d99736be7eb80600e55600f805460ff19169091179055620005cf565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003fc57805160ff19168380011785556200042c565b828001600101855582156200042c579182015b828111156200042c5782518255916020019190600101906200040f565b506200043a9291506200056c565b5090565b600183019183908215620004c85791602002820160005b838211156200049657835183826101000a81548161ffff021916908360ff160217905550926020019260020160208160010104928301926001030262000455565b8015620004c65782816101000a81549061ffff021916905560020160208160010104928301926001030262000496565b505b506200043a9291506200058c565b6001830191839082156200055e5791602002820160005b838211156200052d57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620004ed565b80156200055c5782816101000a81549060ff02191690556001016020816000010492830192600103026200052d565b505b506200043a929150620005ae565b6200058991905b808211156200043a576000815560010162000573565b90565b6200058991905b808211156200043a57805461ffff1916815560010162000593565b6200058991905b808211156200043a57805460ff19168155600101620005b5565b614ccb80620005df6000396000f3fe6080604052600436106101a25760e060020a600035046306fdde03811461054f578063095ea7b3146105d957806318160ddd14610626578063196042511461064d5780631ad3697a146106855780631c0cead8146106b157806323b872dd146106e7578063241102611461072a578063260c40ab14610765578063263de25f1461079b57806326dace8c146107d4578063281e8c41146107e95780632e5745081461081f578063313ce56714610860578063329ad9291461088b5780633ad11a40146108a05780635a3b7e42146108fe57806367433aad1461091357806370a082311461092857806373fa424a1461095b5780637a106957146109845780638361002e146109995780638650d730146109ae5780638b4b8f26146109da57806395d89b41146109fd57806397022b6d14610a125780639cbe76ca14610a27578063a41e662314610a53578063a53b89f514610a68578063a9059cbb14610ab4578063ac70d1af14610aed578063b1cb392914610b17578063bdebbfc514610b2c578063d3faae0a14610b41578063dd62ed3e14610bab578063faecc2e914610be6575b600f5460ff16156101eb576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615610241576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b60008034111561054c5767ebec21ee1da40000600854111561026a5750655af3107a4000610277565b600c546005900460040290505b600064e8d4a5100082043481151561028b57fe5b049050806008541015156103d4576102a560085482610c41565b600855336000908152600660205260409020546102c29082610c57565b33600090815260066020908152604080832093909355600080516020614c2083398151915254600160a060020a031682526011905220600a015461030a906002345b04610c57565b600080516020614c2083398151915254600160a060020a03908116600090815260116020526040808220600a90810194909455600080516020614c0083398151915254909216815220015461036190600234610304565b600080516020614c0083398151915254600160a060020a0316600090815260116020908152604091829020600a01929092558051338152918201839052818101849052517fbb0011c90f3dfec52dcbb9f950873b64280384375f2f3ef3c13eea8acdc4d7259181900360600190a161054a565b6000600854111561051c5760006103f464e8d4a510008404600854610c6a565b600080516020614c2083398151915254600160a060020a03166000908152601160205260409020600a015490915061042e90600283610304565b600080516020614c2083398151915254600160a060020a03908116600090815260116020526040808220600a90810194909455600080516020614c0083398151915254909216815220015461048590600283610304565b600080516020614c0083398151915254600160a060020a0316600090815260116020526040808220600a0192909255905133913484900380156108fc02929091818181858888f193505050501580156104e2573d6000803e3d6000fd5b50336000908152600660205260409020546008546105009190610c57565b336000908152600660205260408120919091556008555061054a565b60405133903480156108fc02916000818181858888f19350505050158015610548573d6000803e3d6000fd5b505b505b50005b34801561055b57600080fd5b50610564610c8a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561059e578181015183820152602001610586565b50505050905090810190601f1680156105cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105e557600080fd5b50610612600480360360408110156105fc57600080fd5b50600160a060020a038135169060200135610d15565b604080519115158252519081900360200190f35b34801561063257600080fd5b5061063b610def565b60408051918252519081900360200190f35b34801561065957600080fd5b506106836004803603604081101561067057600080fd5b5063ffffffff8135169060200135610df5565b005b6106836004803603604081101561069b57600080fd5b50803563ffffffff16906020013560ff16610fca565b3480156106bd57600080fd5b50610683600480360360408110156106d457600080fd5b5063ffffffff813516906020013561151b565b3480156106f357600080fd5b506106126004803603606081101561070a57600080fd5b50600160a060020a0381358116916020810135909116906040013561171b565b34801561073657600080fd5b506106836004803603604081101561074d57600080fd5b50600160a060020a0381351690602001351515611835565b34801561077157600080fd5b506106836004803603604081101561078857600080fd5b5063ffffffff813516906020013561198c565b3480156107a757600080fd5b50610683600480360360408110156107be57600080fd5b50600160a060020a038135169060200135611dea565b3480156107e057600080fd5b5061063b611ee4565b3480156107f557600080fd5b506106836004803603604081101561080c57600080fd5b5063ffffffff8135169060200135611eea565b34801561082b57600080fd5b506108496004803603602081101561084257600080fd5b50356122fb565b6040805161ffff9092168252519081900360200190f35b34801561086c57600080fd5b50610875612326565b6040805160ff9092168252519081900360200190f35b34801561089757600080fd5b5061063b61232f565b3480156108ac57600080fd5b506108d3600480360360208110156108c357600080fd5b5035600160a060020a0316612335565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561090a57600080fd5b50610564612427565b34801561091f57600080fd5b5061063b612481565b34801561093457600080fd5b5061063b6004803603602081101561094b57600080fd5b5035600160a060020a0316612487565b6106836004803603604081101561097157600080fd5b5063ffffffff8135169060200135612499565b34801561099057600080fd5b5061063b6127ea565b3480156109a557600080fd5b5061063b6127f0565b610683600480360360408110156109c457600080fd5b50803563ffffffff16906020013560ff166127f6565b610683600480360360208110156109f057600080fd5b503563ffffffff16612ee4565b348015610a0957600080fd5b50610564613000565b348015610a1e57600080fd5b5061063b61305b565b348015610a3357600080fd5b5061068360048036036020811015610a4a57600080fd5b50351515613061565b348015610a5f57600080fd5b50610683613180565b348015610a7457600080fd5b50610a9b60048036036020811015610a8b57600080fd5b5035600160a060020a0316613564565b6040805163ffffffff9092168252519081900360200190f35b348015610ac057600080fd5b5061068360048036036040811015610ad757600080fd5b50600160a060020a0381351690602001356136a3565b348015610af957600080fd5b5061087560048036036020811015610b1057600080fd5b503561370d565b348015610b2357600080fd5b5061063b613734565b348015610b3857600080fd5b50610a9b61373a565b348015610b4d57600080fd5b50610b7460048036036020811015610b6457600080fd5b5035600160a060020a0316613746565b6040805163ffffffff9687168152948616602086015292909416838301526060830152608082019290925290519081900360a00190f35b348015610bb757600080fd5b5061063b60048036036040811015610bce57600080fd5b50600160a060020a0381358116916020013516613805565b348015610bf257600080fd5b50610683600480360360c0811015610c0957600080fd5b50600160a060020a038135169063ffffffff602082013581169160408101359091169060608101359060808101359060a00135613822565b6000828210610c4c57fe5b508082035b92915050565b6000818301831115610c6557fe5b500190565b6000828202828482811515610c7b57fe5b0414610c8357fe5b9392505050565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610d0d5780601f10610ce257610100808354040283529160200191610d0d565b820191906000526020600020905b815481529060010190602001808311610cf057829003601f168201915b505050505081565b600f5460009060ff1615610d61576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615610db7576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b336000818152600760209081526040808320600160a060020a03881684529091529020839055610de690613b6e565b50600192915050565b60055481565b600f5460ff1615610e3e576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615610e94576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b610e9d82613cd4565b33600090815260116020526040902060040154811115610f07576040805160e560020a62461bcd02815260206004820152601860248201527f596f75722042575320697320696e73756666696369656e740000000000000000604482015290519081900360640190fd5b33600090815260116020526040902060040154610f249082610c41565b33600090815260116020908152604080832060040193909355600690522054610f4d9082610c57565b33600090815260066020526040902055600e548111610f7457600e80548290039055610f7a565b6000600e555b600e54604080513381526020810184905280820192909252517f0b821fc4fefbcb1b534698a388c361da3d6ed2e1fd45e23acca5fd8e154993ed9181900360600190a1610fc633613b6e565b5050565b600f5460ff1615611013576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615611069576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b61107282613cd4565b600560ff82161061108257600080fd5b33600090815260116020526040902054600160a060020a031615156110f1576040805160e560020a62461bcd02815260206004820152601b60248201527f596f7520686176656e27742072656769737465726564207965742e0000000000604482015290519081900360640190fd5b6110f9614bc0565b60a060405190810160405280662386f26fc10000815260200166b1a2bc2ec50000815260200167016345785d8a000081526020016706f05b59d3b200008152602001670de0b6b3a76400008152509050600034111561118357336000908152601160205260409020600a015461116f9034610c57565b336000908152601160205260409020600a01555b8060ff83166005811061119257fe5b6020908102919091015133600090815260119092526040909120600a0154116111f3576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b8060ff83166005811061120257fe5b60209081029190910151336000908152601190925260408220600a9081018054929092039091558260ff85166005811061123857fe5b602002015181151561124657fe5b0490506112533382614171565b61125f600b5482610c57565b600b5561126b33613b6e565b60ff8316600081815260166020526040812033929091906017906005811061128f57fe5b60208082049092015460ff601f9092166101000a900481168352908201929092526040016000208054600160a060020a039390931673ffffffffffffffffffffffffffffffffffffffff19909316929092179091557fe64884bd7a45bb90ca18cb82c53c7b05000c5a8d7db4251ec0ee533c1ce3031690339060179086166005811061131757fe5b602091828204019190069054906101000a900460ff168561134d33878960ff1660058110151561134357fe5b6020020151614331565b600954600e5460408051600160a060020a03909716875260ff958616602088015293909416858401526060850191909152608084015260a0830191909152519081900360c00190a1601760ff8416600581106113a557fe5b602081049091018054600160ff601f9094166101000a80830485169190910184168102908402199091161790556017908416600581106113e157fe5b602091828204019190069054906101000a900460ff1660ff1660041415611515576000601760ff85166005811061141457fe5b602091828204019190066101000a81548160ff021916908360ff160217905550600061144060046143f7565b60ff858116600081815260166020908152604080832094861680845285835281842054600160a060020a03908116855260118452828520600a0180548b86020190558480529583528184205460018552828520546002865283862054600387529584902054600954600b548651948b168552928a169684019690965295881682850152949096166060870152608086015260a085019390935260c084015260e0830152519192507f2f98ff421005528ae54878e79cbdf621bcb9d0d49991804ec8c3cdb6fe5413fe91908190036101000190a1505b50505050565b600f5460ff1615611564576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff16156115ba576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b6115c382613cd4565b336000908152601160205260409020600a015481111561161b576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b60008111611699576040805160e560020a62461bcd02815260206004820152602b60248201527f506c6561736520656e74657220746865206e756d626572206f6620455448732060448201527f746f207769746864726177000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600081815260116020526040808220600a01805485900390555183156108fc0291849190818181858888f193505050501580156116db573d6000803e3d6000fd5b50604080513381526020810183905281517f91c68801c19dfededbe039bdbaabdc8e56d54e971878956d55114e66596c8278929181900390910190a15050565b600f5460009060ff1615611767576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff16156117bd576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b600160a060020a03841660009081526007602090815260408083203384529091529020548211156117ed57600080fd5b600160a060020a0384166000908152600760209081526040808320338452909152902080548390039055611822848484614427565b61182b33613b6e565b5060019392505050565b6001811515148015611877575033737d0e7baebb4010c839f3e0f36373e7941792adea148061187757503373d8d8def8b1584a2b35c6243d2cc04d851e534e37145b156118a457600160a060020a0382166000908152601260205260409020805460ff19166001179055610fc6565b33737d0e7baebb4010c839f3e0f36373e7941792adea141561191a5760005460ff1615156118de576000805460ff19166002179055611915565b60005460ff166003141561191557600160a060020a0382166000908152601260205260408120805460ff1990811690915581541690555b610fc6565b3373d8d8def8b1584a2b35c6243d2cc04d851e534e371415610fc65760005460ff161515611954576000805460ff19166003179055610fc6565b60005460ff1660021415610fc65750600160a060020a03166000908152601260205260408120805460ff199081169091558154169055565b600f5460ff16156119d5576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615611a2b576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b611a3482613cd4565b33600090815260066020526040902054811115611a9b576040805160e560020a62461bcd02815260206004820152601860248201527f596f75722042575320697320696e73756666696369656e740000000000000000604482015290519081900360640190fd5b336000908152601160205260409020600501541515611ad85733600090815260066020526040902054600a90048111611ad357600080fd5b611d2e565b6009546a31a17e847807b1bc00000011611b88576040805160e560020a62461bcd02815260206004820152604260248201527f46697373696f6e2066756e64732061726520696e616465717561746520746f2060448201527f706f7374706f6e6520666f726569676e2065786368616e6765207472616e736660648201527f6572000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6009546a31a17e847807b1bc00000003611bb3600782046004026a31a17e847807b1bc000000610c57565b9050611bc3600e54600954610c57565b8111611bce57600080fd5b611be581611be0600e54600954610c57565b610c41565b9050818111611c3e576040805160e560020a62461bcd02815260206004820152601e60248201527f496e6164657175617465207472616e7366657261626c6520616d6f756e740000604482015290519081900360640190fd5b336000908152601160205260409020600801546201518067ffffffffffffffff909116420310611c7c57336000908152601160205260408120600901555b33600090815260116020526040902060090154611c999083610c57565b33600090815260116020526040902060050154600a90041015611d2c576040805160e560020a62461bcd02815260206004820152602e60248201527f596f75206861766520696e73756666696369656e74207472616e73666572206160448201527f7574686f7269747920746f646179000000000000000000000000000000000000606482015290519081900360840190fd5b505b33600090815260066020526040902054611d489082610c41565b33600090815260066020908152604080832093909355601190522060040154611d719082610c57565b33600081815260116020526040902060040191909155611d90906145c4565b611d9c600e5482610c57565b600e819055604080513381526020810184905280820192909252517f1dcb7aa4ecefda1fc0194919e37d258611e905aaa783a6044c9ff3495b2727389181900360600190a1610fc633613b6e565b33737d0e7baebb4010c839f3e0f36373e7941792adea1415611e425760005460ff161515611e24576000805460ff19166002179055610fc6565b60005460ff1660031415611e3d576000805460ff191690555b611e95565b3373d8d8def8b1584a2b35c6243d2cc04d851e534e371415611e955760005460ff161515611e7c576000805460ff19166003179055610fc6565b60005460ff1660021415611e95576000805460ff191690555b611ea160085482610c41565b600855600160a060020a038216600090815260066020526040902054611ec79082610c57565b600160a060020a0383166000908152600660205260409020555050565b600c5481565b600f5460ff1615611f33576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615611f89576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b611f9282613cd4565b33600090815260116020526040902060040154811115611ffc576040805160e560020a62461bcd02815260206004820152601860248201527f596f75722042575320697320696e73756666696369656e740000000000000000604482015290519081900360640190fd5b336000908152601160205260409020600601546201518067ffffffffffffffff9091164203111561203b57336000908152601160205260408120600701555b3360009081526011602052604090206005810154600790910154600a909104908190612068908490610c57565b11156120e4576040805160e560020a62461bcd02815260206004820152602360248201527f596f75206469646e27742073656c6c20656e6f756768206f6e2074686174206460448201527f61792e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60006120ef83614623565b905060698104606402905080600a541015151561217c576040805160e560020a62461bcd02815260206004820152602360248201527f5468652073797374656d20646f6573206e6f74206861766520656e6f7567682060448201527f4554480000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152601160205260409020600401546121999084610c41565b3360009081526011602052604090206004810191909155600a01546121c49060648304605f02610c57565b336000908152601160205260409020600a90810191909155546121e79082610c41565b600a556009546121f79084610c57565b60095533600090815260116020526040902060068101805467ffffffffffffffff19164267ffffffffffffffff16179055600701546122369084610c57565b33600090815260116020526040902060070155600b54606482049061225e9060058302610c57565b600b55600e54841161227857600e8054859003905561227e565b6000600e555b61228a600d5485610c57565b600d55600954600a546040805133815260208101889052808201939093526060830191909152517f1b36a9e0a112b5461bc124151a994ceeeecaee580002d8d781ce8c054e9c76d49181900360800190a1600c8054850190556122eb61465f565b6122f433613b6e565b5050505050565b6015816005811061230857fe5b60109182820401919006600202915054906101000a900461ffff1681565b60045460ff1681565b600d5481565b600160a060020a0381166000908152601160205260408120600481015460058201546006909201548392839283928392906201518067ffffffffffffffff90911642031161239e57600160a060020a0388166000908152601160205260409020600701546123a1565b60005b600160a060020a0389166000908152601160205260409020600801546201518067ffffffffffffffff9091164203116123f557600160a060020a0389166000908152601160205260409020600901546123f8565b60005b600160a060020a03999099166000908152601160205260409020600a0154929991989097509550909350915050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d0d5780601f10610ce257610100808354040283529160200191610d0d565b60085481565b60066020526000908152604090205481565b600f5460ff16156124e2576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615612538576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b60008111801561254f5750662386f26fc100008111155b15156125a5576040805160e560020a62461bcd02815260206004820152601e60248201527f42757920757020746f2031302c3030302042575320617420612074696d650000604482015290519081900360640190fd5b6125ae82613cd4565b600954811115612608576040805160e560020a62461bcd02815260206004820152601560248201527f496e73756666696369656e7420706f6f6c5f4257530000000000000000000000604482015290519081900360640190fd5b600034111561264257336000908152601160205260409020600a015461262e9034610c57565b336000908152601160205260409020600a01555b600061264d82614623565b336000908152601160205260409020600a01549091508111156126a8576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b336000908152601160205260409020600a01546126c59082610c41565b336000908152601160205260409020600a01556009546126e59083610c41565b600955336000908152601160205260409020600401546127059083610c57565b33600081815260116020526040902060040191909155612724906145c4565b600a54606982049061273990605a8302610c57565b600a55600b5461274c9060058302610c57565b600b5561275c33600a8302614171565b612768600d5484610c57565b600d55600e546127789084610c57565b600e55600954600b54600a5460408051338152602081018890528082019490945260608401929092526080830152517f2f54c94fee27bd438cfde1da66083072f5b32b86be24cad0e550c360a4be522d9181900360a00190a1600c8054840190556127e161465f565b61151533613b6e565b60095481565b600b5481565b600f5460ff161561283f576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615612895576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b61289e82613cd4565b600560ff8216106128ae57600080fd5b33600090815260116020526040902054600160a060020a0316151561291d576040805160e560020a62461bcd02815260206004820152601b60248201527f596f7520686176656e27742072656769737465726564207965742e0000000000604482015290519081900360640190fd5b612925614bc0565b60a060405190810160405280662386f26fc10000815260200166b1a2bc2ec50000815260200167016345785d8a000081526020016706f05b59d3b200008152602001670de0b6b3a7640000815250905060003411156129af57336000908152601160205260409020600a015461299b9034610c57565b336000908152601160205260409020600a01555b8060ff8316600581106129be57fe5b6020908102919091015133600090815260119092526040909120600a01541015612a20576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b8060ff831660058110612a2f57fe5b60209081029190910151336000908152601190925260408220600a9081018054929092039091558260ff851660058110612a6557fe5b6020020151811515612a7357fe5b049050612a803382614171565b612a8c600b5482610c57565b600b55612a9833613b6e565b60ff83166000818152601460205260408120339290919060159060058110612abc57fe5b601081049190910154600f9091166002026101000a900461ffff1681526020810191909152604001600020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790557fe64884bd7a45bb90ca18cb82c53c7b05000c5a8d7db4251ec0ee533c1ce3031633601560ff861660058110612b4457fe5b601091828204019190066002029054906101000a900461ffff1685600501612b7733878960ff1660058110151561134357fe5b600954600e5460408051600160a060020a03909716875261ffff909516602087015260ff909316858501526060850191909152608084015260a0830152519081900360c00190a1601560ff841660058110612bce57fe5b60108104919091018054600f9092166002026101000a61ffff8181021984169382900481166001011602919091179055600a601560ff851660058110612c1057fe5b601091828204019190066002029054906101000a900461ffff1661ffff16811515612c3757fe5b0661ffff166000148015612c745750601560ff841660058110612c5657fe5b601081049190910154600f9091166002026101000a900461ffff1615155b15612d5e57336000908152601160205260409020600a0154612cac908360ff861660058110612c9f57fe5b6020020151600202610c57565b336000818152601160205260409020600a01919091557f3530dc5eb17b23d959667ca4a171d2ed309a35081da736e9e7acbcda9fecd5c1906001601560ff871660058110612cf657fe5b6010810490910154600954600b5460408051600160a060020a03909716875261ffff6002600f909616959095026101000a909304841694909403909216602085015260ff60058901168482015260608401919091526080830191909152519081900360a00190a15b601560ff841660058110612d6e57fe5b601091828204019190066002029054906101000a900461ffff1661ffff166103e81415611515576000601560ff851660058110612da757fe5b601091828204019190066002026101000a81548161ffff021916908361ffff1602179055506000612dd96103e86143f7565b90508260ff851660058110612dea57fe5b6020908102919091015160ff8616600081815260148452604080822061ffff87168084528187528284208054600160a060020a03908116865260118952938520600a018054610258909802909701909655909252935290547f3530dc5eb17b23d959667ca4a171d2ed309a35081da736e9e7acbcda9fecd5c192169060019060159060058110612e7657fe5b6010810490910154600954600b5460408051600160a060020a03909716875261ffff6002600f909616959095026101000a909304841694909403909216602085015260ff600a8a01168482015260608401919091526080830191909152519081900360a00190a15050505050565b600f5460ff1615612f2d576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615612f83576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b612f8c81613cd4565b336000908152601160205260409020600a0154612fa99034610c57565b33600081815260116020908152604091829020600a01939093558051918252349282019290925281517fdbacb5474fc2429588a88386c84aca694c1cf32578ec8b8886e7d921881bd067929181900390910190a150565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d0d5780601f10610ce257610100808354040283529160200191610d0d565b600e5481565b60018115151480156130a3575033737d0e7baebb4010c839f3e0f36373e7941792adea14806130a357503373d8d8def8b1584a2b35c6243d2cc04d851e534e37145b156130ba57600f805460ff1916600117905561317d565b33737d0e7baebb4010c839f3e0f36373e7941792adea141561311e5760005460ff1615156130f4576000805460ff19166002179055613119565b60005460ff166003141561311957600f805460ff199081169091556000805490911690555b61317d565b3373d8d8def8b1584a2b35c6243d2cc04d851e534e37141561317d5760005460ff161515613158576000805460ff1916600317905561317d565b60005460ff166002141561317d57600f805460ff199081169091556000805490911690555b50565b600080516020614c2083398151915254600160a060020a03908116600090815260116020526040902054163314806131e15750600080516020614c0083398151915254600160a060020a039081166000908152601160205260409020541633145b151561325c576040805160e560020a62461bcd028152602060048201526024808201527f4f6e6c792041646d696e6973747261746f727320416c6c6f77204f706572617460448201527f696f6e7300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54600080516020614c2083398151915254600160a060020a03166000908152601160205260409020600a9081015460029092049160058304918304906132a49082610c57565b600080516020614c208339815191528054600160a060020a03908116600090815260116020526040808220600a0194909455915416815220600301546132ea9082610c57565b600080516020614c2083398151915254600160a060020a0390811660009081526011602052604080822060030193909355600080516020614c0083398151915254909116815220600a015461333f9082610c57565b600080516020614c008339815191528054600160a060020a03908116600090815260116020526040808220600a0194909455915416815220600301546133859082610c57565b600080516020614c008339815191528054600160a060020a0390811660009081526011602052604080822060030194909455600e54925482168152838120600490810154600080516020614c20833981519152549093168252938120840154600590970490930295678ac7230489e800009203030190811161340657600080fd5b620f424081048481151561341657fe5b04935060025b60135463ffffffff908116908216116134fc5763ffffffff8116600090815260106020908152604080832054600160a060020a03168352601190915290206004015461346f908690620f42409004610c6a565b63ffffffff8216600090815260106020908152604080832054600160a060020a0316835260119091529020600a01549093506134ab9084610c57565b63ffffffff821660009081526010602090815260408083208054600160a060020a0390811685526011909352818420600a01949094559254168152206003018054840190559282019260010161341c565b50600b805484900390819055600e546040805167ffffffffffffffff421681526020810192909252818101879052606082019290925290517f1644b707b6c6fec985d9378f94fb552258f95ad76a7d93facdde1ca42b0846bc9181900360800190a150505050565b60008080600160a060020a038416151561357d57600080fd5b600160a060020a038481166000908152601160205260409020541615156135ee576040805160e560020a62461bcd02815260206004820152601b60248201527f596f7520686176656e27742072656769737465726564207965742e0000000000604482015290519081900360640190fd5b600160a060020a03841660009081526011602052604081206001015463ffffffff16925082111561369a575060015b63ffffffff808316600090815260106020908152604080832054600160a060020a03168352601190915281205460e060020a9004909116111561369a5763ffffffff918216600090815260106020908152604080832054600160a060020a03168352601190915290205460e060020a90049091169060010161361d565b9150505b919050565b3360009081526012602052604090205460ff16156136f9576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b613704338383614427565b610fc633613b6e565b6017816005811061371a57fe5b60209182820401919006915054906101000a900460ff1681565b600a5481565b60135463ffffffff1681565b600160a060020a038116600090815260116020526040812054819081908190819061378e9074010000000000000000000000000000000000000000900463ffffffff166148c6565b600160a060020a0387166000908152601160205260409020546137bd9060c060020a900463ffffffff166148c6565b600160a060020a0397909716600090815260116020526040902060018101546002820154600390920154929964010000000090910463ffffffff169750909550909350915050565b600760209081526000928352604080842090915290825290205481565b601354600f64010000000090910460ff16111561383e57600080fd5b8560106000601360049054906101000a900460ff1660ff1663ffffffff16815260200190815260200160002060006101000a815481600160a060020a030219169083600160a060020a031602179055506101e06040519081016040528087600160a060020a03168152602001601360049054906101000a900460ff1660ff1663ffffffff1681526020018663ffffffff168152602001600063ffffffff168152602001600063ffffffff1681526020018563ffffffff16815260200160008152602001848152602001838152602001838152602001600067ffffffffffffffff16815260200160008152602001600067ffffffffffffffff16815260200160008152602001828152506011600088600160a060020a0316600160a060020a0316815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001601c6101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160006101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160010160046101000a81548163ffffffff021916908363ffffffff16021790555060c0820151816002015560e08201518160030155610100820151816004015561012082015181600501556101408201518160060160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061016082015181600701556101808201518160080160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101a082015181600901556101c082015181600a0155905050601360049054906101000a900460ff1660ff16600f1415613b4057600f805460ff191681556013805463ffffffff191690911790555b505060138054600160ff640100000000808404821692909201160264ff000000001990911617905550505050565b6013805463ffffffff790100000000000000000000000000000000000000000000000000808304821660018101909216027fffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffff83161790925560408051600160a060020a03650100000000009093048316602080830191909152928516818301524340606082018190526080808301959095528251808303909501855260a0909101918290528351909360039390929182918401908083835b60208310613c455780518252601f199092019160209182019101613c26565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015613c84573d6000803e3d6000fd5b505050604051516c01000000000000000000000000026c010000000000000000000000009004601360056101000a815481600160a060020a030219169083600160a060020a031602179055505050565b33600090815260116020526040902054600160a060020a031615613cf75761317d565b600f5460ff1615613d40576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615613d96576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b600080613da283614a2c565b905060008163ffffffff1610158015613dc7575060135463ffffffff90811690821611155b1515613e1d576040805160e560020a62461bcd02815260206004820152601960248201527f5265636f6d6d656e6465727320646f206e6f7420657869737400000000000000604482015290519081900360640190fd5b6013805463ffffffff198116600163ffffffff92831681018316919091178084558216600090815260106020818152604080842080543373ffffffffffffffffffffffffffffffffffffffff19918216811790925581865260118085528387208054909216909217808255985477ffffffff0000000000000000000000000000000000000000199099169888167401000000000000000000000000000000000000000002989098177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff1660c060020a8a89169081029190911790985596845291815281832054600160a060020a03168352949094529290922090910154161515613f685760135463ffffffff828116600090815260106020908152604080832054600160a060020a0316835260119091529020600101805463ffffffff191691909216179055614073565b63ffffffff808216600090815260106020908152604080832054600160a060020a0316835260119091529020600101541691505b63ffffffff808316600090815260106020908152604080832054600160a060020a03168352601190915281205460e060020a900490911611156140165763ffffffff918216600090815260106020908152604080832054600160a060020a03168352601190915290205460e060020a900490911690613f9c565b60135463ffffffff838116600090815260106020908152604080832054600160a060020a031683526011909152902080547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169190921660e060020a021790555b90508060005b60058163ffffffff16101561412b5763ffffffff838116600081815260106020908152604080832054600160a060020a03168352601190915290206001908101805467ffffffff000000001981166401000000009182900486169093019094169093021790915515156140eb5761412b565b63ffffffff928316600090815260106020908152604080832054600160a060020a03168352601190915290205460c060020a900490921691600101614079565b506040805133815263ffffffff8516602082015281517f3d90c2f389c8fccb4712668b0028124cc0f179954d854ccef5602edd8cc2cdee929181900390910190a1505050565b600160a060020a0382811660009081526011602081815260408084205460c060020a900463ffffffff16808552601083528185205490951684529190529020600a015460098304906141c69060058302610c57565b63ffffffff831660009081526010602090815260408083208054600160a060020a0390811685526011909352818420600a0194909455925416815220600201546142139060058302610c57565b63ffffffff8316600090815260106020908152604080832054600160a060020a0316835260119091528120600201919091555b60048163ffffffff1610156122f45763ffffffff928316600090815260106020818152604080842054600160a060020a03908116855260118084528286205460c060020a900490981680865293835281852054168452959052939020600a01546142b09083610c57565b63ffffffff841660009081526010602090815260408083208054600160a060020a0390811685526011909352818420600a0194909455925416815220600201546142fa9083610c57565b63ffffffff8416600090815260106020908152604080832054600160a060020a031683526011909152902060020155600101614246565b6000600160a060020a038316151561434857600080fd5b6000821161435557600080fd5b600c54600a83049060009064e8d4a5100090048281151561437257fe5b049050806009541015156143ec57600980548290039055600160a060020a0385166000908152601160205260409020600401546143af9082610c57565b600160a060020a0386166000908152601160205260409020600401556143d4856145c4565b6143e0600e5482610c57565b600e559150610c519050565b506000949350505050565b60135460009063ffffffff831690650100000000009004600160a060020a031681151561442057fe5b0692915050565b600f5460ff1615614470576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff16156144c6576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b600160a060020a03821615156144db57600080fd5b600160a060020a03831660009081526006602052604090205481111561450057600080fd5b600160a060020a0382166000908152600660205260409020548181011161452657600080fd5b600160a060020a038083166000818152600660209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a0380841660009081526006602052604080822054928716825290205401811461151557fe5b600160a060020a03811615156145d657fe5b600160a060020a03811660009081526011602052604090206005810154600490910154111561317d57600160a060020a031660009081526011602052604090206004810154600590910155565b600080821161462e57fe5b600c5464e8d4a51000900460646069848302810282900491839186919084040281151561465757fe5b041461369a57fe5b600d5460009061466d614bdf565b6101406040519081016040528067016345785d8a00008152602001670de0b6b3a76400008152602001678ac7230489e80000815260200168056bc75e2d631000008152602001683635c9adc5dea00000815260200169021e19e0c9bab2400000815260200169152d02c7e14af6800000815260200169d3c21bcecceda100000081526020016a084595161401484a00000081526020016a52b7d2dcc80cd2e4000000815250905061471c614bdf565b5060408051610140810182526127108152614e20602082015261f42491810191909152620186a0606082015262030d406080820152620f424060a0820152621e848060c08201526298968060e08201526301312d006101008201526305f5e10061012082015261478a614bdf565b50604080516101408101825264e8d4a510008152650574fbde6000602082015265246139ca800091810191909152655af3107a40006060820152660221b262dd80006080820152661057acf5f7800060a082015266221b262dd8000060c082015266b036efecdc000060e0820152670161d9ac1ba100006101008201526706f036f899e7800061012082015260005b600a8163ffffffff161015614895578363ffffffff8216600a811061483a57fe5b602002015185101561488d578163ffffffff8216600a811061485857fe5b60200201518363ffffffff8316600a811061486f57fe5b602002015163ffffffff168681151561488457fe5b04019550614895565b600101614819565b508415156148b157630bebc20084046710a71d4328ad80000194505b6148bc856064610c6a565b600c555050505050565b6000627fffff63ffffffff8316111561494e576040805160e560020a62461bcd028152602060048201526024808201527f4d6178696d756d2049442073686f756c64206e6f74206578636565642038333860448201527f3836303700000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008281600463ffffffff8316101561496a57600292506149e6565b600f63ffffffff86161161498157600792506149e6565b60ff63ffffffff86161161499857600692506149e6565b610fff63ffffffff8616116149b057600592506149e6565b61ffff63ffffffff8616116149c857600492506149e6565b620fffff63ffffffff8616116149e157600392506149e6565b600292505b5063ffffffff82166280000081029060021415614a0557849150614a24565b6001600284036004020363ffffffff168563ffffffff169060020a0291505b179392505050565b600061020063ffffffff8084169182029162800000900490811660021415614b9c578363ffffffff1663010000001415614a6b5760009250505061369e565b8363ffffffff1663010000011415614a885760019250505061369e565b8363ffffffff1663010000021415614aa55760029250505061369e565b8363ffffffff1663010000031415614ac25760039250505061369e565b63018800008463ffffffff1610158015614ae557506303f800008463ffffffff16105b1515614b87576040805160e560020a62461bcd02815260206004820152604260248201527f496c6c6567616c20706172616d657465722c20706172616d6574657220706f7360448201527f6974696f6e206d7573742062652067726561746572207468616e20313020626960648201527f7473000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61020063ffffffff9092169190910490614bb9565b63ffffffff6008600460011984010201811660020a921691909104905b5092915050565b60a0604051908101604052806005906020820280388339509192915050565b61014060405190810160405280600a90602082028038833950919291505056fe8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b5f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb01596f752068617665206265656e20626c61636b6c6973746564000000000000005468652073797374656d20686173206265656e2066726f7a656e000000000000596f75722045544820697320696e73756666696369656e740000000000000000a165627a7a72305820354bd7eca8a8a4c066c511c7e1463201bfab7243cee71d04fc3dd7a09602a79c0029
Deployed Bytecode
0x6080604052600436106101a25760e060020a600035046306fdde03811461054f578063095ea7b3146105d957806318160ddd14610626578063196042511461064d5780631ad3697a146106855780631c0cead8146106b157806323b872dd146106e7578063241102611461072a578063260c40ab14610765578063263de25f1461079b57806326dace8c146107d4578063281e8c41146107e95780632e5745081461081f578063313ce56714610860578063329ad9291461088b5780633ad11a40146108a05780635a3b7e42146108fe57806367433aad1461091357806370a082311461092857806373fa424a1461095b5780637a106957146109845780638361002e146109995780638650d730146109ae5780638b4b8f26146109da57806395d89b41146109fd57806397022b6d14610a125780639cbe76ca14610a27578063a41e662314610a53578063a53b89f514610a68578063a9059cbb14610ab4578063ac70d1af14610aed578063b1cb392914610b17578063bdebbfc514610b2c578063d3faae0a14610b41578063dd62ed3e14610bab578063faecc2e914610be6575b600f5460ff16156101eb576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615610241576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b60008034111561054c5767ebec21ee1da40000600854111561026a5750655af3107a4000610277565b600c546005900460040290505b600064e8d4a5100082043481151561028b57fe5b049050806008541015156103d4576102a560085482610c41565b600855336000908152600660205260409020546102c29082610c57565b33600090815260066020908152604080832093909355600080516020614c2083398151915254600160a060020a031682526011905220600a015461030a906002345b04610c57565b600080516020614c2083398151915254600160a060020a03908116600090815260116020526040808220600a90810194909455600080516020614c0083398151915254909216815220015461036190600234610304565b600080516020614c0083398151915254600160a060020a0316600090815260116020908152604091829020600a01929092558051338152918201839052818101849052517fbb0011c90f3dfec52dcbb9f950873b64280384375f2f3ef3c13eea8acdc4d7259181900360600190a161054a565b6000600854111561051c5760006103f464e8d4a510008404600854610c6a565b600080516020614c2083398151915254600160a060020a03166000908152601160205260409020600a015490915061042e90600283610304565b600080516020614c2083398151915254600160a060020a03908116600090815260116020526040808220600a90810194909455600080516020614c0083398151915254909216815220015461048590600283610304565b600080516020614c0083398151915254600160a060020a0316600090815260116020526040808220600a0192909255905133913484900380156108fc02929091818181858888f193505050501580156104e2573d6000803e3d6000fd5b50336000908152600660205260409020546008546105009190610c57565b336000908152600660205260408120919091556008555061054a565b60405133903480156108fc02916000818181858888f19350505050158015610548573d6000803e3d6000fd5b505b505b50005b34801561055b57600080fd5b50610564610c8a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561059e578181015183820152602001610586565b50505050905090810190601f1680156105cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105e557600080fd5b50610612600480360360408110156105fc57600080fd5b50600160a060020a038135169060200135610d15565b604080519115158252519081900360200190f35b34801561063257600080fd5b5061063b610def565b60408051918252519081900360200190f35b34801561065957600080fd5b506106836004803603604081101561067057600080fd5b5063ffffffff8135169060200135610df5565b005b6106836004803603604081101561069b57600080fd5b50803563ffffffff16906020013560ff16610fca565b3480156106bd57600080fd5b50610683600480360360408110156106d457600080fd5b5063ffffffff813516906020013561151b565b3480156106f357600080fd5b506106126004803603606081101561070a57600080fd5b50600160a060020a0381358116916020810135909116906040013561171b565b34801561073657600080fd5b506106836004803603604081101561074d57600080fd5b50600160a060020a0381351690602001351515611835565b34801561077157600080fd5b506106836004803603604081101561078857600080fd5b5063ffffffff813516906020013561198c565b3480156107a757600080fd5b50610683600480360360408110156107be57600080fd5b50600160a060020a038135169060200135611dea565b3480156107e057600080fd5b5061063b611ee4565b3480156107f557600080fd5b506106836004803603604081101561080c57600080fd5b5063ffffffff8135169060200135611eea565b34801561082b57600080fd5b506108496004803603602081101561084257600080fd5b50356122fb565b6040805161ffff9092168252519081900360200190f35b34801561086c57600080fd5b50610875612326565b6040805160ff9092168252519081900360200190f35b34801561089757600080fd5b5061063b61232f565b3480156108ac57600080fd5b506108d3600480360360208110156108c357600080fd5b5035600160a060020a0316612335565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561090a57600080fd5b50610564612427565b34801561091f57600080fd5b5061063b612481565b34801561093457600080fd5b5061063b6004803603602081101561094b57600080fd5b5035600160a060020a0316612487565b6106836004803603604081101561097157600080fd5b5063ffffffff8135169060200135612499565b34801561099057600080fd5b5061063b6127ea565b3480156109a557600080fd5b5061063b6127f0565b610683600480360360408110156109c457600080fd5b50803563ffffffff16906020013560ff166127f6565b610683600480360360208110156109f057600080fd5b503563ffffffff16612ee4565b348015610a0957600080fd5b50610564613000565b348015610a1e57600080fd5b5061063b61305b565b348015610a3357600080fd5b5061068360048036036020811015610a4a57600080fd5b50351515613061565b348015610a5f57600080fd5b50610683613180565b348015610a7457600080fd5b50610a9b60048036036020811015610a8b57600080fd5b5035600160a060020a0316613564565b6040805163ffffffff9092168252519081900360200190f35b348015610ac057600080fd5b5061068360048036036040811015610ad757600080fd5b50600160a060020a0381351690602001356136a3565b348015610af957600080fd5b5061087560048036036020811015610b1057600080fd5b503561370d565b348015610b2357600080fd5b5061063b613734565b348015610b3857600080fd5b50610a9b61373a565b348015610b4d57600080fd5b50610b7460048036036020811015610b6457600080fd5b5035600160a060020a0316613746565b6040805163ffffffff9687168152948616602086015292909416838301526060830152608082019290925290519081900360a00190f35b348015610bb757600080fd5b5061063b60048036036040811015610bce57600080fd5b50600160a060020a0381358116916020013516613805565b348015610bf257600080fd5b50610683600480360360c0811015610c0957600080fd5b50600160a060020a038135169063ffffffff602082013581169160408101359091169060608101359060808101359060a00135613822565b6000828210610c4c57fe5b508082035b92915050565b6000818301831115610c6557fe5b500190565b6000828202828482811515610c7b57fe5b0414610c8357fe5b9392505050565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610d0d5780601f10610ce257610100808354040283529160200191610d0d565b820191906000526020600020905b815481529060010190602001808311610cf057829003601f168201915b505050505081565b600f5460009060ff1615610d61576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615610db7576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b336000818152600760209081526040808320600160a060020a03881684529091529020839055610de690613b6e565b50600192915050565b60055481565b600f5460ff1615610e3e576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615610e94576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b610e9d82613cd4565b33600090815260116020526040902060040154811115610f07576040805160e560020a62461bcd02815260206004820152601860248201527f596f75722042575320697320696e73756666696369656e740000000000000000604482015290519081900360640190fd5b33600090815260116020526040902060040154610f249082610c41565b33600090815260116020908152604080832060040193909355600690522054610f4d9082610c57565b33600090815260066020526040902055600e548111610f7457600e80548290039055610f7a565b6000600e555b600e54604080513381526020810184905280820192909252517f0b821fc4fefbcb1b534698a388c361da3d6ed2e1fd45e23acca5fd8e154993ed9181900360600190a1610fc633613b6e565b5050565b600f5460ff1615611013576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615611069576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b61107282613cd4565b600560ff82161061108257600080fd5b33600090815260116020526040902054600160a060020a031615156110f1576040805160e560020a62461bcd02815260206004820152601b60248201527f596f7520686176656e27742072656769737465726564207965742e0000000000604482015290519081900360640190fd5b6110f9614bc0565b60a060405190810160405280662386f26fc10000815260200166b1a2bc2ec50000815260200167016345785d8a000081526020016706f05b59d3b200008152602001670de0b6b3a76400008152509050600034111561118357336000908152601160205260409020600a015461116f9034610c57565b336000908152601160205260409020600a01555b8060ff83166005811061119257fe5b6020908102919091015133600090815260119092526040909120600a0154116111f3576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b8060ff83166005811061120257fe5b60209081029190910151336000908152601190925260408220600a9081018054929092039091558260ff85166005811061123857fe5b602002015181151561124657fe5b0490506112533382614171565b61125f600b5482610c57565b600b5561126b33613b6e565b60ff8316600081815260166020526040812033929091906017906005811061128f57fe5b60208082049092015460ff601f9092166101000a900481168352908201929092526040016000208054600160a060020a039390931673ffffffffffffffffffffffffffffffffffffffff19909316929092179091557fe64884bd7a45bb90ca18cb82c53c7b05000c5a8d7db4251ec0ee533c1ce3031690339060179086166005811061131757fe5b602091828204019190069054906101000a900460ff168561134d33878960ff1660058110151561134357fe5b6020020151614331565b600954600e5460408051600160a060020a03909716875260ff958616602088015293909416858401526060850191909152608084015260a0830191909152519081900360c00190a1601760ff8416600581106113a557fe5b602081049091018054600160ff601f9094166101000a80830485169190910184168102908402199091161790556017908416600581106113e157fe5b602091828204019190069054906101000a900460ff1660ff1660041415611515576000601760ff85166005811061141457fe5b602091828204019190066101000a81548160ff021916908360ff160217905550600061144060046143f7565b60ff858116600081815260166020908152604080832094861680845285835281842054600160a060020a03908116855260118452828520600a0180548b86020190558480529583528184205460018552828520546002865283862054600387529584902054600954600b548651948b168552928a169684019690965295881682850152949096166060870152608086015260a085019390935260c084015260e0830152519192507f2f98ff421005528ae54878e79cbdf621bcb9d0d49991804ec8c3cdb6fe5413fe91908190036101000190a1505b50505050565b600f5460ff1615611564576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff16156115ba576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b6115c382613cd4565b336000908152601160205260409020600a015481111561161b576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b60008111611699576040805160e560020a62461bcd02815260206004820152602b60248201527f506c6561736520656e74657220746865206e756d626572206f6620455448732060448201527f746f207769746864726177000000000000000000000000000000000000000000606482015290519081900360840190fd5b33600081815260116020526040808220600a01805485900390555183156108fc0291849190818181858888f193505050501580156116db573d6000803e3d6000fd5b50604080513381526020810183905281517f91c68801c19dfededbe039bdbaabdc8e56d54e971878956d55114e66596c8278929181900390910190a15050565b600f5460009060ff1615611767576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff16156117bd576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b600160a060020a03841660009081526007602090815260408083203384529091529020548211156117ed57600080fd5b600160a060020a0384166000908152600760209081526040808320338452909152902080548390039055611822848484614427565b61182b33613b6e565b5060019392505050565b6001811515148015611877575033737d0e7baebb4010c839f3e0f36373e7941792adea148061187757503373d8d8def8b1584a2b35c6243d2cc04d851e534e37145b156118a457600160a060020a0382166000908152601260205260409020805460ff19166001179055610fc6565b33737d0e7baebb4010c839f3e0f36373e7941792adea141561191a5760005460ff1615156118de576000805460ff19166002179055611915565b60005460ff166003141561191557600160a060020a0382166000908152601260205260408120805460ff1990811690915581541690555b610fc6565b3373d8d8def8b1584a2b35c6243d2cc04d851e534e371415610fc65760005460ff161515611954576000805460ff19166003179055610fc6565b60005460ff1660021415610fc65750600160a060020a03166000908152601260205260408120805460ff199081169091558154169055565b600f5460ff16156119d5576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615611a2b576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b611a3482613cd4565b33600090815260066020526040902054811115611a9b576040805160e560020a62461bcd02815260206004820152601860248201527f596f75722042575320697320696e73756666696369656e740000000000000000604482015290519081900360640190fd5b336000908152601160205260409020600501541515611ad85733600090815260066020526040902054600a90048111611ad357600080fd5b611d2e565b6009546a31a17e847807b1bc00000011611b88576040805160e560020a62461bcd02815260206004820152604260248201527f46697373696f6e2066756e64732061726520696e616465717561746520746f2060448201527f706f7374706f6e6520666f726569676e2065786368616e6765207472616e736660648201527f6572000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b6009546a31a17e847807b1bc00000003611bb3600782046004026a31a17e847807b1bc000000610c57565b9050611bc3600e54600954610c57565b8111611bce57600080fd5b611be581611be0600e54600954610c57565b610c41565b9050818111611c3e576040805160e560020a62461bcd02815260206004820152601e60248201527f496e6164657175617465207472616e7366657261626c6520616d6f756e740000604482015290519081900360640190fd5b336000908152601160205260409020600801546201518067ffffffffffffffff909116420310611c7c57336000908152601160205260408120600901555b33600090815260116020526040902060090154611c999083610c57565b33600090815260116020526040902060050154600a90041015611d2c576040805160e560020a62461bcd02815260206004820152602e60248201527f596f75206861766520696e73756666696369656e74207472616e73666572206160448201527f7574686f7269747920746f646179000000000000000000000000000000000000606482015290519081900360840190fd5b505b33600090815260066020526040902054611d489082610c41565b33600090815260066020908152604080832093909355601190522060040154611d719082610c57565b33600081815260116020526040902060040191909155611d90906145c4565b611d9c600e5482610c57565b600e819055604080513381526020810184905280820192909252517f1dcb7aa4ecefda1fc0194919e37d258611e905aaa783a6044c9ff3495b2727389181900360600190a1610fc633613b6e565b33737d0e7baebb4010c839f3e0f36373e7941792adea1415611e425760005460ff161515611e24576000805460ff19166002179055610fc6565b60005460ff1660031415611e3d576000805460ff191690555b611e95565b3373d8d8def8b1584a2b35c6243d2cc04d851e534e371415611e955760005460ff161515611e7c576000805460ff19166003179055610fc6565b60005460ff1660021415611e95576000805460ff191690555b611ea160085482610c41565b600855600160a060020a038216600090815260066020526040902054611ec79082610c57565b600160a060020a0383166000908152600660205260409020555050565b600c5481565b600f5460ff1615611f33576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615611f89576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b611f9282613cd4565b33600090815260116020526040902060040154811115611ffc576040805160e560020a62461bcd02815260206004820152601860248201527f596f75722042575320697320696e73756666696369656e740000000000000000604482015290519081900360640190fd5b336000908152601160205260409020600601546201518067ffffffffffffffff9091164203111561203b57336000908152601160205260408120600701555b3360009081526011602052604090206005810154600790910154600a909104908190612068908490610c57565b11156120e4576040805160e560020a62461bcd02815260206004820152602360248201527f596f75206469646e27742073656c6c20656e6f756768206f6e2074686174206460448201527f61792e0000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60006120ef83614623565b905060698104606402905080600a541015151561217c576040805160e560020a62461bcd02815260206004820152602360248201527f5468652073797374656d20646f6573206e6f74206861766520656e6f7567682060448201527f4554480000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152601160205260409020600401546121999084610c41565b3360009081526011602052604090206004810191909155600a01546121c49060648304605f02610c57565b336000908152601160205260409020600a90810191909155546121e79082610c41565b600a556009546121f79084610c57565b60095533600090815260116020526040902060068101805467ffffffffffffffff19164267ffffffffffffffff16179055600701546122369084610c57565b33600090815260116020526040902060070155600b54606482049061225e9060058302610c57565b600b55600e54841161227857600e8054859003905561227e565b6000600e555b61228a600d5485610c57565b600d55600954600a546040805133815260208101889052808201939093526060830191909152517f1b36a9e0a112b5461bc124151a994ceeeecaee580002d8d781ce8c054e9c76d49181900360800190a1600c8054850190556122eb61465f565b6122f433613b6e565b5050505050565b6015816005811061230857fe5b60109182820401919006600202915054906101000a900461ffff1681565b60045460ff1681565b600d5481565b600160a060020a0381166000908152601160205260408120600481015460058201546006909201548392839283928392906201518067ffffffffffffffff90911642031161239e57600160a060020a0388166000908152601160205260409020600701546123a1565b60005b600160a060020a0389166000908152601160205260409020600801546201518067ffffffffffffffff9091164203116123f557600160a060020a0389166000908152601160205260409020600901546123f8565b60005b600160a060020a03999099166000908152601160205260409020600a0154929991989097509550909350915050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d0d5780601f10610ce257610100808354040283529160200191610d0d565b60085481565b60066020526000908152604090205481565b600f5460ff16156124e2576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615612538576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b60008111801561254f5750662386f26fc100008111155b15156125a5576040805160e560020a62461bcd02815260206004820152601e60248201527f42757920757020746f2031302c3030302042575320617420612074696d650000604482015290519081900360640190fd5b6125ae82613cd4565b600954811115612608576040805160e560020a62461bcd02815260206004820152601560248201527f496e73756666696369656e7420706f6f6c5f4257530000000000000000000000604482015290519081900360640190fd5b600034111561264257336000908152601160205260409020600a015461262e9034610c57565b336000908152601160205260409020600a01555b600061264d82614623565b336000908152601160205260409020600a01549091508111156126a8576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b336000908152601160205260409020600a01546126c59082610c41565b336000908152601160205260409020600a01556009546126e59083610c41565b600955336000908152601160205260409020600401546127059083610c57565b33600081815260116020526040902060040191909155612724906145c4565b600a54606982049061273990605a8302610c57565b600a55600b5461274c9060058302610c57565b600b5561275c33600a8302614171565b612768600d5484610c57565b600d55600e546127789084610c57565b600e55600954600b54600a5460408051338152602081018890528082019490945260608401929092526080830152517f2f54c94fee27bd438cfde1da66083072f5b32b86be24cad0e550c360a4be522d9181900360a00190a1600c8054840190556127e161465f565b61151533613b6e565b60095481565b600b5481565b600f5460ff161561283f576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615612895576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b61289e82613cd4565b600560ff8216106128ae57600080fd5b33600090815260116020526040902054600160a060020a0316151561291d576040805160e560020a62461bcd02815260206004820152601b60248201527f596f7520686176656e27742072656769737465726564207965742e0000000000604482015290519081900360640190fd5b612925614bc0565b60a060405190810160405280662386f26fc10000815260200166b1a2bc2ec50000815260200167016345785d8a000081526020016706f05b59d3b200008152602001670de0b6b3a7640000815250905060003411156129af57336000908152601160205260409020600a015461299b9034610c57565b336000908152601160205260409020600a01555b8060ff8316600581106129be57fe5b6020908102919091015133600090815260119092526040909120600a01541015612a20576040805160e560020a62461bcd0281526020600482015260186024820152600080516020614c80833981519152604482015290519081900360640190fd5b8060ff831660058110612a2f57fe5b60209081029190910151336000908152601190925260408220600a9081018054929092039091558260ff851660058110612a6557fe5b6020020151811515612a7357fe5b049050612a803382614171565b612a8c600b5482610c57565b600b55612a9833613b6e565b60ff83166000818152601460205260408120339290919060159060058110612abc57fe5b601081049190910154600f9091166002026101000a900461ffff1681526020810191909152604001600020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790557fe64884bd7a45bb90ca18cb82c53c7b05000c5a8d7db4251ec0ee533c1ce3031633601560ff861660058110612b4457fe5b601091828204019190066002029054906101000a900461ffff1685600501612b7733878960ff1660058110151561134357fe5b600954600e5460408051600160a060020a03909716875261ffff909516602087015260ff909316858501526060850191909152608084015260a0830152519081900360c00190a1601560ff841660058110612bce57fe5b60108104919091018054600f9092166002026101000a61ffff8181021984169382900481166001011602919091179055600a601560ff851660058110612c1057fe5b601091828204019190066002029054906101000a900461ffff1661ffff16811515612c3757fe5b0661ffff166000148015612c745750601560ff841660058110612c5657fe5b601081049190910154600f9091166002026101000a900461ffff1615155b15612d5e57336000908152601160205260409020600a0154612cac908360ff861660058110612c9f57fe5b6020020151600202610c57565b336000818152601160205260409020600a01919091557f3530dc5eb17b23d959667ca4a171d2ed309a35081da736e9e7acbcda9fecd5c1906001601560ff871660058110612cf657fe5b6010810490910154600954600b5460408051600160a060020a03909716875261ffff6002600f909616959095026101000a909304841694909403909216602085015260ff60058901168482015260608401919091526080830191909152519081900360a00190a15b601560ff841660058110612d6e57fe5b601091828204019190066002029054906101000a900461ffff1661ffff166103e81415611515576000601560ff851660058110612da757fe5b601091828204019190066002026101000a81548161ffff021916908361ffff1602179055506000612dd96103e86143f7565b90508260ff851660058110612dea57fe5b6020908102919091015160ff8616600081815260148452604080822061ffff87168084528187528284208054600160a060020a03908116865260118952938520600a018054610258909802909701909655909252935290547f3530dc5eb17b23d959667ca4a171d2ed309a35081da736e9e7acbcda9fecd5c192169060019060159060058110612e7657fe5b6010810490910154600954600b5460408051600160a060020a03909716875261ffff6002600f909616959095026101000a909304841694909403909216602085015260ff600a8a01168482015260608401919091526080830191909152519081900360a00190a15050505050565b600f5460ff1615612f2d576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615612f83576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b612f8c81613cd4565b336000908152601160205260409020600a0154612fa99034610c57565b33600081815260116020908152604091829020600a01939093558051918252349282019290925281517fdbacb5474fc2429588a88386c84aca694c1cf32578ec8b8886e7d921881bd067929181900390910190a150565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d0d5780601f10610ce257610100808354040283529160200191610d0d565b600e5481565b60018115151480156130a3575033737d0e7baebb4010c839f3e0f36373e7941792adea14806130a357503373d8d8def8b1584a2b35c6243d2cc04d851e534e37145b156130ba57600f805460ff1916600117905561317d565b33737d0e7baebb4010c839f3e0f36373e7941792adea141561311e5760005460ff1615156130f4576000805460ff19166002179055613119565b60005460ff166003141561311957600f805460ff199081169091556000805490911690555b61317d565b3373d8d8def8b1584a2b35c6243d2cc04d851e534e37141561317d5760005460ff161515613158576000805460ff1916600317905561317d565b60005460ff166002141561317d57600f805460ff199081169091556000805490911690555b50565b600080516020614c2083398151915254600160a060020a03908116600090815260116020526040902054163314806131e15750600080516020614c0083398151915254600160a060020a039081166000908152601160205260409020541633145b151561325c576040805160e560020a62461bcd028152602060048201526024808201527f4f6e6c792041646d696e6973747261746f727320416c6c6f77204f706572617460448201527f696f6e7300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54600080516020614c2083398151915254600160a060020a03166000908152601160205260409020600a9081015460029092049160058304918304906132a49082610c57565b600080516020614c208339815191528054600160a060020a03908116600090815260116020526040808220600a0194909455915416815220600301546132ea9082610c57565b600080516020614c2083398151915254600160a060020a0390811660009081526011602052604080822060030193909355600080516020614c0083398151915254909116815220600a015461333f9082610c57565b600080516020614c008339815191528054600160a060020a03908116600090815260116020526040808220600a0194909455915416815220600301546133859082610c57565b600080516020614c008339815191528054600160a060020a0390811660009081526011602052604080822060030194909455600e54925482168152838120600490810154600080516020614c20833981519152549093168252938120840154600590970490930295678ac7230489e800009203030190811161340657600080fd5b620f424081048481151561341657fe5b04935060025b60135463ffffffff908116908216116134fc5763ffffffff8116600090815260106020908152604080832054600160a060020a03168352601190915290206004015461346f908690620f42409004610c6a565b63ffffffff8216600090815260106020908152604080832054600160a060020a0316835260119091529020600a01549093506134ab9084610c57565b63ffffffff821660009081526010602090815260408083208054600160a060020a0390811685526011909352818420600a01949094559254168152206003018054840190559282019260010161341c565b50600b805484900390819055600e546040805167ffffffffffffffff421681526020810192909252818101879052606082019290925290517f1644b707b6c6fec985d9378f94fb552258f95ad76a7d93facdde1ca42b0846bc9181900360800190a150505050565b60008080600160a060020a038416151561357d57600080fd5b600160a060020a038481166000908152601160205260409020541615156135ee576040805160e560020a62461bcd02815260206004820152601b60248201527f596f7520686176656e27742072656769737465726564207965742e0000000000604482015290519081900360640190fd5b600160a060020a03841660009081526011602052604081206001015463ffffffff16925082111561369a575060015b63ffffffff808316600090815260106020908152604080832054600160a060020a03168352601190915281205460e060020a9004909116111561369a5763ffffffff918216600090815260106020908152604080832054600160a060020a03168352601190915290205460e060020a90049091169060010161361d565b9150505b919050565b3360009081526012602052604090205460ff16156136f9576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b613704338383614427565b610fc633613b6e565b6017816005811061371a57fe5b60209182820401919006915054906101000a900460ff1681565b600a5481565b60135463ffffffff1681565b600160a060020a038116600090815260116020526040812054819081908190819061378e9074010000000000000000000000000000000000000000900463ffffffff166148c6565b600160a060020a0387166000908152601160205260409020546137bd9060c060020a900463ffffffff166148c6565b600160a060020a0397909716600090815260116020526040902060018101546002820154600390920154929964010000000090910463ffffffff169750909550909350915050565b600760209081526000928352604080842090915290825290205481565b601354600f64010000000090910460ff16111561383e57600080fd5b8560106000601360049054906101000a900460ff1660ff1663ffffffff16815260200190815260200160002060006101000a815481600160a060020a030219169083600160a060020a031602179055506101e06040519081016040528087600160a060020a03168152602001601360049054906101000a900460ff1660ff1663ffffffff1681526020018663ffffffff168152602001600063ffffffff168152602001600063ffffffff1681526020018563ffffffff16815260200160008152602001848152602001838152602001838152602001600067ffffffffffffffff16815260200160008152602001600067ffffffffffffffff16815260200160008152602001828152506011600088600160a060020a0316600160a060020a0316815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001601c6101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160006101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160010160046101000a81548163ffffffff021916908363ffffffff16021790555060c0820151816002015560e08201518160030155610100820151816004015561012082015181600501556101408201518160060160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061016082015181600701556101808201518160080160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101a082015181600901556101c082015181600a0155905050601360049054906101000a900460ff1660ff16600f1415613b4057600f805460ff191681556013805463ffffffff191690911790555b505060138054600160ff640100000000808404821692909201160264ff000000001990911617905550505050565b6013805463ffffffff790100000000000000000000000000000000000000000000000000808304821660018101909216027fffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffff83161790925560408051600160a060020a03650100000000009093048316602080830191909152928516818301524340606082018190526080808301959095528251808303909501855260a0909101918290528351909360039390929182918401908083835b60208310613c455780518252601f199092019160209182019101613c26565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015613c84573d6000803e3d6000fd5b505050604051516c01000000000000000000000000026c010000000000000000000000009004601360056101000a815481600160a060020a030219169083600160a060020a031602179055505050565b33600090815260116020526040902054600160a060020a031615613cf75761317d565b600f5460ff1615613d40576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff1615613d96576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b600080613da283614a2c565b905060008163ffffffff1610158015613dc7575060135463ffffffff90811690821611155b1515613e1d576040805160e560020a62461bcd02815260206004820152601960248201527f5265636f6d6d656e6465727320646f206e6f7420657869737400000000000000604482015290519081900360640190fd5b6013805463ffffffff198116600163ffffffff92831681018316919091178084558216600090815260106020818152604080842080543373ffffffffffffffffffffffffffffffffffffffff19918216811790925581865260118085528387208054909216909217808255985477ffffffff0000000000000000000000000000000000000000199099169888167401000000000000000000000000000000000000000002989098177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff1660c060020a8a89169081029190911790985596845291815281832054600160a060020a03168352949094529290922090910154161515613f685760135463ffffffff828116600090815260106020908152604080832054600160a060020a0316835260119091529020600101805463ffffffff191691909216179055614073565b63ffffffff808216600090815260106020908152604080832054600160a060020a0316835260119091529020600101541691505b63ffffffff808316600090815260106020908152604080832054600160a060020a03168352601190915281205460e060020a900490911611156140165763ffffffff918216600090815260106020908152604080832054600160a060020a03168352601190915290205460e060020a900490911690613f9c565b60135463ffffffff838116600090815260106020908152604080832054600160a060020a031683526011909152902080547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169190921660e060020a021790555b90508060005b60058163ffffffff16101561412b5763ffffffff838116600081815260106020908152604080832054600160a060020a03168352601190915290206001908101805467ffffffff000000001981166401000000009182900486169093019094169093021790915515156140eb5761412b565b63ffffffff928316600090815260106020908152604080832054600160a060020a03168352601190915290205460c060020a900490921691600101614079565b506040805133815263ffffffff8516602082015281517f3d90c2f389c8fccb4712668b0028124cc0f179954d854ccef5602edd8cc2cdee929181900390910190a1505050565b600160a060020a0382811660009081526011602081815260408084205460c060020a900463ffffffff16808552601083528185205490951684529190529020600a015460098304906141c69060058302610c57565b63ffffffff831660009081526010602090815260408083208054600160a060020a0390811685526011909352818420600a0194909455925416815220600201546142139060058302610c57565b63ffffffff8316600090815260106020908152604080832054600160a060020a0316835260119091528120600201919091555b60048163ffffffff1610156122f45763ffffffff928316600090815260106020818152604080842054600160a060020a03908116855260118084528286205460c060020a900490981680865293835281852054168452959052939020600a01546142b09083610c57565b63ffffffff841660009081526010602090815260408083208054600160a060020a0390811685526011909352818420600a0194909455925416815220600201546142fa9083610c57565b63ffffffff8416600090815260106020908152604080832054600160a060020a031683526011909152902060020155600101614246565b6000600160a060020a038316151561434857600080fd5b6000821161435557600080fd5b600c54600a83049060009064e8d4a5100090048281151561437257fe5b049050806009541015156143ec57600980548290039055600160a060020a0385166000908152601160205260409020600401546143af9082610c57565b600160a060020a0386166000908152601160205260409020600401556143d4856145c4565b6143e0600e5482610c57565b600e559150610c519050565b506000949350505050565b60135460009063ffffffff831690650100000000009004600160a060020a031681151561442057fe5b0692915050565b600f5460ff1615614470576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020614c60833981519152604482015290519081900360640190fd5b3360009081526012602052604090205460ff16156144c6576040805160e560020a62461bcd0281526020600482015260196024820152600080516020614c40833981519152604482015290519081900360640190fd5b600160a060020a03821615156144db57600080fd5b600160a060020a03831660009081526006602052604090205481111561450057600080fd5b600160a060020a0382166000908152600660205260409020548181011161452657600080fd5b600160a060020a038083166000818152600660209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a0380841660009081526006602052604080822054928716825290205401811461151557fe5b600160a060020a03811615156145d657fe5b600160a060020a03811660009081526011602052604090206005810154600490910154111561317d57600160a060020a031660009081526011602052604090206004810154600590910155565b600080821161462e57fe5b600c5464e8d4a51000900460646069848302810282900491839186919084040281151561465757fe5b041461369a57fe5b600d5460009061466d614bdf565b6101406040519081016040528067016345785d8a00008152602001670de0b6b3a76400008152602001678ac7230489e80000815260200168056bc75e2d631000008152602001683635c9adc5dea00000815260200169021e19e0c9bab2400000815260200169152d02c7e14af6800000815260200169d3c21bcecceda100000081526020016a084595161401484a00000081526020016a52b7d2dcc80cd2e4000000815250905061471c614bdf565b5060408051610140810182526127108152614e20602082015261f42491810191909152620186a0606082015262030d406080820152620f424060a0820152621e848060c08201526298968060e08201526301312d006101008201526305f5e10061012082015261478a614bdf565b50604080516101408101825264e8d4a510008152650574fbde6000602082015265246139ca800091810191909152655af3107a40006060820152660221b262dd80006080820152661057acf5f7800060a082015266221b262dd8000060c082015266b036efecdc000060e0820152670161d9ac1ba100006101008201526706f036f899e7800061012082015260005b600a8163ffffffff161015614895578363ffffffff8216600a811061483a57fe5b602002015185101561488d578163ffffffff8216600a811061485857fe5b60200201518363ffffffff8316600a811061486f57fe5b602002015163ffffffff168681151561488457fe5b04019550614895565b600101614819565b508415156148b157630bebc20084046710a71d4328ad80000194505b6148bc856064610c6a565b600c555050505050565b6000627fffff63ffffffff8316111561494e576040805160e560020a62461bcd028152602060048201526024808201527f4d6178696d756d2049442073686f756c64206e6f74206578636565642038333860448201527f3836303700000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008281600463ffffffff8316101561496a57600292506149e6565b600f63ffffffff86161161498157600792506149e6565b60ff63ffffffff86161161499857600692506149e6565b610fff63ffffffff8616116149b057600592506149e6565b61ffff63ffffffff8616116149c857600492506149e6565b620fffff63ffffffff8616116149e157600392506149e6565b600292505b5063ffffffff82166280000081029060021415614a0557849150614a24565b6001600284036004020363ffffffff168563ffffffff169060020a0291505b179392505050565b600061020063ffffffff8084169182029162800000900490811660021415614b9c578363ffffffff1663010000001415614a6b5760009250505061369e565b8363ffffffff1663010000011415614a885760019250505061369e565b8363ffffffff1663010000021415614aa55760029250505061369e565b8363ffffffff1663010000031415614ac25760039250505061369e565b63018800008463ffffffff1610158015614ae557506303f800008463ffffffff16105b1515614b87576040805160e560020a62461bcd02815260206004820152604260248201527f496c6c6567616c20706172616d657465722c20706172616d6574657220706f7360448201527f6974696f6e206d7573742062652067726561746572207468616e20313020626960648201527f7473000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61020063ffffffff9092169190910490614bb9565b63ffffffff6008600460011984010201811660020a921691909104905b5092915050565b60a0604051908101604052806005906020820280388339509192915050565b61014060405190810160405280600a90602082028038833950919291505056fe8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b5f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb01596f752068617665206265656e20626c61636b6c6973746564000000000000005468652073797374656d20686173206265656e2066726f7a656e000000000000596f75722045544820697320696e73756666696369656e740000000000000000a165627a7a72305820354bd7eca8a8a4c066c511c7e1463201bfab7243cee71d04fc3dd7a09602a79c0029
Deployed Bytecode Sourcemap
36:31899:0:-;;;;;;;;-1:-1:-1;;;36:31899:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5986:9;;;;5985:10;5977:48;;;;;-1:-1:-1;;;;;5977:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5977:48:0;;;;;;;;;;;;;;;6058:10;6044:25;;;;:13;:25;;;;;;;;:33;6036:71;;;;;-1:-1:-1;;;;;6036:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6036:71:0;;;;;;;;;;;;;;;6120:18;6162:1;6152:9;:11;6149:1436;;;6208:14;6192:13;;:30;6189:207;;;-1:-1:-1;6269:12:0;6189:207;;;6361:13;;6376:1;;6361:16;6379:1;6361:19;6348:32;;6189:207;6412:11;6449:7;6437:10;:19;6424:9;:33;;;;;;;;6412:45;;6492:3;6475:13;;:20;;6472:1102;;;6545:27;6554:13;;6568:3;6545:8;:27::i;:::-;6529:13;:43;6634:10;6624:21;;;;:9;:21;;;;;;6615:35;;6646:3;6615:8;:35::i;:::-;6601:10;6591:21;;;;:9;:21;;;;;;;;:59;;;;-1:-1:-1;;;;;;;;;;;6721:13:0;-1:-1:-1;;;;;6721:13:0;6710:25;;:10;:25;;;:29;;;6701:51;;6750:1;6740:9;:11;;6701:8;:51::i;:::-;-1:-1:-1;;;;;;;;;;;6682:13:0;-1:-1:-1;;;;;6682:13:0;;;6671:25;;;;:10;6682:13;6671:25;6682:13;6671:25;;;:29;;;;:81;;;;-1:-1:-1;;;;;;;;;;;6821:13:0;;;;6810:25;;;:29;;6801:51;;6850:1;6840:9;:11;;6801:51;-1:-1:-1;;;;;;;;;;;6782:13:0;-1:-1:-1;;;;;6782:13:0;6771:25;;;;:10;6782:13;6771:25;;;6782:13;6771:25;;;;:29;;:81;;;;6878:47;;6899:10;6878:47;;;;;;;;;;;;;;;;;;;;;;;;6472:1102;;;6978:1;6963:13;;:16;6960:614;;;7013:11;7025:55;7052:13;7039:10;:26;7066:13;;7025;:55::i;:::-;-1:-1:-1;;;;;;;;;;;7151:13:0;-1:-1:-1;;;;;7151:13:0;7140:25;;;;:10;7151:13;7140:25;7151:13;7140:25;;:29;;;7013:67;;-1:-1:-1;7131:45:0;;7174:1;7013:67;7170:5;;7131:45;-1:-1:-1;;;;;;;;;;;7112:13:0;-1:-1:-1;;;;;7112:13:0;;;7101:25;;;;:10;7112:13;7101:25;7112:13;7101:25;;;:29;;;;:75;;;;-1:-1:-1;;;;;;;;;;;7245:13:0;;;;7234:25;;;:29;;7225:45;;7268:1;7264:3;:5;;7225:45;-1:-1:-1;;;;;;;;;;;7206:13:0;-1:-1:-1;;;;;7206:13:0;7195:25;;;;:10;7206:13;7195:25;7206:13;7195:25;;;:29;;:75;;;;7307:34;;:10;;7327:9;:13;;;7307:34;;;;;7327:13;;7307:34;7195:25;7307:34;7327:13;7307:10;:34;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7401:10:0;7391:21;;;;:9;:21;;;;;;7413:13;;7382:45;;7391:21;7382:8;:45::i;:::-;7370:10;7360:21;;;;:9;:21;;;;;:67;;;;7446:13;:15;-1:-1:-1;6960:614:0;;;7528:30;;:10;;7548:9;7528:30;;;;;;;;;7548:9;7528:10;:30;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7528:30:0;6960:614;6149:1436;;5932:1660;36:31899;308:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;308:45:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;308:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15048:340;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15048:340:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15048:340:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;430:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;430:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;18738:815;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18738:815:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18738:815:0;;;;;;;;;:::i;:::-;;24349:1810;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24349:1810:0;;;;;;;;;;;:::i;27789:557::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27789:557:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27789:557:0;;;;;;;;;:::i;14559:477::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14559:477:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14559:477:0;;;;;;;;;;;;;;;;;:::i;28352:879::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28352:879:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28352:879:0;;;;;;;;;;:::i;19559:1681::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19559:1681:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19559:1681:0;;;;;;;;;:::i;30071:812::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30071:812:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;30071:812:0;;;;;;;;:::i;885:41::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;885:41:0;;;:::i;16905:1824::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16905:1824:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16905:1824:0;;;;;;;;;:::i;22206:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22206:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22206:46:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;395:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;395:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;933:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:32:0;;;:::i;31361:571::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31361:571:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31361:571:0;-1:-1:-1;;;;;31361:571:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;259:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;259:42:0;;;:::i;745:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;745:28:0;;;:::i;480:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;480:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;480:45:0;-1:-1:-1;;;;;480:45:0;;:::i;15396:1503::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15396:1503:0;;;;;;;;;:::i;780:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;780:26:0;;;:::i;846:30::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;846:30:0;;;:::i;22265:1960::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22265:1960:0;;;;;;;;;;;:::i;5436:484::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5436:484:0;;;;:::i;361:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;361:26:0;;;:::i;972:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;972:32:0;;;:::i;29237:822::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29237:822:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29237:822:0;;;;:::i;26167:1608::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26167:1608:0;;;:::i;11636:597::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11636:597:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11636:597:0;-1:-1:-1;;;;;11636:597:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;14321:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14321:226:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14321:226:0;;;;;;;;:::i;24294:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24294:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24294:42:0;;:::i;813:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;813:26:0;;;:::i;1710:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1710:27:0;;;:::i;30889:466::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30889:466:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30889:466:0;-1:-1:-1;;;;;30889:466:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;532:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;532:66:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;532:66:0;;;;;;;;;;:::i;4227:1203::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4227:1203:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;4227:1203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9122:122::-;9183:7;9213:3;;;9206:11;;;;-1:-1:-1;9234:3:0;;;9122:122;;;;;:::o;8992:125::-;9053:7;9083:3;;;:6;-1:-1:-1;9083:6:0;9076:14;;;;-1:-1:-1;9107:3:0;;8992:125::o;8837:150::-;8902:7;8935:3;;;8937:1;8935;:3;8955;;;;;;;;:6;8948:14;;;;8979:1;8837:150;-1:-1:-1;;;8837:150:0:o;308:45::-;;;;;;;;;;;;;;-1:-1:-1;;308:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15048:340::-;15149:9;;15115:12;;15149:9;;15148:10;15140:48;;;;;-1:-1:-1;;;;;15140:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15140:48:0;;;;;;;;;;;;;;;15221:10;15207:25;;;;:13;:25;;;;;;;;:33;15199:71;;;;;-1:-1:-1;;;;;15199:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15199:71:0;;;;;;;;;;;;;;;15291:10;15281:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;15281:31:0;;;;;;;;;:40;;;15332:26;;:14;:26::i;:::-;-1:-1:-1;15376:4:0;15048:340;;;;:::o;430:42::-;;;;:::o;18738:815::-;18852:9;;;;18851:10;18843:48;;;;;-1:-1:-1;;;;;18843:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;18843:48:0;;;;;;;;;;;;;;;18924:10;18910:25;;;;:13;:25;;;;;;;;:33;18902:71;;;;;-1:-1:-1;;;;;18902:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;18902:71:0;;;;;;;;;;;;;;;18984:21;18993:11;18984:8;:21::i;:::-;19035:10;19024:22;;;;:10;:22;;;;;:26;;;:43;-1:-1:-1;19024:43:0;19016:79;;;;;-1:-1:-1;;;;;19016:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19157:10;19146:22;;;;:10;:22;;;;;:26;;;19137:50;;19173:13;19137:8;:50::i;:::-;19119:10;19108:22;;;;:10;:22;;;;;;;;:26;;:79;;;;19231:9;:21;;;;19222:45;;19253:13;19222:8;:45::i;:::-;19210:10;19200:21;;;;:9;:21;;;;;:67;19287:17;;:32;-1:-1:-1;19284:142:0;;19338:17;:32;;;;;;;19284:142;;;19425:1;19407:17;:19;19284:142;19490:17;;19444:64;;;19465:10;19444:64;;;;;;;;;;;;;;;;;;;;;;;;;19519:26;19534:10;19519:14;:26::i;:::-;18738:815;;:::o;24349:1810::-;24447:9;;;;24446:10;24438:48;;;;;-1:-1:-1;;;;;24438:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;24438:48:0;;;;;;;;;;;;;;;24519:10;24505:25;;;;:13;:25;;;;;;;;:33;24497:71;;;;;-1:-1:-1;;;;;24497:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;24497:71:0;;;;;;;;;;;;;;;24579:21;24588:11;24579:8;:21::i;:::-;24630:1;24620:11;;;;24611:21;;;;;;24663:10;24690:1;24652:22;;;:10;:22;;;;;:27;-1:-1:-1;;;;;24652:27:0;:40;;24644:79;;;;;-1:-1:-1;;;;;24644:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;24746:23;;:::i;:::-;:84;;;;;;;;;24779:10;24746:84;;;;24791:10;24746:84;;;;24802:9;24746:84;;;;24812:9;24746:84;;;;24822:7;24746:84;;;;;24865:1;24855:9;:11;24852:102;;;24928:10;24917:22;;;;:10;:22;;;;;:26;;;24908:46;;24944:9;24908:8;:46::i;:::-;24892:10;24881:22;;;;:10;:22;;;;;:26;;:73;24852:102;25002:5;:15;;;;;;;;;;;;;;;;;;;24984:10;24973:22;;;;:10;:22;;;;;;;:26;;;:44;24965:80;;;;;-1:-1:-1;;;;;24965:80:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;24965:80:0;;;;;;;;;;;;;;;25112:5;:15;;;;;;;;;;;;;;;;;;;25096:10;25085:22;;;;:10;:22;;;;;;:26;;;;;;:42;;;;25056:71;;;25152:5;:15;;;;;;;;;;;;;;:18;;;;;;;;25138:32;;25181:37;25201:10;25212:5;25181:19;:37::i;:::-;25245:31;25254:15;;25270:5;25245:8;:31::i;:::-;25229:15;:47;25287:26;25302:10;25287:14;:26::i;:::-;25324:18;;;;;;;:8;:18;;;;;25369:10;;25324:18;;;25343:14;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;25324:44;;;;;;;;;;;-1:-1:-1;25324:44:0;:55;;-1:-1:-1;;;;;25324:55:0;;;;-1:-1:-1;;25324:55:0;;;;;;;;;;25395:138;;25412:10;;25423:14;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;25448:8;25457:45;25475:10;25486:5;25492:8;25486:15;;;;;;;;;;;;;;;25457:17;:45::i;:::-;25503:11;;25515:17;;25395:138;;;-1:-1:-1;;;;;25395:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25554:14;:24;;;;;;;;;;;;;;;;:26;;;;:24;;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;25603:14;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;:27;;25629:1;25603:27;25600:552;;;25681:1;25656:14;:24;;;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;25697:9;25713:17;25728:1;25713:14;:17::i;:::-;25757:18;;;;25746:35;25757:18;;;:8;25796:2;25757:18;;;;;;;:23;;;;;;;;;;;;;-1:-1:-1;;;;;25757:23:0;;;25746:35;;:10;:35;;;;;:39;;:53;;25790:8;;;25746:53;;;25828:21;;;;;;;;;;-1:-1:-1;25873:21:0;;;;;;25937:1;25918:21;;;;;;25982:1;25963:21;;;;;;;26067:11;;26102:15;;25819:321;;25828:21;;;25819:321;;25873:21;;;25819:321;;;;;;;25918:21;;;25819:321;;;;25963:21;;;;25819:321;;;;;;;;;;;;;;;;;;;;;;;;25757:23;;-1:-1:-1;25819:321:0;;;;;;25757:23;25819:321;;;25600:552;;24349:1810;;;;:::o;27789:557::-;27885:9;;;;27884:10;27876:48;;;;;-1:-1:-1;;;;;27876:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;27876:48:0;;;;;;;;;;;;;;;27957:10;27943:25;;;;:13;:25;;;;;;;;:33;27935:71;;;;;-1:-1:-1;;;;;27935:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;27935:71:0;;;;;;;;;;;;;;;28017:21;28026:11;28017:8;:21::i;:::-;28068:10;28057:22;;;;:10;:22;;;;;:26;;;:37;-1:-1:-1;28057:37:0;28049:73;;;;;-1:-1:-1;;;;;28049:73:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;28049:73:0;;;;;;;;;;;;;;;28150:1;28141:10;;28133:65;;;;;-1:-1:-1;;;;;28133:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28220:10;28209:22;;;;:10;:22;;;;;;:26;;:37;;;;;;;28257:28;;;;;;28239:7;;28257:28;;28209:22;28257:28;28239:7;28220:10;28257:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;28301:37:0;;;28319:10;28301:37;;;;;;;;;;;;;;;;;;;;;27789:557;;:::o;14559:477::-;14676:9;;14641:12;;14676:9;;14675:10;14667:48;;;;;-1:-1:-1;;;;;14667:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14667:48:0;;;;;;;;;;;;;;;14748:10;14734:25;;;;:13;:25;;;;;;;;:33;14726:71;;;;;-1:-1:-1;;;;;14726:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14726:71:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14826:16:0;;;;;;:9;:16;;;;;;;;14843:10;14826:28;;;;;;;;14816:38;;;14808:47;;;;;;-1:-1:-1;;;;;14869:16:0;;;;;;:9;:16;;;;;;;;14886:10;14869:28;;;;;;;:38;;;;;;;14920:29;14879:5;14937:3;14901:6;14920:9;:29::i;:::-;14970:26;14985:10;14970:14;:26::i;:::-;-1:-1:-1;15024:4:0;14559:477;;;;;:::o;28352:879::-;28457:4;28441:20;;;;:80;;;;-1:-1:-1;28465:10:0;99:42;28465:24;;:55;;-1:-1:-1;28493:10:0;188:42;28493:27;28465:55;28438:168;;;-1:-1:-1;;;;;28547:21:0;;;;;;:13;:21;;;;;:26;;-1:-1:-1;;28547:26:0;28569:4;28547:26;;;28588:7;;28438:168;28619:10;99:42;28619:24;28616:608;;;28674:9;;;;:12;28671:227;;;28722:9;:11;;-1:-1:-1;;28722:11:0;28732:1;28722:11;;;28671:227;;;28773:9;;;;28784:1;28773:12;28770:128;;;-1:-1:-1;;;;;28821:21:0;;28845:5;28821:21;;;:13;:21;;;;;:29;;-1:-1:-1;;28821:29:0;;;;;;28870:11;;;;;28770:128;28616:608;;;28929:10;188:42;28929:28;28926:298;;;28988:9;;;;:12;28985:227;;;29036:9;:11;;-1:-1:-1;;29036:11:0;29046:1;29036:11;;;28985:227;;;29087:9;;;;29098:1;29087:12;29084:128;;;-1:-1:-1;;;;;;29135:21:0;29159:5;29135:21;;;:13;:21;;;;;:29;;-1:-1:-1;;29135:29:0;;;;;;29184:11;;;;;28352:879::o;19559:1681::-;19662:9;;;;19661:10;19653:48;;;;;-1:-1:-1;;;;;19653:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;19653:48:0;;;;;;;;;;;;;;;19734:10;19720:25;;;;:13;:25;;;;;;;;:33;19712:71;;;;;-1:-1:-1;;;;;19712:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;19712:71:0;;;;;;;;;;;;;;;19794:21;19803:11;19794:8;:21::i;:::-;19844:10;19834:21;;;;:9;:21;;;;;;:38;-1:-1:-1;19834:38:0;19826:74;;;;;-1:-1:-1;;;;;19826:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:10;19916:22;;;;:10;:22;;;;;:29;;;:33;19913:916;;;20010:10;20000:21;;;;:9;:21;;;;;;20022:2;;20000:24;19984:40;;19976:49;;;;;;19913:916;;;20086:11;;20099:14;-1:-1:-1;20078:105:0;;;;;-1:-1:-1;;;;;20078:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20232:11;;20215:14;:28;20263:33;20277:1;20215:28;20272:6;20279:1;20272:8;20281:14;20263:8;:33::i;:::-;20258:38;;20324:39;20333:17;;20351:11;;20324:8;:39::i;:::-;20319:44;;20311:53;;;;;;20384:54;20393:4;20398:39;20407:17;;20425:11;;20398:8;:39::i;:::-;20384:8;:54::i;:::-;20379:59;-1:-1:-1;20475:19:0;;;20467:62;;;;;-1:-1:-1;;;;;20467:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20562:10;20551:22;;;;:10;:22;;;;;:38;;;20592:5;20551:38;;;;20547:3;:42;:50;20544:96;;20609:10;20639:1;20598:22;;;:10;:22;;;;;:40;;:42;20544:96;20719:10;20708:22;;;;:10;:22;;;;;:40;;;20699:64;;20749:13;20699:8;:64::i;:::-;20674:10;20663:22;;;;:10;:22;;;;;:29;;;20693:2;;20663:32;:100;;20655:158;;;;;-1:-1:-1;;;;;20655:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19913:916;;20880:10;20870:21;;;;:9;:21;;;;;;20861:45;;20892:13;20861:8;:45::i;:::-;20849:10;20839:21;;;;:9;:21;;;;;;;;:67;;;;20953:10;:22;;;:26;;;20944:50;;20980:13;20944:8;:50::i;:::-;20928:10;20917:22;;;;:10;:22;;;;;:26;;:77;;;;21005:30;;:18;:30::i;:::-;21064:41;21073:17;;21091:13;21064:8;:41::i;:::-;21046:17;:59;;;21131:64;;;21152:10;21131:64;;;;;;;;;;;;;;;;;;;;;;;;;21206:26;21221:10;21206:14;:26::i;30071:812::-;30175:10;99:42;30175:24;30172:562;;;30230:9;;;;:12;30227:204;;;30278:9;:11;;-1:-1:-1;;30278:11:0;30288:1;30278:11;;;30309:7;;30227:204;30355:9;;;;30366:1;30355:12;30352:79;;;30413:1;30403:11;;-1:-1:-1;;30403:11:0;;;30352:79;30172:562;;;30462:10;188:42;30462:28;30459:275;;;30521:9;;;;:12;30518:204;;;30569:9;:11;;-1:-1:-1;;30569:11:0;30579:1;30569:11;;;30600:7;;30518:204;30646:9;;;;30657:1;30646:12;30643:79;;;30704:1;30694:11;;-1:-1:-1;;30694:11:0;;;30643:79;30759:37;30768:13;;30782;30759:8;:37::i;:::-;30745:13;:51;-1:-1:-1;;;;;30839:21:0;;;;;;:9;:21;;;;;;30830:45;;30861:13;30830:8;:45::i;:::-;-1:-1:-1;;;;;30808:21:0;;;;;;:9;:21;;;;;:67;30071:812;;:::o;885:41::-;;;;:::o;16905:1824::-;16995:9;;;;16994:10;16986:48;;;;;-1:-1:-1;;;;;16986:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;16986:48:0;;;;;;;;;;;;;;;17067:10;17053:25;;;;:13;:25;;;;;;;;:33;17045:71;;;;;-1:-1:-1;;;;;17045:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;17045:71:0;;;;;;;;;;;;;;;17127:21;17136:11;17127:8;:21::i;:::-;17178:10;17167:22;;;;:10;:22;;;;;:26;;;:39;-1:-1:-1;17167:39:0;17159:75;;;;;-1:-1:-1;;;;;17159:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17263:10;17252:22;;;;:10;:22;;;;;:35;;;17290:5;17252:35;;;;17248:3;:39;:47;17245:104;;;17321:10;17348:1;17310:22;;;:10;:22;;;;;:37;;:39;17245:104;17390:10;17360:18;17379:22;;;:10;:22;;;;;:29;;;;17451:37;;;;;17409:2;17379:32;;;;;;17430:59;;17439:9;;17430:8;:59::i;:::-;:73;;17422:120;;;;;-1:-1:-1;;;;;17422:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17563:13;17577:27;17594:9;17577:16;:27::i;:::-;17563:41;-1:-1:-1;17627:3:0;17563:41;17621:9;17631:3;17621:13;17615:19;;17672:5;17657:11;;:20;;17649:67;;;;;;;-1:-1:-1;;;;;17649:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17776:10;17765:22;;;;:10;:22;;;;;:26;;;17756:46;;17792:9;17756:8;:46::i;:::-;17738:10;17727:22;;;;:10;:22;;;;;:26;;;:75;;;;17849:26;;;17840:49;;17882:3;17876:5;:9;17886:2;17876:12;17840:8;:49::i;:::-;17824:10;17813:22;;;;:10;:22;;;;;:26;;;;:76;;;;17921:11;17912:27;;17933:5;17912:8;:27::i;:::-;17900:11;:39;17971:11;;17962:31;;17983:9;17962:8;:31::i;:::-;17950:11;:43;18019:10;18008:22;;;;:10;:22;;;;;:35;;;:47;;-1:-1:-1;;18008:47:0;18051:3;18008:47;;;;;18113:37;;;18104:57;;18151:9;18104:8;:57::i;:::-;18077:10;18066:22;;;;:10;:22;;;;;:37;;:95;18242:15;;18201:3;18195:9;;;18233:38;;18269:1;18258:12;;18233:8;:38::i;:::-;18217:15;:54;18309:17;;:28;-1:-1:-1;18306:134:0;;18356:17;:28;;;;;;;18306:134;;;18439:1;18421:17;:19;18306:134;18479:37;18488:17;;18506:9;18479:8;:37::i;:::-;18461:17;:55;18565:11;;18577;;18532:57;;;18544:10;18532:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18626:13;;;:23;;18610:39;;18660:19;:17;:19::i;:::-;18690:26;18705:10;18690:14;:26::i;:::-;16905:1824;;;;;:::o;22206:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;395:26::-;;;;;;:::o;933:32::-;;;;:::o;31361:571::-;-1:-1:-1;;;;;31646:14:0;;31449:11;31646:14;;;:10;:14;;;;;:18;;;;31679:21;;;;31720:27;;;;;31449:11;;;;;;;;31679:21;31749:5;31720:27;;;;31716:3;:31;:38;31715:72;;-1:-1:-1;;;;;31758:14:0;;;;;;:10;:14;;;;;:29;;;31715:72;;;31756:1;31715:72;-1:-1:-1;;;;;31807:14:0;;;;;;:10;:14;;;;;:30;;;31839:5;31807:30;;;;31803:3;:34;:41;31802:78;;-1:-1:-1;;;;;31848:14:0;;;;;;:10;:14;;;;;:32;;;31802:78;;;31846:1;31802:78;-1:-1:-1;;;;;31895:14:0;;;;;;;;:10;:14;;;;;:18;;;31624:300;;;;;;-1:-1:-1;31624:300:0;-1:-1:-1;31895:18:0;;-1:-1:-1;31361:571:0;-1:-1:-1;;31361:571:0:o;259:42::-;;;;;;;;;;;;;;;-1:-1:-1;;259:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;745:28;;;;:::o;480:45::-;;;;;;;;;;;;;:::o;15396:1503::-;15493:9;;;;15492:10;15484:48;;;;;-1:-1:-1;;;;;15484:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15484:48:0;;;;;;;;;;;;;;;15565:10;15551:25;;;;:13;:25;;;;;;;;:33;15543:71;;;;;-1:-1:-1;;;;;15543:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15543:71:0;;;;;;;;;;;;;;;15643:1;15633:9;:11;:37;;;;;15659:11;15648:9;:22;;15633:37;15625:79;;;;;;;-1:-1:-1;;;;;15625:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15715:21;15724:11;15715:8;:21::i;:::-;15755:11;;:22;-1:-1:-1;15755:22:0;15747:55;;;;;-1:-1:-1;;;;;15747:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15826:1;15816:9;:11;15813:102;;;15889:10;15878:22;;;;:10;:22;;;;;:26;;;15869:46;;15905:9;15869:8;:46::i;:::-;15853:10;15842:22;;;;:10;:22;;;;;:26;;:73;15813:102;15926:13;15940:27;15957:9;15940:16;:27::i;:::-;15997:10;15986:22;;;;:10;:22;;;;;:26;;;15926:41;;-1:-1:-1;15986:33:0;-1:-1:-1;15986:33:0;15978:69;;;;;-1:-1:-1;;;;;15978:69:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15978:69:0;;;;;;;;;;;;;;;16107:10;16096:22;;;;:10;:22;;;;;:26;;;16087:42;;16123:5;16087:8;:42::i;:::-;16069:10;16058:22;;;;:10;:22;;;;;:26;;:71;16163:11;;16154:32;;16176:9;16154:8;:32::i;:::-;16140:11;:46;16246:10;16235:22;;;;:10;:22;;;;;:26;;;16226:47;;16263:9;16226:8;:47::i;:::-;16208:10;16197:22;;;;:10;:22;;;;;:26;;:76;;;;16284:30;;:18;:30::i;:::-;16395:11;;16360:3;16354:9;;;16386:35;;16418:2;16407:13;;16386:8;:35::i;:::-;16374:11;:47;16457:15;;16448:38;;16484:1;16473:12;;16448:8;:38::i;:::-;16432:15;:54;16497:45;16517:10;16539:2;16528:13;;16497:19;:45::i;:::-;16580:37;16589:17;;16607:9;16580:8;:37::i;:::-;16562:17;:55;16657:17;;16648:37;;16675:9;16648:8;:37::i;:::-;16630:17;:55;16735:11;;16747:15;;16763:11;;16703:72;;;16714:10;16703:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16802:13;;;:23;;16786:39;;16836:19;:17;:19::i;:::-;16865:26;16880:10;16865:14;:26::i;780:::-;;;;:::o;846:30::-;;;;:::o;22265:1960::-;22366:9;;;;22365:10;22357:48;;;;;-1:-1:-1;;;;;22357:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;22357:48:0;;;;;;;;;;;;;;;22438:10;22424:25;;;;:13;:25;;;;;;;;:33;22416:71;;;;;-1:-1:-1;;;;;22416:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;22416:71:0;;;;;;;;;;;;;;;22498:21;22507:11;22498:8;:21::i;:::-;22549:1;22539:11;;;;22530:21;;;;;;22582:10;22609:1;22571:22;;;:10;:22;;;;;:27;-1:-1:-1;;;;;22571:27:0;:40;;22563:79;;;;;-1:-1:-1;;;;;22563:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;22665:23;;:::i;:::-;:84;;;;;;;;;22698:10;22665:84;;;;22710:10;22665:84;;;;22721:9;22665:84;;;;22731:9;22665:84;;;;22741:7;22665:84;;;;;22784:1;22774:9;:11;22771:102;;;22847:10;22836:22;;;;:10;:22;;;;;:26;;;22827:46;;22863:9;22827:8;:46::i;:::-;22811:10;22800:22;;;;:10;:22;;;;;:26;;:73;22771:102;22922:5;:15;;;;;;;;;;;;;;;;;;;22903:10;22892:22;;;;:10;:22;;;;;;;:26;;;:45;;22884:81;;;;;-1:-1:-1;;;;;22884:81:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;22884:81:0;;;;;;;;;;;;;;;23032:5;:15;;;;;;;;;;;;;;;;;;;23016:10;23005:22;;;;:10;:22;;;;;;:26;;;;;;:42;;;;22976:71;;;23072:5;:15;;;;;;;;;;;;;;:18;;;;;;;;23058:32;;23101:37;23121:10;23132:5;23101:19;:37::i;:::-;23165:31;23174:15;;23190:5;23165:8;:31::i;:::-;23149:15;:47;23207:26;23222:10;23207:14;:26::i;:::-;23244:21;;;;;;;:11;:21;;;;;23295:10;;23244:21;;;23266:17;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;23244:50;;;;;;;;;;;-1:-1:-1;23244:50:0;:61;;-1:-1:-1;;23244:61:0;-1:-1:-1;;;;;23244:61:0;;;;;;;;;;23321:143;23338:10;23349:17;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23377:8;23386:1;23377:10;23388:45;23406:10;23417:5;23423:8;23417:15;;;;;;;;;;23388:45;23434:11;;23446:17;;23321:143;;;-1:-1:-1;;;;;23321:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23485:17;:27;;;;;;;;;;;;;;;;;:29;;:27;;;;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;23557:2;23528:17;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;:35;;23562:1;23528:35;:70;;;;-1:-1:-1;23567:17:0;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;23528:70;23525:306;;;23673:10;23662:22;;;;:10;:22;;;;;:26;;;23652:55;;23689:5;:15;;;;;;;;;;;;;;23705:1;23689:17;23652:8;:55::i;:::-;23635:10;23624:22;;;;:10;:22;;;;;:26;;:83;;;;23727:92;;23778:1;23750:17;:27;;;;;;;;;;;;;;;;;23791:11;;23803:15;;23727:92;;;-1:-1:-1;;;;;23727:92:0;;;;;23750:27;;;;;;;;;;;;;;;;;:29;;;;23727:92;;;;;;;;23789:1;23780:10;;23727:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;23525:306;23844:17;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:33;;23873:4;23844:33;23841:368;;;23931:1;23903:17;:27;;;;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;23947:10;23965:20;23980:4;23965:14;:20::i;:::-;23947:39;-1:-1:-1;24048:5:0;:15;;;;;;;;;;;;;;;;;;;24012:21;;;24001:38;24012:21;;;:11;:21;;;;;;:26;;;;;;;;;;;;;;-1:-1:-1;;;;;24012:26:0;;;24001:38;;:10;:38;;;;;:42;;:67;;24064:3;24048:19;;;24001:67;;;;;;24100:26;;;;;;;24088:109;;24100:26;;-1:-1:-1;;24127:17:0;;:27;;;;;;;;;;;;;;24169:11;;24181:15;;24088:109;;;-1:-1:-1;;;;;24088:109:0;;;;;24127:27;;;;;;;;;;;;;;;;;:29;;;;24088:109;;;;;;;;24166:2;24157:11;;24088:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;23841:368;22265:1960;;;;:::o;5436:484::-;5524:9;;;;5523:10;5515:48;;;;;-1:-1:-1;;;;;5515:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5515:48:0;;;;;;;;;;;;;;;5596:10;5582:25;;;;:13;:25;;;;;;;;:33;5574:71;;;;;-1:-1:-1;;;;;5574:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5574:71:0;;;;;;;;;;;;;;;5656:21;5665:11;5656:8;:21::i;:::-;5837:10;5826:22;;;;:10;:22;;;;;:26;;;5817:46;;5853:9;5817:8;:46::i;:::-;5801:10;5790:22;;;;:10;:22;;;;;;;;;:26;;:73;;;;5879:33;;;;;5902:9;5879:33;;;;;;;;;;;;;;;;;;;;5436:484;:::o;361:26::-;;;;;;;;;;;;;;;-1:-1:-1;;361:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:32;;;;:::o;29237:822::-;29319:4;29305:18;;;;:78;;;;-1:-1:-1;29327:10:0;99:42;29327:24;;:55;;-1:-1:-1;29355:10:0;188:42;29355:27;29327:55;29302:155;;;29409:9;:15;;-1:-1:-1;;29409:15:0;29420:4;29409:15;;;29439:7;;29302:155;29471:10;99:42;29471:24;29468:584;;;29526:9;;;;:12;29523:215;;;29574:9;:11;;-1:-1:-1;;29574:11:0;29584:1;29574:11;;;29523:215;;;29625:9;;;;29636:1;29625:12;29622:116;;;29673:9;:17;;-1:-1:-1;;29673:17:0;;;;;;29685:5;29710:11;;;;;;;29622:116;29468:584;;;29769:10;188:42;29769:28;29766:286;;;29828:9;;;;:12;29825:215;;;29876:9;:11;;-1:-1:-1;;29876:11:0;29886:1;29876:11;;;29825:215;;;29927:9;;;;29938:1;29927:12;29924:116;;;29975:9;:17;;-1:-1:-1;;29975:17:0;;;;;;29987:5;30012:11;;;;;;;29924:116;29237:822;:::o;26167:1608::-;-1:-1:-1;;;;;;;;;;;26245:13:0;-1:-1:-1;;;;;26245:13:0;;;26234:25;;;;:10;26245:13;26234:25;26245:13;26234:25;;:30;;26220:10;:44;;:107;;-1:-1:-1;;;;;;;;;;;;26308:13:0;-1:-1:-1;;;;;26308:13:0;;;26297:25;;;;:10;26308:13;26297:25;26308:13;26297:25;;:30;;26283:10;:44;26220:107;26212:155;;;;;;;-1:-1:-1;;;;;26212:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26392:15;;-1:-1:-1;;;;;;;;;;;26600:13:0;-1:-1:-1;;;;;26600:13:0;26378;26589:25;;;:10;26600:13;26589:25;26600:13;26589:25;;26537:2;26589:29;;;;26409:1;26392:18;;;;26506:1;26498:9;;;26529:10;;;26580:50;;26529:10;26580:8;:50::i;:::-;-1:-1:-1;;;;;;;;;;;26561:13:0;;-1:-1:-1;;;;;26561:13:0;;;26550:25;;;;:10;26561:13;26550:25;26561:13;26550:25;;;:29;;:80;;;;26695:13;;;26684:25;;;:33;;;26675:54;;26718:10;26675:8;:54::i;:::-;-1:-1:-1;;;;;;;;;;;26652:13:0;-1:-1:-1;;;;;26652:13:0;;;26641:25;;;;:10;26652:13;26641:25;26652:13;26641:25;;;:33;;:88;;;;-1:-1:-1;;;;;;;;;;;26790:13:0;;;;26779:25;;;:29;;;26770:50;;26809:10;26770:8;:50::i;:::-;-1:-1:-1;;;;;;;;;;;26751:13:0;;-1:-1:-1;;;;;26751:13:0;;;26740:25;;;;:10;26751:13;26740:25;26751:13;26740:25;;;:29;;:80;;;;26885:13;;;26874:25;;;:33;;;26865:54;;26908:10;26865:8;:54::i;:::-;-1:-1:-1;;;;;;;;;;;26842:13:0;;-1:-1:-1;;;;;26842:13:0;;;26831:25;;;;:10;26842:13;26831:25;26842:13;26831:25;;;:33;;:88;;;;27001:17;;27117:13;;;;27106:25;;;;;26949:1;27106:29;;;;-1:-1:-1;;;;;;;;;;;27085:13:0;;;;27074:25;;;;;:29;;;26945:1;26938:8;;;:12;;;;27021:14;27060:43;;:75;;;27164:13;;27156:22;;;;;;27226:7;27214:11;:19;27206:5;:28;;;;;;;;;-1:-1:-1;27269:1:0;27255:372;27274:13;;;;;;27271:16;;;;27255:372;;27359:13;;;27348:25;27359:13;;;:10;:13;;;;;;;;;-1:-1:-1;;;;;27359:13:0;27348:25;;:10;:25;;;;;:29;;;27328:58;;27342:5;;27378:7;;27348:37;27328:13;:58::i;:::-;27452:13;;;27441:25;27452:13;;;:10;:13;;;;;;;;;-1:-1:-1;;;;;27452:13:0;27441:25;;:10;:25;;;;;:29;;;27317:69;;-1:-1:-1;27432:50:0;;27317:69;27432:8;:50::i;:::-;27412:13;;;27401:25;27412:13;;;:10;:13;;;;;;;;;;-1:-1:-1;;;;;27412:13:0;;;27401:25;;:10;:25;;;;;;:29;;:81;;;;27543:13;;;27532:25;;;:33;;;;:45;;27497:80;;27592:23;;;;-1:-1:-1;27288:3:0;27255:372;;;-1:-1:-1;27653:15:0;;;:25;;;27637:41;;;;27717:17;;27694:63;;;;27712:3;27694:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26167:1608;;;;:::o;11636:597::-;11703:19;;;-1:-1:-1;;;;;11795:22:0;;;;11787:31;;;;;;-1:-1:-1;;;;;11837:20:0;;;11872:3;11837:20;;;:10;:20;;;;;:25;;:39;;11829:78;;;;;-1:-1:-1;;;;;11829:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11934:20:0;;;;;;:10;:20;;;;;:27;;;;;;-1:-1:-1;11975:7:0;;11972:234;;;-1:-1:-1;12015:1:0;12031:164;12049:17;;;;12075:1;12049:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;12049:17:0;12038:29;;:10;:29;;;;;:36;-1:-1:-1;;;12038:36:0;;;;;:38;12031:164;;;12154:17;;;;12143:29;12154:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;12154:17:0;12143:29;;:10;:29;;;;;:36;-1:-1:-1;;;12143:36:0;;;;;;12110:8;;12031:164;;;12219:6;-1:-1:-1;;11636:597:0;;;;:::o;14321:226::-;14408:10;14394:25;;;;:13;:25;;;;;;;;:33;14386:71;;;;;-1:-1:-1;;;;;14386:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;14386:71:0;;;;;;;;;;;;;;;14468:34;14478:10;14490:3;14495:6;14468:9;:34::i;:::-;14513:26;14528:10;14513:14;:26::i;24294:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;813:26::-;;;;:::o;1710:27::-;;;;;;:::o;30889:466::-;-1:-1:-1;;;;;31156:14:0;;30962:9;31156:14;;;:10;:14;;;;;:17;30962:9;;;;;;;;31145:29;;31156:17;;;;;31145:10;:29::i;:::-;-1:-1:-1;;;;;31200:14:0;;;;;;:10;:14;;;;;:21;31189:33;;-1:-1:-1;;;31200:21:0;;;;31189:10;:33::i;:::-;-1:-1:-1;;;;;31237:14:0;;;;;;;;:10;:14;;;;;:26;;;;31278:21;;;;31314:22;;;;;31123:224;;31237:26;;;;;;;-1:-1:-1;31278:21:0;;-1:-1:-1;31314:22:0;;-1:-1:-1;30889:466:0;-1:-1:-1;;30889:466:0:o;532:66::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;4227:1203::-;4583:10;;4595:2;4583:10;;;;;;:14;;4575:23;;;;;;4629:4;4606:10;:22;4617:10;;;;;;;;;;;4606:22;;;;;;;;;;;;;;;;:27;;;;;-1:-1:-1;;;;;4606:27:0;;;;;-1:-1:-1;;;;;4606:27:0;;;;;;4658:556;;;;;;;;;4687:4;-1:-1:-1;;;;;4658:556:0;;;;;4732:10;;;;;;;;;;;4658:556;;;;;;;;4781:6;4658:556;;;;;;4826:1;4658:556;;;;;;4866:1;4658:556;;;;;;4906:11;4658:556;;;;;;4956:1;4658:556;;;;4996:7;4658:556;;;;5042:3;4658:556;;;;5084:3;4658:556;;;;5126:1;4658:556;;;;;;5128:1;4658:556;;;;5130:1;4658:556;;;;;;5132:1;4658:556;;;;5172:3;4658:556;;;4641:10;:16;4652:4;-1:-1:-1;;;;;4641:16:0;-1:-1:-1;;;;;4641:16:0;;;;;;;;;;;;:573;;;;;;;;;;;;;-1:-1:-1;;;;;4641:573:0;;;;;-1:-1:-1;;;;;4641:573:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5245:10;;;;;;;;;;;:15;;5258:2;5245:15;5242:154;;;5344:9;:15;;-1:-1:-1;;5344:15:0;;;5370:13;:18;;-1:-1:-1;;5370:18:0;;;;;;5242:154;-1:-1:-1;;5403:10:0;:12;;;;;;;;;;;;;;;;-1:-1:-1;;5403:12:0;;;;;;-1:-1:-1;;;;4227:1203:0:o;21314:203::-;21473:9;;;21494:12;;;;;;;21391:32;21494:12;;;;;;;;;;;;;21462:45;;;-1:-1:-1;;;;;21473:9:0;;;;;;21462:45;;;;;;;;;;;;;;;21409:12;21399:23;21462:45;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;21462:45:0;;;;;;;;21452:56;;21399:23;;21452:56;;21462:45;;;;;21452:56;;;;21462:45;21452:56;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;21452:56:0;;;;;;;-1:-1:-1;263:2;;-1:-1;;21452:56:0;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21452:56:0;;;;;;;;21444:65;;;21434:9;;:75;;;;;-1:-1:-1;;;;;21434:75:0;;;;;-1:-1:-1;;;;;21434:75:0;;;;;;21314:203;;:::o;10179:1446::-;10259:10;10287:3;10248:22;;;:10;:22;;;;;:27;-1:-1:-1;;;;;10248:27:0;:43;10245:55;;10293:7;;10245:55;10319:9;;;;10318:10;10310:48;;;;;-1:-1:-1;;;;;10310:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10310:48:0;;;;;;;;;;;;;;;10391:10;10377:25;;;;:13;:25;;;;;;;;:33;10369:71;;;;;-1:-1:-1;;;;;10369:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10369:71:0;;;;;;;;;;;;;;;10461:12;10484:18;10503:29;10516:15;10503:12;:29::i;:::-;10484:48;;10564:1;10551:11;:14;;;;:44;;;;-1:-1:-1;10582:13:0;;;;;;10569:26;;;;;10551:44;10543:81;;;;;;;-1:-1:-1;;;;;10543:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10635:13;:16;;-1:-1:-1;;10635:16:0;;10650:1;10635:16;;;;;;;;;;;;;;;10675:13;;-1:-1:-1;10664:25:0;;;:10;:25;;;;;;;;:36;;10690:10;-1:-1:-1;;10664:36:0;;;;;;;;10711:22;;;:10;:22;;;;;;:38;;;;;;;;;;;10786:13;;-1:-1:-1;;10760:39:0;;;10786:13;;;10760:39;;;;;;10810:43;;-1:-1:-1;;;10810:43:0;;;;;;;;;;;;;10888:23;;;;;;;;;;-1:-1:-1;;;;;10888:23:0;10877:35;;;;;;;;;;:42;;;;;:45;10874:457;;;10991:13;;;10959:23;;;10991:13;10959:23;;;:10;:23;;;;;;;;;-1:-1:-1;;;;;10959:23:0;10948:35;;:10;:35;;;;;10991:13;10948:42;:56;;-1:-1:-1;;10948:56:0;10991:13;;;;10948:56;;;10874:457;;;11072:23;;;;11061:35;11072:23;;;:10;:23;;;;;;;;;-1:-1:-1;;;;;11072:23:0;11061:35;;:10;:35;;;;;11072:23;11061:42;;;;-1:-1:-1;11118:137:0;11136:17;;;;11162:1;11136:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;11136:17:0;11125:29;;:10;:29;;;;;:36;-1:-1:-1;;;11125:36:0;;;;;:38;11118:137;;;11214:17;;;;11203:29;11214:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;11214:17:0;11203:29;;:10;:29;;;;;:36;-1:-1:-1;;;11203:36:0;;;;;;11118:137;;;11306:13;;;11280:17;;;11306:13;11280:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;11280:17:0;11269:29;;:10;:29;;;;;:50;;;;11306:13;;;;-1:-1:-1;;;11269:50:0;;;;10874:457;11347:11;-1:-1:-1;11347:11:0;11373:8;11369:193;11386:1;11384;:3;;;11369:193;;;11428:17;;;;11417:29;11428:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;11428:17:0;11417:29;;:10;:29;;;;;11428:17;11417:41;;;:43;;-1:-1:-1;;11417:43:0;;;;;;;;;;;;;;;;;;;;;;11478:8;11475:18;;;11488:5;;11475:18;11525:17;;;;11514:29;11525:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;11525:17:0;11514:29;;:10;:29;;;;;:36;-1:-1:-1;;;11514:36:0;;;;;;11525:17;11388:3;11369:193;;;-1:-1:-1;11577:39:0;;;11589:10;11577:39;;;;;;;;;;;;;;;;;;;;;;10179:1446;;;:::o;7596:666::-;-1:-1:-1;;;;;7693:17:0;;;7668:12;7693:17;;;:10;:17;;;;;;;;:24;-1:-1:-1;;;7693:24:0;;;;7815:17;;;:10;:17;;;;;;;;;7804:29;;;;;;;:33;;;7747:1;7743:5;;;7795:56;;7849:1;7838:12;;7795:8;:56::i;:::-;7772:17;;;7761:29;7772:17;;;:10;:17;;;;;;;;;;-1:-1:-1;;;;;7772:17:0;;;7761:29;;:10;:29;;;;;;:33;;:90;;;;7915:17;;;7904:29;;;:36;;;7895:59;;7952:1;7941:12;;7895:8;:59::i;:::-;7869:17;;;7858:29;7869:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;7869:17:0;7858:29;;:10;:29;;;;;:36;;:96;;;;7963:296;7980:1;7978;:3;;;7963:296;;;8022:17;;;;8011:29;8022:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;8022:17:0;;;8011:29;;:10;:29;;;;;;:36;-1:-1:-1;;;8011:36:0;;;;;8112:17;;;;;;;;;;;8101:29;;;;;;;;:33;;;8092:54;;8135:10;8092:8;:54::i;:::-;8069:17;;;8058:29;8069:17;;;:10;:17;;;;;;;;;;-1:-1:-1;;;;;8069:17:0;;;8058:29;;:10;:29;;;;;;:33;;:88;;;;8214:17;;;8203:29;;;:36;;;8194:57;;8240:10;8194:8;:57::i;:::-;8168:17;;;8157:29;8168:17;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;8168:17:0;8157:29;;:10;:29;;;;;:36;;:94;8168:17;7982:3;7963:296;;21642:494;21713:13;-1:-1:-1;;;;;21745:14:0;;;;21737:23;;;;;;21785:1;21775:11;;21767:20;;;;;;21840:13;;21814:2;21806:10;;;21794:11;;21855:7;;21840:22;21835:3;:28;;;;;;;;21823:40;;21886:3;21873:11;;:16;;21870:248;;;21919:11;;;:15;;;21907:27;;-1:-1:-1;;;;;21973:14:0;;-1:-1:-1;21973:14:0;;;:10;:14;;;;;:18;;;21964:32;;21931:3;21964:8;:32::i;:::-;-1:-1:-1;;;;;21945:14:0;;;;;;:10;:14;;;;;:18;;:51;22007:22;21956:2;22007:18;:22::i;:::-;22058:31;22067:17;;22085:3;22058:8;:31::i;:::-;22040:17;:49;22107:3;-1:-1:-1;22100:10:0;;-1:-1:-1;22100:10:0;21870:248;-1:-1:-1;22131:1:0;;21642:494;-1:-1:-1;;;;21642:494:0:o;21519:119::-;21614:9;;21580:10;;21614:19;;;;:9;;;-1:-1:-1;;;;;21614:9:0;:19;;;;;;;;;21519:119;-1:-1:-1;;21519:119:0:o;13711:598::-;13799:9;;;;13798:10;13790:48;;;;;-1:-1:-1;;;;;13790:48:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13790:48:0;;;;;;;;;;;;;;;13867:10;13853:25;;;;:13;:25;;;;;;;;:33;13845:71;;;;;-1:-1:-1;;;;;13845:71:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13845:71:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13933:19:0;;;;13925:28;;;;;;-1:-1:-1;;;;;13970:16:0;;;;;;:9;:16;;;;;;:26;-1:-1:-1;13970:26:0;13962:35;;;;;;-1:-1:-1;;;;;14040:14:0;;;;;;:9;:14;;;;;;14014:23;;;:40;14006:49;;;;;;-1:-1:-1;;;;;14107:14:0;;;14064:21;14107:14;;;:9;:14;;;;;;;;;;14088:16;;;;;;;;;;;14130:26;;;;;;14165:14;;;;:24;;;;;;;14203:28;;;;;;;14088:33;;;;;:16;14203:28;;;;;;;;;;;-1:-1:-1;;;;;14266:14:0;;;;;;;:9;:14;;;;;;;14247:16;;;;;;;;:33;:53;;14240:61;;;8269:203;-1:-1:-1;;;;;8338:16:0;;;;8331:24;;;;-1:-1:-1;;;;;8389:14:0;;;;;;:10;:14;;;;;:21;;;;8368:18;;;;;:42;8365:100;;;-1:-1:-1;;;;;8447:14:0;;;;;:10;:14;;;;;:18;;;;8425:21;;;;:40;8269:203::o;8479:353::-;8550:11;8584:15;;;8577:23;;;;8639:13;;8653;8639:27;;8726:3;8722;8697:24;;;:28;;:32;;;;8639:27;;8697:24;;8747:16;;;:20;:34;;;;;;;;:48;8740:56;;;9250:921;9338:17;;9303:11;;9365:23;;:::i;:::-;:209;;;;;;;;;9398:12;9365:209;;;;9412:13;9365:209;;;;9426:14;9365:209;;;;9441:15;9365:209;;;;9457:16;9365:209;;;;9474:17;9365:209;;;;9492:18;9365:209;;;;9511:19;9365:209;;;;9531:20;9365:209;;;;9552:21;9365:209;;;;;9584:21;;:::i;:::-;-1:-1:-1;9584:107:0;;;;;;;;9614:5;9584:107;;9621:5;9584:107;;;;9627:5;9584:107;;;;;;;9633:6;9584:107;;;;9640:6;9584:107;;;;9647:7;9584:107;;;;9655:7;9584:107;;;;9663:8;9584:107;;;;9672:8;9584:107;;;;9681:9;9584:107;;;;9701:21;;:::i;:::-;-1:-1:-1;9701:136:0;;;;;;;;9732:7;9701:136;;9741:7;9701:136;;;;9749:8;9701:136;;;;;;;9758:9;9701:136;;;;9768:9;9701:136;;;;9778:10;9701:136;;;;9789:10;9701:136;;;;9800:11;9701:136;;;;9812:11;9701:136;;;;9824:12;9701:136;;;;-1:-1:-1;9849:168:0;9868:2;9865:1;:5;;;9849:168;;;9907:4;:7;;;;;;;;;;;;;;9901:3;:13;9898:109;;;9965:1;:4;;;;;;;;;;;;;;9956:3;:6;;;;;;;;;;;;;;9950:12;;:3;:12;;;;;;;;:19;9946:23;;9987:5;;9898:109;9871:3;;9849:168;;;-1:-1:-1;10030:6:0;;10026:78;;;10068:9;10064:3;:13;10080;10064:29;10060:33;;10026:78;10117:22;10131:3;10135;10117:13;:22::i;:::-;10146:13;:17;-1:-1:-1;;;;;9250:921:0:o;12306:725::-;12359:14;12402:7;12397:12;;;;;12389:60;;;;;-1:-1:-1;;;;;12389:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12459:12;12490:3;12459:12;12530:1;12526:5;;;;12523:297;;;12563:1;12557:7;;12523:297;;;12619:2;12614:7;;;;12611:198;;12628:1;12622:7;;12611:198;;;12655:3;12650:8;;;;12647:162;;12665:1;12659:7;;12647:162;;;12692:4;12687:9;;;;12684:125;;12703:1;12697:7;;12684:125;;;12730:5;12725:10;;;;12722:87;;12742:1;12736:7;;12722:87;;;12769:7;12764:12;;;;12761:48;;12783:1;12777:7;;12761:48;;;12808:1;12802:7;;12761:48;-1:-1:-1;12833:9:0;;;;;;;;12855:8;12852:128;;;12891:3;12889:5;;12852:128;;;12966:1;12961;12955:5;:7;12964:1;12954:11;:13;12948:20;;:3;:20;;;;;;12946:22;;12852:128;12994:7;;12306:725;-1:-1:-1;;;12306:725:0:o;13036:667::-;13090:13;13184:6;13165:7;;;;13184:6;;;;45:20:-1;25:41;;;13203:8:0;;49:1:-1;13203:8:0;13200:479;;;13238:3;:13;;13243:8;13238:13;13235:363;;;13259:1;13252:9;;;;;;13235:363;13283:3;:13;;13288:8;13283:13;13280:318;;;13304:1;13297:9;;;;;;13280:318;13328:3;:13;;13333:8;13328:13;13325:273;;;13349:1;13342:9;;;;;;13325:273;13373:3;:13;;13378:8;13373:13;13370:228;;;13394:1;13387:9;;;;;;13370:228;13462:8;13456:3;:14;;;;:30;;;;;13478:8;13474:3;:12;;;13456:30;13448:109;;;;;;;-1:-1:-1;;;;;13448:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45:20:-1;13578:4:0;;;;25:41:-1;;;;;13200:479:0;;;13648:20;13652:15;13664:1;-1:-1:-1;;13655:7:0;;13654:11;13652:15;13648:20;;13661:1;45:20:-1;13648::0;;25:41:-1;;;;;13200:479:0;-1:-1:-1;13694:1:0;13036:667;-1:-1:-1;;13036:667:0:o;36:31899::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;36:31899:0;;;-1:-1:-1;;36:31899:0:o;:::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;36:31899:0;;;-1:-1:-1;;36:31899:0:o
Swarm Source
bzzr://354bd7eca8a8a4c066c511c7e1463201bfab7243cee71d04fc3dd7a09602a79c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.